ChangeLog-2013-04-24 2.2 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679306803068130682306833068430685306863068730688306893069030691306923069330694306953069630697306983069930700307013070230703307043070530706307073070830709307103071130712307133071430715307163071730718307193072030721307223072330724307253072630727307283072930730307313073230733307343073530736307373073830739307403074130742307433074430745307463074730748307493075030751307523075330754307553075630757307583075930760307613076230763307643076530766307673076830769307703077130772307733077430775307763077730778307793078030781307823078330784307853078630787307883078930790307913079230793307943079530796307973079830799308003080130802308033080430805308063080730808308093081030811308123081330814308153081630817308183081930820308213082230823308243082530826308273082830829308303083130832308333083430835308363083730838308393084030841308423084330844308453084630847308483084930850308513085230853308543085530856308573085830859308603086130862308633086430865308663086730868308693087030871308723087330874308753087630877308783087930880308813088230883308843088530886308873088830889308903089130892308933089430895308963089730898308993090030901309023090330904309053090630907309083090930910309113091230913309143091530916309173091830919309203092130922309233092430925309263092730928309293093030931309323093330934309353093630937309383093930940309413094230943309443094530946309473094830949309503095130952309533095430955309563095730958309593096030961309623096330964309653096630967309683096930970309713097230973309743097530976309773097830979309803098130982309833098430985309863098730988309893099030991309923099330994309953099630997309983099931000310013100231003310043100531006310073100831009310103101131012310133101431015310163101731018310193102031021310223102331024310253102631027310283102931030310313103231033310343103531036310373103831039310403104131042310433104431045310463104731048310493105031051310523105331054310553105631057310583105931060310613106231063310643106531066310673106831069310703107131072310733107431075310763107731078310793108031081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311003110131102311033110431105311063110731108311093111031111311123111331114311153111631117311183111931120311213112231123311243112531126311273112831129311303113131132311333113431135311363113731138311393114031141311423114331144311453114631147311483114931150311513115231153311543115531156311573115831159311603116131162311633116431165311663116731168311693117031171311723117331174311753117631177311783117931180311813118231183311843118531186311873118831189311903119131192311933119431195311963119731198311993120031201312023120331204312053120631207312083120931210312113121231213312143121531216312173121831219312203122131222312233122431225312263122731228312293123031231312323123331234312353123631237312383123931240312413124231243312443124531246312473124831249312503125131252312533125431255312563125731258312593126031261312623126331264312653126631267312683126931270312713127231273312743127531276312773127831279312803128131282312833128431285312863128731288312893129031291312923129331294312953129631297312983129931300313013130231303313043130531306313073130831309313103131131312313133131431315313163131731318313193132031321313223132331324313253132631327313283132931330313313133231333313343133531336313373133831339313403134131342313433134431345313463134731348313493135031351313523135331354313553135631357313583135931360313613136231363313643136531366313673136831369313703137131372313733137431375313763137731378313793138031381313823138331384313853138631387313883138931390313913139231393313943139531396313973139831399314003140131402314033140431405314063140731408314093141031411314123141331414314153141631417314183141931420314213142231423314243142531426314273142831429314303143131432314333143431435314363143731438314393144031441314423144331444314453144631447314483144931450314513145231453314543145531456314573145831459314603146131462314633146431465314663146731468314693147031471314723147331474314753147631477314783147931480314813148231483314843148531486314873148831489314903149131492314933149431495314963149731498314993150031501315023150331504315053150631507315083150931510315113151231513315143151531516315173151831519315203152131522315233152431525315263152731528315293153031531315323153331534315353153631537315383153931540315413154231543315443154531546315473154831549315503155131552315533155431555315563155731558315593156031561315623156331564315653156631567315683156931570315713157231573315743157531576315773157831579315803158131582315833158431585315863158731588315893159031591315923159331594315953159631597315983159931600316013160231603316043160531606316073160831609316103161131612316133161431615316163161731618316193162031621316223162331624316253162631627316283162931630316313163231633316343163531636316373163831639316403164131642316433164431645316463164731648316493165031651316523165331654316553165631657316583165931660316613166231663316643166531666316673166831669316703167131672316733167431675316763167731678316793168031681316823168331684316853168631687316883168931690316913169231693316943169531696316973169831699317003170131702317033170431705317063170731708317093171031711317123171331714317153171631717317183171931720317213172231723317243172531726317273172831729317303173131732317333173431735317363173731738317393174031741317423174331744317453174631747317483174931750317513175231753317543175531756317573175831759317603176131762317633176431765317663176731768317693177031771317723177331774317753177631777317783177931780317813178231783317843178531786317873178831789317903179131792317933179431795317963179731798317993180031801318023180331804318053180631807318083180931810318113181231813318143181531816318173181831819318203182131822318233182431825318263182731828318293183031831318323183331834318353183631837318383183931840318413184231843318443184531846318473184831849318503185131852318533185431855318563185731858318593186031861318623186331864318653186631867318683186931870318713187231873318743187531876318773187831879318803188131882318833188431885318863188731888318893189031891318923189331894318953189631897318983189931900319013190231903319043190531906319073190831909319103191131912319133191431915319163191731918319193192031921319223192331924319253192631927319283192931930319313193231933319343193531936319373193831939319403194131942319433194431945319463194731948319493195031951319523195331954319553195631957319583195931960319613196231963319643196531966319673196831969319703197131972319733197431975319763197731978319793198031981319823198331984319853198631987319883198931990319913199231993319943199531996319973199831999320003200132002320033200432005320063200732008320093201032011320123201332014320153201632017320183201932020320213202232023320243202532026320273202832029320303203132032320333203432035320363203732038320393204032041320423204332044320453204632047320483204932050320513205232053320543205532056320573205832059320603206132062320633206432065320663206732068320693207032071320723207332074320753207632077320783207932080320813208232083320843208532086320873208832089320903209132092320933209432095320963209732098320993210032101321023210332104321053210632107321083210932110321113211232113321143211532116321173211832119321203212132122321233212432125321263212732128321293213032131321323213332134321353213632137321383213932140321413214232143321443214532146321473214832149321503215132152321533215432155321563215732158321593216032161321623216332164321653216632167321683216932170321713217232173321743217532176321773217832179321803218132182321833218432185321863218732188321893219032191321923219332194321953219632197321983219932200322013220232203322043220532206322073220832209322103221132212322133221432215322163221732218322193222032221322223222332224322253222632227322283222932230322313223232233322343223532236322373223832239322403224132242322433224432245322463224732248322493225032251322523225332254322553225632257322583225932260322613226232263322643226532266322673226832269322703227132272322733227432275322763227732278322793228032281322823228332284322853228632287322883228932290322913229232293322943229532296322973229832299323003230132302323033230432305323063230732308323093231032311323123231332314323153231632317323183231932320323213232232323323243232532326323273232832329323303233132332323333233432335323363233732338323393234032341323423234332344323453234632347323483234932350323513235232353323543235532356323573235832359323603236132362323633236432365323663236732368323693237032371323723237332374323753237632377323783237932380323813238232383323843238532386323873238832389323903239132392323933239432395323963239732398323993240032401324023240332404324053240632407324083240932410324113241232413324143241532416324173241832419324203242132422324233242432425324263242732428324293243032431324323243332434324353243632437324383243932440324413244232443324443244532446324473244832449324503245132452324533245432455324563245732458324593246032461324623246332464324653246632467324683246932470324713247232473324743247532476324773247832479324803248132482324833248432485324863248732488324893249032491324923249332494324953249632497324983249932500325013250232503325043250532506325073250832509325103251132512325133251432515325163251732518325193252032521325223252332524325253252632527325283252932530325313253232533325343253532536325373253832539325403254132542325433254432545325463254732548325493255032551325523255332554325553255632557325583255932560325613256232563325643256532566325673256832569325703257132572325733257432575325763257732578325793258032581325823258332584325853258632587325883258932590325913259232593325943259532596325973259832599326003260132602326033260432605326063260732608326093261032611326123261332614326153261632617326183261932620326213262232623326243262532626326273262832629326303263132632326333263432635326363263732638326393264032641326423264332644326453264632647326483264932650326513265232653326543265532656326573265832659326603266132662326633266432665326663266732668326693267032671326723267332674326753267632677326783267932680326813268232683326843268532686326873268832689326903269132692326933269432695326963269732698326993270032701327023270332704327053270632707327083270932710327113271232713327143271532716327173271832719327203272132722327233272432725327263272732728327293273032731327323273332734327353273632737327383273932740327413274232743327443274532746327473274832749327503275132752327533275432755327563275732758327593276032761327623276332764327653276632767327683276932770327713277232773327743277532776327773277832779327803278132782327833278432785327863278732788327893279032791327923279332794327953279632797327983279932800328013280232803328043280532806328073280832809328103281132812328133281432815328163281732818328193282032821328223282332824328253282632827328283282932830328313283232833328343283532836328373283832839328403284132842328433284432845328463284732848328493285032851328523285332854328553285632857328583285932860328613286232863328643286532866328673286832869328703287132872328733287432875328763287732878328793288032881328823288332884328853288632887328883288932890328913289232893328943289532896328973289832899329003290132902329033290432905329063290732908329093291032911329123291332914329153291632917329183291932920329213292232923329243292532926329273292832929329303293132932329333293432935329363293732938329393294032941329423294332944329453294632947329483294932950329513295232953329543295532956329573295832959329603296132962329633296432965329663296732968329693297032971329723297332974329753297632977329783297932980329813298232983329843298532986329873298832989329903299132992329933299432995329963299732998329993300033001330023300333004330053300633007330083300933010330113301233013330143301533016330173301833019330203302133022330233302433025330263302733028330293303033031330323303333034330353303633037330383303933040330413304233043330443304533046330473304833049330503305133052330533305433055330563305733058330593306033061330623306333064330653306633067330683306933070330713307233073330743307533076330773307833079330803308133082330833308433085330863308733088330893309033091330923309333094330953309633097330983309933100331013310233103331043310533106331073310833109331103311133112331133311433115331163311733118331193312033121331223312333124331253312633127331283312933130331313313233133331343313533136331373313833139331403314133142331433314433145331463314733148331493315033151331523315333154331553315633157331583315933160331613316233163331643316533166331673316833169331703317133172331733317433175331763317733178331793318033181331823318333184331853318633187331883318933190331913319233193331943319533196331973319833199332003320133202332033320433205332063320733208332093321033211332123321333214332153321633217332183321933220332213322233223332243322533226332273322833229332303323133232332333323433235332363323733238332393324033241332423324333244332453324633247332483324933250332513325233253332543325533256332573325833259332603326133262332633326433265332663326733268332693327033271332723327333274332753327633277332783327933280332813328233283332843328533286332873328833289332903329133292332933329433295332963329733298332993330033301333023330333304333053330633307333083330933310333113331233313333143331533316333173331833319333203332133322333233332433325333263332733328333293333033331333323333333334333353333633337333383333933340333413334233343333443334533346333473334833349333503335133352333533335433355333563335733358333593336033361333623336333364333653336633367333683336933370333713337233373333743337533376333773337833379333803338133382333833338433385333863338733388333893339033391333923339333394333953339633397333983339933400334013340233403334043340533406334073340833409334103341133412334133341433415334163341733418334193342033421334223342333424334253342633427334283342933430334313343233433334343343533436334373343833439334403344133442334433344433445334463344733448334493345033451334523345333454334553345633457334583345933460334613346233463334643346533466334673346833469334703347133472334733347433475334763347733478334793348033481334823348333484334853348633487334883348933490334913349233493334943349533496334973349833499335003350133502335033350433505335063350733508335093351033511335123351333514335153351633517335183351933520335213352233523335243352533526335273352833529335303353133532335333353433535335363353733538335393354033541335423354333544335453354633547335483354933550335513355233553335543355533556335573355833559335603356133562335633356433565335663356733568335693357033571335723357333574335753357633577335783357933580335813358233583335843358533586335873358833589335903359133592335933359433595335963359733598335993360033601336023360333604336053360633607336083360933610336113361233613336143361533616336173361833619336203362133622336233362433625336263362733628336293363033631336323363333634336353363633637336383363933640336413364233643336443364533646336473364833649336503365133652336533365433655336563365733658336593366033661336623366333664336653366633667336683366933670336713367233673336743367533676336773367833679336803368133682336833368433685336863368733688336893369033691336923369333694336953369633697336983369933700337013370233703337043370533706337073370833709337103371133712337133371433715337163371733718337193372033721337223372333724337253372633727337283372933730337313373233733337343373533736337373373833739337403374133742337433374433745337463374733748337493375033751337523375333754337553375633757337583375933760337613376233763337643376533766337673376833769337703377133772337733377433775337763377733778337793378033781337823378333784337853378633787337883378933790337913379233793337943379533796337973379833799338003380133802338033380433805338063380733808338093381033811338123381333814338153381633817338183381933820338213382233823338243382533826338273382833829338303383133832338333383433835338363383733838338393384033841338423384333844338453384633847338483384933850338513385233853338543385533856338573385833859338603386133862338633386433865338663386733868338693387033871338723387333874338753387633877338783387933880338813388233883338843388533886338873388833889338903389133892338933389433895338963389733898338993390033901339023390333904339053390633907339083390933910339113391233913339143391533916339173391833919339203392133922339233392433925339263392733928339293393033931339323393333934339353393633937339383393933940339413394233943339443394533946339473394833949339503395133952339533395433955339563395733958339593396033961339623396333964339653396633967339683396933970339713397233973339743397533976339773397833979339803398133982339833398433985339863398733988339893399033991339923399333994339953399633997339983399934000340013400234003340043400534006340073400834009340103401134012340133401434015340163401734018340193402034021340223402334024340253402634027340283402934030340313403234033340343403534036340373403834039340403404134042340433404434045340463404734048340493405034051340523405334054340553405634057340583405934060340613406234063340643406534066340673406834069340703407134072340733407434075340763407734078340793408034081340823408334084340853408634087340883408934090340913409234093340943409534096340973409834099341003410134102341033410434105341063410734108341093411034111341123411334114341153411634117341183411934120341213412234123341243412534126341273412834129341303413134132341333413434135341363413734138341393414034141341423414334144341453414634147341483414934150341513415234153341543415534156341573415834159341603416134162341633416434165341663416734168341693417034171341723417334174341753417634177341783417934180341813418234183341843418534186341873418834189341903419134192341933419434195341963419734198341993420034201342023420334204342053420634207342083420934210342113421234213342143421534216342173421834219342203422134222342233422434225342263422734228342293423034231342323423334234342353423634237342383423934240342413424234243342443424534246342473424834249342503425134252342533425434255342563425734258342593426034261342623426334264342653426634267342683426934270342713427234273342743427534276342773427834279342803428134282342833428434285342863428734288342893429034291342923429334294342953429634297342983429934300343013430234303343043430534306343073430834309343103431134312343133431434315343163431734318343193432034321343223432334324343253432634327343283432934330343313433234333343343433534336343373433834339343403434134342343433434434345343463434734348343493435034351343523435334354343553435634357343583435934360343613436234363343643436534366343673436834369343703437134372343733437434375343763437734378343793438034381343823438334384343853438634387343883438934390343913439234393343943439534396343973439834399344003440134402344033440434405344063440734408344093441034411344123441334414344153441634417344183441934420344213442234423344243442534426344273442834429344303443134432344333443434435344363443734438344393444034441344423444334444344453444634447344483444934450344513445234453344543445534456344573445834459344603446134462344633446434465344663446734468344693447034471344723447334474344753447634477344783447934480344813448234483344843448534486344873448834489344903449134492344933449434495344963449734498344993450034501345023450334504345053450634507345083450934510345113451234513345143451534516345173451834519345203452134522345233452434525345263452734528345293453034531345323453334534345353453634537345383453934540345413454234543345443454534546345473454834549345503455134552345533455434555345563455734558345593456034561345623456334564345653456634567345683456934570345713457234573345743457534576345773457834579345803458134582345833458434585345863458734588345893459034591345923459334594345953459634597345983459934600346013460234603346043460534606346073460834609346103461134612346133461434615346163461734618346193462034621346223462334624346253462634627346283462934630346313463234633346343463534636346373463834639346403464134642346433464434645346463464734648346493465034651346523465334654346553465634657346583465934660346613466234663346643466534666346673466834669346703467134672346733467434675346763467734678346793468034681346823468334684346853468634687346883468934690346913469234693346943469534696346973469834699347003470134702347033470434705347063470734708347093471034711347123471334714347153471634717347183471934720347213472234723347243472534726347273472834729347303473134732347333473434735347363473734738347393474034741347423474334744347453474634747347483474934750347513475234753347543475534756347573475834759347603476134762347633476434765347663476734768347693477034771347723477334774347753477634777347783477934780347813478234783347843478534786347873478834789347903479134792347933479434795347963479734798347993480034801348023480334804348053480634807348083480934810348113481234813348143481534816348173481834819348203482134822348233482434825348263482734828348293483034831348323483334834348353483634837348383483934840348413484234843348443484534846348473484834849348503485134852348533485434855348563485734858348593486034861348623486334864348653486634867348683486934870348713487234873348743487534876348773487834879348803488134882348833488434885348863488734888348893489034891348923489334894348953489634897348983489934900349013490234903349043490534906349073490834909349103491134912349133491434915349163491734918349193492034921349223492334924349253492634927349283492934930349313493234933349343493534936349373493834939349403494134942349433494434945349463494734948349493495034951349523495334954349553495634957349583495934960349613496234963349643496534966349673496834969349703497134972349733497434975349763497734978349793498034981349823498334984349853498634987349883498934990349913499234993349943499534996349973499834999350003500135002350033500435005350063500735008350093501035011350123501335014350153501635017350183501935020350213502235023350243502535026350273502835029350303503135032350333503435035350363503735038350393504035041350423504335044350453504635047350483504935050350513505235053350543505535056350573505835059350603506135062350633506435065350663506735068350693507035071350723507335074350753507635077350783507935080350813508235083350843508535086350873508835089350903509135092350933509435095350963509735098350993510035101351023510335104351053510635107351083510935110351113511235113351143511535116351173511835119351203512135122351233512435125351263512735128351293513035131351323513335134351353513635137351383513935140351413514235143351443514535146351473514835149351503515135152351533515435155351563515735158351593516035161351623516335164351653516635167351683516935170351713517235173351743517535176351773517835179351803518135182351833518435185351863518735188351893519035191351923519335194351953519635197351983519935200352013520235203352043520535206352073520835209352103521135212352133521435215352163521735218352193522035221352223522335224352253522635227352283522935230352313523235233352343523535236352373523835239352403524135242352433524435245352463524735248352493525035251352523525335254352553525635257352583525935260352613526235263352643526535266352673526835269352703527135272352733527435275352763527735278352793528035281352823528335284352853528635287352883528935290352913529235293352943529535296352973529835299353003530135302353033530435305353063530735308353093531035311353123531335314353153531635317353183531935320353213532235323353243532535326353273532835329353303533135332353333533435335353363533735338353393534035341353423534335344353453534635347353483534935350353513535235353353543535535356353573535835359353603536135362353633536435365353663536735368353693537035371353723537335374353753537635377353783537935380353813538235383353843538535386353873538835389353903539135392353933539435395353963539735398353993540035401354023540335404354053540635407354083540935410354113541235413354143541535416354173541835419354203542135422354233542435425354263542735428354293543035431354323543335434354353543635437354383543935440354413544235443354443544535446354473544835449354503545135452354533545435455354563545735458354593546035461354623546335464354653546635467354683546935470354713547235473354743547535476354773547835479354803548135482354833548435485354863548735488354893549035491354923549335494354953549635497354983549935500355013550235503355043550535506355073550835509355103551135512355133551435515355163551735518355193552035521355223552335524355253552635527355283552935530355313553235533355343553535536355373553835539355403554135542355433554435545355463554735548355493555035551355523555335554355553555635557355583555935560355613556235563355643556535566355673556835569355703557135572355733557435575355763557735578355793558035581355823558335584355853558635587355883558935590355913559235593355943559535596355973559835599356003560135602356033560435605356063560735608356093561035611356123561335614356153561635617356183561935620356213562235623356243562535626356273562835629356303563135632356333563435635356363563735638356393564035641356423564335644356453564635647356483564935650356513565235653356543565535656356573565835659356603566135662356633566435665356663566735668356693567035671356723567335674356753567635677356783567935680356813568235683356843568535686356873568835689356903569135692356933569435695356963569735698356993570035701357023570335704357053570635707357083570935710357113571235713357143571535716357173571835719357203572135722357233572435725357263572735728357293573035731357323573335734357353573635737357383573935740357413574235743357443574535746357473574835749357503575135752357533575435755357563575735758357593576035761357623576335764357653576635767357683576935770357713577235773357743577535776357773577835779357803578135782357833578435785357863578735788357893579035791357923579335794357953579635797357983579935800358013580235803358043580535806358073580835809358103581135812358133581435815358163581735818358193582035821358223582335824358253582635827358283582935830358313583235833358343583535836358373583835839358403584135842358433584435845358463584735848358493585035851358523585335854358553585635857358583585935860358613586235863358643586535866358673586835869358703587135872358733587435875358763587735878358793588035881358823588335884358853588635887358883588935890358913589235893358943589535896358973589835899359003590135902359033590435905359063590735908359093591035911359123591335914359153591635917359183591935920359213592235923359243592535926359273592835929359303593135932359333593435935359363593735938359393594035941359423594335944359453594635947359483594935950359513595235953359543595535956359573595835959359603596135962359633596435965359663596735968359693597035971359723597335974359753597635977359783597935980359813598235983359843598535986359873598835989359903599135992359933599435995359963599735998359993600036001360023600336004360053600636007360083600936010360113601236013360143601536016360173601836019360203602136022360233602436025360263602736028360293603036031360323603336034360353603636037360383603936040360413604236043360443604536046360473604836049360503605136052360533605436055360563605736058360593606036061360623606336064360653606636067360683606936070360713607236073360743607536076360773607836079360803608136082360833608436085360863608736088360893609036091360923609336094360953609636097360983609936100361013610236103361043610536106361073610836109361103611136112361133611436115361163611736118361193612036121361223612336124361253612636127361283612936130361313613236133361343613536136361373613836139361403614136142361433614436145361463614736148361493615036151361523615336154361553615636157361583615936160361613616236163361643616536166361673616836169361703617136172361733617436175361763617736178361793618036181361823618336184361853618636187361883618936190361913619236193361943619536196361973619836199362003620136202362033620436205362063620736208362093621036211362123621336214362153621636217362183621936220362213622236223362243622536226362273622836229362303623136232362333623436235362363623736238362393624036241362423624336244362453624636247362483624936250362513625236253362543625536256362573625836259362603626136262362633626436265362663626736268362693627036271362723627336274362753627636277362783627936280362813628236283362843628536286362873628836289362903629136292362933629436295362963629736298362993630036301363023630336304363053630636307363083630936310363113631236313363143631536316363173631836319363203632136322363233632436325363263632736328363293633036331363323633336334363353633636337363383633936340363413634236343363443634536346363473634836349363503635136352363533635436355363563635736358363593636036361363623636336364363653636636367363683636936370363713637236373363743637536376363773637836379363803638136382363833638436385363863638736388363893639036391363923639336394363953639636397363983639936400364013640236403364043640536406364073640836409364103641136412364133641436415364163641736418364193642036421364223642336424364253642636427364283642936430364313643236433364343643536436364373643836439364403644136442364433644436445364463644736448364493645036451364523645336454364553645636457364583645936460364613646236463364643646536466364673646836469364703647136472364733647436475364763647736478364793648036481364823648336484364853648636487364883648936490364913649236493364943649536496364973649836499365003650136502365033650436505365063650736508365093651036511365123651336514365153651636517365183651936520365213652236523365243652536526365273652836529365303653136532365333653436535365363653736538365393654036541365423654336544365453654636547365483654936550365513655236553365543655536556365573655836559365603656136562365633656436565365663656736568365693657036571365723657336574365753657636577365783657936580365813658236583365843658536586365873658836589365903659136592365933659436595365963659736598365993660036601366023660336604366053660636607366083660936610366113661236613366143661536616366173661836619366203662136622366233662436625366263662736628366293663036631366323663336634366353663636637366383663936640366413664236643366443664536646366473664836649366503665136652366533665436655366563665736658366593666036661366623666336664366653666636667366683666936670366713667236673366743667536676366773667836679366803668136682366833668436685366863668736688366893669036691366923669336694366953669636697366983669936700367013670236703367043670536706367073670836709367103671136712367133671436715367163671736718367193672036721367223672336724367253672636727367283672936730367313673236733367343673536736367373673836739367403674136742367433674436745367463674736748367493675036751367523675336754367553675636757367583675936760367613676236763367643676536766367673676836769367703677136772367733677436775367763677736778367793678036781367823678336784367853678636787367883678936790367913679236793367943679536796367973679836799368003680136802368033680436805368063680736808368093681036811368123681336814368153681636817368183681936820368213682236823368243682536826368273682836829368303683136832368333683436835368363683736838368393684036841368423684336844368453684636847368483684936850368513685236853368543685536856368573685836859368603686136862368633686436865368663686736868368693687036871368723687336874368753687636877368783687936880368813688236883368843688536886368873688836889368903689136892368933689436895368963689736898368993690036901369023690336904369053690636907369083690936910369113691236913369143691536916369173691836919369203692136922369233692436925369263692736928369293693036931369323693336934369353693636937369383693936940369413694236943369443694536946369473694836949369503695136952369533695436955369563695736958369593696036961369623696336964369653696636967369683696936970369713697236973369743697536976369773697836979369803698136982369833698436985369863698736988369893699036991369923699336994369953699636997369983699937000370013700237003370043700537006370073700837009370103701137012370133701437015370163701737018370193702037021370223702337024370253702637027370283702937030370313703237033370343703537036370373703837039370403704137042370433704437045370463704737048370493705037051370523705337054370553705637057370583705937060370613706237063370643706537066370673706837069370703707137072370733707437075370763707737078370793708037081370823708337084370853708637087370883708937090370913709237093370943709537096370973709837099371003710137102371033710437105371063710737108371093711037111371123711337114371153711637117371183711937120371213712237123371243712537126371273712837129371303713137132371333713437135371363713737138371393714037141371423714337144371453714637147371483714937150371513715237153371543715537156371573715837159371603716137162371633716437165371663716737168371693717037171371723717337174371753717637177371783717937180371813718237183371843718537186371873718837189371903719137192371933719437195371963719737198371993720037201372023720337204372053720637207372083720937210372113721237213372143721537216372173721837219372203722137222372233722437225372263722737228372293723037231372323723337234372353723637237372383723937240372413724237243372443724537246372473724837249372503725137252372533725437255372563725737258372593726037261372623726337264372653726637267372683726937270372713727237273372743727537276372773727837279372803728137282372833728437285372863728737288372893729037291372923729337294372953729637297372983729937300373013730237303373043730537306373073730837309373103731137312373133731437315373163731737318373193732037321373223732337324373253732637327373283732937330373313733237333373343733537336373373733837339373403734137342373433734437345373463734737348373493735037351373523735337354373553735637357373583735937360373613736237363373643736537366373673736837369373703737137372373733737437375373763737737378373793738037381373823738337384373853738637387373883738937390373913739237393373943739537396373973739837399374003740137402374033740437405374063740737408374093741037411374123741337414374153741637417374183741937420374213742237423374243742537426374273742837429374303743137432374333743437435374363743737438374393744037441374423744337444374453744637447374483744937450374513745237453374543745537456374573745837459374603746137462374633746437465374663746737468374693747037471374723747337474374753747637477374783747937480374813748237483374843748537486374873748837489374903749137492374933749437495374963749737498374993750037501375023750337504375053750637507375083750937510375113751237513375143751537516375173751837519375203752137522375233752437525375263752737528375293753037531375323753337534375353753637537375383753937540375413754237543375443754537546375473754837549375503755137552375533755437555375563755737558375593756037561375623756337564375653756637567375683756937570375713757237573375743757537576375773757837579375803758137582375833758437585375863758737588375893759037591375923759337594375953759637597375983759937600376013760237603376043760537606376073760837609376103761137612376133761437615376163761737618376193762037621376223762337624376253762637627376283762937630376313763237633376343763537636376373763837639376403764137642376433764437645376463764737648376493765037651376523765337654376553765637657376583765937660376613766237663376643766537666376673766837669376703767137672376733767437675376763767737678376793768037681376823768337684376853768637687376883768937690376913769237693376943769537696376973769837699377003770137702377033770437705377063770737708377093771037711377123771337714377153771637717377183771937720377213772237723377243772537726377273772837729377303773137732377333773437735377363773737738377393774037741377423774337744377453774637747377483774937750377513775237753377543775537756377573775837759377603776137762377633776437765377663776737768377693777037771377723777337774377753777637777377783777937780377813778237783377843778537786377873778837789377903779137792377933779437795377963779737798377993780037801378023780337804378053780637807378083780937810378113781237813378143781537816378173781837819378203782137822378233782437825378263782737828378293783037831378323783337834378353783637837378383783937840378413784237843378443784537846378473784837849378503785137852378533785437855378563785737858378593786037861378623786337864378653786637867378683786937870378713787237873378743787537876378773787837879378803788137882378833788437885378863788737888378893789037891378923789337894378953789637897378983789937900379013790237903379043790537906379073790837909379103791137912379133791437915379163791737918379193792037921379223792337924379253792637927379283792937930379313793237933379343793537936379373793837939379403794137942379433794437945379463794737948379493795037951379523795337954379553795637957379583795937960379613796237963379643796537966379673796837969379703797137972379733797437975379763797737978379793798037981379823798337984379853798637987379883798937990379913799237993379943799537996379973799837999380003800138002380033800438005380063800738008380093801038011380123801338014380153801638017380183801938020380213802238023380243802538026380273802838029380303803138032380333803438035380363803738038380393804038041380423804338044380453804638047380483804938050380513805238053380543805538056380573805838059380603806138062380633806438065380663806738068380693807038071380723807338074380753807638077380783807938080380813808238083380843808538086380873808838089380903809138092380933809438095380963809738098380993810038101381023810338104381053810638107381083810938110381113811238113381143811538116381173811838119381203812138122381233812438125381263812738128381293813038131381323813338134381353813638137381383813938140381413814238143381443814538146381473814838149381503815138152381533815438155381563815738158381593816038161381623816338164381653816638167381683816938170381713817238173381743817538176381773817838179381803818138182381833818438185381863818738188381893819038191381923819338194381953819638197381983819938200382013820238203382043820538206382073820838209382103821138212382133821438215382163821738218382193822038221382223822338224382253822638227382283822938230382313823238233382343823538236382373823838239382403824138242382433824438245382463824738248382493825038251382523825338254382553825638257382583825938260382613826238263382643826538266382673826838269382703827138272382733827438275382763827738278382793828038281382823828338284382853828638287382883828938290382913829238293382943829538296382973829838299383003830138302383033830438305383063830738308383093831038311383123831338314383153831638317383183831938320383213832238323383243832538326383273832838329383303833138332383333833438335383363833738338383393834038341383423834338344383453834638347383483834938350383513835238353383543835538356383573835838359383603836138362383633836438365383663836738368383693837038371383723837338374383753837638377383783837938380383813838238383383843838538386383873838838389383903839138392383933839438395383963839738398383993840038401384023840338404384053840638407384083840938410384113841238413384143841538416384173841838419384203842138422384233842438425384263842738428384293843038431384323843338434384353843638437384383843938440384413844238443384443844538446384473844838449384503845138452384533845438455384563845738458384593846038461384623846338464384653846638467384683846938470384713847238473384743847538476384773847838479384803848138482384833848438485384863848738488384893849038491384923849338494384953849638497384983849938500385013850238503385043850538506385073850838509385103851138512385133851438515385163851738518385193852038521385223852338524385253852638527385283852938530385313853238533385343853538536385373853838539385403854138542385433854438545385463854738548385493855038551385523855338554385553855638557385583855938560385613856238563385643856538566385673856838569385703857138572385733857438575385763857738578385793858038581385823858338584385853858638587385883858938590385913859238593385943859538596385973859838599386003860138602386033860438605386063860738608386093861038611386123861338614386153861638617386183861938620386213862238623386243862538626386273862838629386303863138632386333863438635386363863738638386393864038641386423864338644386453864638647386483864938650386513865238653386543865538656386573865838659386603866138662386633866438665386663866738668386693867038671386723867338674386753867638677386783867938680386813868238683386843868538686386873868838689386903869138692386933869438695386963869738698386993870038701387023870338704387053870638707387083870938710387113871238713387143871538716387173871838719387203872138722387233872438725387263872738728387293873038731387323873338734387353873638737387383873938740387413874238743387443874538746387473874838749387503875138752387533875438755387563875738758387593876038761387623876338764387653876638767387683876938770387713877238773387743877538776387773877838779387803878138782387833878438785387863878738788387893879038791387923879338794387953879638797387983879938800388013880238803388043880538806388073880838809388103881138812388133881438815388163881738818388193882038821388223882338824388253882638827388283882938830388313883238833388343883538836388373883838839388403884138842388433884438845388463884738848388493885038851388523885338854388553885638857388583885938860388613886238863388643886538866388673886838869388703887138872388733887438875388763887738878388793888038881388823888338884388853888638887388883888938890388913889238893388943889538896388973889838899389003890138902389033890438905389063890738908389093891038911389123891338914389153891638917389183891938920389213892238923389243892538926389273892838929389303893138932389333893438935389363893738938389393894038941389423894338944389453894638947389483894938950389513895238953389543895538956389573895838959389603896138962389633896438965389663896738968389693897038971389723897338974389753897638977389783897938980389813898238983389843898538986389873898838989389903899138992389933899438995389963899738998389993900039001390023900339004390053900639007390083900939010390113901239013390143901539016390173901839019390203902139022390233902439025390263902739028390293903039031390323903339034390353903639037390383903939040390413904239043390443904539046390473904839049390503905139052390533905439055390563905739058390593906039061390623906339064390653906639067390683906939070390713907239073390743907539076390773907839079390803908139082390833908439085390863908739088390893909039091390923909339094390953909639097390983909939100391013910239103391043910539106391073910839109391103911139112391133911439115391163911739118391193912039121391223912339124391253912639127391283912939130391313913239133391343913539136391373913839139391403914139142391433914439145391463914739148391493915039151391523915339154391553915639157391583915939160391613916239163391643916539166391673916839169391703917139172391733917439175391763917739178391793918039181391823918339184391853918639187391883918939190391913919239193391943919539196391973919839199392003920139202392033920439205392063920739208392093921039211392123921339214392153921639217392183921939220392213922239223392243922539226392273922839229392303923139232392333923439235392363923739238392393924039241392423924339244392453924639247392483924939250392513925239253392543925539256392573925839259392603926139262392633926439265392663926739268392693927039271392723927339274392753927639277392783927939280392813928239283392843928539286392873928839289392903929139292392933929439295392963929739298392993930039301393023930339304393053930639307393083930939310393113931239313393143931539316393173931839319393203932139322393233932439325393263932739328393293933039331393323933339334393353933639337393383933939340393413934239343393443934539346393473934839349393503935139352393533935439355393563935739358393593936039361393623936339364393653936639367393683936939370393713937239373393743937539376393773937839379393803938139382393833938439385393863938739388393893939039391393923939339394393953939639397393983939939400394013940239403394043940539406394073940839409394103941139412394133941439415394163941739418394193942039421394223942339424394253942639427394283942939430394313943239433394343943539436394373943839439394403944139442394433944439445394463944739448394493945039451394523945339454394553945639457394583945939460394613946239463394643946539466394673946839469394703947139472394733947439475394763947739478394793948039481394823948339484394853948639487394883948939490394913949239493394943949539496394973949839499395003950139502395033950439505395063950739508395093951039511395123951339514395153951639517395183951939520395213952239523395243952539526395273952839529395303953139532395333953439535395363953739538395393954039541395423954339544395453954639547395483954939550395513955239553395543955539556395573955839559395603956139562395633956439565395663956739568395693957039571395723957339574395753957639577395783957939580395813958239583395843958539586395873958839589395903959139592395933959439595395963959739598395993960039601396023960339604396053960639607396083960939610396113961239613396143961539616396173961839619396203962139622396233962439625396263962739628396293963039631396323963339634396353963639637396383963939640396413964239643396443964539646396473964839649396503965139652396533965439655396563965739658396593966039661396623966339664396653966639667396683966939670396713967239673396743967539676396773967839679396803968139682396833968439685396863968739688396893969039691396923969339694396953969639697396983969939700397013970239703397043970539706397073970839709397103971139712397133971439715397163971739718397193972039721397223972339724397253972639727397283972939730397313973239733397343973539736397373973839739397403974139742397433974439745397463974739748397493975039751397523975339754397553975639757397583975939760397613976239763397643976539766397673976839769397703977139772397733977439775397763977739778397793978039781397823978339784397853978639787397883978939790397913979239793397943979539796397973979839799398003980139802398033980439805398063980739808398093981039811398123981339814398153981639817398183981939820398213982239823398243982539826398273982839829398303983139832398333983439835398363983739838398393984039841398423984339844398453984639847398483984939850398513985239853398543985539856398573985839859398603986139862398633986439865398663986739868398693987039871398723987339874398753987639877398783987939880398813988239883398843988539886398873988839889398903989139892398933989439895398963989739898398993990039901399023990339904399053990639907399083990939910399113991239913399143991539916399173991839919399203992139922399233992439925399263992739928399293993039931399323993339934399353993639937399383993939940399413994239943399443994539946399473994839949399503995139952399533995439955399563995739958399593996039961399623996339964399653996639967399683996939970399713997239973399743997539976399773997839979399803998139982399833998439985399863998739988399893999039991399923999339994399953999639997399983999940000400014000240003400044000540006400074000840009400104001140012400134001440015400164001740018400194002040021400224002340024400254002640027400284002940030400314003240033400344003540036400374003840039400404004140042400434004440045400464004740048400494005040051400524005340054400554005640057400584005940060400614006240063400644006540066400674006840069400704007140072400734007440075400764007740078400794008040081400824008340084400854008640087400884008940090400914009240093400944009540096400974009840099401004010140102401034010440105401064010740108401094011040111401124011340114401154011640117401184011940120401214012240123401244012540126401274012840129401304013140132401334013440135401364013740138401394014040141401424014340144401454014640147401484014940150401514015240153401544015540156401574015840159401604016140162401634016440165401664016740168401694017040171401724017340174401754017640177401784017940180401814018240183401844018540186401874018840189401904019140192401934019440195401964019740198401994020040201402024020340204402054020640207402084020940210402114021240213402144021540216402174021840219402204022140222402234022440225402264022740228402294023040231402324023340234402354023640237402384023940240402414024240243402444024540246402474024840249402504025140252402534025440255402564025740258402594026040261402624026340264402654026640267402684026940270402714027240273402744027540276402774027840279402804028140282402834028440285402864028740288402894029040291402924029340294402954029640297402984029940300403014030240303403044030540306403074030840309403104031140312403134031440315403164031740318403194032040321403224032340324403254032640327403284032940330403314033240333403344033540336403374033840339403404034140342403434034440345403464034740348403494035040351403524035340354403554035640357403584035940360403614036240363403644036540366403674036840369403704037140372403734037440375403764037740378403794038040381403824038340384403854038640387403884038940390403914039240393403944039540396403974039840399404004040140402404034040440405404064040740408404094041040411404124041340414404154041640417404184041940420404214042240423404244042540426404274042840429404304043140432404334043440435404364043740438404394044040441404424044340444404454044640447404484044940450404514045240453404544045540456404574045840459404604046140462404634046440465404664046740468404694047040471404724047340474404754047640477404784047940480404814048240483404844048540486404874048840489404904049140492404934049440495404964049740498404994050040501405024050340504405054050640507405084050940510405114051240513405144051540516405174051840519405204052140522405234052440525405264052740528405294053040531405324053340534405354053640537405384053940540405414054240543405444054540546405474054840549405504055140552405534055440555405564055740558405594056040561405624056340564405654056640567405684056940570405714057240573405744057540576405774057840579405804058140582405834058440585405864058740588405894059040591405924059340594405954059640597405984059940600406014060240603406044060540606406074060840609406104061140612406134061440615406164061740618406194062040621406224062340624406254062640627406284062940630406314063240633406344063540636406374063840639406404064140642406434064440645406464064740648406494065040651406524065340654406554065640657406584065940660406614066240663406644066540666406674066840669406704067140672406734067440675406764067740678406794068040681406824068340684406854068640687406884068940690406914069240693406944069540696406974069840699407004070140702407034070440705407064070740708407094071040711407124071340714407154071640717407184071940720407214072240723407244072540726407274072840729407304073140732407334073440735407364073740738407394074040741407424074340744407454074640747407484074940750407514075240753407544075540756407574075840759407604076140762407634076440765407664076740768407694077040771407724077340774407754077640777407784077940780407814078240783407844078540786407874078840789407904079140792407934079440795407964079740798407994080040801408024080340804408054080640807408084080940810408114081240813408144081540816408174081840819408204082140822408234082440825408264082740828408294083040831408324083340834408354083640837408384083940840408414084240843408444084540846408474084840849408504085140852408534085440855408564085740858408594086040861408624086340864408654086640867408684086940870408714087240873408744087540876408774087840879408804088140882408834088440885408864088740888408894089040891408924089340894408954089640897408984089940900409014090240903409044090540906409074090840909409104091140912409134091440915409164091740918409194092040921409224092340924409254092640927409284092940930409314093240933409344093540936409374093840939409404094140942409434094440945409464094740948409494095040951409524095340954409554095640957409584095940960409614096240963409644096540966409674096840969409704097140972409734097440975409764097740978409794098040981409824098340984409854098640987409884098940990409914099240993409944099540996409974099840999410004100141002410034100441005410064100741008410094101041011410124101341014410154101641017410184101941020410214102241023410244102541026410274102841029410304103141032410334103441035410364103741038410394104041041410424104341044410454104641047410484104941050410514105241053410544105541056410574105841059410604106141062410634106441065410664106741068410694107041071410724107341074410754107641077410784107941080410814108241083410844108541086410874108841089410904109141092410934109441095410964109741098410994110041101411024110341104411054110641107411084110941110411114111241113411144111541116411174111841119411204112141122411234112441125411264112741128411294113041131411324113341134411354113641137411384113941140411414114241143411444114541146411474114841149411504115141152411534115441155411564115741158411594116041161411624116341164411654116641167411684116941170411714117241173411744117541176411774117841179411804118141182411834118441185411864118741188411894119041191411924119341194411954119641197411984119941200412014120241203412044120541206412074120841209412104121141212412134121441215412164121741218412194122041221412224122341224412254122641227412284122941230412314123241233412344123541236412374123841239412404124141242412434124441245412464124741248412494125041251412524125341254412554125641257412584125941260412614126241263412644126541266412674126841269412704127141272412734127441275412764127741278412794128041281412824128341284412854128641287412884128941290412914129241293412944129541296412974129841299413004130141302413034130441305413064130741308413094131041311413124131341314413154131641317413184131941320413214132241323413244132541326413274132841329413304133141332413334133441335413364133741338413394134041341413424134341344413454134641347413484134941350413514135241353413544135541356413574135841359413604136141362413634136441365413664136741368413694137041371413724137341374413754137641377413784137941380413814138241383413844138541386413874138841389413904139141392413934139441395413964139741398413994140041401414024140341404414054140641407414084140941410414114141241413414144141541416414174141841419414204142141422414234142441425414264142741428414294143041431414324143341434414354143641437414384143941440414414144241443414444144541446414474144841449414504145141452414534145441455414564145741458414594146041461414624146341464414654146641467414684146941470414714147241473414744147541476414774147841479414804148141482414834148441485414864148741488414894149041491414924149341494414954149641497414984149941500415014150241503415044150541506415074150841509415104151141512415134151441515415164151741518415194152041521415224152341524415254152641527415284152941530415314153241533415344153541536415374153841539415404154141542415434154441545415464154741548415494155041551415524155341554415554155641557415584155941560415614156241563415644156541566415674156841569415704157141572415734157441575415764157741578415794158041581415824158341584415854158641587415884158941590415914159241593415944159541596415974159841599416004160141602416034160441605416064160741608416094161041611416124161341614416154161641617416184161941620416214162241623416244162541626416274162841629416304163141632416334163441635416364163741638416394164041641416424164341644416454164641647416484164941650416514165241653416544165541656416574165841659416604166141662416634166441665416664166741668416694167041671416724167341674416754167641677416784167941680416814168241683416844168541686416874168841689416904169141692416934169441695416964169741698416994170041701417024170341704417054170641707417084170941710417114171241713417144171541716417174171841719417204172141722417234172441725417264172741728417294173041731417324173341734417354173641737417384173941740417414174241743417444174541746417474174841749417504175141752417534175441755417564175741758417594176041761417624176341764417654176641767417684176941770417714177241773417744177541776417774177841779417804178141782417834178441785417864178741788417894179041791417924179341794417954179641797417984179941800418014180241803418044180541806418074180841809418104181141812418134181441815418164181741818418194182041821418224182341824418254182641827418284182941830418314183241833418344183541836418374183841839418404184141842418434184441845418464184741848418494185041851418524185341854418554185641857418584185941860418614186241863418644186541866418674186841869418704187141872418734187441875418764187741878418794188041881418824188341884418854188641887418884188941890418914189241893418944189541896418974189841899419004190141902419034190441905419064190741908419094191041911419124191341914419154191641917419184191941920419214192241923419244192541926419274192841929419304193141932419334193441935419364193741938419394194041941419424194341944419454194641947419484194941950419514195241953419544195541956419574195841959419604196141962419634196441965419664196741968419694197041971419724197341974419754197641977419784197941980419814198241983419844198541986419874198841989419904199141992419934199441995419964199741998419994200042001420024200342004420054200642007420084200942010420114201242013420144201542016420174201842019420204202142022420234202442025420264202742028420294203042031420324203342034420354203642037420384203942040420414204242043420444204542046420474204842049420504205142052420534205442055420564205742058420594206042061420624206342064420654206642067420684206942070420714207242073420744207542076420774207842079420804208142082420834208442085420864208742088420894209042091420924209342094420954209642097420984209942100421014210242103421044210542106421074210842109421104211142112421134211442115421164211742118421194212042121421224212342124421254212642127421284212942130421314213242133421344213542136421374213842139421404214142142421434214442145421464214742148421494215042151421524215342154421554215642157421584215942160421614216242163421644216542166421674216842169421704217142172421734217442175421764217742178421794218042181421824218342184421854218642187421884218942190421914219242193421944219542196421974219842199422004220142202422034220442205422064220742208422094221042211422124221342214422154221642217422184221942220422214222242223422244222542226422274222842229422304223142232422334223442235422364223742238422394224042241422424224342244422454224642247422484224942250422514225242253422544225542256422574225842259422604226142262422634226442265422664226742268422694227042271422724227342274422754227642277422784227942280422814228242283422844228542286422874228842289422904229142292422934229442295422964229742298422994230042301423024230342304423054230642307423084230942310423114231242313423144231542316423174231842319423204232142322423234232442325423264232742328423294233042331423324233342334423354233642337423384233942340423414234242343423444234542346423474234842349423504235142352423534235442355423564235742358423594236042361423624236342364423654236642367423684236942370423714237242373423744237542376423774237842379423804238142382423834238442385423864238742388423894239042391423924239342394423954239642397423984239942400424014240242403424044240542406424074240842409424104241142412424134241442415424164241742418424194242042421424224242342424424254242642427424284242942430424314243242433424344243542436424374243842439424404244142442424434244442445424464244742448424494245042451424524245342454424554245642457424584245942460424614246242463424644246542466424674246842469424704247142472424734247442475424764247742478424794248042481424824248342484424854248642487424884248942490424914249242493424944249542496424974249842499425004250142502425034250442505425064250742508425094251042511425124251342514425154251642517425184251942520425214252242523425244252542526425274252842529425304253142532425334253442535425364253742538425394254042541425424254342544425454254642547425484254942550425514255242553425544255542556425574255842559425604256142562425634256442565425664256742568425694257042571425724257342574425754257642577425784257942580425814258242583425844258542586425874258842589425904259142592425934259442595425964259742598425994260042601426024260342604426054260642607426084260942610426114261242613426144261542616426174261842619426204262142622426234262442625426264262742628426294263042631426324263342634426354263642637426384263942640426414264242643426444264542646426474264842649426504265142652426534265442655426564265742658426594266042661426624266342664426654266642667426684266942670426714267242673426744267542676426774267842679426804268142682426834268442685426864268742688426894269042691426924269342694426954269642697426984269942700427014270242703427044270542706427074270842709427104271142712427134271442715427164271742718427194272042721427224272342724427254272642727427284272942730427314273242733427344273542736427374273842739427404274142742427434274442745427464274742748427494275042751427524275342754427554275642757427584275942760427614276242763427644276542766427674276842769427704277142772427734277442775427764277742778427794278042781427824278342784427854278642787427884278942790427914279242793427944279542796427974279842799428004280142802428034280442805428064280742808428094281042811428124281342814428154281642817428184281942820428214282242823428244282542826428274282842829428304283142832428334283442835428364283742838428394284042841428424284342844428454284642847428484284942850428514285242853428544285542856428574285842859428604286142862428634286442865428664286742868428694287042871428724287342874428754287642877428784287942880428814288242883428844288542886428874288842889428904289142892428934289442895428964289742898428994290042901429024290342904429054290642907429084290942910429114291242913429144291542916429174291842919429204292142922429234292442925429264292742928429294293042931429324293342934429354293642937429384293942940429414294242943429444294542946429474294842949429504295142952429534295442955429564295742958429594296042961429624296342964429654296642967429684296942970429714297242973429744297542976429774297842979429804298142982429834298442985429864298742988429894299042991429924299342994429954299642997429984299943000430014300243003430044300543006430074300843009430104301143012430134301443015430164301743018430194302043021430224302343024430254302643027430284302943030430314303243033430344303543036430374303843039430404304143042430434304443045430464304743048430494305043051430524305343054430554305643057430584305943060430614306243063430644306543066430674306843069430704307143072430734307443075430764307743078430794308043081430824308343084430854308643087430884308943090430914309243093430944309543096430974309843099431004310143102431034310443105431064310743108431094311043111431124311343114431154311643117431184311943120431214312243123431244312543126431274312843129431304313143132431334313443135431364313743138431394314043141431424314343144431454314643147431484314943150431514315243153431544315543156431574315843159431604316143162431634316443165431664316743168431694317043171431724317343174431754317643177431784317943180431814318243183431844318543186431874318843189431904319143192431934319443195431964319743198431994320043201432024320343204432054320643207432084320943210432114321243213432144321543216432174321843219432204322143222432234322443225432264322743228432294323043231432324323343234432354323643237432384323943240432414324243243432444324543246432474324843249432504325143252432534325443255432564325743258432594326043261432624326343264432654326643267432684326943270432714327243273432744327543276432774327843279432804328143282432834328443285432864328743288432894329043291432924329343294432954329643297432984329943300433014330243303433044330543306433074330843309433104331143312433134331443315433164331743318433194332043321433224332343324433254332643327433284332943330433314333243333433344333543336433374333843339433404334143342433434334443345433464334743348433494335043351433524335343354433554335643357433584335943360433614336243363433644336543366433674336843369433704337143372433734337443375433764337743378433794338043381433824338343384433854338643387433884338943390433914339243393433944339543396433974339843399434004340143402434034340443405434064340743408434094341043411434124341343414434154341643417434184341943420434214342243423434244342543426434274342843429434304343143432434334343443435434364343743438434394344043441434424344343444434454344643447434484344943450434514345243453434544345543456434574345843459434604346143462434634346443465434664346743468434694347043471434724347343474434754347643477434784347943480434814348243483434844348543486434874348843489434904349143492434934349443495434964349743498434994350043501435024350343504435054350643507435084350943510435114351243513435144351543516435174351843519435204352143522435234352443525435264352743528435294353043531435324353343534435354353643537435384353943540435414354243543435444354543546435474354843549435504355143552435534355443555435564355743558435594356043561435624356343564435654356643567435684356943570435714357243573435744357543576435774357843579435804358143582435834358443585435864358743588435894359043591435924359343594435954359643597435984359943600436014360243603436044360543606436074360843609436104361143612436134361443615436164361743618436194362043621436224362343624436254362643627436284362943630436314363243633436344363543636436374363843639436404364143642436434364443645436464364743648436494365043651436524365343654436554365643657436584365943660436614366243663436644366543666436674366843669436704367143672436734367443675436764367743678436794368043681436824368343684436854368643687436884368943690436914369243693436944369543696436974369843699437004370143702437034370443705437064370743708437094371043711437124371343714437154371643717437184371943720437214372243723437244372543726437274372843729437304373143732437334373443735437364373743738437394374043741437424374343744437454374643747437484374943750437514375243753437544375543756437574375843759437604376143762437634376443765437664376743768437694377043771437724377343774437754377643777437784377943780437814378243783437844378543786437874378843789437904379143792437934379443795437964379743798437994380043801438024380343804438054380643807438084380943810438114381243813438144381543816438174381843819438204382143822438234382443825438264382743828438294383043831438324383343834438354383643837438384383943840438414384243843438444384543846438474384843849438504385143852438534385443855438564385743858438594386043861438624386343864438654386643867438684386943870438714387243873438744387543876438774387843879438804388143882438834388443885438864388743888438894389043891438924389343894438954389643897438984389943900439014390243903439044390543906439074390843909439104391143912439134391443915439164391743918439194392043921439224392343924439254392643927439284392943930439314393243933439344393543936439374393843939439404394143942439434394443945439464394743948439494395043951439524395343954439554395643957439584395943960439614396243963439644396543966439674396843969439704397143972439734397443975439764397743978439794398043981439824398343984439854398643987439884398943990439914399243993439944399543996439974399843999440004400144002440034400444005440064400744008440094401044011440124401344014440154401644017440184401944020440214402244023440244402544026440274402844029440304403144032440334403444035440364403744038440394404044041440424404344044440454404644047440484404944050440514405244053440544405544056440574405844059440604406144062440634406444065440664406744068440694407044071440724407344074440754407644077440784407944080440814408244083440844408544086440874408844089440904409144092440934409444095440964409744098440994410044101441024410344104441054410644107441084410944110441114411244113441144411544116441174411844119441204412144122441234412444125441264412744128441294413044131441324413344134441354413644137441384413944140441414414244143441444414544146441474414844149441504415144152441534415444155441564415744158441594416044161441624416344164441654416644167441684416944170441714417244173441744417544176441774417844179441804418144182441834418444185441864418744188441894419044191441924419344194441954419644197441984419944200442014420244203442044420544206442074420844209442104421144212442134421444215442164421744218442194422044221442224422344224442254422644227442284422944230442314423244233442344423544236442374423844239442404424144242442434424444245442464424744248442494425044251442524425344254442554425644257442584425944260442614426244263442644426544266442674426844269442704427144272442734427444275442764427744278442794428044281442824428344284442854428644287442884428944290442914429244293442944429544296442974429844299443004430144302443034430444305443064430744308443094431044311443124431344314443154431644317443184431944320443214432244323443244432544326443274432844329443304433144332443334433444335443364433744338443394434044341443424434344344443454434644347443484434944350443514435244353443544435544356443574435844359443604436144362443634436444365443664436744368443694437044371443724437344374443754437644377443784437944380443814438244383443844438544386443874438844389443904439144392443934439444395443964439744398443994440044401444024440344404444054440644407444084440944410444114441244413444144441544416444174441844419444204442144422444234442444425444264442744428444294443044431444324443344434444354443644437444384443944440444414444244443444444444544446444474444844449444504445144452444534445444455444564445744458444594446044461444624446344464444654446644467444684446944470444714447244473444744447544476444774447844479444804448144482444834448444485444864448744488444894449044491444924449344494444954449644497444984449944500445014450244503445044450544506445074450844509445104451144512445134451444515445164451744518445194452044521445224452344524445254452644527445284452944530445314453244533445344453544536445374453844539445404454144542445434454444545445464454744548445494455044551445524455344554445554455644557445584455944560445614456244563445644456544566445674456844569445704457144572445734457444575445764457744578445794458044581445824458344584445854458644587445884458944590445914459244593445944459544596445974459844599446004460144602446034460444605446064460744608446094461044611446124461344614446154461644617446184461944620446214462244623446244462544626446274462844629446304463144632446334463444635446364463744638446394464044641446424464344644446454464644647446484464944650446514465244653446544465544656446574465844659446604466144662446634466444665446664466744668446694467044671446724467344674446754467644677446784467944680446814468244683446844468544686446874468844689446904469144692446934469444695446964469744698446994470044701447024470344704447054470644707447084470944710447114471244713447144471544716447174471844719447204472144722447234472444725447264472744728447294473044731447324473344734447354473644737447384473944740447414474244743447444474544746447474474844749447504475144752447534475444755447564475744758447594476044761447624476344764447654476644767447684476944770447714477244773447744477544776447774477844779447804478144782447834478444785447864478744788447894479044791447924479344794447954479644797447984479944800448014480244803448044480544806448074480844809448104481144812448134481444815448164481744818448194482044821448224482344824448254482644827448284482944830448314483244833448344483544836448374483844839448404484144842448434484444845448464484744848448494485044851448524485344854448554485644857448584485944860448614486244863448644486544866448674486844869448704487144872448734487444875448764487744878448794488044881448824488344884448854488644887448884488944890448914489244893448944489544896448974489844899449004490144902449034490444905449064490744908449094491044911449124491344914449154491644917449184491944920449214492244923449244492544926449274492844929449304493144932449334493444935449364493744938449394494044941449424494344944449454494644947449484494944950449514495244953449544495544956449574495844959449604496144962449634496444965449664496744968449694497044971449724497344974449754497644977449784497944980449814498244983449844498544986449874498844989449904499144992449934499444995449964499744998449994500045001450024500345004450054500645007450084500945010450114501245013450144501545016450174501845019450204502145022450234502445025450264502745028450294503045031450324503345034450354503645037450384503945040450414504245043450444504545046450474504845049450504505145052450534505445055450564505745058450594506045061450624506345064450654506645067450684506945070450714507245073450744507545076450774507845079450804508145082450834508445085450864508745088450894509045091450924509345094450954509645097450984509945100451014510245103451044510545106451074510845109451104511145112451134511445115451164511745118451194512045121451224512345124451254512645127451284512945130451314513245133451344513545136451374513845139451404514145142451434514445145451464514745148451494515045151451524515345154451554515645157451584515945160451614516245163451644516545166451674516845169451704517145172451734517445175451764517745178451794518045181451824518345184451854518645187451884518945190451914519245193451944519545196451974519845199452004520145202452034520445205452064520745208452094521045211452124521345214452154521645217452184521945220452214522245223452244522545226452274522845229452304523145232452334523445235452364523745238452394524045241452424524345244452454524645247452484524945250452514525245253452544525545256452574525845259452604526145262452634526445265452664526745268452694527045271452724527345274452754527645277452784527945280452814528245283452844528545286452874528845289452904529145292452934529445295452964529745298452994530045301453024530345304453054530645307453084530945310453114531245313453144531545316453174531845319453204532145322453234532445325453264532745328453294533045331453324533345334453354533645337453384533945340453414534245343453444534545346453474534845349453504535145352453534535445355453564535745358453594536045361453624536345364453654536645367453684536945370453714537245373453744537545376453774537845379453804538145382453834538445385453864538745388453894539045391453924539345394453954539645397453984539945400454014540245403454044540545406454074540845409454104541145412454134541445415454164541745418454194542045421454224542345424454254542645427454284542945430454314543245433454344543545436454374543845439454404544145442454434544445445454464544745448454494545045451454524545345454454554545645457454584545945460454614546245463454644546545466454674546845469454704547145472454734547445475454764547745478454794548045481454824548345484454854548645487454884548945490454914549245493454944549545496454974549845499455004550145502455034550445505455064550745508455094551045511455124551345514455154551645517455184551945520455214552245523455244552545526455274552845529455304553145532455334553445535455364553745538455394554045541455424554345544455454554645547455484554945550455514555245553455544555545556455574555845559455604556145562455634556445565455664556745568455694557045571455724557345574455754557645577455784557945580455814558245583455844558545586455874558845589455904559145592455934559445595455964559745598455994560045601456024560345604456054560645607456084560945610456114561245613456144561545616456174561845619456204562145622456234562445625456264562745628456294563045631456324563345634456354563645637456384563945640456414564245643456444564545646456474564845649456504565145652456534565445655456564565745658456594566045661456624566345664456654566645667456684566945670456714567245673456744567545676456774567845679456804568145682456834568445685456864568745688456894569045691456924569345694456954569645697456984569945700457014570245703457044570545706457074570845709457104571145712457134571445715457164571745718457194572045721457224572345724457254572645727457284572945730457314573245733457344573545736457374573845739457404574145742457434574445745457464574745748457494575045751457524575345754457554575645757457584575945760457614576245763457644576545766457674576845769457704577145772457734577445775457764577745778457794578045781457824578345784457854578645787457884578945790457914579245793457944579545796457974579845799458004580145802458034580445805458064580745808458094581045811458124581345814458154581645817458184581945820458214582245823458244582545826458274582845829458304583145832458334583445835458364583745838458394584045841458424584345844458454584645847458484584945850458514585245853458544585545856458574585845859458604586145862458634586445865458664586745868458694587045871458724587345874458754587645877458784587945880458814588245883458844588545886458874588845889458904589145892458934589445895458964589745898458994590045901459024590345904459054590645907459084590945910459114591245913459144591545916459174591845919459204592145922459234592445925459264592745928459294593045931459324593345934459354593645937459384593945940459414594245943459444594545946459474594845949459504595145952459534595445955459564595745958459594596045961459624596345964459654596645967459684596945970459714597245973459744597545976459774597845979459804598145982459834598445985459864598745988459894599045991459924599345994459954599645997459984599946000460014600246003460044600546006460074600846009460104601146012460134601446015460164601746018460194602046021460224602346024460254602646027460284602946030460314603246033460344603546036460374603846039460404604146042460434604446045460464604746048460494605046051460524605346054460554605646057460584605946060460614606246063460644606546066460674606846069460704607146072460734607446075460764607746078460794608046081460824608346084460854608646087460884608946090460914609246093460944609546096460974609846099461004610146102461034610446105461064610746108461094611046111461124611346114461154611646117461184611946120461214612246123461244612546126461274612846129461304613146132461334613446135461364613746138461394614046141461424614346144461454614646147461484614946150461514615246153461544615546156461574615846159461604616146162461634616446165461664616746168461694617046171461724617346174461754617646177461784617946180461814618246183461844618546186461874618846189461904619146192461934619446195461964619746198461994620046201462024620346204462054620646207462084620946210462114621246213462144621546216462174621846219462204622146222462234622446225462264622746228462294623046231462324623346234462354623646237462384623946240462414624246243462444624546246462474624846249462504625146252462534625446255462564625746258462594626046261462624626346264462654626646267462684626946270462714627246273462744627546276462774627846279462804628146282462834628446285462864628746288462894629046291462924629346294462954629646297462984629946300463014630246303463044630546306463074630846309463104631146312463134631446315463164631746318463194632046321463224632346324463254632646327463284632946330463314633246333463344633546336463374633846339463404634146342463434634446345463464634746348463494635046351463524635346354463554635646357463584635946360463614636246363463644636546366463674636846369463704637146372463734637446375463764637746378463794638046381463824638346384463854638646387463884638946390463914639246393463944639546396463974639846399464004640146402464034640446405464064640746408464094641046411464124641346414464154641646417464184641946420464214642246423464244642546426464274642846429464304643146432464334643446435464364643746438464394644046441464424644346444464454644646447464484644946450464514645246453464544645546456464574645846459464604646146462464634646446465464664646746468464694647046471464724647346474464754647646477464784647946480464814648246483464844648546486464874648846489464904649146492464934649446495464964649746498464994650046501465024650346504465054650646507465084650946510465114651246513465144651546516465174651846519465204652146522465234652446525465264652746528465294653046531465324653346534465354653646537465384653946540465414654246543465444654546546465474654846549465504655146552465534655446555465564655746558465594656046561465624656346564465654656646567465684656946570465714657246573465744657546576465774657846579465804658146582465834658446585465864658746588465894659046591465924659346594465954659646597465984659946600466014660246603466044660546606466074660846609466104661146612466134661446615466164661746618466194662046621466224662346624466254662646627466284662946630466314663246633466344663546636466374663846639466404664146642466434664446645466464664746648466494665046651466524665346654466554665646657466584665946660466614666246663466644666546666466674666846669466704667146672466734667446675466764667746678466794668046681466824668346684466854668646687466884668946690466914669246693466944669546696466974669846699467004670146702467034670446705467064670746708467094671046711467124671346714467154671646717467184671946720467214672246723467244672546726467274672846729467304673146732467334673446735467364673746738467394674046741467424674346744467454674646747467484674946750467514675246753467544675546756467574675846759467604676146762467634676446765467664676746768467694677046771467724677346774467754677646777467784677946780467814678246783467844678546786467874678846789467904679146792467934679446795467964679746798467994680046801468024680346804468054680646807468084680946810468114681246813468144681546816468174681846819468204682146822468234682446825468264682746828468294683046831468324683346834468354683646837468384683946840468414684246843468444684546846468474684846849468504685146852468534685446855468564685746858468594686046861468624686346864468654686646867468684686946870468714687246873468744687546876468774687846879468804688146882468834688446885468864688746888468894689046891468924689346894468954689646897468984689946900469014690246903469044690546906469074690846909469104691146912469134691446915469164691746918469194692046921469224692346924469254692646927469284692946930469314693246933469344693546936469374693846939469404694146942469434694446945469464694746948469494695046951469524695346954469554695646957469584695946960469614696246963469644696546966469674696846969469704697146972469734697446975469764697746978469794698046981469824698346984469854698646987469884698946990469914699246993469944699546996469974699846999470004700147002470034700447005470064700747008470094701047011470124701347014470154701647017470184701947020470214702247023470244702547026470274702847029470304703147032470334703447035470364703747038470394704047041470424704347044470454704647047470484704947050470514705247053470544705547056470574705847059470604706147062470634706447065470664706747068470694707047071470724707347074470754707647077470784707947080470814708247083470844708547086470874708847089470904709147092470934709447095470964709747098470994710047101471024710347104471054710647107471084710947110471114711247113471144711547116471174711847119471204712147122471234712447125471264712747128471294713047131471324713347134471354713647137471384713947140471414714247143471444714547146471474714847149471504715147152471534715447155471564715747158471594716047161471624716347164471654716647167471684716947170471714717247173471744717547176471774717847179471804718147182471834718447185471864718747188471894719047191471924719347194471954719647197471984719947200472014720247203472044720547206472074720847209472104721147212472134721447215472164721747218472194722047221472224722347224472254722647227472284722947230472314723247233472344723547236472374723847239472404724147242472434724447245472464724747248472494725047251472524725347254472554725647257472584725947260472614726247263472644726547266472674726847269472704727147272472734727447275472764727747278472794728047281472824728347284472854728647287472884728947290472914729247293472944729547296472974729847299473004730147302473034730447305473064730747308473094731047311473124731347314473154731647317473184731947320473214732247323473244732547326473274732847329473304733147332473334733447335473364733747338473394734047341473424734347344473454734647347473484734947350473514735247353473544735547356473574735847359473604736147362473634736447365473664736747368473694737047371473724737347374473754737647377473784737947380473814738247383473844738547386473874738847389473904739147392473934739447395473964739747398473994740047401474024740347404474054740647407474084740947410474114741247413474144741547416474174741847419474204742147422474234742447425474264742747428474294743047431474324743347434474354743647437474384743947440474414744247443474444744547446474474744847449474504745147452474534745447455474564745747458474594746047461474624746347464474654746647467474684746947470474714747247473474744747547476474774747847479474804748147482474834748447485474864748747488474894749047491474924749347494474954749647497474984749947500475014750247503475044750547506475074750847509475104751147512475134751447515475164751747518475194752047521475224752347524475254752647527475284752947530475314753247533475344753547536475374753847539475404754147542475434754447545475464754747548475494755047551475524755347554475554755647557475584755947560475614756247563475644756547566475674756847569475704757147572475734757447575475764757747578475794758047581475824758347584475854758647587475884758947590475914759247593475944759547596475974759847599476004760147602476034760447605476064760747608476094761047611476124761347614476154761647617476184761947620476214762247623476244762547626476274762847629476304763147632476334763447635476364763747638476394764047641476424764347644476454764647647476484764947650476514765247653476544765547656476574765847659476604766147662476634766447665476664766747668476694767047671476724767347674476754767647677476784767947680476814768247683476844768547686476874768847689476904769147692476934769447695476964769747698476994770047701477024770347704477054770647707477084770947710477114771247713477144771547716477174771847719477204772147722477234772447725477264772747728477294773047731477324773347734477354773647737477384773947740477414774247743477444774547746477474774847749477504775147752477534775447755477564775747758477594776047761477624776347764477654776647767477684776947770477714777247773477744777547776477774777847779477804778147782477834778447785477864778747788477894779047791477924779347794477954779647797477984779947800478014780247803478044780547806478074780847809478104781147812478134781447815478164781747818478194782047821478224782347824478254782647827478284782947830478314783247833478344783547836478374783847839478404784147842478434784447845478464784747848478494785047851478524785347854478554785647857478584785947860478614786247863478644786547866478674786847869478704787147872478734787447875478764787747878478794788047881478824788347884478854788647887478884788947890478914789247893478944789547896478974789847899479004790147902479034790447905479064790747908479094791047911479124791347914479154791647917479184791947920479214792247923479244792547926479274792847929479304793147932479334793447935479364793747938479394794047941479424794347944479454794647947479484794947950479514795247953479544795547956479574795847959479604796147962479634796447965479664796747968479694797047971479724797347974479754797647977479784797947980479814798247983479844798547986479874798847989479904799147992479934799447995479964799747998479994800048001480024800348004480054800648007480084800948010480114801248013480144801548016480174801848019480204802148022480234802448025480264802748028480294803048031480324803348034480354803648037480384803948040480414804248043480444804548046480474804848049480504805148052480534805448055480564805748058480594806048061480624806348064480654806648067480684806948070480714807248073480744807548076480774807848079480804808148082480834808448085480864808748088480894809048091480924809348094480954809648097480984809948100481014810248103481044810548106481074810848109481104811148112481134811448115481164811748118481194812048121481224812348124481254812648127481284812948130481314813248133481344813548136481374813848139481404814148142481434814448145481464814748148481494815048151481524815348154481554815648157481584815948160481614816248163481644816548166481674816848169481704817148172481734817448175481764817748178481794818048181481824818348184481854818648187481884818948190481914819248193481944819548196481974819848199482004820148202482034820448205482064820748208482094821048211482124821348214482154821648217482184821948220482214822248223482244822548226482274822848229482304823148232482334823448235482364823748238482394824048241482424824348244482454824648247482484824948250482514825248253482544825548256482574825848259482604826148262482634826448265482664826748268482694827048271482724827348274482754827648277482784827948280482814828248283482844828548286482874828848289482904829148292482934829448295482964829748298482994830048301483024830348304483054830648307483084830948310483114831248313483144831548316483174831848319483204832148322483234832448325483264832748328483294833048331483324833348334483354833648337483384833948340483414834248343483444834548346483474834848349483504835148352483534835448355483564835748358483594836048361483624836348364483654836648367483684836948370483714837248373483744837548376483774837848379483804838148382483834838448385483864838748388483894839048391483924839348394483954839648397483984839948400484014840248403484044840548406484074840848409484104841148412484134841448415484164841748418484194842048421484224842348424484254842648427484284842948430484314843248433484344843548436484374843848439484404844148442484434844448445484464844748448484494845048451484524845348454484554845648457484584845948460484614846248463484644846548466484674846848469484704847148472484734847448475484764847748478484794848048481484824848348484484854848648487484884848948490484914849248493484944849548496484974849848499485004850148502485034850448505485064850748508485094851048511485124851348514485154851648517485184851948520485214852248523485244852548526485274852848529485304853148532485334853448535485364853748538485394854048541485424854348544485454854648547485484854948550485514855248553485544855548556485574855848559485604856148562485634856448565485664856748568485694857048571485724857348574485754857648577485784857948580485814858248583485844858548586485874858848589485904859148592485934859448595485964859748598485994860048601486024860348604486054860648607486084860948610486114861248613486144861548616486174861848619486204862148622486234862448625486264862748628486294863048631486324863348634486354863648637486384863948640486414864248643486444864548646486474864848649486504865148652486534865448655486564865748658486594866048661486624866348664486654866648667486684866948670486714867248673486744867548676486774867848679486804868148682486834868448685486864868748688486894869048691486924869348694486954869648697486984869948700487014870248703487044870548706487074870848709487104871148712487134871448715487164871748718487194872048721487224872348724487254872648727487284872948730487314873248733487344873548736487374873848739487404874148742487434874448745487464874748748487494875048751487524875348754487554875648757487584875948760487614876248763487644876548766487674876848769487704877148772487734877448775487764877748778487794878048781487824878348784487854878648787487884878948790487914879248793487944879548796487974879848799488004880148802488034880448805488064880748808488094881048811488124881348814488154881648817488184881948820488214882248823488244882548826488274882848829488304883148832488334883448835488364883748838488394884048841488424884348844488454884648847488484884948850488514885248853488544885548856488574885848859488604886148862488634886448865488664886748868488694887048871488724887348874488754887648877488784887948880488814888248883488844888548886488874888848889488904889148892488934889448895488964889748898488994890048901489024890348904489054890648907489084890948910489114891248913489144891548916489174891848919489204892148922489234892448925489264892748928489294893048931489324893348934489354893648937489384893948940489414894248943489444894548946489474894848949489504895148952489534895448955489564895748958489594896048961489624896348964489654896648967489684896948970489714897248973489744897548976489774897848979489804898148982489834898448985489864898748988489894899048991489924899348994489954899648997489984899949000490014900249003490044900549006490074900849009490104901149012490134901449015490164901749018490194902049021490224902349024490254902649027490284902949030490314903249033490344903549036490374903849039490404904149042490434904449045490464904749048490494905049051490524905349054490554905649057490584905949060490614906249063490644906549066490674906849069490704907149072490734907449075490764907749078490794908049081490824908349084490854908649087490884908949090490914909249093490944909549096490974909849099491004910149102491034910449105491064910749108491094911049111491124911349114491154911649117491184911949120491214912249123491244912549126491274912849129491304913149132491334913449135491364913749138491394914049141491424914349144491454914649147491484914949150491514915249153491544915549156491574915849159491604916149162491634916449165491664916749168491694917049171491724917349174491754917649177491784917949180491814918249183491844918549186491874918849189491904919149192491934919449195491964919749198491994920049201492024920349204492054920649207492084920949210492114921249213492144921549216492174921849219492204922149222492234922449225492264922749228492294923049231492324923349234492354923649237492384923949240492414924249243492444924549246492474924849249492504925149252492534925449255492564925749258492594926049261492624926349264492654926649267492684926949270492714927249273492744927549276492774927849279492804928149282492834928449285492864928749288492894929049291492924929349294492954929649297492984929949300493014930249303493044930549306493074930849309493104931149312493134931449315493164931749318493194932049321493224932349324493254932649327493284932949330493314933249333493344933549336493374933849339493404934149342493434934449345493464934749348493494935049351493524935349354493554935649357493584935949360493614936249363493644936549366493674936849369493704937149372493734937449375493764937749378493794938049381493824938349384493854938649387493884938949390493914939249393493944939549396493974939849399494004940149402494034940449405494064940749408494094941049411494124941349414494154941649417494184941949420494214942249423494244942549426494274942849429494304943149432494334943449435494364943749438494394944049441494424944349444494454944649447494484944949450494514945249453494544945549456494574945849459494604946149462494634946449465494664946749468494694947049471494724947349474494754947649477494784947949480494814948249483494844948549486494874948849489494904949149492494934949449495494964949749498494994950049501495024950349504495054950649507495084950949510495114951249513495144951549516495174951849519495204952149522495234952449525495264952749528495294953049531495324953349534495354953649537495384953949540495414954249543495444954549546495474954849549495504955149552495534955449555495564955749558495594956049561495624956349564495654956649567495684956949570495714957249573495744957549576495774957849579495804958149582495834958449585495864958749588495894959049591495924959349594495954959649597495984959949600496014960249603496044960549606496074960849609496104961149612496134961449615496164961749618496194962049621496224962349624496254962649627496284962949630496314963249633496344963549636496374963849639496404964149642496434964449645496464964749648496494965049651496524965349654496554965649657496584965949660496614966249663496644966549666496674966849669496704967149672496734967449675496764967749678496794968049681496824968349684496854968649687496884968949690496914969249693496944969549696496974969849699497004970149702497034970449705497064970749708497094971049711497124971349714497154971649717497184971949720497214972249723497244972549726497274972849729497304973149732497334973449735497364973749738497394974049741497424974349744497454974649747497484974949750497514975249753497544975549756497574975849759497604976149762497634976449765497664976749768497694977049771497724977349774497754977649777497784977949780497814978249783497844978549786497874978849789497904979149792497934979449795497964979749798497994980049801498024980349804498054980649807498084980949810498114981249813498144981549816498174981849819498204982149822498234982449825498264982749828498294983049831498324983349834498354983649837498384983949840498414984249843498444984549846498474984849849498504985149852498534985449855498564985749858498594986049861498624986349864498654986649867498684986949870498714987249873498744987549876498774987849879498804988149882498834988449885498864988749888498894989049891498924989349894498954989649897498984989949900499014990249903499044990549906499074990849909499104991149912499134991449915499164991749918499194992049921499224992349924499254992649927499284992949930499314993249933499344993549936499374993849939499404994149942499434994449945499464994749948499494995049951499524995349954499554995649957499584995949960499614996249963499644996549966499674996849969499704997149972499734997449975499764997749978499794998049981499824998349984499854998649987499884998949990499914999249993499944999549996499974999849999500005000150002500035000450005500065000750008500095001050011500125001350014500155001650017500185001950020500215002250023500245002550026500275002850029500305003150032500335003450035500365003750038500395004050041500425004350044500455004650047500485004950050500515005250053500545005550056500575005850059500605006150062500635006450065500665006750068500695007050071500725007350074500755007650077500785007950080500815008250083500845008550086500875008850089500905009150092500935009450095500965009750098500995010050101501025010350104501055010650107501085010950110501115011250113501145011550116501175011850119501205012150122501235012450125501265012750128501295013050131501325013350134501355013650137501385013950140501415014250143501445014550146501475014850149501505015150152501535015450155501565015750158501595016050161501625016350164501655016650167501685016950170501715017250173501745017550176501775017850179501805018150182501835018450185501865018750188501895019050191501925019350194501955019650197501985019950200502015020250203502045020550206502075020850209502105021150212502135021450215502165021750218502195022050221502225022350224502255022650227502285022950230502315023250233502345023550236502375023850239502405024150242502435024450245502465024750248502495025050251502525025350254502555025650257502585025950260502615026250263502645026550266502675026850269502705027150272502735027450275502765027750278502795028050281502825028350284502855028650287502885028950290502915029250293502945029550296502975029850299503005030150302503035030450305503065030750308503095031050311503125031350314503155031650317503185031950320503215032250323503245032550326503275032850329503305033150332503335033450335503365033750338503395034050341503425034350344503455034650347503485034950350503515035250353503545035550356503575035850359503605036150362503635036450365503665036750368503695037050371503725037350374503755037650377503785037950380503815038250383503845038550386503875038850389503905039150392503935039450395503965039750398503995040050401504025040350404504055040650407504085040950410504115041250413504145041550416504175041850419504205042150422504235042450425504265042750428504295043050431504325043350434504355043650437504385043950440504415044250443504445044550446504475044850449504505045150452504535045450455504565045750458504595046050461504625046350464504655046650467504685046950470504715047250473504745047550476504775047850479504805048150482504835048450485504865048750488504895049050491504925049350494504955049650497504985049950500505015050250503505045050550506505075050850509505105051150512505135051450515505165051750518505195052050521505225052350524505255052650527505285052950530505315053250533505345053550536505375053850539505405054150542505435054450545505465054750548505495055050551505525055350554505555055650557505585055950560505615056250563505645056550566505675056850569505705057150572505735057450575505765057750578505795058050581505825058350584505855058650587505885058950590505915059250593505945059550596505975059850599506005060150602506035060450605506065060750608506095061050611506125061350614506155061650617506185061950620506215062250623506245062550626506275062850629506305063150632506335063450635506365063750638506395064050641506425064350644506455064650647506485064950650506515065250653506545065550656506575065850659506605066150662506635066450665506665066750668506695067050671506725067350674506755067650677506785067950680506815068250683506845068550686506875068850689506905069150692506935069450695506965069750698506995070050701507025070350704507055070650707507085070950710507115071250713507145071550716507175071850719507205072150722507235072450725507265072750728507295073050731507325073350734507355073650737507385073950740507415074250743507445074550746507475074850749507505075150752507535075450755507565075750758507595076050761507625076350764507655076650767507685076950770507715077250773507745077550776507775077850779507805078150782507835078450785507865078750788507895079050791507925079350794507955079650797507985079950800508015080250803508045080550806508075080850809508105081150812508135081450815508165081750818508195082050821508225082350824508255082650827508285082950830508315083250833508345083550836508375083850839508405084150842508435084450845508465084750848508495085050851508525085350854508555085650857508585085950860508615086250863508645086550866508675086850869508705087150872508735087450875508765087750878508795088050881508825088350884508855088650887508885088950890508915089250893508945089550896508975089850899509005090150902509035090450905509065090750908509095091050911509125091350914509155091650917509185091950920509215092250923509245092550926509275092850929509305093150932509335093450935509365093750938509395094050941509425094350944509455094650947509485094950950509515095250953509545095550956509575095850959509605096150962509635096450965509665096750968509695097050971509725097350974509755097650977509785097950980509815098250983509845098550986509875098850989509905099150992509935099450995509965099750998509995100051001510025100351004510055100651007510085100951010510115101251013510145101551016510175101851019510205102151022510235102451025510265102751028510295103051031510325103351034510355103651037510385103951040510415104251043510445104551046510475104851049510505105151052510535105451055510565105751058510595106051061510625106351064510655106651067510685106951070510715107251073510745107551076510775107851079510805108151082510835108451085510865108751088510895109051091510925109351094510955109651097510985109951100511015110251103511045110551106511075110851109511105111151112511135111451115511165111751118511195112051121511225112351124511255112651127511285112951130511315113251133511345113551136511375113851139511405114151142511435114451145511465114751148511495115051151511525115351154511555115651157511585115951160511615116251163511645116551166511675116851169511705117151172511735117451175511765117751178511795118051181511825118351184511855118651187511885118951190511915119251193511945119551196511975119851199512005120151202512035120451205512065120751208512095121051211512125121351214512155121651217512185121951220512215122251223512245122551226512275122851229512305123151232512335123451235512365123751238512395124051241512425124351244512455124651247512485124951250512515125251253512545125551256512575125851259512605126151262512635126451265512665126751268512695127051271512725127351274512755127651277512785127951280512815128251283512845128551286512875128851289512905129151292512935129451295512965129751298512995130051301513025130351304513055130651307513085130951310513115131251313513145131551316513175131851319513205132151322513235132451325513265132751328513295133051331513325133351334513355133651337513385133951340513415134251343513445134551346513475134851349513505135151352513535135451355513565135751358513595136051361513625136351364513655136651367513685136951370513715137251373513745137551376513775137851379513805138151382513835138451385513865138751388513895139051391513925139351394513955139651397513985139951400514015140251403514045140551406514075140851409514105141151412514135141451415514165141751418514195142051421514225142351424514255142651427514285142951430514315143251433514345143551436514375143851439514405144151442514435144451445514465144751448514495145051451514525145351454514555145651457514585145951460514615146251463514645146551466514675146851469514705147151472514735147451475514765147751478514795148051481514825148351484514855148651487514885148951490514915149251493514945149551496514975149851499515005150151502515035150451505515065150751508515095151051511515125151351514515155151651517515185151951520515215152251523515245152551526515275152851529515305153151532515335153451535515365153751538515395154051541515425154351544515455154651547515485154951550515515155251553515545155551556515575155851559515605156151562515635156451565515665156751568515695157051571515725157351574515755157651577515785157951580515815158251583515845158551586515875158851589515905159151592515935159451595515965159751598515995160051601516025160351604516055160651607516085160951610516115161251613516145161551616516175161851619516205162151622516235162451625516265162751628516295163051631516325163351634516355163651637516385163951640516415164251643516445164551646516475164851649516505165151652516535165451655516565165751658516595166051661516625166351664516655166651667516685166951670516715167251673516745167551676516775167851679516805168151682516835168451685516865168751688516895169051691516925169351694516955169651697516985169951700517015170251703517045170551706517075170851709517105171151712517135171451715517165171751718517195172051721517225172351724517255172651727517285172951730517315173251733517345173551736517375173851739517405174151742517435174451745517465174751748517495175051751517525175351754517555175651757517585175951760517615176251763517645176551766517675176851769517705177151772517735177451775517765177751778517795178051781517825178351784517855178651787517885178951790517915179251793517945179551796517975179851799518005180151802518035180451805518065180751808518095181051811518125181351814518155181651817518185181951820518215182251823518245182551826518275182851829518305183151832518335183451835518365183751838518395184051841518425184351844518455184651847518485184951850518515185251853518545185551856518575185851859518605186151862518635186451865518665186751868518695187051871518725187351874518755187651877518785187951880518815188251883518845188551886518875188851889518905189151892518935189451895518965189751898518995190051901519025190351904519055190651907519085190951910519115191251913519145191551916519175191851919519205192151922519235192451925519265192751928519295193051931519325193351934519355193651937519385193951940519415194251943519445194551946519475194851949519505195151952519535195451955519565195751958519595196051961519625196351964519655196651967519685196951970519715197251973519745197551976519775197851979519805198151982519835198451985519865198751988519895199051991519925199351994519955199651997519985199952000520015200252003520045200552006520075200852009520105201152012520135201452015520165201752018520195202052021520225202352024520255202652027520285202952030520315203252033520345203552036520375203852039520405204152042520435204452045520465204752048520495205052051520525205352054520555205652057520585205952060520615206252063520645206552066520675206852069520705207152072520735207452075520765207752078520795208052081520825208352084520855208652087520885208952090520915209252093520945209552096520975209852099521005210152102521035210452105521065210752108521095211052111521125211352114521155211652117521185211952120521215212252123521245212552126521275212852129521305213152132521335213452135521365213752138521395214052141521425214352144521455214652147521485214952150521515215252153521545215552156521575215852159521605216152162521635216452165521665216752168521695217052171521725217352174521755217652177521785217952180521815218252183521845218552186521875218852189521905219152192521935219452195521965219752198521995220052201522025220352204522055220652207522085220952210522115221252213522145221552216522175221852219522205222152222522235222452225522265222752228522295223052231522325223352234522355223652237522385223952240522415224252243522445224552246522475224852249522505225152252522535225452255522565225752258522595226052261522625226352264522655226652267522685226952270522715227252273522745227552276522775227852279522805228152282522835228452285522865228752288522895229052291522925229352294522955229652297522985229952300523015230252303523045230552306523075230852309523105231152312523135231452315523165231752318523195232052321523225232352324523255232652327523285232952330523315233252333523345233552336523375233852339523405234152342523435234452345523465234752348523495235052351523525235352354523555235652357523585235952360523615236252363523645236552366523675236852369523705237152372523735237452375523765237752378523795238052381523825238352384523855238652387523885238952390523915239252393523945239552396523975239852399524005240152402524035240452405524065240752408524095241052411524125241352414524155241652417524185241952420524215242252423524245242552426524275242852429524305243152432524335243452435524365243752438524395244052441524425244352444524455244652447524485244952450524515245252453524545245552456524575245852459524605246152462524635246452465524665246752468524695247052471524725247352474524755247652477524785247952480524815248252483524845248552486524875248852489524905249152492524935249452495524965249752498524995250052501525025250352504525055250652507525085250952510525115251252513525145251552516525175251852519525205252152522525235252452525525265252752528525295253052531525325253352534525355253652537525385253952540525415254252543525445254552546525475254852549525505255152552525535255452555525565255752558525595256052561525625256352564525655256652567525685256952570525715257252573525745257552576525775257852579525805258152582525835258452585525865258752588525895259052591525925259352594525955259652597525985259952600526015260252603526045260552606526075260852609526105261152612526135261452615526165261752618526195262052621526225262352624526255262652627526285262952630526315263252633526345263552636526375263852639526405264152642526435264452645526465264752648526495265052651526525265352654526555265652657526585265952660526615266252663526645266552666526675266852669526705267152672526735267452675526765267752678526795268052681526825268352684526855268652687526885268952690526915269252693526945269552696526975269852699527005270152702527035270452705527065270752708527095271052711527125271352714527155271652717527185271952720527215272252723527245272552726527275272852729527305273152732527335273452735527365273752738527395274052741527425274352744527455274652747527485274952750527515275252753527545275552756527575275852759527605276152762527635276452765527665276752768527695277052771527725277352774527755277652777527785277952780527815278252783527845278552786527875278852789527905279152792527935279452795527965279752798527995280052801528025280352804528055280652807528085280952810528115281252813528145281552816528175281852819528205282152822528235282452825528265282752828528295283052831528325283352834528355283652837528385283952840528415284252843528445284552846528475284852849528505285152852528535285452855528565285752858528595286052861528625286352864528655286652867528685286952870528715287252873528745287552876528775287852879528805288152882528835288452885528865288752888528895289052891528925289352894528955289652897528985289952900529015290252903529045290552906529075290852909529105291152912529135291452915529165291752918529195292052921529225292352924529255292652927529285292952930529315293252933529345293552936529375293852939529405294152942529435294452945529465294752948529495295052951529525295352954529555295652957529585295952960529615296252963529645296552966529675296852969529705297152972529735297452975529765297752978529795298052981529825298352984529855298652987
  1. 2013-04-24 Claudio Saavedra <csaavedra@igalia.com>
  2. Build break after r149004
  3. https://bugs.webkit.org/show_bug.cgi?id=115091
  4. Reviewed by Csaba Osztrogonác.
  5. * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
  6. (WebKit::LayerTreeHostGtk::pageBackgroundTransparencyChanged):
  7. (WebKit): Add dummy method for new virtual method.
  8. * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
  9. (LayerTreeHostGtk): Ditto.
  10. 2013-04-23 Ryuan Choi <ryuan.choi@samsung.com>
  11. [EFL][WK2] Build break after r149004
  12. https://bugs.webkit.org/show_bug.cgi?id=115066
  13. Reviewed by Tim Horton.
  14. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  15. (WebKit::CoordinatedLayerTreeHost::pageBackgroundTransparencyChanged):
  16. Added dummy method for new virtual method.
  17. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  18. (CoordinatedLayerTreeHost): Ditto.
  19. 2013-04-23 Simon Fraser <simon.fraser@apple.com>
  20. Turn off tiled drawing in the Web Inspector
  21. https://bugs.webkit.org/show_bug.cgi?id=115064
  22. Reviewed by Tim Horton.
  23. We get little benefit from making the Web Inspector use tiled drawing;
  24. it doesn't scroll the main frame, so doesn't benefit from the ScrollingCoordinator.
  25. Not using tiled drawing also means that we won't make compositing
  26. layers for position: -webkit-sticky, which avoids a number of issues
  27. with compositing layer proliferation in the inspector.
  28. Also turn off accelerated drawing, since that pref will force a single
  29. compositing layer.
  30. * UIProcess/WebInspectorProxy.cpp:
  31. (WebKit::createInspectorPageGroup):
  32. * UIProcess/mac/WebInspectorProxyMac.mm:
  33. 2013-04-23 Simon Fraser <simon.fraser@apple.com>
  34. When the web page transparency changes, DrawingAreaImpl needs to know about it
  35. https://bugs.webkit.org/show_bug.cgi?id=115062
  36. Reviewed by Tim Horton.
  37. The non-composited contents layer owned by LayerTreeHostMac needs to
  38. be marked as opaque or not depending on whether the WebPage draws
  39. a background (or transparent background). It computed this at creation,
  40. but did not dynamically update the state. Fix it so it does.
  41. This fixes cases of garbage pixels in the Web Inspector toolbar area
  42. in some configurations.
  43. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  44. (WebKit::DrawingAreaImpl::pageBackgroundTransparencyChanged):
  45. * WebProcess/WebPage/DrawingAreaImpl.h:
  46. (DrawingAreaImpl):
  47. * WebProcess/WebPage/LayerTreeHost.h:
  48. * WebProcess/WebPage/mac/LayerTreeHostMac.h:
  49. * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
  50. (WebKit::LayerTreeHostMac::pageBackgroundTransparencyChanged):
  51. 2013-04-23 Anders Carlsson <andersca@apple.com>
  52. REGRESSION(r148922): Crash opening web archives or loading web pages
  53. https://bugs.webkit.org/show_bug.cgi?id=115061
  54. <rdar://problem/13714228>
  55. Reviewed by Sam Weinig.
  56. * WebProcess/Network/WebResourceLoader.cpp:
  57. (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
  58. Calling ResourceLoader::didReceiveResponse can cause the WebResourceLoader object to go away,
  59. so protect it here and guard against a null core loader.
  60. 2013-04-23 Tim Horton <timothy_horton@apple.com>
  61. Web process crashes at WebPage::determinePrimarySnapshottedPlugInTimerFired + 8
  62. https://bugs.webkit.org/show_bug.cgi?id=115056
  63. <rdar://problem/13719543>
  64. Reviewed by Simon Fraser.
  65. Stop the primary plugin detection timer if the WebPage is torn down.
  66. * WebProcess/WebPage/WebPage.cpp:
  67. (WebKit::WebPage::close):
  68. 2013-04-23 Carlos Garcia Campos <cgarcia@igalia.com>
  69. [GTK] Add webkit_uri_request_get_http_headers to WebKit2 GTK+ API
  70. https://bugs.webkit.org/show_bug.cgi?id=112160
  71. Reviewed by Andreas Kling.
  72. It allows to load requests with custom headers, or to update the
  73. headers of a request before being sent to the server in the
  74. WebKitWebPage::send-request callback.
  75. * UIProcess/API/gtk/WebKitURIRequest.cpp:
  76. (_WebKitURIRequestPrivate): Add SoupMessageHeaders.
  77. (webkit_uri_request_get_http_headers): Return the HTTP headers of
  78. the request as a SoupMessageHeaders if the request is HTTP. A new
  79. SoupMessageHeaders is created on demand using the existing headers
  80. of the request.
  81. (webkitURIRequestGetResourceRequest): Instead of returning a const
  82. reference of the internal ResourceRequest, set a request passed as
  83. a reference and update its HTTP headers using the
  84. SoupMessageHeaders if present.
  85. * UIProcess/API/gtk/WebKitURIRequest.h:
  86. * UIProcess/API/gtk/WebKitURIRequestPrivate.h:
  87. * UIProcess/API/gtk/WebKitWebView.cpp:
  88. (webkit_web_view_load_request): Update to the new
  89. webkitURIRequestGetResourceRequest API.
  90. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
  91. webkit_uri_request_get_http_headers symbol.
  92. * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
  93. (testWebPageURI):
  94. (testURIRequestHTTPHeaders):
  95. (serverCallback):
  96. (beforeAll):
  97. * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
  98. (willSendRequestForFrame): Update to the new
  99. webkitURIRequestGetResourceRequest API.
  100. 2013-04-23 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  101. [WK2] Make EFL WKView API shareable between ports
  102. https://bugs.webkit.org/show_bug.cgi?id=114734
  103. Reviewed by Anders Carlsson.
  104. EFL-independent part of WKView API (and its implementation) is now
  105. shareable between ports that use Coordinated Graphics and put to
  106. CoordinatedGraphics folders.
  107. * PlatformEfl.cmake:
  108. * UIProcess/API/C/CoordinatedGraphics/WKView.cpp: Renamed from Source/WebKit2/UIProcess/API/C/efl/WKView.cpp.
  109. (WKViewCreate):
  110. (WKViewInitialize):
  111. (WKViewGetSize):
  112. (WKViewSetSize):
  113. (WKViewSetViewClient):
  114. (WKViewIsFocused):
  115. (WKViewSetIsFocused):
  116. (WKViewIsVisible):
  117. (WKViewSetIsVisible):
  118. (WKViewGetContentScaleFactor):
  119. (WKViewSetContentScaleFactor):
  120. (WKViewGetContentPosition):
  121. (WKViewSetContentPosition):
  122. (WKViewSetUserViewportTranslation):
  123. (WKViewUserViewportToContents):
  124. (WKViewPaintToCurrentGLContext):
  125. (WKViewGetPage):
  126. (WKViewSetDrawsBackground):
  127. (WKViewGetDrawsBackground):
  128. (WKViewSetDrawsTransparentBackground):
  129. (WKViewGetDrawsTransparentBackground):
  130. (WKViewSetThemePath):
  131. (WKViewSuspendActiveDOMObjectsAndAnimations):
  132. (WKViewResumeActiveDOMObjectsAndAnimations):
  133. (WKViewSetShowsAsSource):
  134. (WKViewGetShowsAsSource):
  135. (WKViewExitFullScreen):
  136. * UIProcess/API/C/CoordinatedGraphics/WKView.h: Renamed from Source/WebKit2/UIProcess/API/C/efl/WKView.h.
  137. * UIProcess/API/C/efl/WKViewEfl.cpp: Added.
  138. (WKViewPaintToCairoSurface):
  139. (WKViewCreateSnapshot):
  140. * UIProcess/API/C/efl/WKViewEfl.h: Added.
  141. * UIProcess/API/efl/EwkView.cpp:
  142. (EwkView::EwkView):
  143. * UIProcess/API/efl/EwkView.h:
  144. * UIProcess/CoordinatedGraphics/WebView.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebView.cpp.
  145. (WebKit):
  146. (WebKit::WebView::WebView):
  147. (WebKit::WebView::~WebView):
  148. (WebKit::WebView::initialize):
  149. (WebKit::WebView::setSize):
  150. (WebKit::WebView::setFocused):
  151. (WebKit::WebView::setVisible):
  152. (WebKit::WebView::setUserViewportTranslation):
  153. (WebKit::WebView::userViewportToContents):
  154. (WebKit::WebView::paintToCurrentGLContext):
  155. (WebKit::WebView::setThemePath):
  156. (WebKit::WebView::setDrawsBackground):
  157. (WebKit::WebView::drawsBackground):
  158. (WebKit::WebView::setDrawsTransparentBackground):
  159. (WebKit::WebView::drawsTransparentBackground):
  160. (WebKit::WebView::suspendActiveDOMObjectsAndAnimations):
  161. (WebKit::WebView::resumeActiveDOMObjectsAndAnimations):
  162. (WebKit::WebView::setShowsAsSource):
  163. (WebKit::WebView::showsAsSource):
  164. (WebKit::WebView::exitFullScreen):
  165. (WebKit::WebView::initializeClient):
  166. (WebKit::WebView::didChangeContentsSize):
  167. (WebKit::WebView::transformFromScene):
  168. (WebKit::WebView::transformToScene):
  169. (WebKit::WebView::coordinatedGraphicsScene):
  170. (WebKit::WebView::updateViewportSize):
  171. (WebKit::WebView::dipSize):
  172. (WebKit::WebView::createDrawingAreaProxy):
  173. (WebKit::WebView::setViewNeedsDisplay):
  174. (WebKit::WebView::displayView):
  175. (WebKit::WebView::scrollView):
  176. (WebKit::WebView::viewSize):
  177. (WebKit::WebView::isViewWindowActive):
  178. (WebKit::WebView::isViewFocused):
  179. (WebKit::WebView::isViewVisible):
  180. (WebKit::WebView::isViewInWindow):
  181. (WebKit::WebView::processDidCrash):
  182. (WebKit::WebView::didRelaunchProcess):
  183. (WebKit::WebView::pageClosed):
  184. (WebKit::WebView::toolTipChanged):
  185. (WebKit::WebView::setCursor):
  186. (WebKit::WebView::setCursorHiddenUntilMouseMoves):
  187. (WebKit::WebView::registerEditCommand):
  188. (WebKit::WebView::clearAllEditCommands):
  189. (WebKit::WebView::canUndoRedo):
  190. (WebKit::WebView::executeUndoRedo):
  191. (WebKit::WebView::screenToWindow):
  192. (WebKit::WebView::windowToScreen):
  193. (WebKit::WebView::doneWithKeyEvent):
  194. (WebKit::WebView::doneWithTouchEvent):
  195. (WebKit::WebView::createPopupMenuProxy):
  196. (WebKit::WebView::createContextMenuProxy):
  197. (WebKit::WebView::createColorChooserProxy):
  198. (WebKit::WebView::setFindIndicator):
  199. (WebKit::WebView::enterAcceleratedCompositingMode):
  200. (WebKit::WebView::exitAcceleratedCompositingMode):
  201. (WebKit::WebView::updateAcceleratedCompositingMode):
  202. (WebKit::WebView::didCommitLoadForMainFrame):
  203. (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
  204. (WebKit::WebView::customRepresentationZoomFactor):
  205. (WebKit::WebView::setCustomRepresentationZoomFactor):
  206. (WebKit::WebView::flashBackingStoreUpdates):
  207. (WebKit::WebView::findStringInCustomRepresentation):
  208. (WebKit::WebView::countStringMatchesInCustomRepresentation):
  209. (WebKit::WebView::updateTextInputState):
  210. (WebKit::WebView::handleDownloadRequest):
  211. (WebKit::WebView::convertToDeviceSpace):
  212. (WebKit::WebView::convertToUserSpace):
  213. (WebKit::WebView::didChangeViewportProperties):
  214. (WebKit::WebView::pageDidRequestScroll):
  215. (WebKit::WebView::didRenderFrame):
  216. (WebKit::WebView::pageTransitionViewportReady):
  217. * UIProcess/CoordinatedGraphics/WebView.h: Renamed from Source/WebKit2/UIProcess/efl/WebView.h.
  218. (WebCore):
  219. (WebKit):
  220. (WebView):
  221. (WebKit::WebView::size):
  222. (WebKit::WebView::isFocused):
  223. (WebKit::WebView::isVisible):
  224. (WebKit::WebView::setContentScaleFactor):
  225. (WebKit::WebView::contentScaleFactor):
  226. (WebKit::WebView::setContentPosition):
  227. (WebKit::WebView::contentPosition):
  228. (WebKit::WebView::pageRef):
  229. (WebKit::WebView::page):
  230. * UIProcess/CoordinatedGraphics/WebViewClient.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebViewClient.cpp.
  231. (WebKit):
  232. (WebKit::WebViewClient::viewNeedsDisplay):
  233. (WebKit::WebViewClient::didChangeContentsSize):
  234. (WebKit::WebViewClient::webProcessCrashed):
  235. (WebKit::WebViewClient::webProcessDidRelaunch):
  236. (WebKit::WebViewClient::didChangeContentsPosition):
  237. (WebKit::WebViewClient::didRenderFrame):
  238. (WebKit::WebViewClient::didCompletePageTransition):
  239. (WebKit::WebViewClient::didChangeViewportAttributes):
  240. (WebKit::WebViewClient::didChangeTooltip):
  241. * UIProcess/CoordinatedGraphics/WebViewClient.h: Renamed from Source/WebKit2/UIProcess/efl/WebViewClient.h.
  242. (WebCore):
  243. (WebKit):
  244. * UIProcess/efl/WebViewEfl.cpp: Added.
  245. (WebKit):
  246. (WebKit::WebView::create):
  247. (WebKit::WebViewEfl::WebViewEfl):
  248. (WebKit::WebViewEfl::setEwkView):
  249. (WebKit::WebViewEfl::paintToCairoSurface):
  250. (WebKit::WebViewEfl::createPopupMenuProxy):
  251. (WebKit::WebViewEfl::createContextMenuProxy):
  252. (WebKit::WebViewEfl::setCursor):
  253. (WebKit::WebViewEfl::updateTextInputState):
  254. (WebKit::WebViewEfl::handleDownloadRequest):
  255. * UIProcess/efl/WebViewEfl.h: Added.
  256. (WebKit):
  257. (WebViewEfl):
  258. (WebKit::WebViewEfl::ewkView):
  259. 2013-04-23 Antoine Quint <graouts@apple.com>
  260. Initial advance of text runs should be taken into account
  261. https://bugs.webkit.org/show_bug.cgi?id=114949
  262. Reviewed by Darin Adler.
  263. Adding support for new method CTRunGetInitialAdvance in WebKitSystemInterface.
  264. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
  265. (InitWebCoreSystemInterface):
  266. 2013-04-23 Noam Rosenthal <noam@webkit.org>
  267. [Coordinated Graphics] Remove the lockAnimations code path
  268. https://bugs.webkit.org/show_bug.cgi?id=114899
  269. Remove locking/unlocking animations and checks for the lock state.
  270. The animation locking has been tested to create not-so-smooth animations,
  271. while the use case where the composited animations run out of sync from
  272. the non-composited animations is very rare and unnoticeable.
  273. Reviewed by Benjamin Poulain.
  274. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
  275. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
  276. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  277. (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
  278. (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush):
  279. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  280. 2013-04-22 Sam Weinig <sam@webkit.org>
  281. Need WebKit SPI to detect whether a page contains form controls
  282. <rdar://problem/13686661>
  283. https://bugs.webkit.org/show_bug.cgi?id=115003
  284. Reviewed by Beth Dakin.
  285. * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
  286. (WKBundleFrameContainsAnyFormControls):
  287. * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
  288. * WebProcess/WebPage/WebFrame.cpp:
  289. (WebKit::WebFrame::containsAnyFormControls):
  290. * WebProcess/WebPage/WebFrame.h:
  291. 2013-04-22 Alexey Proskuryakov <ap@apple.com>
  292. [Mac] REGRESSION (r142806): "Just Leaking" Console errors on launch
  293. https://bugs.webkit.org/show_bug.cgi?id=115002
  294. <rdar://problem/13254212>
  295. Reviewed by Sam Weinig.
  296. * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:
  297. (WebKit::BootstrapMain): Added an autorelease pool for code that uses Objective-C.
  298. 2013-04-22 Anders Carlsson <andersca@apple.com>
  299. Web process should decide when to continue main resource loads
  300. https://bugs.webkit.org/show_bug.cgi?id=114995
  301. Reviewed by Sam Weinig.
  302. Main resource loads can be converted to downloads, so we need the ability to let the web process decide when
  303. to continue loading after a response has been received.
  304. * NetworkProcess/NetworkResourceLoader.cpp:
  305. (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
  306. For non-main resources, just call continueDidReceiveResponse directly; there's no need to ping-pong to the web process in that case.
  307. (WebKit::NetworkResourceLoader::continueDidReceiveResponse):
  308. Just call ResourceHandle::continueDidReceiveResponse.
  309. * NetworkProcess/NetworkResourceLoader.messages.in:
  310. Add ContinueDidReceiveResponse message.
  311. * NetworkProcess/SchedulableLoader.cpp:
  312. (WebKit::SchedulableLoader::SchedulableLoader):
  313. Initialize m_isLoadingMainResource.
  314. * NetworkProcess/SchedulableLoader.h:
  315. (WebKit::SchedulableLoader::isLoadingMainResource):
  316. Add getter.
  317. (SchedulableLoader):
  318. Move m_shouldClearReferrerOnHTTPSToHTTPRedirect next to the rest of the booleans.
  319. * Shared/Network/NetworkResourceLoadParameters.cpp:
  320. (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
  321. (WebKit::NetworkResourceLoadParameters::encode):
  322. (WebKit::NetworkResourceLoadParameters::decode):
  323. * Shared/Network/NetworkResourceLoadParameters.h:
  324. (NetworkResourceLoadParameters):
  325. Add isMainResource flag.
  326. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  327. (WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
  328. Pass the cached resource to scheduleLoad.
  329. (WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
  330. Pass null to scheduleLoad.
  331. (WebKit::WebResourceLoadScheduler::scheduleLoad):
  332. Initialize isMainResource.
  333. * WebProcess/Network/WebResourceLoader.cpp:
  334. (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
  335. If this is a main resource load, send back a ContinueDidReceiveResponse message.
  336. 2013-04-22 Tim Horton <timothy_horton@apple.com>
  337. Plugin Snapshotting: Don't consume insane amounts of time detecting the primary plugin
  338. https://bugs.webkit.org/show_bug.cgi?id=114994
  339. <rdar://problem/13696269>
  340. Reviewed by Anders Carlsson.
  341. On some pages, we currently waste a lot of time on every subframe load
  342. and every addPluginView doing primary plugin detection. This patch
  343. attempts to address this via a few minor changes:
  344. - Only allow detection after the main frame's didFinishLoad comes, instead of the first subframe.
  345. - Only explicitly detect on the main frame's didFinishLoad (not subframes).
  346. - Coalesce calls to determinePrimarySnapshottedPlugIn from both addPluginView
  347. (in case JS is adding lots of plugins in a loop) and didFinishLoad.
  348. * WebProcess/WebPage/WebPage.cpp:
  349. (WebKit::WebPage::addPluginView): Coalesce calls to determinePrimarySnapshottedPlugIn.
  350. (WebKit::WebPage::didFinishLoad):
  351. Coalesce calls to determinePrimarySnapshottedPlugIn.
  352. Bail on subframe loads, we're only interested in the main frame being complete.
  353. (WebKit::WebPage::determinePrimarySnapshottedPlugInTimerFired):
  354. Call determinePrimarySnapshottedPlugIn.
  355. * WebProcess/WebPage/WebPage.h:
  356. Add m_determinePrimarySnapshottedPlugInTimer and determinePrimarySnapshottedPlugInTimerFired
  357. 2013-04-22 Alexey Proskuryakov <ap@apple.com>
  358. <rdar://problem/13334446> [Mac] Tweak sandbox profiles.
  359. Reviewed by Anders Carlsson.
  360. Unbreak Lion, which doesn't provide detailed control over IPC.
  361. * WebProcess/com.apple.WebProcess.sb.in:
  362. 2013-04-22 Martin Robinson <mrobinson@igalia.com>
  363. [GTK] Enable introspection always for developer builds
  364. https://bugs.webkit.org/show_bug.cgi?id=114983
  365. Reviewed by Gustavo Noronha Silva.
  366. * GNUmakefile.am: Make warnings during gir scanning cause the build to fail. Eliminate
  367. warnings about deprecated API that the g-ir-scanner uses when generating
  368. the scanner program. Use --quiet.
  369. 2013-04-22 Anders Carlsson <andersca@apple.com>
  370. Make it easier to extend NetworkResourceLoadParameters
  371. https://bugs.webkit.org/show_bug.cgi?id=114992
  372. Reviewed by Sam Weinig.
  373. Turn NetworkResourceLoadParameters into a struct which matches all our other parameter classes in WebKit2. Fill in the struct manually
  374. instead of having a constructor with 9 parameters.
  375. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  376. (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
  377. (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
  378. * NetworkProcess/SchedulableLoader.cpp:
  379. (WebKit::SchedulableLoader::SchedulableLoader):
  380. * Shared/Network/NetworkResourceLoadParameters.cpp:
  381. (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
  382. (WebKit::NetworkResourceLoadParameters::encode):
  383. (WebKit::NetworkResourceLoadParameters::decode):
  384. * Shared/Network/NetworkResourceLoadParameters.h:
  385. (NetworkResourceLoadParameters):
  386. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  387. (WebKit::WebResourceLoadScheduler::scheduleLoad):
  388. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  389. (WebKit::WebPlatformStrategies::loadResourceSynchronously):
  390. 2013-04-22 Tim Horton <timothy_horton@apple.com>
  391. PDFPlugin: Support unlocking encrypted PDFs
  392. https://bugs.webkit.org/show_bug.cgi?id=114938
  393. <rdar://problem/12872888>
  394. Reviewed by Alexey Proskuryakov and Oliver Hunt.
  395. If we try to load an encrypted PDF, we need to provide a sane mechanism
  396. through which the user can provide the password. Add a slightly-below-center
  397. password field to match PDFKit's normal behavior.
  398. * WebKit2.xcodeproj/project.pbxproj: Add PDFPluginPasswordField.{h,mm}
  399. * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add attemptToUnlockWithPassword:
  400. * WebProcess/Plugins/PDF/PDFPlugin.h:
  401. Add createPasswordEntryForm, attemptToUnlockPDF, m_passwordField.
  402. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  403. (annotationStyle): Make #annotationContainer a flexbox that centers its contents.
  404. This won't affect the normal absolutely-positioned form fields, but the inline
  405. password field will be centered vertically and horizontally.
  406. (WebKit::PDFPlugin::pdfDocumentDidLoad):
  407. If the document is locked when loaded, create a password field.
  408. (WebKit::PDFPlugin::createPasswordEntryForm):
  409. Create a PDFPluginPasswordField and attach it to the document.
  410. (WebKit::PDFPlugin::attemptToUnlockPDF):
  411. Try to unlock the PDF with the given password. If this succeeds, remove
  412. the password field and relayout the scroll view.
  413. (WebKit::PDFPlugin::calculateSizes):
  414. Make the document 0x0 if it is locked, preventing scrolling.
  415. (WebKit::PDFPlugin::handleMouseEvent):
  416. Don't pass mouse events to PDFLayerController while it is locked,
  417. as it has no useful events to provide, and will try to present a
  418. dialog asking for the password if we let a click through.
  419. * WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
  420. (WebKit::PDFPluginAnnotation::eventListener): Added.
  421. * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
  422. (WebKit::PDFPluginAnnotation::handleEvent):
  423. Move event-handling code here from PDFPluginAnnotationEventListener::handleEvent
  424. so that subclasses can override this instead of having to have their own
  425. event listeners (this is also why we now expose eventListener()).
  426. (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::handleEvent):
  427. Forward the event to our owning PDFPluginAnnotation.
  428. * WebProcess/Plugins/PDF/PDFPluginPasswordField.h: Added.
  429. (WebKit::PDFPluginPasswordField::PDFPluginPasswordField):
  430. * WebProcess/Plugins/PDF/PDFPluginPasswordField.mm: Added.
  431. (WebKit::PDFPluginPasswordField::create):
  432. (WebKit::PDFPluginPasswordField::~PDFPluginPasswordField):
  433. Unregister for keyup.
  434. (WebKit::PDFPluginPasswordField::createAnnotationElement):
  435. Register for keyup, and set our element's class to "password".
  436. (WebKit::PDFPluginPasswordField::updateGeometry):
  437. Added. Override updateGeometry and do nothing, as the password field
  438. has a geometry defined by CSS instead of by the PDF content.
  439. (WebKit::PDFPluginPasswordField::handleEvent):
  440. If the enter/return key is pressed, attempt to unlock the PDF. Also,
  441. we do not call either of our superclass' implementations of handleEvent,
  442. because blurring the password field should not destroy it, and tabbing
  443. between fields has no relevance when there can only be one field.
  444. * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
  445. (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener):
  446. Removed. We now share our superclass' event listener.
  447. (WebKit::PDFPluginTextAnnotation::textAnnotation): Const.
  448. * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
  449. (WebKit::PDFPluginTextAnnotation::~PDFPluginTextAnnotation):
  450. PDFPluginTextAnnotation no longer has its own event listener,
  451. so there's nothing left to clear here. Just make sure to unregister
  452. our event from PDFPluginAnnotation's shared event listener!
  453. (WebKit::PDFPluginTextAnnotation::createAnnotationElement):
  454. Ensure that we can create a PDFPluginTextAnnotation with a null annotation.
  455. (WebKit::PDFPluginTextAnnotation::commit): Use value().
  456. (WebKit::PDFPluginTextAnnotation::value):
  457. Factor retrieving the value of the form control out of commit().
  458. (WebKit::PDFPluginTextAnnotation::handleEvent):
  459. Call up to PDFPluginAnnotation's handler so that defocus destroys the annotation.
  460. 2013-04-22 Anders Carlsson <andersca@apple.com>
  461. Slow/beachballing when using the find bar on a page with plug-ins
  462. https://bugs.webkit.org/show_bug.cgi?id=114990
  463. <rdar://problem/12832313>
  464. Reviewed by Tim Horton.
  465. * WebProcess/Plugins/PluginView.cpp:
  466. (WebKit::PluginView::notifyWidget):
  467. Call shouldCreateTransientPaintingSnapshot().
  468. (WebKit::PluginView::shouldCreateTransientPaintingSnapshot):
  469. Don't create a painting snapshot if we're asked to paint the find indicator.
  470. * WebProcess/Plugins/PluginView.h:
  471. Add new member function.
  472. 2013-04-22 Alexey Proskuryakov <ap@apple.com>
  473. <rdar://problem/13334446> [Mac] Tweak sandbox profiles.
  474. Reviewed by Sam Weinig.
  475. * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  476. * WebProcess/com.apple.WebProcess.sb.in:
  477. 2013-04-22 Anders Carlsson <andersca@apple.com>
  478. Don't kill our XPC services in response to memory pressure
  479. https://bugs.webkit.org/show_bug.cgi?id=114985
  480. <rdar://problem/13229217>
  481. Reviewed by Mark Rowe.
  482. * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
  483. (WebKit::XPCServiceInitializer):
  484. Call xpc_transaction_begin() so we'll never be killed by the kernel when there's memory pressure;
  485. we prefer to manage our own lifetime thank you very much!
  486. * Shared/mac/ChildProcessMac.mm:
  487. (WebKit::ChildProcess::platformInitialize):
  488. Remove call to disable sudden termination.
  489. 2013-04-22 Alexey Proskuryakov <ap@apple.com>
  490. <rdar://problem/13681842> [Mac] Tweak WebProcess sandbox profile to use
  491. system-graphics function when available.
  492. Reviewed by Sam Weinig.
  493. * WebProcess/com.apple.WebProcess.sb.in:
  494. 2013-04-22 Zan Dobersek <zdobersek@igalia.com>
  495. [GTK] Set up libPlatform.la
  496. https://bugs.webkit.org/show_bug.cgi?id=114168
  497. Reviewed by Martin Robinson.
  498. * GNUmakefile.am: Add the new libPlatform.la library to the libwebkitgtk library. Link the WebKitPluginProcess
  499. executable against libPlatform.la as well.
  500. 2013-04-22 Sam Weinig <sam@webkit.org>
  501. Hard code plug-in sandbox profile lookup directories and move
  502. the profiles to WebKit2.
  503. Reviewed by Anders Carlsson.
  504. * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
  505. (WebKit::PluginProcessMainDelegate::getExtraInitializationData):
  506. * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
  507. (WebKit::PluginServiceInitializerDelegate::getExtraInitializationData):
  508. * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
  509. (WebKit::PluginProcessProxy::platformGetLaunchOptions):
  510. Stop passing the sandbox-profile-directory-path to the plug-in process.
  511. * PluginProcess/mac/PluginProcessMac.mm:
  512. (WebKit::loadSandboxProfileForDirectory):
  513. (WebKit::loadSandboxProfile):
  514. (WebKit::PluginProcess::initializeSandbox):
  515. Hard code the plug-in sandbox profile lookup to only look in the WebKit2 bundle
  516. and /System/Library/Sandbox/Profiles/.
  517. * Resources/PlugInSandboxProfiles: Added.
  518. Add profiles.
  519. * WebKit2.xcodeproj/project.pbxproj:
  520. Copy the profiles to the bundle.
  521. 2013-04-15 Jer Noble <jer.noble@apple.com>
  522. Refactor creation of the full screen window into an (overridable) method.
  523. https://bugs.webkit.org/show_bug.cgi?id=110369
  524. Reviewed by Eric Carlson.
  525. Add a new WKView method -(NSWindow)createFullScreenWindow which can be overridden
  526. by subclasses to provide custom full screen windows to the WKFullScreenWindowController.
  527. * UIProcess/API/mac/WKView.mm:
  528. (-[WKView fullScreenWindowController]):
  529. (-[WKView createFullScreenWindow]):
  530. * UIProcess/API/mac/WKViewPrivate.h:
  531. * UIProcess/mac/WKFullScreenWindowController.mm:
  532. (-[WKFullScreenWindowController initWithWindow:]):
  533. 2013-04-22 Carlos Garcia Campos <cgarcia@igalia.com>
  534. [GTK] Add webkit_web_context_set_disk_cache_directory to WebKit2 GTK+ API
  535. https://bugs.webkit.org/show_bug.cgi?id=111848
  536. Reviewed by Anders Carlsson.
  537. This allow applications to set a custom directory for the disk
  538. cache.
  539. * UIProcess/API/gtk/WebKitWebContext.cpp:
  540. (webkit_web_context_set_disk_cache_directory):
  541. * UIProcess/API/gtk/WebKitWebContext.h:
  542. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
  543. * UIProcess/API/gtk/tests/TestMain.cpp:
  544. (removeNonEmptyDirectory):
  545. (main): Use a different temporary disk cache directory for every
  546. test.
  547. 2013-04-22 Carlos Garcia Campos <cgarcia@igalia.com>
  548. [SOUP] Soup disk cache should respect the diskCacheDirectory from the process initial parameters
  549. https://bugs.webkit.org/show_bug.cgi?id=111845
  550. Reviewed by Anders Carlsson.
  551. Move the cache initialization to platformInitializeWebProcess() to
  552. create the cache using the directory received from the UI
  553. process. This allows to add public API to set a different disk
  554. cache directory from the UI process.
  555. * UIProcess/efl/WebContextEfl.cpp:
  556. (WebKit::WebContext::platformDefaultDiskCacheDirectory): Return
  557. default disk cache directory.
  558. * UIProcess/gtk/WebContextGtk.cpp:
  559. (WebKit::WebContext::platformDefaultDiskCacheDirectory): Ditto.
  560. * WebProcess/efl/WebProcessMainEfl.cpp:
  561. (WebKit::WebProcessMainEfl): Remove soup cache initialization.
  562. * WebProcess/gtk/WebProcessMainGtk.cpp:
  563. (WebKit::WebProcessMainGtk): Ditto.
  564. * WebProcess/soup/WebProcessSoup.cpp:
  565. (WebKit::WebProcess::platformInitializeWebProcess): Initialize
  566. soup cache.
  567. 2013-04-22 Krzysztof Wolanski <k.wolanski@samsung.com>:
  568. [WK2] Fix build warning when GESTURE_EVENTS is ON.
  569. https://bugs.webkit.org/show_bug.cgi?id=114812
  570. Reviewed by Andreas Kling.
  571. Handle GestureSingleTap in the event type switch.
  572. * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
  573. (WebKit::NetscapePlugin::platformHandleMouseEvent):
  574. 2013-04-21 Carlos Garcia Campos <cgarcia@igalia.com>
  575. [WebKit2] Plugins without a MIME Type fail to load
  576. https://bugs.webkit.org/show_bug.cgi?id=112834
  577. Reviewed by Benjamin Poulain.
  578. The problem is that when the plugin is created and the MIME Type
  579. is empty, since the MIME Type guessed in the UI process using the
  580. plugin extension is not passed to the WebProcess, when the plugin
  581. is instantiated, the value of NPMIMEType parameter passed to
  582. NPP_New is NULL, and NPERR_INVALID_INSTANCE_ERROR is returned.
  583. GetPluginPath message has been renamed to FindPlugin, since it
  584. doesn't only return the path but also the new MIME Type and load
  585. policy.
  586. * UIProcess/WebPageProxy.cpp:
  587. (WebKit::WebPageProxy::findPlugin): Receive an output newMIMEType
  588. parameter that is passed to PluginModuleInfo::findPlugin() so that
  589. in case of guessing the MIME Type, the new one is passed back to
  590. the WebProcess.
  591. * UIProcess/WebPageProxy.h:
  592. (WebPageProxy):
  593. * UIProcess/WebPageProxy.messages.in:
  594. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  595. (WebKit::WebFrameLoaderClient::createPlugin): Pass the MIME Type
  596. from the parameters to WebPage::createPlugin.
  597. (WebKit::WebFrameLoaderClient::recreatePlugin): Pass a newMIMEType
  598. parameter to WebPage::createPlugin.
  599. * WebProcess/WebPage/WebPage.cpp:
  600. (WebKit::WebPage::createPlugin): Add newMIMEType out parameter and
  601. pass it to the FindPlugin message.
  602. (WebKit::WebPage::canPluginHandleResponse): Pass newMIMEType to
  603. FindPlugin message.
  604. * WebProcess/WebPage/WebPage.h:
  605. (WebPage):
  606. 2013-04-21 Carlos Garcia Campos <cgarcia@igalia.com>
  607. Widget should not depend on AXObjectCache
  608. https://bugs.webkit.org/show_bug.cgi?id=114514
  609. Reviewed by Chris Fleizach.
  610. Update to API changes.
  611. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  612. (WebKit::PDFPlugin::createScrollbar):
  613. * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
  614. (WebKit::SimplePDFPlugin::createScrollbar):
  615. (WebKit::SimplePDFPlugin::destroyScrollbar):
  616. 2013-04-20 Manuel Rego Casasnovas <rego@igalia.com>
  617. [GTK] Fix unit test webkit2/WebKitFindController/hide
  618. https://bugs.webkit.org/show_bug.cgi?id=89810
  619. Reviewed by Carlos Garcia Campos.
  620. The test had some hacks in order to compare a page with highlighted
  621. results after using the find command with the original page. Now it uses
  622. the snapshots API that allows to make the test simpler and more
  623. reliable.
  624. * UIProcess/API/gtk/tests/TestMain.h:
  625. (Test::cairoSurfacesEqual): Moved helper function to compare two cairo
  626. surfaces from TestWebKitWebView.
  627. (Test):
  628. * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
  629. (testFindControllerHide): Modify test to use snapshots.
  630. * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
  631. (testWebViewSnapshot): Move basic snapshop methods to WebViewTest to
  632. share them with TestWebKitFindController test.
  633. * UIProcess/API/gtk/tests/WebViewTest.cpp:
  634. (WebViewTest::WebViewTest): Initialize cairo surface.
  635. (WebViewTest::~WebViewTest): Destroy cairo surface.
  636. (onSnapshotReady): Callback to set the cairo surface when the snapshot
  637. is ready.
  638. (WebViewTest::getSnapshotAndWaitUntilReady): Method that takes a
  639. snapshot and returns the cairo surface when it is ready.
  640. * UIProcess/API/gtk/tests/WebViewTest.h: Add new method headers and
  641. attribute for the cairo surface.
  642. 2013-04-19 Jer Noble <jer.noble@apple.com>
  643. Unreviewed, revert r148782. It was not reviewed by a WebKit2 owner.
  644. * PluginProcess/mac/PluginProcessShim.mm:
  645. * Shared/mac/CookieStorageShim.cpp: Removed.
  646. * Shared/mac/CookieStorageShim.h: Removed.
  647. * Shared/mac/CookieStorageShimLibrary.cpp: Removed.
  648. * Shared/mac/CookieStorageShimLibrary.h: Removed.
  649. * Shared/mac/DYLDInterpose.h: Removed.
  650. * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  651. (WebKit::addDYLDEnvironmentAdditions):
  652. * WebKit2.xcodeproj/project.pbxproj:
  653. * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
  654. (WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
  655. * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
  656. * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
  657. (WebContentServiceInitializer):
  658. * WebProcess/WebProcess.cpp:
  659. (WebKit::WebProcess::initializeWebProcess):
  660. * WebProcess/mac/SecItemShimLibrary.mm:
  661. * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
  662. * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
  663. 2013-04-19 Jer Noble <jer.noble@apple.com>
  664. WWDC session videos don’t play at developer.apple.com
  665. https://bugs.webkit.org/show_bug.cgi?id=114858
  666. Reviewed by Eric Carlson.
  667. AVFoundation uses CFNetwork to store and retrieve cookies from the global store.
  668. However, in the case where network access happens in the NetworkProcess, session
  669. cookies are stored in-memory, and are not accessable in the WebProcess. Until such
  670. a time as AVFoundation can provide an API which would allow us to provide cookies
  671. for a specific request, we will interpose the CFNetwork method which they use to
  672. retrieve the cookie string from the cookie store for their pending request.
  673. Duplicate the previous SecItemShim target to a new, WebProcessShim target. This
  674. target includes the SecItemShim functionality, but will add a new shim for cookie
  675. retrieval:
  676. * Shared/mac/CookieStorageShimLibrary.h: Added
  677. (CookieStorageShimCallbacks):
  678. * Shared/mac/CookieStorageShimLibrary.cpp: Added.
  679. (WebKit::ShimProtector::ShimProtector): A simple stack-based counter class.
  680. (WebKit::ShimProtector::~ShimProtector):
  681. (WebKit::ShimProtector::count):
  682. (WebKit::shimCFHTTPCookieStorageCopyRequestHeaderFieldsForURL): Interpose
  683. the CFNetwork call, and pass to the registered callback.
  684. (WebKit::WebKitCookieStorageShimInitialize): Register the callbacks.
  685. Add a helper singleton class which will talk to the shim through the
  686. registered callbacks:
  687. * Shared/mac/CookieStorageShim.h: Added
  688. (WebKit::CookieStorageShim::CookieStorageShim):
  689. * Shared/mac/CookieStorageShim.cpp: Added.
  690. (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL): Pass the request
  691. over to the NetworkProcess.
  692. (WebKit::CookieStorageShim::shared): Simple singleton.
  693. (WebKit::CookieStorageShim::initialize): Call the library initializer.
  694. Initialize the shim only when the WebProcess is delegating network loading
  695. to the NetworkProcess:
  696. * WebProcess/WebProcess.cpp:
  697. (WebKit::WebProcess::initializeWebProcess):
  698. Rename the WebProcess's shim from SecItemShim -> WebProcessShim:
  699. * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  700. (WebKit::addDYLDEnvironmentAdditions):
  701. * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
  702. (WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
  703. * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
  704. * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
  705. (WebContentServiceInitializer):
  706. As the DYLD_INTERPOSE macro is used in multiple files now, put it in its
  707. own header:
  708. * Shared/mac/DYLDInterpose.h: Added.
  709. * PluginProcess/mac/PluginProcessShim.mm:
  710. * WebProcess/mac/SecItemShimLibrary.mm:
  711. Add new files to the project:
  712. * WebKit2.xcodeproj/project.pbxproj:
  713. 2013-04-19 Brady Eidson <beidson@apple.com>
  714. Add JoinExistingSession to the WebContext XPC.
  715. <rdar://problem/13541540> and https://bugs.webkit.org/show_bug.cgi?id=114882
  716. Reviewed by Sam Weinig.
  717. This fixes <keygen> and maybe other things.
  718. * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
  719. * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
  720. 2013-04-19 Martin Robinson <mrobinson@igalia.com>
  721. [GTK] JSCore.gir.in has a few problems
  722. https://bugs.webkit.org/show_bug.cgi?id=114710
  723. Reviewed by Philippe Normand.
  724. * GNUmakefile.am: Updated to reflect new location of JavaScriptCore gir file. Share the
  725. same autotools data task as the WebKit1 and JavaScriptCore gir installations.
  726. 2013-04-19 Noam Rosenthal <noam@webkit.org>
  727. [Texmap] Implementation for pattern compositing
  728. https://bugs.webkit.org/show_bug.cgi?id=109588
  729. Reviewed by Allan Sandfeld Jensen.
  730. Serialize the two new properties from CoordinatedGraphicsLayer to CoordinatedGraphicsScene.
  731. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  732. (CoreIPC::::encode):
  733. (CoreIPC::::decode):
  734. Encode/decode the new tiling properties.
  735. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  736. (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
  737. Enable pattern compositing for coordinated graphics.
  738. This is needed since we don't want to enable pattern compositing for
  739. WebKit1 yet.
  740. 2013-04-18 Tim Horton <timothy_horton@apple.com>
  741. PDFPlugin: Update PDFLayerController's scale factors earlier
  742. https://bugs.webkit.org/show_bug.cgi?id=114843
  743. Reviewed by Simon Fraser.
  744. Inform PDFLayerController of the initial page/device scale factors so that
  745. it renders at the correct scale the first time, instead of first rendering
  746. at 1x and then flashing to 2x (on 2x devices).
  747. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  748. (WebKit::PDFPlugin::pdfDocumentDidLoad):
  749. 2013-04-18 Tim Horton <timothy_horton@apple.com>
  750. PDFPlugin: Hook up the search-in-Spotlight menu item
  751. https://bugs.webkit.org/show_bug.cgi?id=114837
  752. <rdar://problem/13583591>
  753. Reviewed by Mark Rowe.
  754. * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
  755. Add performSpotlightSearch: delegate callback.
  756. * WebProcess/Plugins/PDF/PDFPlugin.h:
  757. (WebKit::PDFPlugin::performSpotlightSearch):
  758. Add performSpotlightSearch() PDFPlugin method.
  759. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  760. (-[WKPDFLayerControllerDelegate performSpotlightSearch:]): Hand the search string to PDFPlugin.
  761. (WebKit::PDFPlugin::performSpotlightSearch): Hand the search string to WebPageProxy.
  762. 2013-04-18 Anders Carlsson <andersca@apple.com>
  763. Dispatch local storage events
  764. https://bugs.webkit.org/show_bug.cgi?id=114838
  765. Reviewed by Beth Dakin.
  766. * UIProcess/Storage/StorageManager.cpp:
  767. (WebKit::StorageManager::StorageArea::dispatchEvents):
  768. Pass 0 as the storage area ID if the event originally comes from another process.
  769. * WebProcess/Storage/StorageAreaMap.cpp:
  770. (WebKit::StorageAreaMap::dispatchLocalStorageEvent):
  771. Gather all the frames for which we want to dispatch events.
  772. 2013-04-18 Anders Carlsson <andersca@apple.com>
  773. Use the page group id from the UI process as the local storage namespace ID
  774. https://bugs.webkit.org/show_bug.cgi?id=114836
  775. Reviewed by Beth Dakin.
  776. The WebCore PageGroup identifier is different across processes, so use the one given to us by the UI process.
  777. * WebProcess/Storage/StorageNamespaceImpl.cpp:
  778. (WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
  779. * WebProcess/WebPage/WebPageGroupProxy.h:
  780. (WebKit::WebPageGroupProxy::corePageGroup):
  781. * WebProcess/WebProcess.cpp:
  782. (WebKit::WebProcess::webPageGroup):
  783. * WebProcess/WebProcess.h:
  784. 2013-04-18 Tim Horton <timothy_horton@apple.com>
  785. Add a synchronous version of WKView endDeferringViewInWindowChanges
  786. https://bugs.webkit.org/show_bug.cgi?id=114780
  787. <rdar://problem/12821901>
  788. Reviewed by Simon Fraser.
  789. Add new WKView SPI, endDeferringViewInWindowChangesSync, which synchronously
  790. (though with a 250 ms timeout) does the work required to reparent a WKView
  791. without flashing white.
  792. * UIProcess/API/mac/WKView.mm:
  793. (-[WKView beginDeferringViewInWindowChanges]):
  794. (-[WKView endDeferringViewInWindowChanges]):
  795. Make begin/endDeferringViewInWindowChanges not allow nested deferrals,
  796. as we don't need them, and they complicate synchronous-end a lot.
  797. (-[WKView endDeferringViewInWindowChangesSync]):
  798. Add a sync version of endDeferringViewInWindowChanges which waits
  799. for DidUpdateInWindowState.
  800. (-[WKView isDeferringViewInWindowChanges]):
  801. * UIProcess/API/mac/WKViewPrivate.h: Add endDeferringViewInWindowChangesSync.
  802. * UIProcess/WebPageProxy.cpp:
  803. (WebKit::WebPageProxy::waitForDidUpdateInWindowState):
  804. Add waitForDidUpdateInWindowState(), which blocks for
  805. 250ms or until the WebProcess reparents all of its layers and spins
  806. the runloop once, to prevent flashing when parenting a WKView.
  807. If we've already timed out waiting for the WebProcess, don't block, as
  808. it's probably quite busy and is likely to time out again.
  809. * UIProcess/WebPageProxy.h:
  810. (WebKit::WebPageProxy::isInWindow): Added.
  811. (WebKit::WebPageProxy::waitForDidUpdateInWindowState): Added.
  812. (WebKit::WebPageProxy::didUpdateInWindowState): Added.
  813. * UIProcess/WebPageProxy.messages.in: Add DidUpdateInWindowState()
  814. * WebProcess/WebPage/WebPage.cpp:
  815. (WebKit::WebPage::didUpdateInWindowStateTimerFired): Send DidUpdateInWindowState to WebPageProxy.
  816. (WebKit::WebPage::setIsInWindow): When setIsInWindow completes, TileController
  817. tiles have been reparented, and the TiledCoreAnimationDrawingArea has
  818. reconnected the layer tree to the context, start a 0-delay runloop timer
  819. to allow painting and layer flushing to finish; when the timer fires,
  820. we'll send the UIProcess a DidUpdateInWindowState so it can stop blocking.
  821. * WebProcess/WebPage/WebPage.h:
  822. (WebPage): Add didUpdateInWindowStateTimerFired and m_sendDidUpdateInWindowStateTimer.
  823. 2013-04-18 Anders Carlsson <andersca@apple.com>
  824. StorageManager should keep track of local storage namespaces
  825. https://bugs.webkit.org/show_bug.cgi?id=114831
  826. Reviewed by Beth Dakin.
  827. * UIProcess/Storage/StorageManager.cpp:
  828. (StorageManager::StorageArea):
  829. Add the local storage namespace, and security origin as member variables.
  830. (StorageManager::LocalStorageNamespace):
  831. New class that represents a local storage namespace.
  832. (WebKit::StorageManager::StorageArea::~StorageArea):
  833. If this storage area belongs to a local storage namespace, notify it that we've been destroyed.
  834. (WebKit::StorageManager::StorageArea::clone):
  835. Assert that we don't have a local storage namespace.
  836. (WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea):
  837. If we already have a storage area for the given security origin, return it. Otherwise, create a new storage area.
  838. Note that LocalStorageNamespace does not hold strong references to its StorageArea objects; they are being kept alive
  839. by a mapping inside the StorageManager.
  840. (WebKit::StorageManager::LocalStorageNamespace::didDestroyStorageArea):
  841. Remove the storage area from the map. If there are no more areas, remove the namespace from the manager.
  842. (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
  843. StorageArea::create now takes the security origin.
  844. (WebKit::StorageManager::createLocalStorageMap):
  845. Get (or create) the right local storage namespace and then create a storage area.
  846. 2013-04-17 Geoffrey Garen <ggaren@apple.com>
  847. Renamed JSGlobalData to VM
  848. https://bugs.webkit.org/show_bug.cgi?id=114777
  849. Reviewed by Phil Pizlo.
  850. * Shared/linux/WebMemorySamplerLinux.cpp:
  851. (WebKit::WebMemorySampler::sampleWebKit):
  852. * Shared/mac/WebMemorySampler.mac.mm:
  853. (WebKit::WebMemorySampler::sampleWebKit):
  854. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  855. (WebKit::InjectedBundle::javaScriptObjectsCount):
  856. * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
  857. (WebKit::JSNPMethod::finishCreation):
  858. * WebProcess/Plugins/Netscape/JSNPMethod.h:
  859. (WebKit::JSNPMethod::create):
  860. (JSNPMethod):
  861. (WebKit::JSNPMethod::createStructure):
  862. * WebProcess/Plugins/Netscape/JSNPObject.cpp:
  863. (WebKit::JSNPObject::JSNPObject):
  864. (WebKit::JSNPObject::finishCreation):
  865. (WebKit::JSNPObject::callMethod):
  866. (WebKit::JSNPObject::callObject):
  867. (WebKit::JSNPObject::callConstructor):
  868. (WebKit::JSNPObject::put):
  869. (WebKit::JSNPObject::deleteProperty):
  870. (WebKit::JSNPObject::getOwnPropertyNames):
  871. (WebKit::JSNPObject::propertyGetter):
  872. * WebProcess/Plugins/Netscape/JSNPObject.h:
  873. (WebKit::JSNPObject::create):
  874. (WebKit::JSNPObject::createStructure):
  875. * WebProcess/Plugins/Netscape/NPJSObject.cpp:
  876. (WebKit::NPJSObject::create):
  877. (WebKit::NPJSObject::initialize):
  878. * WebProcess/Plugins/Netscape/NPJSObject.h:
  879. (JSC):
  880. (NPJSObject):
  881. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
  882. (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
  883. (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
  884. (WebKit::NPRuntimeObjectMap::evaluate):
  885. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
  886. (JSC):
  887. (NPRuntimeObjectMap):
  888. * WebProcess/Plugins/PluginView.cpp:
  889. (WebKit::PluginView::windowScriptNPObject):
  890. (WebKit::PluginView::pluginElementNPObject):
  891. * WebProcess/WebPage/WebPage.cpp:
  892. (WebKit::WebPage::runJavaScriptInMainFrame):
  893. * WebProcess/WebProcess.cpp:
  894. (WebKit::WebProcess::getWebCoreStatistics):
  895. 2013-04-18 Anders Carlsson <andersca@apple.com>
  896. Differentiate between creating local storage maps and session storage maps
  897. https://bugs.webkit.org/show_bug.cgi?id=114823
  898. Reviewed by Beth Dakin.
  899. * UIProcess/Storage/StorageManager.cpp:
  900. (WebKit::StorageManager::createLocalStorageMap):
  901. (WebKit::StorageManager::createSessionStorageMap):
  902. * UIProcess/Storage/StorageManager.h:
  903. * UIProcess/Storage/StorageManager.messages.in:
  904. * WebProcess/Storage/StorageAreaMap.cpp:
  905. (WebKit::StorageAreaMap::StorageAreaMap):
  906. 2013-04-18 Anders Carlsson <andersca@apple.com>
  907. StorageAreaMaps should not assume that a zero storage namespace ID is used for local storage
  908. https://bugs.webkit.org/show_bug.cgi?id=114822
  909. Reviewed by Beth Dakin.
  910. Store the storage type directly in the storage area map.
  911. * WebProcess/Storage/StorageAreaMap.cpp:
  912. (WebKit::StorageAreaMap::StorageAreaMap):
  913. * WebProcess/Storage/StorageAreaMap.h:
  914. (WebKit::StorageAreaMap::storageType):
  915. 2013-04-18 Anders Carlsson <andersca@apple.com>
  916. Begin fleshing out UI side local storage
  917. https://bugs.webkit.org/show_bug.cgi?id=114820
  918. Reviewed by Beth Dakin.
  919. * WebProcess/Storage/StorageNamespaceImpl.cpp:
  920. (WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
  921. (WebKit::StorageNamespaceImpl::createSessionStorageNamespace):
  922. (WebKit::StorageNamespaceImpl::StorageNamespaceImpl):
  923. (WebKit::StorageNamespaceImpl::~StorageNamespaceImpl):
  924. * WebProcess/Storage/StorageNamespaceImpl.h:
  925. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  926. (WebKit::WebPlatformStrategies::localStorageNamespace):
  927. 2013-04-18 Sam Weinig <sam@webkit.org>
  928. Fix spelling I thought I had fixed.
  929. * UIProcess/API/mac/WKBrowsingContextGroup.mm:
  930. (-[WKBrowsingContextGroup initWithIdentifier:]):
  931. 2013-04-18 Sam Weinig <sam@webkit.org>
  932. WebKit should not write WKPreferences to app user defaults when using the ObjC API
  933. <rdar://problem/13593578>
  934. https://bugs.webkit.org/show_bug.cgi?id=114821
  935. Reviewed by Anders Carlsson.
  936. * UIProcess/API/mac/WKBrowsingContextGroup.mm:
  937. (-[WKBrowsingContextGroup initWithIdentifier:]):
  938. Use a identifier-less preferences for the ObjC-API. I think we will probably want this
  939. to be the default for the C-API at some point as well, but Safari currently uses this
  940. behavior.
  941. 2013-04-17 Anders Carlsson <andersca@apple.com>
  942. Change storage factory functions to take a PageGroup and Page respectively
  943. https://bugs.webkit.org/show_bug.cgi?id=114776
  944. Reviewed by Beth Dakin.
  945. Update for WebCore changes.
  946. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  947. (WebKit::WebPlatformStrategies::localStorageNamespace):
  948. (WebKit::WebPlatformStrategies::sessionStorageNamespace):
  949. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  950. (WebPlatformStrategies):
  951. 2013-04-18 Timothy Hatcher <timothy@apple.com>
  952. Remove an ASSERT that is causing flakeyness in Debug builds.
  953. https://webkit.org/b/113020
  954. Reviewed by Jessie Berlin.
  955. * UIProcess/WebInspectorProxy.cpp:
  956. (WebKit::WebInspectorProxy::open): Removed ASSERT(m_createdInspectorPage).
  957. 2013-04-18 Carlos Garcia Campos <cgarcia@igalia.com>
  958. [GTK] Add WebKitWebPage::send-request signal to WebKit2 GTK+ API
  959. https://bugs.webkit.org/show_bug.cgi?id=83681
  960. Reviewed by Anders Carlsson.
  961. Add WebKitWebPage::send-request signal emitted in willSendRequest
  962. callback to allow web process extensions to modify requests before
  963. they are sent or cancel the resource load.
  964. This patch makes WebKitURIRequest and WebKitURIResponse objects
  965. shareable between UI process and web extensions APIs. Since both
  966. APIs force single header includes, the WebKitDefines.h header has
  967. been split moving the forward declarations specific to the UI
  968. process API to a new file WebKitForwardDeclarations.h. This way we
  969. can also share the WebKitDefines.h header and remove the
  970. WebKitWebExtensionDefines.h header used in the web extensions API.
  971. * GNUmakefile.list.am: Add new files to compilation.
  972. * UIProcess/API/gtk/WebKitContextMenu.h: Include WebKitForward.h.
  973. * UIProcess/API/gtk/WebKitContextMenuItem.h: Ditto.
  974. * UIProcess/API/gtk/WebKitDefines.h: Remove forward declarations.
  975. * UIProcess/API/gtk/WebKitDownload.h: Include WebKitForward.h.
  976. * UIProcess/API/gtk/WebKitFindController.h: Ditto.
  977. * UIProcess/API/gtk/WebKitForwardDeclarations.h: Added. Contains
  978. the forward declarations moved from WebKitDefines.h.
  979. * UIProcess/API/gtk/WebKitPrintOperation.h: Include WebKitForward.h.
  980. * UIProcess/API/gtk/WebKitURIRequest.cpp:
  981. (webkitURIRequestSetProperty): Use webkit_uri_request_set_uri() to
  982. set the new URI.
  983. (webkit_uri_request_class_init): Make URI property construct
  984. instead of construct-only, since it can be updated once
  985. constructed. It should never be NULL, so set default value to
  986. about:blank instad of NULL.
  987. (webkit_uri_request_set_uri): New public method to set the URI of
  988. the WebKitURIRequest.
  989. * UIProcess/API/gtk/WebKitURIRequest.h: Allow to include this file
  990. from webkit-web-extension.h.
  991. * UIProcess/API/gtk/WebKitURIResponse.h: Ditto.
  992. * UIProcess/API/gtk/WebKitURISchemeRequest.h: Include
  993. WebKitForward.h.
  994. * UIProcess/API/gtk/WebKitWebView.h: Ditto.
  995. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
  996. webkit_uri_request_set_uri.
  997. * UIProcess/API/gtk/tests/TestResources.cpp:
  998. (testWebResourceSendRequest):
  999. (serverCallback):
  1000. (beforeAll):
  1001. * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
  1002. (sendRequestCallback):
  1003. (pageCreatedCallback):
  1004. * UIProcess/API/gtk/webkit2marshal.list:
  1005. * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.h: Include
  1006. WebKitDefines.h instead of WebKitWebExtensionDefines.h.
  1007. * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
  1008. (willSendRequestForFrame): Emit WebKitWebPage::send-request and
  1009. return early if the load is cancelled.
  1010. (webkit_web_page_class_init): Add WebKitWebPage::send-request
  1011. signal.
  1012. * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h: Include
  1013. WebKitDefines.h instead of WebKitWebExtensionDefines.h.
  1014. * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
  1015. 2013-04-18 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com>
  1016. [WK2] CoordinatedGraphicsLayerState is a struct, not a class
  1017. https://bugs.webkit.org/show_bug.cgi?id=108855
  1018. Reviewed by Andreas Kling.
  1019. Fixes the forward declaration which takes CoordinatedGraphicsLayerState
  1020. as a class.
  1021. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  1022. (WebCore):
  1023. 2013-04-18 Krzysztof Wolanski <k.wolanski@samsung.com>:
  1024. [EFL][WK2] Change inadequate return value in method setDone().
  1025. https://bugs.webkit.org/show_bug.cgi?id=114806
  1026. Reviewed by Andreas Kling.
  1027. Fix possible warning in EFL port: no return statement in function returning non-void.
  1028. Change return value from bool to void in method setDone().
  1029. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
  1030. (EWK2UnitTest::CallbackDataTimer::setDone):
  1031. 2013-04-18 Grzegorz Czajkowski <g.czajkowski@samsung.com>
  1032. [WK2][EFL] Text Checker's settings refactor
  1033. https://bugs.webkit.org/show_bug.cgi?id=111713
  1034. Reviewed by Andreas Kling.
  1035. Use WK2's TextCheckerState object as the store for the text checker settings.
  1036. It's shared between the client (Ewk API part) and WebProcess (read only).
  1037. Thanks to it, we don't have to keep any additional structure with
  1038. the settings on ewk side.
  1039. In the consistency with WKTextChecker C API, move the Ewk's text checker settings APIs
  1040. to the ewk_text_checker.h/cpp. They're not connected to Ewk_View/Ewk_Settings object to
  1041. keep them in ewk_setting.h/cpp.
  1042. Introduce a new class to implement WKTextCheckerClient callbacks to call spelling
  1043. methods through WK2 C API.
  1044. The main purpose of this change is to detach text checker initialization from ewk_context.
  1045. * PlatformEfl.cmake:
  1046. Add a new files to the build.
  1047. * UIProcess/API/efl/ewk_context.cpp:
  1048. (EwkContext::EwkContext):
  1049. Detach the text checker initialization from context.
  1050. There might be more than default context.
  1051. There is one text checker object per application.
  1052. * UIProcess/API/efl/ewk_settings.cpp:
  1053. * UIProcess/API/efl/ewk_settings.h:
  1054. Remove the text checker settings.
  1055. * UIProcess/API/efl/ewk_text_checker.cpp:
  1056. Add the text checker settings to the ewk_text_checker.h/cpp
  1057. (convertLanguagesToEinaList):
  1058. Add helper function to convert Vector's values to Eina_List.
  1059. (clientCallbacks):
  1060. Add the client callback responsible for the continuous spell checking
  1061. setting change to the struct.
  1062. (ewk_text_checker_continuous_spell_checking_enabled_set):
  1063. Do not call the client's callback responsible for the setting
  1064. change unless WebKit changes the setting (trough the context
  1065. 'Check Spelling While Typing' option).
  1066. * UIProcess/API/efl/ewk_text_checker.h:
  1067. Adjust APIs name to the ewk_text_checker syntax.
  1068. Update the documentation according to the changes.
  1069. * UIProcess/API/efl/ewk_text_checker_private.h:
  1070. (ClientCallbacks):
  1071. Move ClientCallbacks structure to TextCheckerClientEfl.
  1072. The client callbacks (Ewk API) have to be accessible in WKTextCheckerClient callbacks
  1073. to choose what implementation will be used - the client's (if definied) or Enchant impl.
  1074. * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
  1075. Update the unit tests according to the APIs change.
  1076. Update the test responsible for the notification about the setting change
  1077. according to changes in 'ewk_text_checker_continuous_spell_checking_enabled_set'.
  1078. * UIProcess/efl/TextCheckerClientEfl.cpp: Added.
  1079. Implement WKTextCheckerClient callbacks.
  1080. (TextCheckerClientEfl::TextCheckerClientEfl):
  1081. (TextCheckerClientEfl::instance):
  1082. Allow to get and create TextCheckerClientEfl object.
  1083. (TextCheckerClientEfl::isContinuousSpellCheckingEnabled):
  1084. Get the setting value based on WK2 C API.
  1085. (TextCheckerClientEfl::ensureSpellCheckingLanguage):
  1086. Load the default languages if user didn't specify any.
  1087. (TextCheckerClientEfl::updateSpellCheckingLanguages):
  1088. (TextCheckerClientEfl::languagesUpdateTimerFired):
  1089. (TextCheckerClientEfl::availableSpellCheckingLanguages):
  1090. (TextCheckerClientEfl::loadedSpellCheckingLanguages):
  1091. (TextCheckerClientEfl::availableSpellCheckingLanguages):
  1092. (TextCheckerClientEfl::loadedSpellCheckingLanguages):
  1093. Provide support for languages.
  1094. (TextCheckerClientEfl::spellCheckingSettingChangeTimerFired):
  1095. (TextCheckerClientEfl::callContinuousSpellCheckingChangeCallbackAsync):
  1096. Notify the client about the setting change.
  1097. (TextCheckerClientEfl::isContinuousSpellCheckingEnabledCallback):
  1098. (TextCheckerClientEfl::setContinuousSpellCheckingEnabledCallback):
  1099. (TextCheckerClientEfl::uniqueSpellDocumentTagCallback):
  1100. (TextCheckerClientEfl::closeSpellDocumentWithTagCallback):
  1101. (TextCheckerClientEfl::checkSpellingOfStringCallback):
  1102. (TextCheckerClientEfl::guessesForWordCallback):
  1103. (TextCheckerClientEfl::learnWordCallback):
  1104. (TextCheckerClientEfl::ignoreWordCallback):
  1105. WKTextCheckerClient callbacks implementation.
  1106. * UIProcess/efl/TextCheckerClientEfl.h: Added.
  1107. (TextCheckerClientEfl):
  1108. (TextCheckerClientEfl::clientCallbacks):
  1109. Return the client callbacks to be used in ewk_text_checker.cpp.
  1110. * UIProcess/efl/TextCheckerEfl.cpp:
  1111. (WebKit::TextChecker::state):
  1112. Initialize the TextCheckerState's members to false.
  1113. (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
  1114. Set the default language if user didn't specify any.
  1115. Notify the client about the setting change.
  1116. This method is called when context menu 'Check Spelling While Typing'
  1117. option has been toggled.
  1118. (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
  1119. Set the default language if user didn't specify any.
  1120. Called by WKTextChecker's API.
  1121. 2013-04-18 Manuel Rego Casasnovas <rego@igalia.com>
  1122. [GTK][WK2] Add WebKitWebPage::webkit_web_page_get_uri to WebKit2 GTK+ API
  1123. https://bugs.webkit.org/show_bug.cgi?id=111288
  1124. Reviewed by Anders Carlsson.
  1125. Add new property URI to WebKitWebPage providing a method
  1126. webkit_web_page_get_uri to get it and the signal "notify::uri" to
  1127. monitor changes in the URI.
  1128. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include new method in
  1129. GTK+ doc.
  1130. * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
  1131. (testWebPageURI):
  1132. (beforeAll):
  1133. (afterAll): Add test to check that WebKitWebPage URI matches with
  1134. WebKitWebView value. The tests is listening for changes in WebKitWebPage
  1135. URI via D-Bus and checks that value is the same than WebKitWebView URI.
  1136. It also checks that the order of the URIs in a redirection is right.
  1137. When the test finishes the signals are disconnected properly.
  1138. * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
  1139. (uriChangedCallback):
  1140. (pageCreatedCallback): Add new D-Bus signal "URIChanged" connected to
  1141. "notify::uri" signal of WebKitWebPage.
  1142. * UIProcess/API/gtk/tests/WebKitTestBus.cpp:
  1143. (WebKitTestBus::getOrCreateConnection): Rename method connection() to
  1144. getOrCreateConnection().
  1145. (WebKitTestBus::createProxy): Use the new method name.
  1146. * UIProcess/API/gtk/tests/WebKitTestBus.h:
  1147. (WebKitTestBus::connection): Add public getter for m_connection.
  1148. (WebKitTestBus): Add private method header getOrCreateConnection().
  1149. * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
  1150. (_WebKitWebPagePrivate): Add new URI attribute.
  1151. (webkitWebPageSetURI): Method to set the URI and emit the "notify:uri"
  1152. signal if it has changed.
  1153. (didStartProvisionalLoadForFrame): At this point it use the unreachable
  1154. URL from provisional document loader if any. Otherwise, it uses the URL
  1155. from provisional document loader.
  1156. (didReceiveServerRedirectForProvisionalLoadForFrame): In the case of
  1157. redirections it works like for didStartProvisionalLoadForFrame getting
  1158. the unreachable URL if any.
  1159. (didSameDocumentNavigationForFrame): In this case it gets the URL from
  1160. the document loader.
  1161. (webkitWebPageGetProperty): Add code related to URI property.
  1162. (webkit_web_page_class_init): Add bits related to URI property.
  1163. (webkitWebPageCreate): Implement callbacks to monitor URI changes.
  1164. (webkit_web_page_get_uri): Return URI attribute.
  1165. * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h: Add new method
  1166. header.
  1167. 2013-04-18 Xan Lopez <xan@igalia.com>
  1168. [GTK] When the WebProcess crashes, a signal should be emitted
  1169. https://bugs.webkit.org/show_bug.cgi?id=105180
  1170. Emit a "web-process-crashed" signal when the WebProcess crashes. This
  1171. is useful, for example, to show an error page in a web browser
  1172. like Chrome does.
  1173. Reviewed Carlos Garcia Campos.
  1174. * UIProcess/API/gtk/WebKitLoaderClient.cpp:
  1175. (processDidCrash):
  1176. (attachLoaderClientToView):
  1177. * UIProcess/API/gtk/WebKitWebContextPrivate.h:
  1178. * UIProcess/API/gtk/WebKitWebView.cpp:
  1179. (webkit_web_view_class_init):
  1180. (webkitWebViewWebProcessCrashed):
  1181. * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
  1182. (testWebExtensionGetTitle):
  1183. (webProcessCrashedCallback):
  1184. (testWebKitWebViewProcessCrashed):
  1185. (beforeAll):
  1186. * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
  1187. (methodCallCallback):
  1188. 2013-04-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
  1189. [EFL][WK2] Add tooltip API to the WKView client
  1190. https://bugs.webkit.org/show_bug.cgi?id=111563
  1191. Reviewed by Andreas Kling.
  1192. Add tooltip to the barebone Tizen C API, and implement
  1193. the method so that the EFL API keeps working.
  1194. * UIProcess/API/C/efl/WKView.h:
  1195. * UIProcess/efl/ViewClientEfl.cpp:
  1196. (WebKit::ViewClientEfl::didChangeTooltip):
  1197. (WebKit):
  1198. (WebKit::ViewClientEfl::ViewClientEfl):
  1199. * UIProcess/efl/ViewClientEfl.h:
  1200. (ViewClientEfl):
  1201. * UIProcess/efl/WebView.cpp:
  1202. (WebKit::WebView::toolTipChanged):
  1203. * UIProcess/efl/WebViewClient.cpp:
  1204. (WebKit::WebViewClient::didChangeTooltip):
  1205. (WebKit):
  1206. * UIProcess/efl/WebViewClient.h:
  1207. 2013-04-17 Joone Hur <joone.hur@intel.com>
  1208. [EFL][AC] m_pendingSurfaceResize needs to be guarded by USE(ACCELERATED_COMPOSITING)
  1209. https://bugs.webkit.org/show_bug.cgi?id=114770
  1210. AC related code is guarded by USE(ACCELERATED_COMPOSITING) in order to build
  1211. WebKitEfl with no-tiled-backing-store(r147792), but m_pendingSurfaceResize is
  1212. not included. This patch allows m_pendingSurfaceResize to be guarded by
  1213. USE(ACCELERATED_COMPOSITING).
  1214. Reviewed by Simon Fraser.
  1215. * UIProcess/API/efl/EwkView.cpp:
  1216. (EwkView::EwkView):
  1217. (EwkView::displayTimerFired):
  1218. (EwkView::handleEvasObjectCalculate):
  1219. * UIProcess/API/efl/EwkView.h:
  1220. (EwkView):
  1221. 2013-04-17 Anders Carlsson <andersca@apple.com>
  1222. The storage manager should know the local storage directory
  1223. https://bugs.webkit.org/show_bug.cgi?id=114765
  1224. Reviewed by Beth Dakin.
  1225. * UIProcess/Storage/StorageManager.cpp:
  1226. (WebKit::StorageManager::create):
  1227. (WebKit::StorageManager::setLocalStorageDirectory):
  1228. (WebKit::StorageManager::setLocalStorageDirectoryInternal):
  1229. * UIProcess/Storage/StorageManager.h:
  1230. * UIProcess/WebContext.cpp:
  1231. (WebKit::WebContext::WebContext):
  1232. (WebKit::WebContext::setLocalStorageDirectory):
  1233. * UIProcess/WebContext.h:
  1234. 2013-04-17 Joone Hur <joone.hur@intel.com>
  1235. [EFL][AC] MiniBrowser starts with a black empty view before painting a web page
  1236. https://bugs.webkit.org/show_bug.cgi?id=103745
  1237. Reviewed by Kenneth Rohde Christiansen.
  1238. Evas paints empty evas objects before rendering a web page, so it shows
  1239. a black empty view for a moment. This patch prevents from painting the empty
  1240. evas objects until a GL surface is ready for rendering.
  1241. * UIProcess/API/efl/EwkView.cpp:
  1242. (showEvasObjectsIfNeeded):
  1243. (EwkView::displayTimerFired):
  1244. (EwkView::handleEvasObjectShow):
  1245. 2013-04-16 Carlos Garcia Campos <cgarcia@igalia.com>
  1246. [GTK] Add webkit_web_page_get_id() to WebKit2 GTK+ API
  1247. https://bugs.webkit.org/show_bug.cgi?id=111938
  1248. Reviewed by Anders Carlsson.
  1249. Add API to the web extensions API to get the identifier of a web
  1250. page.
  1251. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
  1252. * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
  1253. (methodCallCallback): Check the page ID matches the one returned
  1254. by webkit_web_page_get_id().
  1255. * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
  1256. (webkit_web_page_get_id):
  1257. * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h:
  1258. 2013-04-16 Anders Carlsson <andersca@apple.com>
  1259. Clone storage namespaces for window.open
  1260. https://bugs.webkit.org/show_bug.cgi?id=114703
  1261. Reviewed by Sam Weinig.
  1262. * UIProcess/Storage/StorageManager.cpp:
  1263. (WebKit::StorageManager::StorageArea::clone):
  1264. New helper function for cloning a storage area.
  1265. (WebKit::StorageManager::StorageArea::setItem):
  1266. Correctly handle the copy-on-write feature of StorageMap if it has multiple storage areas pointing to it.
  1267. (WebKit::StorageManager::StorageArea::removeItem):
  1268. Ditto.
  1269. (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
  1270. Add cloned storage areas.
  1271. * WebProcess/Storage/StorageNamespaceImpl.cpp:
  1272. (WebKit::StorageNamespaceImpl::copy):
  1273. Create a new session storage namespace for the new page.
  1274. 2013-04-16 Beth Dakin <bdakin@apple.com>
  1275. Need a new layout milestone to notify bundle clients when the header has been
  1276. flushed
  1277. https://bugs.webkit.org/show_bug.cgi?id=114706
  1278. -and corresponding-
  1279. <rdar://problem/13657284>
  1280. Reviewed by Simon Fraser.
  1281. Make this new LayoutMilestone private at the API layer.
  1282. * Shared/API/c/WKPageLoadTypes.h:
  1283. * Shared/API/c/WKPageLoadTypesPrivate.h: Added.
  1284. Handle the new milestone.
  1285. * Shared/API/c/WKSharedAPICast.h:
  1286. (WebKit::toWKLayoutMilestones):
  1287. (WebKit::toLayoutMilestones):
  1288. New file to make the milestone private.
  1289. * WebKit2.xcodeproj/project.pbxproj:
  1290. Add or remove the DidFirstFlushForHeaderLayer millstone based on whether we just
  1291. added or removed a header.
  1292. * WebProcess/WebPage/mac/WebPageMac.mm:
  1293. (WebKit::WebPage::setHeaderLayerWithHeight):
  1294. 2013-04-16 Ryosuke Niwa <rniwa@webkit.org>
  1295. Another EFL build fix.
  1296. * WebProcess/WebPage/efl/WebPageEfl.cpp:
  1297. 2013-04-15 Sam Weinig <sam@webkit.org>
  1298. Remove more #includes from Frame.h
  1299. https://bugs.webkit.org/show_bug.cgi?id=114642
  1300. Reviewed by Anders Carlsson.
  1301. * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
  1302. * WebProcess/Plugins/PluginView.cpp:
  1303. * WebProcess/WebPage/WebFrame.cpp:
  1304. * WebProcess/WebPage/gtk/WebPageGtk.cpp:
  1305. * WebProcess/WebPage/mac/WebPageMac.mm:
  1306. * WebProcess/WebPage/qt/WebPageQt.cpp:
  1307. 2013-04-16 Timothy Hatcher <timothy@apple.com>
  1308. Make resizing the docked Web Inspector stay in sync with the inspected view.
  1309. https://webkit.org/b/114682
  1310. Reviewed by Joseph Pecoraro.
  1311. * UIProcess/mac/WebInspectorProxyMac.mm:
  1312. (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
  1313. Disable screen updates to make sure the layers for both views resize in sync.
  1314. 2013-04-15 Anders Carlsson <andersca@apple.com>
  1315. Remove unneeded headers from ScriptExecutionContext.h
  1316. https://bugs.webkit.org/show_bug.cgi?id=114631
  1317. Reviewed by Alexey Proskuryakov.
  1318. * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  1319. * WebProcess/WebPage/PageOverlay.cpp:
  1320. 2013-04-16 Maciej Stachowiak <mjs@apple.com>
  1321. Remove even yet still more traces of v8
  1322. https://bugs.webkit.org/show_bug.cgi?id=114693
  1323. Reviewed by Anders Carlsson.
  1324. * Scripts/generate-forwarding-headers.pl: Remove v8 from list of platforms.
  1325. 2013-04-16 Alexey Proskuryakov <ap@apple.com>
  1326. Remove unused AlternativeTextClient::dismissDictationAlternativeUI
  1327. https://bugs.webkit.org/show_bug.cgi?id=114598
  1328. Reviewed by Ryosuke Niwa.
  1329. * UIProcess/API/mac/PageClientImpl.h:
  1330. * UIProcess/API/mac/PageClientImpl.mm:
  1331. (WebKit::PageClientImpl::dictationAlternatives):
  1332. * UIProcess/PageClient.h:
  1333. * UIProcess/WebPageProxy.cpp:
  1334. * UIProcess/WebPageProxy.h:
  1335. * UIProcess/WebPageProxy.messages.in:
  1336. * WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
  1337. * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp:
  1338. 2013-04-16 Claudio Saavedra <csaavedra@igalia.com>
  1339. [GTK][WK2] Add API to retrieve a snapshot from a webview
  1340. https://bugs.webkit.org/show_bug.cgi?id=98270
  1341. Reviewed by Anders Carlsson.
  1342. This adds the GTK+ API necessary to retrieve a snapshot from a
  1343. webview asynchronously. The API uses the injected bundle
  1344. internally to get the snapshot from the WebProcess.
  1345. * UIProcess/API/gtk/WebKitError.cpp:
  1346. (webkit_snapshot_error_quark): Add snapshot API related error
  1347. quark.
  1348. * UIProcess/API/gtk/WebKitError.h: Add snapshot error handling.
  1349. * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
  1350. (didReceiveWebViewMessageFromInjectedBundle): Handle the new
  1351. "DidGetSnapshot" message.
  1352. * UIProcess/API/gtk/WebKitPrivate.h: Add SnapshotRegion enum.
  1353. * UIProcess/API/gtk/WebKitWebView.cpp:
  1354. (_WebKitWebViewPrivate): Add a map for the snapshot results.
  1355. (GetSnapshotAsyncData):
  1356. (webKitWebViewDidReceiveSnapshot):
  1357. (webKitSnapshotRegionToSnapshotRegion): Helper method for casting
  1358. the region option enumeration.
  1359. (generateSnapshotCallbackID): Method to generate unique callback
  1360. ids.
  1361. (webkit_web_view_get_snapshot):
  1362. (webkit_web_view_get_snapshot_finish): New snapshotting API.
  1363. * UIProcess/API/gtk/WebKitWebView.h: Ditto.
  1364. * UIProcess/API/gtk/WebKitWebViewPrivate.h: Add the private method
  1365. to handle a received snapshot.
  1366. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the new API
  1367. bits.
  1368. * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
  1369. (cairoSurfacesEqual): Add helper to compare cairo_surface_t
  1370. structs.
  1371. (testWebViewSnapshot): New test.
  1372. (beforeAll): Add the new test.
  1373. * UIProcess/API/gtk/tests/WebViewTest.cpp:
  1374. (WebViewTest::selectAll): Add method to help test snapshots
  1375. including selection.
  1376. * UIProcess/API/gtk/tests/WebViewTest.h: Ditto
  1377. * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
  1378. (didReceiveMessageToPage): Ditto.
  1379. (webkitWebExtensionCreate): Register method above.
  1380. * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
  1381. (webkitWebPageDidReceiveMessage): Add this method. It
  1382. handles the new message "GetSnapshot".
  1383. * WebProcess/InjectedBundle/API/gtk/WebKitWebPagePrivate.h:
  1384. Add method above.
  1385. 2013-04-16 Timothy Hatcher <timothy@apple.com>
  1386. Create full rects for the inspector and inspected views when
  1387. adjusting to an inspected view frame change.
  1388. This ensures switching dock sides restores the inspected view
  1389. and inspector to fill the parent's bounds.
  1390. https://webkit.org/b/114666
  1391. rdar://problem/13660796
  1392. Reviewed by Joseph Pecoraro.
  1393. * UIProcess/mac/WebInspectorProxyMac.mm:
  1394. (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
  1395. 2013-04-16 Balazs Kelemen <kbalazs@webkit.org>
  1396. Initialize logging channels for web processes
  1397. https://bugs.webkit.org/show_bug.cgi?id=114621
  1398. Reviewed by Sam Weinig.
  1399. Use InitializeWebKit2 for initializing the web and plugin processes.
  1400. It handles initializing the logging channels and it's better to have
  1401. shared core for this. For the plugin process now we always create
  1402. a RunLoop object which is not necessary with the -scanPlugin argument
  1403. but it shouldn't be a problem.
  1404. * PluginProcess/qt/PluginProcessMainQt.cpp:
  1405. (WebKit::PluginProcessMain):
  1406. * PluginProcess/unix/PluginProcessMainUnix.cpp:
  1407. (WebKit::PluginProcessMainUnix):
  1408. * WebProcess/efl/WebProcessMainEfl.cpp:
  1409. (WebKit::WebProcessMainEfl):
  1410. * WebProcess/gtk/WebProcessMainGtk.cpp:
  1411. (WebKit::WebProcessMainGtk):
  1412. * WebProcess/qt/WebProcessMainQt.cpp:
  1413. (WebKit::WebProcessMainQt):
  1414. 2013-04-16 Michał Pakuła vel Rutka <m.pakula@samsung.com>
  1415. [EFL][WK2] Add an API for getting context menu item's parent menu
  1416. https://bugs.webkit.org/show_bug.cgi?id=107510
  1417. Reviewed by Kenneth Rohde Christiansen.
  1418. Added parent menu support and API for Ewk_Context_Menu_Item, to
  1419. allow selecting context menus using Elementary widgets.
  1420. Context menu unit test updated with new function.
  1421. * UIProcess/API/efl/ewk_context_menu.cpp:
  1422. (EwkContextMenu::EwkContextMenu):
  1423. * UIProcess/API/efl/ewk_context_menu_item.cpp:
  1424. (EwkContextMenuItem::EwkContextMenuItem):
  1425. (ewk_context_menu_item_parent_menu_get):
  1426. * UIProcess/API/efl/ewk_context_menu_item.h:
  1427. * UIProcess/API/efl/ewk_context_menu_item_private.h:
  1428. (EwkContextMenuItem::create):
  1429. (EwkContextMenuItem::parentMenu):
  1430. (EwkContextMenuItem::setParentMenu):
  1431. (EwkContextMenuItem):
  1432. * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
  1433. (showContextMenu):
  1434. 2013-04-16 Andreas Kling <akling@apple.com>
  1435. Fix release builds with !LOG_DISABLED.
  1436. * Platform/mac/Logging.mac.mm:
  1437. 2013-04-16 Manuel Rego Casasnovas <rego@igalia.com>
  1438. [GTK][EFL] Remove deprecated libsoup API usage
  1439. https://bugs.webkit.org/show_bug.cgi?id=104894
  1440. Reviewed by Philippe Normand.
  1441. Remove LIBSOUP_USE_UNSTABLE_REQUEST_API and only include
  1442. libsoup/soup.h.
  1443. * WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.h:
  1444. * WebProcess/efl/WebProcessMainEfl.cpp:
  1445. * WebProcess/gtk/WebProcessMainGtk.cpp:
  1446. * WebProcess/soup/WebKitSoupRequestGeneric.h:
  1447. * WebProcess/soup/WebProcessSoup.cpp:
  1448. * WebProcess/soup/WebSoupRequestManager.cpp:
  1449. (WebKit::WebSoupRequestManager::registerURIScheme): Remove requester and
  1450. use method soup_session_add_feature_by_type().
  1451. 2013-04-15 Dean Jackson <dino@apple.com>
  1452. Plugins that resize might need to be snapshotted.
  1453. https://bugs.webkit.org/show_bug.cgi?id=102157
  1454. <rdar://problem/12696259>
  1455. Reviewed by Tim Horton.
  1456. Allow a running plugin to be snapshotted. All this
  1457. means is that we start the snapshot timer again.
  1458. * WebProcess/Plugins/PluginView.cpp:
  1459. (WebKit::PluginView::beginSnapshottingRunningPlugin): Restart
  1460. the timer.
  1461. * WebProcess/Plugins/PluginView.h: Virtual method declaration.
  1462. 2013-04-15 Seokju Kwon <seokju.kwon@gmail.com>
  1463. [EFL][WK2] build fix after r148434
  1464. https://bugs.webkit.org/show_bug.cgi?id=114647
  1465. Reviewed by Benjamin Poulain.
  1466. * UIProcess/API/efl/EwkView.cpp:
  1467. (EwkView::showContextMenu):
  1468. 2013-04-15 Jer Noble <jer.noble@apple.com>
  1469. After switching to another space and back, video races to catch up with audio
  1470. https://bugs.webkit.org/show_bug.cgi?id=114634
  1471. Reviewed by Tim Horton.
  1472. In Mountain Lion and previous, report that a view is "not visible" when its window
  1473. is not in the active space. This causes us to notify AVFoundation that its CAImageQueues
  1474. will not be serviced and results in not having the "catch up" behavior when returning
  1475. to the browser's space.
  1476. * UIProcess/API/mac/PageClientImpl.mm:
  1477. (WebKit::PageClientImpl::isViewVisible):
  1478. 2013-04-15 Seulgi Kim <seulgikim@company100.net>
  1479. Schedule rendering at regular interval (60fps)
  1480. https://bugs.webkit.org/show_bug.cgi?id=114617
  1481. Reviewed by Martin Robinson.
  1482. Schedule rendering reguarly regardless of the time taken to render a
  1483. frame. Otherwise, next flush delayed by the amount of the rendering
  1484. time.
  1485. * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
  1486. (WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
  1487. (WebKit::LayerTreeHostGtk::layerFlushTimerFired):
  1488. (WebKit::LayerTreeHostGtk::flushAndRenderLayers):
  1489. * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
  1490. 2013-04-15 Michał Pakuła vel Rutka <m.pakula@samsung.com>
  1491. [EFL][WK2] Use C API in ewk_context_menu
  1492. https://bugs.webkit.org/show_bug.cgi?id=109698
  1493. Reviewed by Andreas Kling.
  1494. EFL port unlike others does not handle context menus inside WebKit but exposes an API:
  1495. ewk_context_menu and ewk_context_menu_item, and leaves context menu to application.
  1496. Currently EFL port's context menu API uses internal C++ classes, while it should use WK2 C API,
  1497. to avoid violating layering.
  1498. This patch changes EFL context menu API to use only WK2 C API.
  1499. * UIProcess/API/efl/EwkView.cpp:
  1500. (EwkView::showContextMenu):
  1501. * UIProcess/API/efl/EwkView.h:
  1502. (WebKit):
  1503. (EwkView):
  1504. * UIProcess/API/efl/ewk_context_menu.cpp:
  1505. (EwkContextMenu::EwkContextMenu):
  1506. (EwkContextMenu::contextMenuItemSelected):
  1507. (ewk_context_menu_item_select):
  1508. (getWKTagFromEwkAction):
  1509. * UIProcess/API/efl/ewk_context_menu_item.cpp:
  1510. (EwkContextMenuItem::EwkContextMenuItem):
  1511. (getEwkActionFromWKTag):
  1512. * UIProcess/API/efl/ewk_context_menu_item.h:
  1513. * UIProcess/API/efl/ewk_context_menu_item_private.h:
  1514. (EwkContextMenuItem::create):
  1515. (EwkContextMenuItem):
  1516. * UIProcess/API/efl/ewk_context_menu_private.h:
  1517. (EwkContextMenu::create):
  1518. (EwkContextMenu):
  1519. * UIProcess/efl/ContextMenuClientEfl.cpp:
  1520. (showContextMenu):
  1521. (hideContextMenu):
  1522. (ContextMenuClientEfl::ContextMenuClientEfl):
  1523. * UIProcess/efl/ContextMenuClientEfl.h:
  1524. (WebKit::ContextMenuClientEfl::view):
  1525. * UIProcess/efl/WebContextMenuProxyEfl.cpp:
  1526. (WebKit::WebContextMenuProxyEfl::showContextMenu):
  1527. (WebKit::WebContextMenuProxyEfl::hideContextMenu):
  1528. * UIProcess/efl/WebContextMenuProxyEfl.h:
  1529. (WebContextMenuProxyEfl):
  1530. 2013-04-15 Balazs Kelemen <kbalazs@webkit.org>
  1531. [CoordGfx] Background color should not be part of GraphicsLayerState
  1532. https://bugs.webkit.org/show_bug.cgi?id=113785
  1533. Reviewed by Andreas Kling.
  1534. Page background is independent from layer state, send it to the UI
  1535. as soon as possible.
  1536. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  1537. (CoreIPC::::encode):
  1538. (CoreIPC::::decode):
  1539. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  1540. (WebKit::CoordinatedLayerTreeHost::setBackgroundColor):
  1541. 2013-04-15 Michał Pakuła vel Rutka <m.pakula@samsung.com>
  1542. [WK2] Add new callbacks and a function for WebKit2 context menu API
  1543. https://bugs.webkit.org/show_bug.cgi?id=111552
  1544. Reviewed by Anders Carlsson.
  1545. Add contextMenuHide and contextMenuShow callbacks to WKPageContextMenuClient
  1546. and WKPageContextMenuSelected API so context menus can be handled outside
  1547. WebKit. API version of this client was bumped so older client version still
  1548. can be used
  1549. * Shared/APIClientTraits.cpp:
  1550. (WebKit):
  1551. * Shared/APIClientTraits.h:
  1552. * UIProcess/API/C/WKPage.cpp:
  1553. (WKPageSelectContextMenuItem):
  1554. * UIProcess/API/C/WKPage.h:
  1555. * UIProcess/API/gtk/WebKitContextMenuClient.cpp:
  1556. (attachContextMenuClientToView):
  1557. * UIProcess/WebPageContextMenuClient.cpp:
  1558. (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
  1559. (WebKit::WebPageContextMenuClient::showContextMenu):
  1560. (WebKit):
  1561. (WebKit::WebPageContextMenuClient::hideContextMenu):
  1562. * UIProcess/WebPageContextMenuClient.h:
  1563. (WebPageContextMenuClient):
  1564. * UIProcess/WebPageProxy.cpp:
  1565. (WebKit::WebPageProxy::internalShowContextMenu):
  1566. * UIProcess/efl/ContextMenuClientEfl.cpp:
  1567. (ContextMenuClientEfl::ContextMenuClientEfl):
  1568. 2013-04-14 Christophe Dumez <ch.dumez@sisa.samsung.com>
  1569. [EFL][WK2] Regression(r148274): Broke rendering in the browser
  1570. https://bugs.webkit.org/show_bug.cgi?id=114593
  1571. Reviewed by Anders Carlsson.
  1572. r148274 added a new "didChangeViewportAttributes" callback to
  1573. WKView but did not hook it up in ViewClientEfl. This patch
  1574. fixes this and makes rendering work again in the browser.
  1575. * UIProcess/efl/ViewClientEfl.cpp:
  1576. (WebKit::ViewClientEfl::ViewClientEfl):
  1577. 2013-04-14 Andreas Kling <akling@apple.com>
  1578. Move CSSOM classes to using MutableStylePropertySet over StylePropertySet.
  1579. <http://webkit.org/b/114581>
  1580. Reviewed by Anders Carlsson.
  1581. * WebProcess/WebCoreSupport/WebEditorClient.cpp:
  1582. (WebKit::WebEditorClient::shouldApplyStyle):
  1583. 2013-04-14 Christophe Dumez <ch.dumez@sisa.samsung.com>
  1584. Unreviewed build fix for WebKit2 EFL after r148373 due to missing
  1585. header includes.
  1586. * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
  1587. * UIProcess/efl/InputMethodContextEfl.cpp:
  1588. 2013-04-13 Sam Weinig <sam@webkit.org>
  1589. Add ObjC API for setting initialization data for the WKWebProcessPlugIn
  1590. https://bugs.webkit.org/show_bug.cgi?id=103846
  1591. Reviewed by Darin Adler.
  1592. * UIProcess/API/mac/WKProcessGroup.h:
  1593. Adds a new optional processGroupWillCreateConnectionToWebProcessPlugIn: method for the WKProcessGroupDelegate protocol,
  1594. which allows the user to pass (via an autoreleased return value) initialization data to the web process plugin.
  1595. * UIProcess/API/mac/WKProcessGroup.mm:
  1596. (getInjectedBundleInitializationUserData):
  1597. (setUpInectedBundleClient):
  1598. (-[WKProcessGroup initWithInjectedBundleURL:]):
  1599. (-[WKProcessGroup dealloc]):
  1600. Use the existing WKContextInjectedBundleClient infrastructure to pass the initialization data to the bundle
  1601. via the new ObjCObjectGraph APIObject.
  1602. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
  1603. Adds webProcessPlugIn:initializeWithObject: to the WKWebProcessPlugIn protocol, replacing webProcessPlugInInitialize:.
  1604. * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
  1605. (WebKit::InjectedBundle::load):
  1606. Pass the initialization data to the web process plugin.
  1607. 2013-04-13 Sam Weinig <sam@webkit.org>
  1608. Attempt Build Fix.
  1609. * WebProcess/Plugins/Netscape/NPJSObject.cpp:
  1610. 2013-04-12 Sam Weinig <sam@webkit.org>
  1611. Make Frame's ScriptController an OwnPtr and remove the #include
  1612. https://bugs.webkit.org/show_bug.cgi?id=114105
  1613. Reviewed by Dean Jackson.
  1614. * Shared/WebHitTestResult.cpp:
  1615. * Shared/WebHitTestResult.h:
  1616. * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
  1617. * UIProcess/WebContext.h:
  1618. * UIProcess/WebPageProxy.h:
  1619. * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
  1620. * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
  1621. * WebProcess/Plugins/Netscape/NPJSObject.cpp:
  1622. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
  1623. * WebProcess/Plugins/PDF/PDFPlugin.h:
  1624. * WebProcess/Plugins/PluginView.cpp:
  1625. * WebProcess/Storage/StorageAreaImpl.cpp:
  1626. * WebProcess/Storage/StorageAreaMap.cpp:
  1627. * WebProcess/WebPage/WebFrame.cpp:
  1628. * WebProcess/WebPage/WebPage.cpp:
  1629. 2013-04-13 Zan Dobersek <zdobersek@igalia.com>
  1630. Unreviewed GTK build fix after r148311.
  1631. * UIProcess/API/gtk/WebKitWebViewBase.cpp:
  1632. (resizeWebKitWebViewBaseFromAllocation): Passing IntSize() as the scroll offset
  1633. argument to the DrawingAreaProxy::setSize method.
  1634. 2013-04-12 Gavin Barraclough <barraclough@apple.com>
  1635. Add private interface to WKView to asynchronously update the drawing area size
  1636. https://bugs.webkit.org/show_bug.cgi?id=114549
  1637. Reviewed by Simon Fraser.
  1638. This will allow a client using the WKView to resize the contents without blocking waiting for the web process to repaint.
  1639. * UIProcess/API/mac/WKView.mm:
  1640. (-[WKView _setDrawingAreaSize:]):
  1641. - if the new size of teh drawing area does not match the frame size, position it according to the contentAnchor.
  1642. (-[WKView updateLayer]):
  1643. - Don't let a subsequent frame size change block on a prior async resize.
  1644. (-[WKView forceAsyncDrawingAreaSizeUpdate:]):
  1645. - resize the drawing area asynchronously, even if frame size udpates are disabled.
  1646. (-[WKView waitForAsyncDrawingAreaSizeUpdate]):
  1647. - wait for asynchronous updates to complete.
  1648. * UIProcess/API/mac/WKViewPrivate.h:
  1649. - declare new methods.
  1650. * UIProcess/DrawingAreaProxy.cpp:
  1651. (WebKit):
  1652. * UIProcess/DrawingAreaProxy.h:
  1653. (DrawingAreaProxy):
  1654. (WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate):
  1655. * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
  1656. (TiledCoreAnimationDrawingAreaProxy):
  1657. * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
  1658. (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):
  1659. - pass timeout for waitForPossibleGeometryUpdate as a parameter.
  1660. 2013-04-12 Jessie Berlin <jberlin@apple.com>
  1661. 32-bit build fix.
  1662. * UIProcess/API/mac/WKView.mm:
  1663. (-[WKView setFrameSize:]):
  1664. 2013-04-12 Jeffrey Pfau <jpfau@apple.com>
  1665. Query directly for cache partition names
  1666. https://bugs.webkit.org/show_bug.cgi?id=114538
  1667. Reviewed by David Kilzer.
  1668. Call back into WebKitSystemInterface to ask it for the cache
  1669. partition names instead of trying to figure them out.
  1670. * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
  1671. (WebKit::WebResourceCacheManager::getCacheOrigins):
  1672. (WebKit):
  1673. (WebKit::WebResourceCacheManager::returnCacheOrigins):
  1674. * WebProcess/ResourceCache/WebResourceCacheManager.h:
  1675. (WebResourceCacheManager):
  1676. * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
  1677. (WebKit::WebResourceCacheManager::cfURLCacheHostNames):
  1678. (WebKit):
  1679. (WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback):
  1680. 2013-04-12 Gavin Barraclough <barraclough@apple.com>
  1681. Build fix - too soon!
  1682. * UIProcess/API/mac/WKViewPrivate.h:
  1683. 2013-04-12 Gavin Barraclough <barraclough@apple.com>
  1684. Build fix - too soon!
  1685. * UIProcess/API/mac/WKView.mm:
  1686. (-[WKView setFrameSize:]):
  1687. 2013-04-12 Adenilson Cavalcanti <cavalcantii@gmail.com>
  1688. [WK2] WebPageProxy loadURL() won't work when called just after terminateProcess()
  1689. https://bugs.webkit.org/show_bug.cgi?id=110743
  1690. Reviewed by Benjamin Poulain.
  1691. A call to loadURL() just after terminating WebProcess will fail thanks to
  1692. WebPageProxy being in an undefined state since it is in the middle of its own
  1693. cleanup after process termination.
  1694. To properly fix this, not only WebPageProxy cleanup should be made
  1695. at WebProcess termination request, but also WebProcessProxy needs
  1696. to only return to its caller after terminating the process and
  1697. closing connections. Otherwise, WebPageProxy can even be able to
  1698. detect that WebProcess is no longer running, but a call to respawn
  1699. the process will fail.
  1700. To fix these issues, this patch moves the cleanup code to a shared private function
  1701. that is used for both the cases i.e. user termination and real crash. WebProcess
  1702. shutdown is done using a new method that ensures that all cleanup was done before
  1703. returning.
  1704. A last change introduced in this patch is that for user requested termination,
  1705. clients are no longer notified of a crash (since it is not a crash).
  1706. * UIProcess/WebPageProxy.cpp:
  1707. (WebKit::WebPageProxy::terminateProcess):
  1708. (WebKit::WebPageProxy::processDidCrash):
  1709. (WebKit):
  1710. (WebKit::WebPageProxy::resetStateAfterProcessExited):
  1711. * UIProcess/WebPageProxy.h:
  1712. (WebPageProxy):
  1713. * UIProcess/WebProcessProxy.cpp:
  1714. (WebKit::WebProcessProxy::userRequestedTerminate):
  1715. (WebKit):
  1716. * UIProcess/WebProcessProxy.h:
  1717. (WebProcessProxy):
  1718. 2013-04-12 Gavin Barraclough <barraclough@apple.com>
  1719. Add contentAnchor to WKView
  1720. http://bugs.webkit.org/show_bug.cgi?id=114469
  1721. Currently if you call setFrameSize: while frame size updates are disabled, or if the geometry
  1722. update times out, then the previously rendered page content will be rendered anchored to the
  1723. top left corner of the frame.
  1724. This is appropriate if the frame is being resized from the bottom right corner. In order to
  1725. achieve a more desirable appearance if the frame is being resized from another corner we
  1726. should allow the corner at which the content anchors to be specified.
  1727. Reviewed by Simon Fraser.
  1728. * UIProcess/API/mac/WKView.mm:
  1729. (-[WKView setFrameSize:]):
  1730. - If the content anchor has been set, then updating the frame size moves the origin within the layer.
  1731. (-[WKView _setDrawingAreaSize:]):
  1732. - Instruct the drawing area to paint at the correct position within the layer.
  1733. (-[WKView _setAcceleratedCompositingModeRootLayer:]):
  1734. - If the root layer is cleared this implicitly resets any origin position we had set within it.
  1735. (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
  1736. - initialize new data members.
  1737. (-[WKView setContentAnchor:]):
  1738. (-[WKView contentAnchor]):
  1739. - Accessor implementation for @property contentAnchor.
  1740. * UIProcess/API/mac/WKViewPrivate.h:
  1741. (NS_ENUM):
  1742. - Added WKContentAnchor enum type, and @property contentAnchor.
  1743. * UIProcess/DrawingAreaProxy.cpp:
  1744. (WebKit::DrawingAreaProxy::setSize):
  1745. - Don't suppress geometry updates where the layer poistion has changed.
  1746. * UIProcess/DrawingAreaProxy.h:
  1747. (DrawingAreaProxy):
  1748. - Added m_layerPosition, layerPosition argument to setSize
  1749. * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
  1750. (TiledCoreAnimationDrawingAreaProxy):
  1751. - Added m_lastSentLayerPosition
  1752. * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
  1753. (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
  1754. - Don't suppress geometry updates where the layer poistion has changed.
  1755. (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
  1756. - Pass layer position in UpdateGeometry message.
  1757. * WebProcess/WebPage/DrawingArea.h:
  1758. (WebKit::DrawingArea::updateGeometry):
  1759. - Added layerPosition argument to updateGeometry
  1760. * WebProcess/WebPage/DrawingArea.messages.in:
  1761. - Added layerPosition argument to updateGeometry
  1762. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  1763. (TiledCoreAnimationDrawingArea):
  1764. - Added layerPosition argument to updateGeometry
  1765. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  1766. (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
  1767. - Added layerPosition argument to updateGeometry
  1768. 2013-04-12 Commit Queue <rniwa@webkit.org>
  1769. Unreviewed, rolling out r148296 and r148297.
  1770. http://trac.webkit.org/changeset/148296
  1771. http://trac.webkit.org/changeset/148297
  1772. https://bugs.webkit.org/show_bug.cgi?id=114536
  1773. Needs more thought (Requested by ap on #webkit).
  1774. * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  1775. 2013-04-12 Tim Horton <timothy_horton@apple.com>
  1776. REGRESSION (r138858): GIFs don't start playing when they come out of background tabs
  1777. https://bugs.webkit.org/show_bug.cgi?id=108864
  1778. <rdar://problem/13140489>
  1779. Reviewed by Antti Koivisto.
  1780. Don't repaint the world when animations resume; instead, FrameView
  1781. will cause all animated images to repaint. This line also had no effect for
  1782. TiledCoreAnimationDrawingArea, which does not implement setNeedsDisplay.
  1783. * WebProcess/WebPage/WebPage.cpp:
  1784. (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
  1785. 2013-04-12 Alexey Proskuryakov <ap@apple.com>
  1786. <rdar://problem/13334446> [Mac] Tweak sandbox profile.
  1787. Apply a post-landing review comment.
  1788. * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  1789. 2013-04-12 Alexey Proskuryakov <ap@apple.com>
  1790. <rdar://problem/13334446> [Mac] Tweak sandbox profile.
  1791. Reviewed by Jessie Berlin.
  1792. * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  1793. 2013-04-12 Carlos Garcia Campos <cgarcia@igalia.com>
  1794. [GTK] Split GtkAuthenticationDialog in two widgets
  1795. https://bugs.webkit.org/show_bug.cgi?id=103644
  1796. Reviewed by Xan Lopez.
  1797. * GNUmakefile.list.am: Add new files to compilation.
  1798. * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp: Removed.
  1799. * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Removed.
  1800. * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp: Added.
  1801. (webkitAuthenticationDialogAuthenticate): Use the
  1802. AuthenticationChallengeProxy to authenticate and destroy the dialog.
  1803. (okButtonClicked): Call webkitAuthenticationDialogAuthenticate()
  1804. with the credential.
  1805. (cancelButtonClicked): Call
  1806. webkitAuthenticationDialogAuthenticate() with a NULL credential to
  1807. continue without credential.
  1808. (webkitAuthenticationDialogInitialize): Build the UI.
  1809. (webkitAuthenticationDialogDraw): Draw a background.
  1810. (webkitAuthenticationDialogMap): Grab default button.
  1811. (webkitAuthenticationDialogConstructed): Create a GtkStyleContext
  1812. with the GtkWindow path to draw the widget background like a real
  1813. dialog.
  1814. (webkit_authentication_dialog_class_init):
  1815. (webkitAuthenticationDialogNew): Create a new
  1816. WebKitAuthenticationDialog widget.
  1817. * UIProcess/API/gtk/WebKitAuthenticationDialog.h: Added.
  1818. * UIProcess/API/gtk/WebKitLoaderClient.cpp:
  1819. * UIProcess/API/gtk/WebKitWebView.cpp:
  1820. (webkitWebViewHandleAuthenticationChallenge): Create a
  1821. WebKitAuthenticationDialog widget and pass add it to the
  1822. container.
  1823. * UIProcess/API/gtk/WebKitWebViewBase.cpp:
  1824. (_WebKitWebViewBasePrivate): Updated to use the widget directly.
  1825. (webkitWebViewChildIsInternalWidget): Ditto.
  1826. (webkitWebViewBaseAddAuthenticationDialog): Ditto.
  1827. (webkitWebViewBaseCancelAuthenticationDialog): Ditto.
  1828. (webkitWebViewBaseContainerRemove): Ditto.
  1829. (webkitWebViewBaseContainerForall): Ditto.
  1830. (resizeWebKitWebViewBaseFromAllocation): Ditto.
  1831. (webkitWebViewBaseFocus): Ditto.
  1832. (webkitWebViewBaseDestroy): Destroy the auth widget is present.
  1833. (webkit_web_view_base_class_init): Add implementation for
  1834. GtkWidgetClass::destroy.
  1835. * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  1836. 2013-04-12 Carlos Garcia Campos <cgarcia@igalia.com>
  1837. [GTK] Web Process crash when the UI process finishes too early
  1838. https://bugs.webkit.org/show_bug.cgi?id=112729
  1839. Reviewed by Anders Carlsson.
  1840. The problem is when creating the GSocket in the WorkQeue for the
  1841. socket descriptor. GLib considers a programmer error to create a
  1842. GSocket providing an invalid socket and finishes the process with
  1843. g_error(). We are actually providing a valid socket when creating
  1844. the GSocket, but it can be invalidated by the worker thread while
  1845. the GSocket is being created. This is because
  1846. registerEventSourceHandler is called from the main thread and
  1847. unregisterEventSourceHandler can be called from the worker
  1848. thread. We are currently registering two event handlers, one to
  1849. read data from the socket and another one to close the CoreIPC
  1850. connection when the socket connection is broken. Every event
  1851. source registered uses its own GSocket (even if the file
  1852. descriptor is actually the same), so that when the UI process
  1853. finishes too early, the first event handler can be executed in the
  1854. worker thread, closing the socket descriptor, while the main
  1855. thread is creating the GSocket for the second one.
  1856. We don't really need to use a separate event handler to monitor
  1857. the connection, because GSocket always notifies when condition is
  1858. G_IO_HUP and G_IO_ERR even if they haven't been explicitly set in
  1859. g_socket_create_source(). We can register socket event sources
  1860. differently, providing also a function to be called when the
  1861. connection is closed, using a single socket and the same even source.
  1862. * Platform/CoreIPC/unix/ConnectionUnix.cpp:
  1863. (CoreIPC::Connection::platformInvalidate):
  1864. (CoreIPC::Connection::open): Register a single socket event
  1865. handler providing also a function to be called when the connection
  1866. is closed.
  1867. * Platform/WorkQueue.h:
  1868. (WorkQueue):
  1869. * Platform/gtk/WorkQueueGtk.cpp: The EventSource class has been
  1870. split, moving everyting specific to socket event source to a
  1871. derived class SocketEventSource.
  1872. (WorkQueue::EventSource::EventSource):
  1873. (WorkQueue::EventSource::performWork):
  1874. (WorkQueue::EventSource::performWorkOnce):
  1875. (WorkQueue::EventSource::performWorkOnTermination):
  1876. (WorkQueue::EventSource::deleteEventSource):
  1877. (WorkQueue::EventSource):
  1878. (WorkQueue::SocketEventSource):
  1879. (WorkQueue::SocketEventSource::SocketEventSource):
  1880. (WorkQueue::SocketEventSource::cancel):
  1881. (WorkQueue::SocketEventSource::didClose):
  1882. (WorkQueue::SocketEventSource::checkCondition):
  1883. (WorkQueue::SocketEventSource::eventCallback):
  1884. (WorkQueue::registerSocketEventHandler):
  1885. (WorkQueue::unregisterSocketEventHandler):
  1886. (WorkQueue::dispatchOnSource):
  1887. 2013-04-12 Alexey Proskuryakov <ap@apple.com>
  1888. <rdar://problem/13126204> [Mac] Tweak sandbox profile.
  1889. Reviewed by Anders Carlsson.
  1890. * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  1891. * WebProcess/com.apple.WebProcess.sb.in:
  1892. 2013-04-12 Manuel Rego Casasnovas <rego@igalia.com>
  1893. [GTK][WK2] Add document-loaded signal to WebKitWebPage
  1894. https://bugs.webkit.org/show_bug.cgi?id=110614
  1895. Reviewed by Carlos Garcia Campos.
  1896. Add a new signal document-loaded to WebKitWebPage that will be emitted
  1897. when the DOM document has been loaded for the main frame.
  1898. * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
  1899. (documentLoadedCallback):
  1900. (testDocumentLoadedSignal):
  1901. (beforeAll): Add test for document-loaded signal.
  1902. * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
  1903. (documentLoadedCallback):
  1904. (pageCreatedCallback):
  1905. (methodCallCallback): Add new D-Bus signal DocumentLoaded in order to
  1906. test document-loaded signal.
  1907. * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
  1908. (webkit_web_page_class_init):
  1909. (webkitWebPageCreate): Add document-loaded signal and emit it when
  1910. didFinishDocumentLoadForFrame is called.
  1911. 2013-04-12 Hanyee Kim <choco@company100.net>
  1912. [GTK] Webkit fails to build webkit2gtk-tests-resources.gresource.
  1913. https://bugs.webkit.org/show_bug.cgi?id=114485
  1914. Reviewed by Martin Robinson.
  1915. Generating webkit2gtk-tests-resources.gresource can be failed due to
  1916. the non-existing target directory.
  1917. We need to make target directory before generating it.
  1918. * UIProcess/API/gtk/tests/GNUmakefile.am:
  1919. 2013-04-12 Andreas Kling <akling@apple.com>
  1920. REGRESSION(r145869): Right-click on SWF contents displays the context menu at the wrong place.
  1921. <http://webkit.org/b/113836>
  1922. <rdar://problem/13587624>
  1923. Reviewed by Anders "Wesley Crusher" Carlsson.
  1924. Mac plugins expect flipped-Y screen coordinates, while DOM APIs speak in unflipped coordinates,
  1925. and we were mixing them up in the window frame caching optimization.
  1926. Solve this by having the UIProcess send both flipped and unflipped window frames to the WebProcess.
  1927. The flipped frame is passed on to plugins, and the unflipped frame is used for window.screenX/Y etc.
  1928. * UIProcess/API/mac/WKView.mm:
  1929. (-[WKView _updateWindowAndViewFrames]):
  1930. No need to retrieve the window frame here as WebPageProxy::windowAndViewFramesChanged() will
  1931. always override it anyway.
  1932. * UIProcess/mac/WebPageProxyMac.mm:
  1933. (WebKit::WebPageProxy::windowAndViewFramesChanged):
  1934. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  1935. (WebKit::WebChromeClient::windowRect):
  1936. * WebProcess/WebPage/WebPage.cpp:
  1937. (WebKit::WebPage::windowAndViewFramesChanged):
  1938. * WebProcess/WebPage/WebPage.h:
  1939. (WebKit::WebPage::windowFrameInUnflippedScreenCoordinates):
  1940. * WebProcess/WebPage/WebPage.messages.in:
  1941. 2013-04-12 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  1942. [WK2][EFL] WebView: Add callbacks to the WKViewClient to handle page viewport update
  1943. https://bugs.webkit.org/show_bug.cgi?id=110463
  1944. Reviewed by Anders Carlsson.
  1945. * UIProcess/efl/ViewClientEfl.h:
  1946. (ViewClientEfl):
  1947. * UIProcess/efl/WebView.cpp:
  1948. (WebKit::WebView::didChangeViewportProperties):
  1949. * UIProcess/efl/WebViewClient.cpp:
  1950. (WebKit::WebViewClient::didChangeViewportAttributes):
  1951. (WebKit):
  1952. * UIProcess/efl/WebViewClient.h:
  1953. Added didChangeViewportAttributes callback to the WKViewClient to
  1954. handle page viewport updates.
  1955. * CMakeLists.txt:
  1956. * Shared/API/c/WKBase.h:
  1957. * Shared/APIObject.h:
  1958. * UIProcess/API/C/WKAPICast.h:
  1959. (WebKit):
  1960. * UIProcess/API/C/WKViewportAttributes.cpp: Added.
  1961. (WKViewportAttributesGetTypeID):
  1962. * UIProcess/API/C/WKViewportAttributes.h: Added.
  1963. * UIProcess/API/C/efl/WKView.h:
  1964. * UIProcess/WebViewportAttributes.cpp: Added.
  1965. (WebKit):
  1966. (WebKit::WebViewportAttributes::WebViewportAttributes):
  1967. (WebKit::WebViewportAttributes::~WebViewportAttributes):
  1968. * UIProcess/WebViewportAttributes.h: Added.
  1969. (WebKit):
  1970. (WebViewportAttributes):
  1971. (WebKit::WebViewportAttributes::create):
  1972. (WebKit::WebViewportAttributes::originalAttributes):
  1973. (WebKit::WebViewportAttributes::type):
  1974. Added WKViewportAttributesRef - WK2 C API object that is wrapping
  1975. WebCore::ViewportAttributes structure and is passed in didChangeViewportAttributes
  1976. WKViewClient callback.
  1977. * UIProcess/efl/ViewClientEfl.cpp:
  1978. (WebKit::ViewClientEfl::didChangeViewportAttributes):
  1979. (WebKit):
  1980. Added implementaion of didChangeViewportAttributes WKViewClient
  1981. callback so that existing EFL WK2 funtionality is kept.
  1982. 2013-04-12 Carlos Garcia Campos <cgarcia@igalia.com>
  1983. [GTK] The style of visited links doesn't change in WebKit2
  1984. https://bugs.webkit.org/show_bug.cgi?id=112175
  1985. Reviewed by Benjamin Poulain.
  1986. The problem is that visited links were not tracked by the web
  1987. process. There's a web process initial parameter to set whether
  1988. web process should track visited links or not and it's disabled by
  1989. default.
  1990. * UIProcess/gtk/WebContextGtk.cpp:
  1991. (WebKit::WebContext::platformInitializeWebProcess): Always set
  1992. shouldTrackVisitedLinks to true.
  1993. 2013-04-11 Tim Horton <timothy_horton@apple.com>
  1994. REGRESSION (r146956): ASSERTion failure: WebKit::WebProcess::pageWillLeaveWindow
  1995. https://bugs.webkit.org/show_bug.cgi?id=114481
  1996. <rdar://problem/13534784>
  1997. Reviewed by Simon Fraser.
  1998. Inform the WebProcess of WebPages which are already in a window when created.
  1999. * WebProcess/WebPage/WebPage.cpp:
  2000. (WebKit::WebPage::WebPage):
  2001. 2013-04-11 Anders Carlsson <andersca@apple.com>
  2002. Add support for clearing storage areas
  2003. https://bugs.webkit.org/show_bug.cgi?id=114479
  2004. Reviewed by Beth Dakin.
  2005. * UIProcess/Storage/StorageManager.cpp:
  2006. (WebKit::StorageManager::StorageArea::StorageArea):
  2007. Store the quota size so we can recreate the underlying StorageMap when clearing.
  2008. (WebKit::StorageManager::StorageArea::clear):
  2009. Create a new storage map and dispatch events.
  2010. (WebKit::StorageManager::clear):
  2011. Find the right storage area and call clear.
  2012. * UIProcess/Storage/StorageManager.messages.in:
  2013. Add Clear message.
  2014. * WebProcess/Storage/StorageAreaImpl.cpp:
  2015. (WebKit::StorageAreaImpl::clear):
  2016. Call the storage map.
  2017. * WebProcess/Storage/StorageAreaMap.cpp:
  2018. (WebKit::StorageAreaMap::clear):
  2019. Reset the cached values and send a clear message.
  2020. (WebKit::StorageAreaMap::resetValues):
  2021. New helper function.
  2022. (WebKit::StorageAreaMap::didClear):
  2023. New stub.
  2024. * WebProcess/Storage/StorageAreaMap.messages.in:
  2025. Add DidClear message.
  2026. 2013-04-11 Beth Dakin <bdakin@apple.com>
  2027. WebKit should set the header and footer layers' contentsScale when the device
  2028. scale factor changes
  2029. https://bugs.webkit.org/show_bug.cgi?id=114471
  2030. -and corresponding-
  2031. <rdar://problem/13621288>
  2032. Reviewed by Simon Fraser.
  2033. Update the header and footer contentsScale when the device scale factor has
  2034. changed.
  2035. * WebProcess/WebPage/WebPage.cpp:
  2036. (WebKit::WebPage::setDeviceScaleFactor):
  2037. * WebProcess/WebPage/WebPage.h:
  2038. * WebProcess/WebPage/mac/WebPageMac.mm:
  2039. (WebKit::WebPage::updateHeaderAndFooterLayersForDeviceScaleChange):
  2040. 2013-04-11 Anders Carlsson <andersca@apple.com>
  2041. Implement removing storage area items
  2042. https://bugs.webkit.org/show_bug.cgi?id=114472
  2043. Reviewed by Beth Dakin.
  2044. * UIProcess/Storage/StorageManager.cpp:
  2045. (StorageManager::StorageArea):
  2046. (WebKit::StorageManager::StorageArea::setItem):
  2047. Rename connection to sourceConnection.
  2048. (WebKit::StorageManager::StorageArea::removeItem):
  2049. Remove the item from the map and dispatch events if needed.
  2050. (WebKit::StorageManager::removeItem):
  2051. Find the right storage area, remove the item and send back a DidRemoveItem message.
  2052. * UIProcess/Storage/StorageManager.messages.in:
  2053. Add RemoveItem message.
  2054. * WebProcess/Storage/StorageAreaImpl.cpp:
  2055. (WebKit::StorageAreaImpl::removeItem):
  2056. Call StorageAreaMap::removeItem.
  2057. * WebProcess/Storage/StorageAreaMap.cpp:
  2058. (WebKit::StorageAreaMap::removeItem):
  2059. Send a RemoveItem message to the storage manager.
  2060. (WebKit::StorageAreaMap::didRemoveItem):
  2061. Add empty stub.
  2062. * WebProcess/Storage/StorageAreaMap.messages.in:
  2063. Add DidRemoveItem message.
  2064. 2013-04-11 Tim Horton <timothy_horton@apple.com>
  2065. InjectedBundleNodeHandle::imageForRect doesn't respect device scale factor or highlighting option
  2066. https://bugs.webkit.org/show_bug.cgi?id=114466
  2067. <rdar://problem/13508513>
  2068. Reviewed by Simon Fraser.
  2069. Respect the device scale factor when creating the snapshot image.
  2070. Clear the snapshot image before drawing into it.
  2071. Respect SnapshotOptionsExcludeSelectionHighlighting.
  2072. * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
  2073. (WebKit::imageForRect):
  2074. 2013-04-11 Commit Queue <rniwa@webkit.org>
  2075. Unreviewed, rolling out r148034, r148052, r148097, and
  2076. r148194.
  2077. http://trac.webkit.org/changeset/148034
  2078. http://trac.webkit.org/changeset/148052
  2079. http://trac.webkit.org/changeset/148097
  2080. http://trac.webkit.org/changeset/148194
  2081. https://bugs.webkit.org/show_bug.cgi?id=114463
  2082. broke mutiresolution favicons, among other things (Requested
  2083. by thorton on #webkit).
  2084. * UIProcess/WebIconDatabase.cpp:
  2085. (WebKit::WebIconDatabase::setIconDataForIconURL):
  2086. * UIProcess/WebIconDatabase.h:
  2087. (WebIconDatabase):
  2088. * UIProcess/WebIconDatabase.messages.in:
  2089. * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
  2090. (WebKit::WebIconDatabaseProxy::setIconDataForIconURL):
  2091. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  2092. (WebKit::PDFPlugin::destroy):
  2093. 2013-04-11 Anders Carlsson <andersca@apple.com>
  2094. Implement StorageManager::getValues
  2095. https://bugs.webkit.org/show_bug.cgi?id=114461
  2096. Reviewed by Beth Dakin.
  2097. * UIProcess/Storage/StorageManager.cpp:
  2098. (WebKit::StorageManager::StorageArea::items):
  2099. (WebKit::StorageManager::getValues):
  2100. Return the items from the right storage area.
  2101. 2013-04-11 Anders Carlsson <andersca@apple.com>
  2102. Clean up related storage areas when a connection is destroyed
  2103. https://bugs.webkit.org/show_bug.cgi?id=114459
  2104. Reviewed by Beth Dakin.
  2105. * UIProcess/Storage/StorageManager.cpp:
  2106. (WebKit::StorageManager::processWillCloseConnection):
  2107. Dispatch invalidateConnectionInternal on the work queue.
  2108. (WebKit::StorageManager::createStorageMap):
  2109. (WebKit::StorageManager::destroyStorageMap):
  2110. Rename m_storageAreas to m_storageAreasByConnection.
  2111. (WebKit::StorageManager::invalidateConnectionInternal):
  2112. Go over all known storage areas and remove this connection as a listener.
  2113. (WebKit::StorageManager::findStorageArea):
  2114. Rename m_storageAreas to m_storageAreasByConnection.
  2115. * UIProcess/Storage/StorageManager.h:
  2116. Rename m_storageAreas to m_storageAreasByConnection.
  2117. 2013-04-11 Anders Carlsson <andersca@apple.com>
  2118. Make StorageAreaMap dispatch session storage events
  2119. https://bugs.webkit.org/show_bug.cgi?id=114454
  2120. Reviewed by Beth Dakin.
  2121. * WebProcess/Storage/StorageAreaMap.cpp:
  2122. (WebKit::StorageAreaMap::dispatchStorageEvent):
  2123. Depending on the storage area type, call dispatchSessionStorageEvent or dispatchLocalStorageEvent.
  2124. (WebKit::StorageAreaMap::dispatchSessionStorageEvent):
  2125. Enumerate all the frames in our page and dispatch the event to the relevant ones.
  2126. (WebKit::StorageAreaMap::dispatchLocalStorageEvent):
  2127. Add empty stub for now.
  2128. 2013-04-11 Anders Carlsson <andersca@apple.com>
  2129. Implement more logic in StorageAreaMap
  2130. https://bugs.webkit.org/show_bug.cgi?id=114451
  2131. Reviewed by Alexey Proskuryakov.
  2132. * Platform/CoreIPC/HandleMessage.h:
  2133. (CoreIPC::callMemberFunction):
  2134. Add new overload.
  2135. * UIProcess/Storage/StorageManager.cpp:
  2136. (WebKit::StorageManager::StorageArea::addListener):
  2137. (WebKit::StorageManager::StorageArea::removeListener):
  2138. These take storage map IDs.
  2139. (WebKit::StorageManager::StorageArea::setItem):
  2140. Rename storageAreaID to sourceStorageAreaID.
  2141. (WebKit::StorageManager::StorageArea::dispatchEvents):
  2142. Remove the code that would not dispatch to the source connection, there may still be storage areas interested in those events.
  2143. (WebKit::StorageManager::setItem):
  2144. This now takes the source storage area ID.
  2145. (WebKit::StorageManager::findStorageArea):
  2146. This takes a storage map ID.
  2147. * UIProcess/Storage/StorageManager.messages.in:
  2148. SetItem now takes the source storage area ID as well.
  2149. * WebProcess/Storage/StorageAreaImpl.cpp:
  2150. (WebKit::StorageAreaImpl::setItem):
  2151. Pass the source frame to StorageAreaMap::setItem.
  2152. * WebProcess/Storage/StorageAreaMap.cpp:
  2153. (WebKit::StorageAreaMap::StorageAreaMap):
  2154. Send CreateStorageMap and add the object as a message receiver.
  2155. (WebKit::StorageAreaMap::~StorageAreaMap):
  2156. Send DestroyStorageMap and remove the object as a message receiver.
  2157. (WebKit::StorageAreaMap::length):
  2158. (WebKit::StorageAreaMap::key):
  2159. (WebKit::StorageAreaMap::item):
  2160. (WebKit::StorageAreaMap::contains):
  2161. Load values and forward calls to the storage map.
  2162. (WebKit::StorageAreaMap::setItem):
  2163. This now takes the source frame as well. Update the local storage map and send a SetItem message.
  2164. (WebKit::StorageAreaMap::loadValuesIfNeeded):
  2165. Get the values from the storage manager.
  2166. (WebKit::StorageAreaMap::dispatchStorageEvent):
  2167. This now takes the source storage area ID.
  2168. * WebProcess/Storage/StorageAreaMap.messages.in:
  2169. DispatchStorageEvent now takes the source storage area ID.
  2170. 2013-04-10 Brady Eidson <beidson@apple.com>
  2171. Web/Plugin process deadlock initializing async plugins.
  2172. <rdar://problem/13525232> and https://bugs.webkit.org/show_bug.cgi?id=114217
  2173. Rubberstamped by Anders Carlsson.
  2174. Rollout r147953 and r147968 as we identified other causes for this.
  2175. * PluginProcess/WebProcessConnection.cpp:
  2176. (WebKit::WebProcessConnection::createPluginAsynchronously):
  2177. * WebProcess/Plugins/PluginProxy.messages.in:
  2178. 2013-04-11 Alexey Proskuryakov <ap@apple.com>
  2179. Remove some ResourceHandle.h includes
  2180. https://bugs.webkit.org/show_bug.cgi?id=114416
  2181. Reviewed by Ryosuke Niwa.
  2182. * WebProcess/Network/NetworkProcessConnection.cpp: Added an include that is now
  2183. necessary.
  2184. 2013-04-11 Allan Sandfeld Jensen <allan.jensen@digia.com>
  2185. [Qt] EventHandler should handle Space and BackSpace
  2186. https://bugs.webkit.org/show_bug.cgi?id=114428
  2187. Reviewed by Jocelyn Turcotte.
  2188. Remove our own handling of space and backspace.
  2189. * WebProcess/WebPage/qt/WebPageQt.cpp:
  2190. (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
  2191. 2013-04-11 Csaba Osztrogonác <ossy@webkit.org>
  2192. Unreviewed Qt buildfixes after r148147, r148148 and r148154.
  2193. * DerivedSources.pri:
  2194. * Target.pri:
  2195. 2013-04-10 Zan Dobersek <zdobersek@igalia.com>
  2196. Unreviewed GTK build fix, fixing the WebKit2 build.
  2197. * GNUmakefile.list.am:
  2198. 2013-04-10 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  2199. [WK2] Build warning in didReceiveMessage() generated by messages.py
  2200. https://bugs.webkit.org/show_bug.cgi?id=112513
  2201. Reviewed by Anders Carlsson.
  2202. Legacy receiver makes -Wunused-parameter build warnings. This patch is to fix them.
  2203. * Scripts/webkit2/messages.py:
  2204. (generate_message_handler):
  2205. 2013-04-10 Jaehun Lim <ljaehun.lim@samsung.com>
  2206. [CMAKE] Build fix after StorageArea refactoring
  2207. https://bugs.webkit.org/show_bug.cgi?id=114398
  2208. Unreviewed build fix.
  2209. Change StorageAreaImpl.messages.in with StorageAreaMap.messages.in.
  2210. Add StorageAreaMap.cpp in CMakeLists.txt.
  2211. * CMakeLists.txt:
  2212. 2013-04-10 Anders Carlsson <andersca@apple.com>
  2213. Make StorageAreaImpl a wrapper around StorageAreaMap
  2214. https://bugs.webkit.org/show_bug.cgi?id=114404
  2215. Reviewed by Oliver Hunt.
  2216. Prepare for moving all the code that deals with local storage values to StorageAreaMap,
  2217. and make StorageAreaImpl a dumb wrapper that simply calls through to the map.
  2218. * WebProcess/Storage/StorageAreaImpl.cpp:
  2219. (WebKit::StorageAreaImpl::create):
  2220. (WebKit::StorageAreaImpl::StorageAreaImpl):
  2221. (WebKit::StorageAreaImpl::~StorageAreaImpl):
  2222. (WebKit::StorageAreaImpl::storageType):
  2223. (WebKit::StorageAreaImpl::length):
  2224. (WebKit::StorageAreaImpl::key):
  2225. (WebKit::StorageAreaImpl::getItem):
  2226. (WebKit::StorageAreaImpl::setItem):
  2227. (WebKit::StorageAreaImpl::contains):
  2228. * WebProcess/Storage/StorageAreaImpl.h:
  2229. (WebKit::StorageAreaImpl::storageAreaID):
  2230. * WebProcess/Storage/StorageAreaMap.cpp:
  2231. (WebKit::generateStorageMapID):
  2232. (WebKit::StorageAreaMap::create):
  2233. (WebKit::StorageAreaMap::StorageAreaMap):
  2234. (WebKit::StorageAreaMap::storageType):
  2235. (WebKit::StorageAreaMap::length):
  2236. (WebKit::StorageAreaMap::key):
  2237. (WebKit::StorageAreaMap::item):
  2238. (WebKit::StorageAreaMap::setItem):
  2239. (WebKit::StorageAreaMap::contains):
  2240. (WebKit::StorageAreaMap::didSetItem):
  2241. (WebKit::StorageAreaMap::dispatchStorageEvent):
  2242. * WebProcess/Storage/StorageAreaMap.h:
  2243. * WebProcess/Storage/StorageNamespaceImpl.cpp:
  2244. (WebKit::StorageNamespaceImpl::storageArea):
  2245. * WebProcess/Storage/StorageNamespaceImpl.h:
  2246. (StorageNamespaceImpl):
  2247. 2013-04-10 Anders Carlsson <andersca@apple.com>
  2248. Rename StorageManager messages to refer to the StorageMap instead of the StorageArea
  2249. https://bugs.webkit.org/show_bug.cgi?id=114401
  2250. Reviewed by Ryosuke Niwa.
  2251. * UIProcess/Storage/StorageManager.cpp:
  2252. (WebKit::StorageManager::createStorageMap):
  2253. (WebKit::StorageManager::destroyStorageMap):
  2254. (WebKit::StorageManager::setItem):
  2255. * UIProcess/Storage/StorageManager.h:
  2256. * UIProcess/Storage/StorageManager.messages.in:
  2257. * WebProcess/Storage/StorageAreaImpl.cpp:
  2258. (WebKit::StorageAreaImpl::StorageAreaImpl):
  2259. (WebKit::StorageAreaImpl::~StorageAreaImpl):
  2260. 2013-04-10 Benjamin Poulain <bpoulain@apple.com>
  2261. Mass remove all the empty directories
  2262. Rubberstamped by Ryosuke Niwa.
  2263. * Platform/CoreIPC/gtk: Removed.
  2264. * Platform/CoreIPC/qt: Removed.
  2265. * PluginProcess/EntryPoint/mac/XPCService/PluginService.32: Removed.
  2266. * PluginProcess/EntryPoint/mac/XPCService/PluginService.64: Removed.
  2267. * PluginProcess/gtk: Removed.
  2268. * Shared/API/c/win: Removed.
  2269. * Shared/Plugins/Netscape/win: Removed.
  2270. * Shared/cg/win: Removed.
  2271. * Shared/win: Removed.
  2272. * UIProcess/API/C/win: Removed.
  2273. * UIProcess/API/gtk/webkit: Removed.
  2274. * UIProcess/Launcher/win: Removed.
  2275. * UIProcess/Plugins/gtk: Removed.
  2276. * UIProcess/Plugins/win: Removed.
  2277. * UIProcess/texmap: Removed.
  2278. * UIProcess/win: Removed.
  2279. * WebProcess/Authentication/mac: Removed.
  2280. * WebProcess/Cookies/efl: Removed.
  2281. * WebProcess/Cookies/gtk: Removed.
  2282. * WebProcess/Downloads/cf/win: Removed.
  2283. * WebProcess/Downloads/cfnet: Removed.
  2284. * WebProcess/Downloads/curl: Removed.
  2285. * WebProcess/Downloads/efl: Removed.
  2286. * WebProcess/Downloads/gtk: Removed.
  2287. * WebProcess/Downloads/mac: Removed.
  2288. * WebProcess/Downloads/qt: Removed.
  2289. * WebProcess/Downloads/soup: Removed.
  2290. * WebProcess/FullScreen/gtk: Removed.
  2291. * WebProcess/FullScreen/mac: Removed.
  2292. * WebProcess/FullScreen/qt: Removed.
  2293. * WebProcess/FullScreen/win: Removed.
  2294. * WebProcess/InjectedBundle/API/c/win: Removed.
  2295. * WebProcess/InjectedBundle/win: Removed.
  2296. * WebProcess/KeyValueStorage: Removed.
  2297. * WebProcess/Network/CustomProtocols/mac: Removed.
  2298. * WebProcess/Plugins/Netscape/gtk: Removed.
  2299. * WebProcess/Plugins/Netscape/win: Removed.
  2300. * WebProcess/WebCoreSupport/win: Removed.
  2301. * WebProcess/WebPage/LayerTreeCoordinator: Removed.
  2302. * WebProcess/WebPage/ca/mac: Removed.
  2303. * WebProcess/WebPage/ca/win: Removed.
  2304. * WebProcess/WebPage/win: Removed.
  2305. * WebProcess/win: Removed.
  2306. * qt/Resources: Removed.
  2307. 2013-04-10 Jaehun Lim <ljaehun.lim@samsung.com>
  2308. [CMAKE] Build fix after r148147, r148148
  2309. https://bugs.webkit.org/show_bug.cgi?id=114395
  2310. Unreviewed build fix.
  2311. Use StorageAreaImpl, StorageNamespaceImpl instead of StorageAreaProxy, StorageNamespaceProxy.
  2312. * CMakeLists.txt:
  2313. 2013-04-10 Anders Carlsson <andersca@apple.com>
  2314. Add a stubbed out StorageAreaMap class
  2315. https://bugs.webkit.org/show_bug.cgi?id=114392
  2316. Reviewed by Andreas Kling.
  2317. The intention is that StorageAreaMap is going to take over responsibility for storing the storage values in the
  2318. web process, as well as dispatching events. A StorageAreaMap will be shared between multiple StorageAreaImpl objects,
  2319. for example if multiple frames with the same origin use local storage.
  2320. * DerivedSources.make:
  2321. * UIProcess/Storage/StorageManager.cpp:
  2322. (WebKit::StorageManager::StorageArea::dispatchEvents):
  2323. (WebKit::StorageManager::setItem):
  2324. * WebKit2.xcodeproj/project.pbxproj:
  2325. * WebProcess/Storage/StorageAreaImpl.cpp:
  2326. (WebKit::StorageAreaImpl::StorageAreaImpl):
  2327. (WebKit::StorageAreaImpl::~StorageAreaImpl):
  2328. * WebProcess/Storage/StorageAreaMap.cpp: Added.
  2329. (WebKit):
  2330. (WebKit::StorageAreaMap::create):
  2331. (WebKit::StorageAreaMap::StorageAreaMap):
  2332. (WebKit::StorageAreaMap::~StorageAreaMap):
  2333. (WebKit::StorageAreaMap::didSetItem):
  2334. (WebKit::StorageAreaMap::dispatchStorageEvent):
  2335. * WebProcess/Storage/StorageAreaMap.h: Added.
  2336. (WebKit):
  2337. (StorageAreaMap):
  2338. * WebProcess/Storage/StorageAreaMap.messages.in: Renamed from Source/WebKit2/WebProcess/Storage/StorageAreaImpl.messages.in.
  2339. 2013-04-10 Anders Carlsson <andersca@apple.com>
  2340. Rename StorageAreaProxy to StorageAreaImpl.
  2341. Rubber-stamped by Beth Dakin.
  2342. * DerivedSources.make:
  2343. * UIProcess/Storage/StorageManager.cpp:
  2344. (WebKit::StorageManager::StorageArea::dispatchEvents):
  2345. (WebKit::StorageManager::setItem):
  2346. * WebKit2.xcodeproj/project.pbxproj:
  2347. * WebProcess/Storage/StorageAreaImpl.cpp: Renamed from Source/WebKit2/WebProcess/Storage/StorageAreaProxy.cpp.
  2348. * WebProcess/Storage/StorageAreaImpl.h: Renamed from Source/WebKit2/WebProcess/Storage/StorageAreaProxy.h.
  2349. * WebProcess/Storage/StorageAreaImpl.messages.in: Renamed from Source/WebKit2/WebProcess/Storage/StorageAreaProxy.messages.in.
  2350. * WebProcess/Storage/StorageNamespaceImpl.cpp:
  2351. (WebKit::StorageNamespaceImpl::storageArea):
  2352. * WebProcess/Storage/StorageNamespaceImpl.h:
  2353. (WebKit):
  2354. (StorageNamespaceImpl):
  2355. 2013-04-10 Anders Carlsson <andersca@apple.com>
  2356. Rename StorageNamespaceProxy to StorageNamespaceImpl.
  2357. Rubber-stamped by Beth Dakin.
  2358. * WebKit2.xcodeproj/project.pbxproj:
  2359. * WebProcess/Storage/StorageAreaProxy.cpp:
  2360. (WebKit::StorageAreaProxy::create):
  2361. (WebKit::StorageAreaProxy::StorageAreaProxy):
  2362. * WebProcess/Storage/StorageAreaProxy.h:
  2363. (StorageAreaProxy):
  2364. * WebProcess/Storage/StorageNamespaceImpl.cpp: Renamed from Source/WebKit2/WebProcess/Storage/StorageNamespaceProxy.cpp.
  2365. * WebProcess/Storage/StorageNamespaceImpl.h: Renamed from Source/WebKit2/WebProcess/Storage/StorageNamespaceProxy.h.
  2366. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  2367. (WebKit::WebPlatformStrategies::sessionStorageNamespace):
  2368. 2013-04-10 Tim Horton <timothy_horton@apple.com>
  2369. [wk2] Un-pollute TCADA methods with "PageOverlayLayerMap::iterator end"
  2370. https://bugs.webkit.org/show_bug.cgi?id=114387
  2371. Reviewed by Simon Fraser.
  2372. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  2373. (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
  2374. (WebKit::TiledCoreAnimationDrawingArea::paintContents):
  2375. (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
  2376. (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
  2377. (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
  2378. (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
  2379. (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
  2380. 2013-04-10 Tim Horton <timothy_horton@apple.com>
  2381. [wk2] REGRESSION: Find highlight does not update when the view is resized
  2382. https://bugs.webkit.org/show_bug.cgi?id=114382
  2383. <rdar://problem/13599797>
  2384. Reviewed by Simon Fraser.
  2385. Invalidate the page overlays from TiledCoreAnimationDrawingArea::updateGeometry.
  2386. This will have no effect if the page overlay hasn't previously asked to be painted
  2387. (as drawsContent will remain false on the layer).
  2388. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  2389. (TiledCoreAnimationDrawingArea): Add invalidateAllPageOverlays.
  2390. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  2391. (WebKit::TiledCoreAnimationDrawingArea::invalidateAllPageOverlays): Factor this out of didChangeScrollOffsetForAnyFrame.
  2392. (WebKit::TiledCoreAnimationDrawingArea::didChangeScrollOffsetForAnyFrame): Call invalidateAllPageOverlays.
  2393. (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): Call invalidateAllPageOverlays.
  2394. 2013-04-10 Beth Dakin <bdakin@apple.com>
  2395. FindBanner matches are offset when the WKView has a header or footer
  2396. https://bugs.webkit.org/show_bug.cgi?id=114314
  2397. -and corresponding-
  2398. <rdar://problem/13522434>
  2399. Reviewed by Simon Fraser.
  2400. When calculating the matching rects, also adjust to the scroll offset that is
  2401. relative to the Document.
  2402. * WebProcess/WebPage/FindController.cpp:
  2403. (WebKit::FindController::rectsForTextMatches):
  2404. 2013-04-10 Tobias Mueller <tobiasmue@gnome.org>
  2405. Fixed build failure in Plugin.h: FloatPoint was not in namespace WebCore
  2406. make[1]: *** Waiting for unfinished jobs....
  2407. In file included from Source/WebKit2/PluginProcess/PluginCreationParameters.h:31:0,
  2408. from Source/WebKit2/PluginProcess/PluginCreationParameters.cpp:27:
  2409. ./Source/WebKit2/WebProcess/Plugins/Plugin.h:268:58: error: 'FloatPoint' in namespace 'WebCore' does not name a type
  2410. ./Source/WebKit2/WebProcess/Plugins/Plugin.h:268:77: error: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive]
  2411. cc1plus: warning: unrecognized command line option "-Wno-c++11-extensions" [enabled by default]
  2412. make[1]: *** [Source/WebKit2/PluginProcess/libwebkit2gtk_3_0_la-PluginCreationParameters.lo] Error 1
  2413. It now passes that make target.
  2414. https://bugs.webkit.org/show_bug.cgi?id=111862
  2415. Reviewed by Darin Adler.
  2416. * WebProcess/Plugins/Plugin.h:
  2417. (WebCore): Added FloatPoint to the WebCore namespace
  2418. 2013-04-08 Anders Carlsson <andersca@apple.com>
  2419. Remove unneeded headers from FrameLoader.h
  2420. https://bugs.webkit.org/show_bug.cgi?id=114223
  2421. Reviewed by Geoffrey Garen.
  2422. Include HistoryController.h from WebCore.
  2423. * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
  2424. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  2425. * WebProcess/WebPage/WebPage.cpp:
  2426. 2013-04-09 Geoffrey Garen <ggaren@apple.com>
  2427. Removed bitrotted TimeoutChecker code
  2428. https://bugs.webkit.org/show_bug.cgi?id=114336
  2429. Reviewed by Alexey Proskuryakov.
  2430. This mechanism hasn't worked for a while.
  2431. MarkL is working on a new version of this feature with a distinct
  2432. implementation.
  2433. * WebProcess/Plugins/Netscape/NPJSObject.cpp:
  2434. (WebKit::NPJSObject::construct):
  2435. (WebKit::NPJSObject::invoke):
  2436. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
  2437. (WebKit::NPRuntimeObjectMap::evaluate):
  2438. 2013-04-09 Mark Rowe <mrowe@apple.com>
  2439. <rdar://problem/13617144> WKNavigationData needs to expose the destination of the navigation
  2440. Introduce WKNavigationDataCopyNavigationDestinationURL to access the destination of the navigation.
  2441. Reviewed by Dan Bernstein.
  2442. * UIProcess/API/C/WKNavigationData.cpp:
  2443. (WKNavigationDataCopyURL): Add a note about returning the URL from the original request for sake of
  2444. backwards-compatibility.
  2445. (WKNavigationDataCopyNavigationDestinationURL): Return the URL from our underlying WebNavigationDataStore.
  2446. * UIProcess/API/C/WKNavigationData.h:
  2447. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  2448. (WebKit::WebFrameLoaderClient::updateGlobalHistory): Store the current URL in to the WebNavigationDataStore
  2449. object. WKNavigationData can retrieve the value that we were previously storing here via the originalRequest.
  2450. 2013-04-09 Mark Rowe <mrowe@apple.com>
  2451. <rdar://problem/13617104> WKPageCopySessionState needs to provide more context to the filter callback
  2452. Introduce a new value type for WKPageSessionStateFilterCallback that represents the passing
  2453. of whole WKBackForwardListItemRefs to the filter callback. This allows clients to consider
  2454. more than the original URL of the item when filtering entries from the session state.
  2455. Reviewed by Darin Adler.
  2456. * UIProcess/API/C/WKPage.cpp:
  2457. (WKPageGetSessionBackForwardListItemValueType): Return a static string representing our new value type.
  2458. * UIProcess/API/C/WKPage.h:
  2459. * UIProcess/cf/WebBackForwardListCF.cpp:
  2460. (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Call the filter function with each of the
  2461. possible value types in turn, respecting the first false value, if any, that is returned.
  2462. 2013-04-10 Anton Obzhirov <a.obzhirov@samsung.com>
  2463. [GTK] Add support for Page Visibility
  2464. https://bugs.webkit.org/show_bug.cgi?id=97324
  2465. Reviewed by Sam Weinig.
  2466. Added new unittest to test page visibility using GTK Widget visibility API.
  2467. * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
  2468. (testWebViewPageVisibility):
  2469. (beforeAll):
  2470. * UIProcess/API/gtk/tests/WebViewTest.cpp:
  2471. (WebViewTest::showInWindow):
  2472. * UIProcess/API/gtk/tests/WebViewTest.h:
  2473. 2013-04-10 Zan Dobersek <zdobersek@igalia.com>
  2474. REGRESSION (r146518): WebKit2APITests/TestInspector is failing
  2475. https://bugs.webkit.org/show_bug.cgi?id=113281
  2476. Reviewed by Darin Adler.
  2477. Changes to the WebInspectorProxy opening processing in r146518 caused the change in how the GTK-specific
  2478. WebInspectorProxy code operates, specifically the 'bring-to-front' signal is not emitted anymore when opening the
  2479. inspector due to the WebInspectorProxy::bringToFront method now only bringing the inspector window to front if it exists
  2480. and opening it (and thus unable to bring it to front) otherwise.
  2481. Closing of the inspector through the didClose method is now done immediately after sending the WebInspector::Close()
  2482. message to the WebProcess rather than waiting for the WebProcess to communicate back the order of closing. Due to this
  2483. the relevant code in the test cases had to be changed to not run the loop but rather just check that the closing was
  2484. successful.
  2485. (InspectorTest::InspectorTest): Remove the initialization of the now redundant m_quitOnBringToFront member variable.
  2486. (InspectorTest::bringToFront): Quit the loop without checking the removed member variable.
  2487. (InspectorTest::closed): Do not quit the loop as it is not run anymore.
  2488. (InspectorTest::showIdle): A helper method that asynchronously calls the webkit_web_inspector_show method, removing some
  2489. unnecessary complexity about under what exact circumstances to quit the loop in open-window/bring-to-front callbacks.
  2490. (InspectorTest::show): Replaces the showAndWaitUntilFinished method, adding an idle invocation of the showIdle helper
  2491. method and running the loop.
  2492. (InspectorTest::close): Formerly closeAndWaitUntilClosed, now does not run the loop anymore as there's no need for it.
  2493. (testInspectorDefault): Only the window opening event is now expected upon showing the inspector for the first time.
  2494. Adjusting callsites to use InspectorTest::show and InspectorTest::close instead of
  2495. InspectorTest::showAndWaitUntilFinished and InspectorTest::showAndWaitUntilFinished.
  2496. (CustomInspectorTest::destroyWindow): Formerly destroyWindowAndWaitUntilClosed, the closing is not asynchronous anymore
  2497. so the loop is not run.
  2498. (testInspectorManualAttachDetach): Only the window opening event is now expected upon showing the inspector for the first time.
  2499. Adjusting callsites to use InspectorTest::show and InspectorTest::close instead of
  2500. InspectorTest::showAndWaitUntilFinished and InspectorTest::showAndWaitUntilFinished.
  2501. (testInspectorCustomContainerDestroyed): Adjusting callsites to use InspectorTest::show and CustomInspectorTest::destroyWindow
  2502. instead of InspectorTest::showAndWaitUntilFinished and CustomInspectorTest::destroyWindowAndWaitUntilClosed.
  2503. * UIProcess/WebInspectorProxy.cpp:
  2504. (WebKit::WebInspectorProxy::show): When showing a connected WebInspectorProxy, call the bringToFront method which will
  2505. open the inspector if it's not yet visible or bring it to the front otherwise.
  2506. 2013-04-10 Zan Dobersek <zandobersek@gmail.com>
  2507. [GTK][WK2] Implement WebInspectorProxy::platformInspectedWindowWidth
  2508. https://bugs.webkit.org/show_bug.cgi?id=113498
  2509. Reviewed by Martin Robinson.
  2510. The method was introduced in r147004.
  2511. * UIProcess/API/gtk/tests/TestInspector.cpp: Specify the gMinimumAttachedInspectorWidth variable, reflecting the value
  2512. of WebInspectorProxy::minimumAttachedWidth. Use it as the width to which the inspected view should be resized in
  2513. InspectorTest::resizeViewAndAttach.
  2514. * UIProcess/gtk/WebInspectorProxyGtk.cpp:
  2515. (WebKit::WebInspectorProxy::platformInspectedWindowHeight): Use the gtk_widget_get_allocated_height method to return the
  2516. widget height.
  2517. (WebKit::WebInspectorProxy::platformInspectedWindowWidth): Newly implemented, similarly uses the
  2518. gtk_widget_get_allocated_width method to return the widget width.
  2519. 2013-04-09 Antoine Quint <graouts@apple.com>
  2520. WKFrameIsDisplayingMarkupDocument should return true for Web Archives
  2521. https://bugs.webkit.org/show_bug.cgi?id=114291
  2522. Reviewed by Dean Jackson.
  2523. Also return true for the Web Archive MIME type since a Web Archive
  2524. is displaying a markup document by nature.
  2525. * UIProcess/WebFrameProxy.cpp:
  2526. (WebKit::WebFrameProxy::isDisplayingMarkupDocument):
  2527. 2013-04-09 Anders Carlsson <andersca@apple.com>
  2528. REGRESSION (r147454): Youtube annotation links to new window broken
  2529. https://bugs.webkit.org/show_bug.cgi?id=114242
  2530. <rdar://problem/13609940>
  2531. Reviewed by Beth Dakin.
  2532. Set the current user gesture to "DefinitelyProcessingNewUserGesture" if popups are allowed.
  2533. * WebProcess/Plugins/PluginView.cpp:
  2534. (WebKit::PluginView::performFrameLoadURLRequest):
  2535. 2013-04-09 Anders Carlsson <andersca@apple.com>
  2536. If we fail to decode a message name, pass the message length as the name
  2537. https://bugs.webkit.org/show_bug.cgi?id=114305
  2538. <rdar://problem/13605703>
  2539. Reviewed by Sam Weinig.
  2540. * Platform/CoreIPC/ArgumentDecoder.h:
  2541. (CoreIPC::ArgumentDecoder::length):
  2542. * Platform/CoreIPC/Connection.cpp:
  2543. (CoreIPC::Connection::processIncomingMessage):
  2544. 2013-04-08 Dean Jackson <dino@apple.com>
  2545. Don't create another plugin process for restarted plugins
  2546. https://bugs.webkit.org/show_bug.cgi?id=114233
  2547. Reviewed by Geoff Garen.
  2548. A snapshotting plugin starts in a separate process from
  2549. regular plugins. This can be a little confusing to users
  2550. because they might see two plugin processes. We can set
  2551. the minimum life and timeout on the snapshotting process
  2552. to much smaller values, since the process doesn't need
  2553. to live that long. This will reduce some potential
  2554. confusion. Also, since there is another plugin process
  2555. running real plugins, it should be paged in if it needs
  2556. to restart.
  2557. There was, however, a bug in the process management. A
  2558. restarted plugin received a special PluginProcess::Type,
  2559. so that it could cross fade into the page nicely. This
  2560. caused it to start a *third* plugin process. Instead
  2561. mark a restarted flag directly on the PluginProxy and
  2562. revert back to two process types.
  2563. * PluginProcess/PluginProcess.h: Remove TypeRestartedProcess.
  2564. * UIProcess/Plugins/PluginProcessProxy.cpp: Add two new
  2565. timeout values for snapshotting processes.
  2566. (WebKit::PluginProcessProxy::didFinishLaunching): Chose which
  2567. of the timeout pairs to use.
  2568. * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
  2569. (WebKit::PluginProxy::pluginLayer): Don't look at the process type, instead
  2570. look at the process flag to see if we are restarted.
  2571. * WebProcess/Plugins/PluginProxy.cpp:
  2572. (WebKit::PluginProxy::create): Copy the new flag into constructor.
  2573. (WebKit::PluginProxy::PluginProxy): Remember the flag.
  2574. * WebProcess/Plugins/PluginProxy.h: Add a new m_restartedProcess flag.
  2575. * WebProcess/WebPage/WebPage.cpp:
  2576. (WebKit::WebPage::createPlugin): When we are creating the proxy, separate
  2577. the concept of snapshotting and restarting.
  2578. 2013-04-09 Tim Horton <timothy_horton@apple.com>
  2579. [wk2] IconDatabase images should be decoded in the WebProcess
  2580. https://bugs.webkit.org/show_bug.cgi?id=112524
  2581. <rdar://problem/10133914>
  2582. Reviewed by Oliver Hunt.
  2583. In the interests of keeping decoding of data coming in from the greater Internet
  2584. in the WebProcess, move decoding of favicons from the UIProcess to the WebProcess.
  2585. * UIProcess/WebIconDatabase.cpp:
  2586. (WebKit::WebIconDatabase::setIconBitmapForIconURL):
  2587. Receive a ShareableBitmap handle from the WebProcess instead of a DataReference.
  2588. Use the new setIconBitmapForIconURL IconDatabase method.
  2589. * UIProcess/WebIconDatabase.h:
  2590. (WebIconDatabase):
  2591. Rename setIconDataForIconURL to setIconBitmapForIconURL.
  2592. * UIProcess/WebIconDatabase.messages.in: Ditto.
  2593. * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
  2594. (WebKit::WebIconDatabaseProxy::setIconDataForIconURL):
  2595. In the WebProcess, decode the incoming icon and draw it into a ShareableBitmap.
  2596. 2013-04-09 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
  2597. [EFL] Declare TEST_THEME_DIR in a single place.
  2598. https://bugs.webkit.org/show_bug.cgi?id=114285
  2599. Reviewed by Anders Carlsson.
  2600. * PlatformEfl.cmake: Remove definition of `TEST_THEME_DIR', which is
  2601. now defined in OptionsEfl.cmake.
  2602. 2013-04-09 Rafael Brandao <rafael.lobo@openbossa.org>
  2603. [CoordinatedGraphics] serviceScriptedAnimations expects time in seconds
  2604. https://bugs.webkit.org/show_bug.cgi?id=112582
  2605. Reviewed by Andreas Kling.
  2606. We've been exposing different time unit for requestAnimationFrame because
  2607. of wrong conversion before serviceScriptedAnimations function calls.
  2608. Fixed it to use seconds instead of milliseconds.
  2609. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  2610. (WebKit::CoordinatedLayerTreeHost::syncDisplayState): Remove unnecessary conversion.
  2611. 2013-04-09 Michael Brüning <michael.bruning@digia.com>
  2612. [Qt][WK2] Remove obsolete QtWebPageFindClient forward declaration from qquickwebview_p.h.
  2613. https://bugs.webkit.org/show_bug.cgi?id=114284
  2614. Reviewed by Andreas Kling.
  2615. The class QtWebPageFindClient was removed in r142073 when the functionality
  2616. was folded into QQuickWebViewPrivate.
  2617. * UIProcess/API/qt/qquickwebview_p.h:
  2618. (WebKit):
  2619. 2013-04-09 Michael Brüning <michael.bruning@digia.com>
  2620. Fix GTK WebKit2 build after r148005.
  2621. https://bugs.webkit.org/show_bug.cgi?id=114270
  2622. Reviewed by Andreas Kling.
  2623. Fix GTK build break that went through the buildbot undetected.
  2624. * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
  2625. (webkit_file_chooser_request_get_selected_files):
  2626. 2013-04-09 Michael Brüning <michael.bruning@digia.com>
  2627. [Qt][WK2] Remove direct references to WebPageProxy from QQuickWebPage.
  2628. https://bugs.webkit.org/show_bug.cgi?id=112850
  2629. Reviewed by Andreas Kling.
  2630. Removes direct references to WebPageProxy from QQuickWebPage and prepares the
  2631. class for the move to QRawWebView. The access to the device scale factor and
  2632. CoordinatedGraphicsScene is provided through QQuickWebViewPrivate, and therefore
  2633. accessors to these properties are temporarily added. Eventually, this access will
  2634. be provided through QRawWebView when the move is complete.
  2635. This also moves the pointer to QtWebPageEventHandler from QQuickWebPagePrivate
  2636. to QQuickWebViewPrivate as it is mainly used from there.
  2637. * UIProcess/API/qt/qquickwebpage.cpp:
  2638. (QQuickWebPagePrivate::QQuickWebPagePrivate):
  2639. (QQuickWebPagePrivate::paint):
  2640. (QQuickWebPage::updatePaintNode):
  2641. * UIProcess/API/qt/qquickwebpage_p.h:
  2642. * UIProcess/API/qt/qquickwebpage_p_p.h:
  2643. (QQuickWebPagePrivate):
  2644. * UIProcess/API/qt/qquickwebview.cpp:
  2645. (QQuickWebViewPrivate::initialize):
  2646. (QQuickWebViewPrivate::handleMouseEvent):
  2647. (QQuickWebViewPrivate::processDidCrash):
  2648. (QQuickWebViewPrivate::coordinatedGraphicsScene):
  2649. (QQuickWebViewPrivate::deviceScaleFactor):
  2650. (QQuickWebViewPrivate::setIntrinsicDeviceScaleFactor):
  2651. (QQuickWebViewFlickablePrivate::onComponentComplete):
  2652. (QQuickWebView::keyPressEvent):
  2653. (QQuickWebView::keyReleaseEvent):
  2654. (QQuickWebView::inputMethodEvent):
  2655. (QQuickWebView::focusInEvent):
  2656. (QQuickWebView::itemChange):
  2657. (QQuickWebView::touchEvent):
  2658. (QQuickWebView::wheelEvent):
  2659. (QQuickWebView::hoverEnterEvent):
  2660. (QQuickWebView::hoverMoveEvent):
  2661. (QQuickWebView::hoverLeaveEvent):
  2662. (QQuickWebView::dragMoveEvent):
  2663. (QQuickWebView::dragEnterEvent):
  2664. (QQuickWebView::dragLeaveEvent):
  2665. (QQuickWebView::dropEvent):
  2666. * UIProcess/API/qt/qquickwebview_p_p.h:
  2667. (WebCore):
  2668. (WebKit):
  2669. (QQuickWebViewPrivate):
  2670. 2013-04-09 Michael Brüning <michael.bruning@digia.com>
  2671. [Qt][WK2] Use C API to enable Navigator Qt Object.
  2672. https://bugs.webkit.org/show_bug.cgi?id=112810
  2673. Reviewed by Andreas Kling.
  2674. Replace the direct reference to the WebPageProxy with use of
  2675. C API.
  2676. * UIProcess/API/qt/qquickwebview.cpp:
  2677. (QQuickWebViewPrivate::setNavigatorQtObjectEnabled):
  2678. 2013-04-09 Michael Brüning <michael.bruning@digia.com>
  2679. [WK2] Add C API to copy selected files from WebOpenPanelParameters.
  2680. https://bugs.webkit.org/show_bug.cgi?id=112339
  2681. Reviewed by Andreas Kling.
  2682. Replaces the existing WebOpenPanelParameters::selectedFileNames() method
  2683. to return a copy of the selected file names and exposes it through the
  2684. C API. This is done in order to reduce the direct use of WebKit2 internal
  2685. classes. The implementation is very similar to the one in
  2686. WebOpenPanelParameters::acceptMIMETypes().
  2687. This also updates the GTK port, which is the other user of selectedFileNames.
  2688. * Shared/WebOpenPanelParameters.cpp:
  2689. (WebKit::WebOpenPanelParameters::selectedFileNames):
  2690. (WebKit):
  2691. * Shared/WebOpenPanelParameters.h:
  2692. (WebOpenPanelParameters):
  2693. * UIProcess/API/C/WKOpenPanelParameters.cpp:
  2694. (WKOpenPanelParametersCopySelectedFileNames):
  2695. * UIProcess/API/C/WKOpenPanelParameters.h:
  2696. * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
  2697. (webkit_file_chooser_request_get_selected_files):
  2698. * UIProcess/qt/QtWebPageUIClient.cpp:
  2699. (WebKit::QtWebPageUIClient::runOpenPanel):
  2700. 2013-04-09 Jinwoo Song <jinwoo7.song@samsung.com>
  2701. [WK2] Remove build warnings for unused parameters
  2702. https://bugs.webkit.org/show_bug.cgi?id=114234
  2703. Reviewed by Andreas Kling.
  2704. Fix build warnings -Wunused-parameter.
  2705. * UIProcess/Storage/StorageManager.cpp:
  2706. (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
  2707. * UIProcess/WebContext.cpp:
  2708. (WebKit::WebContext::requestNetworkingStatistics):
  2709. (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
  2710. * WebProcess/Storage/StorageAreaProxy.cpp:
  2711. (WebKit::StorageAreaProxy::removeItem):
  2712. (WebKit::StorageAreaProxy::clear):
  2713. (WebKit::StorageAreaProxy::dispatchSessionStorageEvent):
  2714. (WebKit::StorageAreaProxy::dispatchLocalStorageEvent):
  2715. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  2716. (WebKit::CoordinatedLayerTreeHost::didUninstallPageOverlay):
  2717. * WebProcess/WebPage/WebPage.cpp:
  2718. (WebKit::WebPage::didFinishLoad):
  2719. * WebProcess/WebProcess.cpp:
  2720. (WebKit::WebProcess::shouldPlugInAutoStartFromOrigin):
  2721. 2013-04-09 Thiago Marcos P. Santos <thiago.santos@intel.com>
  2722. [WK2] Drop WebProcess capabilities on Linux using seccomp filters
  2723. https://bugs.webkit.org/show_bug.cgi?id=89875
  2724. Reviewed by Maciej Stachowiak.
  2725. Introduce the foundations of the SeccompFilter-based sandbox. The
  2726. hardening of the WebProcess (and potentially PluginProcess, etc)
  2727. works by a combination of the two things:
  2728. - Blocking syscalls that are not used, reducing the size of the attack
  2729. surface.
  2730. - Trapping sensitive syscalls and delegating the execution of these
  2731. syscalls to a separated trusted process subject to a set of policies.
  2732. The initial implementation traps the open()-family of syscalls on WebKit
  2733. EFL's and Qt's WebProcess, but it could be easily used by any Linux port,
  2734. since the code is suppose to be Linux-compliant. The list of syscalls handled
  2735. by the broker process should definitely grow as we mature the
  2736. implementation. Other syscalls needs to be handled to get this sandbox
  2737. fully functional, like unlink(), mkdir(), etc.
  2738. The broker process should be initialized as early as possible on the
  2739. sandboxed process main() function, because it only does a fork(), which
  2740. is cheap on Linux. That also aims to minimize the resident memory footprint
  2741. of the broker process.
  2742. Opening of files for upload and saving downloads is not supported yet,
  2743. since it should be handled to the UIProcess in a similar fashion as
  2744. the Mac port does.
  2745. * PlatformEfl.cmake:
  2746. * Shared/linux/SeccompFilters/OpenSyscall.cpp: Added.
  2747. (WebKit):
  2748. (WebKit::OpenSyscall::createFromOpenatContext):
  2749. (WebKit::OpenSyscall::createFromCreatContext):
  2750. (WebKit::OpenSyscall::OpenSyscall):
  2751. (WebKit::OpenSyscall::setResult):
  2752. (WebKit::OpenSyscall::execute):
  2753. (WebKit::OpenSyscall::encode):
  2754. (WebKit::OpenSyscall::decode):
  2755. (WebKit::OpenSyscallResult::OpenSyscallResult):
  2756. (WebKit::OpenSyscallResult::~OpenSyscallResult):
  2757. (WebKit::OpenSyscallResult::encode):
  2758. (WebKit::OpenSyscallResult::decode):
  2759. * Shared/linux/SeccompFilters/OpenSyscall.h: Added.
  2760. (CoreIPC):
  2761. (WebKit):
  2762. (OpenSyscall):
  2763. (WebKit::OpenSyscall::setPath):
  2764. (WebKit::OpenSyscall::setFlags):
  2765. (WebKit::OpenSyscall::setMode):
  2766. (OpenSyscallResult):
  2767. (WebKit::OpenSyscallResult::fd):
  2768. (WebKit::OpenSyscallResult::errorNumber):
  2769. * Shared/linux/SeccompFilters/SeccompBroker.cpp: Added.
  2770. (WebKit):
  2771. (SeccompBrokerClient):
  2772. (WebKit::sendMessage):
  2773. (WebKit::receiveMessage):
  2774. (WebKit::SIGSYSHandler):
  2775. (WebKit::registerSIGSYSHandler):
  2776. (WebKit::SeccompBrokerClient::shared):
  2777. (WebKit::SeccompBrokerClient::SeccompBrokerClient):
  2778. (WebKit::SeccompBrokerClient::~SeccompBrokerClient):
  2779. (WebKit::SeccompBrokerClient::dispatch):
  2780. (WebKit::SeccompBrokerClient::handleIfOpeningOnlineCPUCount):
  2781. (WebKit::SeccompBroker::launchProcess):
  2782. (WebKit::SeccompBroker::initialize):
  2783. (WebKit::SeccompBroker::runLoop):
  2784. * Shared/linux/SeccompFilters/SeccompBroker.h: Added.
  2785. (WebKit):
  2786. (SeccompBroker):
  2787. (WebKit::SeccompBroker::setSyscallPolicy):
  2788. (WebKit::SeccompBroker::SeccompBroker):
  2789. * Shared/linux/SeccompFilters/SeccompFilters.cpp: Added.
  2790. (WebKit):
  2791. (WebKit::SeccompFilters::SeccompFilters):
  2792. (WebKit::SeccompFilters::~SeccompFilters):
  2793. (WebKit::SeccompFilters::addRule):
  2794. (WebKit::SeccompFilters::initialize):
  2795. * Shared/linux/SeccompFilters/SeccompFilters.h: Added.
  2796. (WebKit):
  2797. (SeccompFilters):
  2798. (WebKit::SeccompFilters::context):
  2799. (WebKit::SeccompFilters::platformInitialize):
  2800. * Shared/linux/SeccompFilters/SigactionSyscall.cpp: Added.
  2801. (WebKit):
  2802. (WebKit::SigactionSyscall::createFromContext):
  2803. * Shared/linux/SeccompFilters/SigactionSyscall.h: Added.
  2804. (WebKit):
  2805. (SigactionSyscall):
  2806. * Shared/linux/SeccompFilters/SigprocmaskSyscall.cpp: Added.
  2807. (WebKit):
  2808. (WebKit::SigprocmaskSyscall::createFromContext):
  2809. * Shared/linux/SeccompFilters/SigprocmaskSyscall.h: Added.
  2810. (WebKit):
  2811. (SigprocmaskSyscall):
  2812. * Shared/linux/SeccompFilters/Syscall.cpp: Added.
  2813. (WebKit):
  2814. (WebKit::Syscall::createFromContext):
  2815. (WebKit::Syscall::createFromDecoder):
  2816. (WebKit::Syscall::Syscall):
  2817. (WebKit::SyscallResult::createFromDecoder):
  2818. (WebKit::SyscallResult::SyscallResult):
  2819. * Shared/linux/SeccompFilters/Syscall.h: Added.
  2820. (CoreIPC):
  2821. (WebKit):
  2822. (Syscall):
  2823. (WebKit::Syscall::~Syscall):
  2824. (WebKit::Syscall::type):
  2825. (WebKit::Syscall::setContext):
  2826. (WebKit::Syscall::context):
  2827. (SyscallResult):
  2828. (WebKit::SyscallResult::~SyscallResult):
  2829. (WebKit::SyscallResult::type):
  2830. * Shared/linux/SeccompFilters/SyscallPolicy.cpp: Added.
  2831. (WebKit):
  2832. (WebKit::removeTrailingSlash):
  2833. (WebKit::SyscallPolicy::hasPermissionForPath):
  2834. (WebKit::SyscallPolicy::addFilePermission):
  2835. (WebKit::SyscallPolicy::addDirectoryPermission):
  2836. (WebKit::SyscallPolicy::addDefaultWebProcessPolicy):
  2837. * Shared/linux/SeccompFilters/SyscallPolicy.h: Added.
  2838. (WebKit):
  2839. (SyscallPolicy):
  2840. * Target.pri:
  2841. * WebKit2.pri:
  2842. * WebProcess/efl/SeccompFiltersWebProcessEfl.cpp: Added.
  2843. (WebKit):
  2844. (WebKit::SeccompFiltersWebProcessEfl::SeccompFiltersWebProcessEfl):
  2845. (WebKit::SeccompFiltersWebProcessEfl::platformInitialize):
  2846. * WebProcess/efl/SeccompFiltersWebProcessEfl.h: Added.
  2847. (WebKit):
  2848. (SeccompFiltersWebProcessEfl):
  2849. * WebProcess/qt/SeccompFiltersWebProcessQt.cpp: Added.
  2850. (WebKit):
  2851. (WebKit::SeccompFiltersWebProcessQt::SeccompFiltersWebProcessQt):
  2852. (WebKit::SeccompFiltersWebProcessQt::platformInitialize):
  2853. * WebProcess/qt/SeccompFiltersWebProcessQt.h: Added.
  2854. (WebKit):
  2855. (SeccompFiltersWebProcessQt):
  2856. * WebProcess/qt/WebProcessQt.cpp:
  2857. (WebKit::WebProcess::platformInitializeWebProcess):
  2858. * WebProcess/soup/WebProcessSoup.cpp:
  2859. (WebKit::WebProcess::platformInitializeWebProcess):
  2860. 2013-04-08 Grzegorz Czajkowski <g.czajkowski@samsung.com>
  2861. [WK2][EFL] Mark not implemented methods in TextCheckerEfl.
  2862. https://bugs.webkit.org/show_bug.cgi?id=112261
  2863. Reviewed by Anders Carlsson.
  2864. There's no need to call client's methods in TextCheckerEfl.cpp if they are not
  2865. implemented. Mark them as not implemented until we provide proper implementation.
  2866. * UIProcess/efl/TextCheckerEfl.cpp:
  2867. (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
  2868. (WebKit::TextChecker::setGrammarCheckingEnabled):
  2869. (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
  2870. (WebKit::TextChecker::checkGrammarOfString):
  2871. (WebKit::TextChecker::spellingUIIsShowing):
  2872. (WebKit::TextChecker::toggleSpellingUIIsShowing):
  2873. (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
  2874. (WebKit::TextChecker::updateSpellingUIWithGrammarString):
  2875. 2013-04-08 Benjamin Poulain <benjamin@webkit.org>
  2876. Remove HTML Notification
  2877. https://bugs.webkit.org/show_bug.cgi?id=114231
  2878. Reviewed by Ryosuke Niwa.
  2879. * Configurations/FeatureDefines.xcconfig:
  2880. 2013-04-08 Tim Horton <timothy_horton@apple.com>
  2881. Don't run primary plugin detection if plugin snapshotting is off
  2882. https://bugs.webkit.org/show_bug.cgi?id=114222
  2883. <rdar://problem/13603988>
  2884. Reviewed by Dean Jackson.
  2885. * WebProcess/WebPage/WebPage.cpp:
  2886. (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
  2887. 2013-04-08 Patrick Gansterer <paroga@webkit.org>
  2888. [WIN] Remove WebKit2 source code
  2889. https://bugs.webkit.org/show_bug.cgi?id=114096
  2890. Reviewed by Anders Carlsson.
  2891. Remove conditional includes for the windows platform.
  2892. * Shared/API/c/WKBase.h:
  2893. * UIProcess/API/C/WKAPICast.h:
  2894. 2013-04-08 Geoffrey Garen <ggaren@apple.com>
  2895. Stop #include-ing all of JavaScriptCore in every DOM-related file
  2896. https://bugs.webkit.org/show_bug.cgi?id=114220
  2897. Reviewed by Sam Weinig.
  2898. * Shared/WebCoreArgumentCoders.cpp:
  2899. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
  2900. 2013-04-08 Brady Eidson <beidson@apple.com>
  2901. Web/Plugin process deadlock initializing async plugins.
  2902. <rdar://problem/13525232> and https://bugs.webkit.org/show_bug.cgi?id=114217
  2903. Reviewed by Anders Carlsson.
  2904. The "Async initialization complete" messages probably don't have to be synchronous.
  2905. * PluginProcess/WebProcessConnection.cpp:
  2906. (WebKit::WebProcessConnection::createPluginAsynchronously): Notify of initialization success/failure asynchronously.
  2907. * WebProcess/Plugins/PluginProxy.messages.in:
  2908. 2013-04-08 Anders Carlsson <andersca@apple.com>
  2909. Add an async version of ResourceHandle::didReceiveResponse
  2910. https://bugs.webkit.org/show_bug.cgi?id=114215
  2911. Reviewed by Sam Weinig.
  2912. * NetworkProcess/NetworkResourceLoader.cpp:
  2913. (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
  2914. Send the message and then call continueDidReceiveResponse.
  2915. 2013-04-08 Carlos Garcia Campos <cgarcia@igalia.com>
  2916. [GTK] Build Platform as a separate static library
  2917. https://bugs.webkit.org/show_bug.cgi?id=114164
  2918. Reviewed by Martin Robinson.
  2919. This way we reduce a bit the amount of files compiled twice
  2920. because of the plugin process.
  2921. * GNUmakefile.am:
  2922. * GNUmakefile.list.am:
  2923. * Platform/gtk/WorkQueueGtk.cpp: Remove unused header.
  2924. * Platform/unix/SharedMemoryUnix.cpp: Ditto.
  2925. 2013-04-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  2926. [WK2][EFL] WebView: Add callbacks to the WKViewClient to remove direct access to page viewport controller
  2927. https://bugs.webkit.org/show_bug.cgi?id=110741
  2928. Reviewed by Anders Carlsson.
  2929. Provided WKViewClient with didRequestScroll, didRenderFrame and didCompletePageTransition
  2930. callbacks so that direct access from WebView to page viewport controller is avoided.
  2931. Implementation of callbacks is also added to keep the current EFL WK2 functionality.
  2932. * UIProcess/API/C/efl/WKView.h:
  2933. * UIProcess/efl/PageLoadClientEfl.cpp:
  2934. (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
  2935. Moved here code from deleted WebView::didCommitLoad.
  2936. * UIProcess/efl/ViewClientEfl.cpp:
  2937. (WebKit::ViewClientEfl::didChangeContentsPosition):
  2938. (WebKit):
  2939. (WebKit::ViewClientEfl::didRenderFrame):
  2940. (WebKit::ViewClientEfl::didCompletePageTransition):
  2941. (WebKit::ViewClientEfl::ViewClientEfl):
  2942. * UIProcess/efl/ViewClientEfl.h:
  2943. (ViewClientEfl):
  2944. * UIProcess/efl/WebView.cpp:
  2945. (WebKit::WebView::pageDidRequestScroll):
  2946. (WebKit::WebView::didRenderFrame):
  2947. (WebKit::WebView::pageTransitionViewportReady):
  2948. * UIProcess/efl/WebViewClient.cpp:
  2949. (WebKit::WebViewClient::didChangeContentsPosition):
  2950. (WebKit):
  2951. (WebKit::WebViewClient::didRenderFrame):
  2952. (WebKit::WebViewClient::didCompletePageTransition):
  2953. * UIProcess/efl/WebViewClient.h:
  2954. (WebCore):
  2955. 2013-04-08 Andras Becsi <andras.becsi@digia.com>
  2956. [Qt][WK2] WebView's interactive property is not fully respected
  2957. https://bugs.webkit.org/show_bug.cgi?id=113066
  2958. Reviewed by Jocelyn Turcotte.
  2959. WK2 sign-off by Benjamin Poulain.
  2960. The QML WebView inherits the "interactive" property from Flickable
  2961. which is true by default, and disables the interaction with the
  2962. Flickable if set to false.
  2963. Resulting from the design of the WebView panning and flicking is
  2964. disabled by Flickable but to be consistent we also need to disable
  2965. double-tap gestures and pinch gestures since they would trigger
  2966. scale and position changes.
  2967. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  2968. (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
  2969. (WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate):
  2970. (WebKit::PageViewportControllerClientQt::pinchGestureEnded):
  2971. * UIProcess/qt/QtWebPageEventHandler.cpp:
  2972. (WebKit::QtWebPageEventHandler::handleDoubleTapEvent):
  2973. 2013-04-07 David Kilzer <ddkilzer@apple.com>
  2974. Remove the rest of SVG_DOM_OBJC_BINDINGS
  2975. <http://webkit.org/b/114112>
  2976. Reviewed by Geoffrey Garen.
  2977. * Configurations/FeatureDefines.xcconfig:
  2978. - Remove ENABLE_SVG_DOM_OBJC_BINDINGS macro.
  2979. 2013-04-06 Geoffrey Garen <ggaren@apple.com>
  2980. Try to fix the WebKit2 build.
  2981. * NetworkProcess/NetworkResourceLoader.cpp:
  2982. (WebKit):
  2983. * NetworkProcess/NetworkResourceLoader.h:
  2984. (NetworkResourceLoader): Removed a defunct function.
  2985. 2013-04-05 Ed Bartosh <bartosh@gmail.com>
  2986. [WK2] --no-tiled-backing-store build fails because FloatPoint is not declared
  2987. https://bugs.webkit.org/show_bug.cgi?id=113618
  2988. Reviewed by Simon Fraser.
  2989. * WebProcess/Plugins/Plugin.h: Forward declared FloatPoint
  2990. 2013-04-05 Geoffrey Garen <ggaren@apple.com>
  2991. Made USE(JSC) unconditional
  2992. https://bugs.webkit.org/show_bug.cgi?id=114058
  2993. Reviewed by Anders Carlsson.
  2994. * Shared/linux/WebMemorySamplerLinux.cpp:
  2995. (WebKit::WebMemorySampler::sampleWebKit):
  2996. * config.h:
  2997. 2013-04-05 Ed Bartosh <bartosh@gmail.com>
  2998. [EFL] --no-tiled-backing-store build fails because of not used #if USE(ACCELERATED_COMPOSITING)
  2999. https://bugs.webkit.org/show_bug.cgi?id=113627
  3000. Reviewed by Simon Fraser.
  3001. Wrapped code with #if USE(ACCELERATED_COMPOSITING) to make it compilable
  3002. with --no-tiled-backing-store build option:
  3003. * UIProcess/API/C/efl/WKView.cpp:
  3004. * UIProcess/API/efl/EvasGLContext.cpp:
  3005. * UIProcess/API/efl/EvasGLContext.h:
  3006. * UIProcess/API/efl/EvasGLSurface.cpp:
  3007. * UIProcess/API/efl/EvasGLSurface.h:
  3008. * UIProcess/API/efl/EwkView.cpp:
  3009. (EwkView::EwkView):
  3010. (EwkView::displayTimerFired):
  3011. (EwkView::takeSnapshot):
  3012. * UIProcess/API/efl/EwkView.h:
  3013. (WebKit):
  3014. (EwkView):
  3015. * UIProcess/API/efl/SnapshotImageGL.cpp:
  3016. * UIProcess/API/efl/SnapshotImageGL.h:
  3017. * UIProcess/PageViewportController.cpp:
  3018. * UIProcess/PageViewportController.h:
  3019. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  3020. * UIProcess/efl/ViewClientEfl.cpp:
  3021. (WebKit::ViewClientEfl::didChangeContentsSize):
  3022. * UIProcess/efl/WebView.cpp:
  3023. (WebKit::WebView::didCommitLoad):
  3024. (WebKit::WebView::updateViewportSize):
  3025. (WebKit::WebView::didChangeViewportProperties):
  3026. (WebKit::WebView::pageDidRequestScroll):
  3027. (WebKit::WebView::didRenderFrame):
  3028. (WebKit::WebView::pageTransitionViewportReady):
  3029. 2013-04-05 Ed Bartosh <bartosh@gmail.com>
  3030. [EFL][WK2] --no-tiled-backing-store build fails because of not used #if USE(COORDINATED_GRAPHICS)
  3031. https://bugs.webkit.org/show_bug.cgi?id=113629
  3032. Reviewed by Simon Fraser.
  3033. Wrapped code related to coordinated graphics with #if USE(COORDINATED_GRAPHICS)
  3034. * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp:
  3035. * UIProcess/efl/WebView.cpp:
  3036. (WebKit::WebView::initialize):
  3037. (WebKit):
  3038. (WebKit::WebView::paintToCairoSurface):
  3039. (WebKit::WebView::updateViewportSize):
  3040. 2013-04-05 Timothy Hatcher <timothy@apple.com>
  3041. Allow the Web Inspector to use WebSQL.
  3042. This fixes an exception on load in the Safari Web Inspector.
  3043. https://webkit.org/b/114040
  3044. rdar://problem/13581422
  3045. Reviewed by Anders Carlsson.
  3046. * UIProcess/mac/WebInspectorProxyMac.mm:
  3047. (WebKit::exceededDatabaseQuota): Added.
  3048. (WebKit::WebInspectorProxy::platformCreateInspectorPage): Hook up exceededDatabaseQuota.
  3049. 2013-04-04 Brady Eidson <beidson@apple.com>
  3050. Add SPI to get a copy of the context menu at a given point.
  3051. <rdar://problem/13450908> and https://bugs.webkit.org/show_bug.cgi?id=113958
  3052. Reviewed by Andy Estes.
  3053. Add the new accessor:
  3054. * WebProcess/WebPage/WebPage.cpp:
  3055. (WebKit::WebPage::contextMenuAtPoint):
  3056. * WebProcess/WebPage/WebPage.h:
  3057. Expose the new SPI:
  3058. * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  3059. (WKBundlePageCopyContextMenuAtPoint):
  3060. * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
  3061. 2013-04-05 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  3062. [WK2][EFL] WebView should own page position and scale factor
  3063. https://bugs.webkit.org/show_bug.cgi?id=111075
  3064. Reviewed by Andreas Kling.
  3065. View content position and content scale factor should belong to WebView
  3066. rather than to EwkView as it decreases EwkView usage inside EFL-agnostic
  3067. WebView and improves WebView encapsulation.
  3068. * UIProcess/API/C/efl/WKView.cpp:
  3069. (WKViewGetContentScaleFactor):
  3070. (WKViewSetContentScaleFactor):
  3071. New WKView API was added to set and get content scale factor.
  3072. The view content scale factor is not the same as page scale factor:
  3073. it always applies to content but not necessarily applies to the page.
  3074. The view content scale factor is calculated by viewport controller
  3075. and applies immediately for painting in UI process. Page scale factor
  3076. is updated later after the frame is rendered to accomplish the pending
  3077. scale change.
  3078. (WKViewGetContentPosition):
  3079. (WKViewSetContentPosition):
  3080. New WKView API was added to set and get content position.
  3081. Content position is set in UI units.
  3082. * UIProcess/API/C/efl/WKView.h:
  3083. * UIProcess/API/efl/EwkView.cpp:
  3084. (EwkView::EwkView):
  3085. * UIProcess/API/efl/EwkView.h:
  3086. (EwkView):
  3087. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  3088. (WebKit::PageViewportControllerClientEfl::setViewportPosition):
  3089. (WebKit::PageViewportControllerClientEfl::setPageScaleFactor):
  3090. * UIProcess/efl/WebView.cpp:
  3091. (WebKit::WebView::WebView):
  3092. (WebKit::WebView::paintToCairoSurface):
  3093. (WebKit::WebView::transformToScene):
  3094. (WebKit::WebView::updateViewportSize):
  3095. (WebKit::WebView::pageDidRequestScroll):
  3096. * UIProcess/efl/WebView.h:
  3097. (WebKit::WebView::setContentScaleFactor):
  3098. (WebKit::WebView::contentScaleFactor):
  3099. (WebView):
  3100. (WebKit::WebView::setContentPosition):
  3101. (WebKit::WebView::contentPosition):
  3102. 2013-04-05 Alberto Garcia <agarcia@igalia.com>
  3103. [GTK][WK2] WebKitLoaderClient: add missing initializers
  3104. https://bugs.webkit.org/show_bug.cgi?id=112961
  3105. Reviewed by Carlos Garcia Campos.
  3106. There are two new attributes: pluginLoadPolicy and pluginDidFail.
  3107. * UIProcess/API/gtk/WebKitLoaderClient.cpp:
  3108. (attachLoaderClientToView):
  3109. 2013-04-05 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  3110. [WK2][EFL] Encapsulate view states set-up within WebView
  3111. https://bugs.webkit.org/show_bug.cgi?id=110877
  3112. Reviewed by Benjamin Poulain.
  3113. View states set-up is encapsulated within WebView. This change
  3114. reduces both usage of EwkView inside WebView class and usage of
  3115. WebPageProxy inside EwkView class.
  3116. New WKView API was added so that EwkView can define whether or not
  3117. the view is visible and focused.
  3118. * UIProcess/API/C/efl/WKView.cpp:
  3119. (WKViewIsFocused):
  3120. (WKViewSetIsFocused):
  3121. (WKViewIsVisible):
  3122. (WKViewSetIsVisible):
  3123. * UIProcess/API/C/efl/WKView.h:
  3124. * UIProcess/API/efl/EwkView.cpp:
  3125. (::handleEvent):
  3126. (EwkView::handleEvasObjectShow):
  3127. (EwkView::handleEwkViewFocusIn):
  3128. (EwkView::handleEwkViewFocusOut):
  3129. * UIProcess/API/efl/EwkView.h:
  3130. * UIProcess/efl/WebView.cpp:
  3131. (WebKit::WebView::WebView):
  3132. (WebKit::WebView::setFocused):
  3133. (WebKit):
  3134. (WebKit::WebView::setVisible):
  3135. (WebKit::WebView::isViewFocused):
  3136. (WebKit::WebView::isViewVisible):
  3137. * UIProcess/efl/WebView.h:
  3138. (WebKit::WebView::isFocused):
  3139. (WebView):
  3140. (WebKit::WebView::isVisible):
  3141. 2013-04-04 KwangYong Choi <ky0.choi@samsung.com>
  3142. [EFL][WK2] Add support for getting page contents as string
  3143. https://bugs.webkit.org/show_bug.cgi?id=106752
  3144. Reviewed by Andreas Kling.
  3145. Modified ewk_view_page_contents_get() API to get page contents as string.
  3146. EWK_PAGE_CONTENTS_TYPE_STRING is added to Ewk_Page_Contents_Type.
  3147. Now, we can use both EWK_PAGE_CONTENTS_TYPE_MHTML and EWK_PAGE_CONTENTS_TYPE_STRING
  3148. for getting page contents.
  3149. * UIProcess/API/efl/ewk_view.cpp:
  3150. (Ewk_Page_Contents_Context):
  3151. (ewkViewPageContentsAsMHTMLCallback):
  3152. (ewkViewPageContentsAsStringCallback):
  3153. (ewk_view_page_contents_get):
  3154. * UIProcess/API/efl/ewk_view.h:
  3155. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  3156. (PageContentsAsMHTMLCallback):
  3157. (PageContentsAsStringCallback):
  3158. (TEST_F):
  3159. 2013-04-04 Christophe Dumez <ch.dumez@sisa.samsung.com>
  3160. [Cairo] Stop passing raw pointers to BitmapImage::create()
  3161. https://bugs.webkit.org/show_bug.cgi?id=113945
  3162. Reviewed by Martin Robinson.
  3163. Pass a smart pointer in to BitmapImage::create() instead of a raw one
  3164. for the cairo surface. The factory method prototype was updated for
  3165. cairo in r147643.
  3166. * Shared/cairo/ShareableBitmapCairo.cpp:
  3167. (WebKit::ShareableBitmap::createImage):
  3168. 2013-04-03 Dean Jackson <dino@apple.com>
  3169. Expose settings to disable plugin snapshotting autostart and primary detection
  3170. https://bugs.webkit.org/show_bug.cgi?id=113918
  3171. Reviewed by Tim Horton.
  3172. Three new settings: snapshotAllPlugIns, primaryPlugInSnapshotDetectionEnabled and
  3173. autostartOriginPlugInSnapshottingEnabled.
  3174. These are exposed via WKPreferences (WebKit2 only, since that's the only port actively
  3175. using the feature).
  3176. * Shared/WebPreferencesStore.h: Add macros for new settings.
  3177. * UIProcess/API/C/WKPreferences.cpp: Getters and setters for new settings.
  3178. (WKPreferencesSetSnapshotAllPlugIns):
  3179. (WKPreferencesGetSnapshotAllPlugIns):
  3180. (WKPreferencesSetAutostartOriginPlugInSnapshottingEnabled):
  3181. (WKPreferencesGetAutostartOriginPlugInSnapshottingEnabled):
  3182. (WKPreferencesSetPrimaryPlugInSnapshotDetectionEnabled):
  3183. (WKPreferencesGetPrimaryPlugInSnapshotDetectionEnabled):
  3184. * UIProcess/API/C/WKPreferencesPrivate.h:
  3185. * WebProcess/WebPage/WebPage.cpp:
  3186. (WebKit::WebPage::updatePreferences): Forward settings updates.
  3187. (WebKit::WebPage::addPluginView): Don't run primary plugin detection if the setting is false.
  3188. (WebKit::WebPage::didFinishLoad): Ditto.
  3189. 2013-04-04 Christophe Dumez <ch.dumez@sisa.samsung.com>
  3190. [Cairo] Fix canvas drawing of SVG-based patterns and remove NativeImageCairo
  3191. https://bugs.webkit.org/show_bug.cgi?id=113929
  3192. Reviewed by Martin Robinson.
  3193. Update code now that PassNativeImagePtr is now a typedef to PassRefPtr<cairo_surface_t>
  3194. instead of NativeImageCairo*.
  3195. * Shared/gtk/ArgumentCodersGtk.cpp:
  3196. (CoreIPC::decodeImage):
  3197. * UIProcess/API/C/cairo/WKIconDatabaseCairo.cpp:
  3198. (WKIconDatabaseTryGetCairoSurfaceForURL):
  3199. * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
  3200. (getIconSurfaceSynchronously):
  3201. 2013-04-04 Sze Howe Koh <szehowe.koh@gmail.com>
  3202. [Qt] docs: Fix module name format
  3203. https://bugs.webkit.org/show_bug.cgi?id=113209
  3204. Reviewed by Jocelyn Turcotte.
  3205. Make QDoc-generated documentation follow the conventions at
  3206. http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation
  3207. * UIProcess/API/qt/qquickwebview.cpp:
  3208. 2013-04-04 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  3209. [WK2][EFL] WebView should own view size
  3210. https://bugs.webkit.org/show_bug.cgi?id=110753
  3211. Reviewed by Andreas Kling.
  3212. WebView owns view size. WKViewGetSize and WKViewSetSize API
  3213. is exposed accordingly. Usage of EFL-specific ewkView inside
  3214. toolkit-agnostic WebView class is reduced.
  3215. * UIProcess/API/C/efl/WKView.cpp:
  3216. (WKViewGetSize):
  3217. (WKViewSetSize):
  3218. * UIProcess/API/C/efl/WKView.h:
  3219. * UIProcess/API/efl/EwkView.cpp:
  3220. (EwkView::setDeviceScaleFactor):
  3221. (EwkView::size):
  3222. (EwkView::deviceSize):
  3223. (EwkView::scheduleUpdateDisplay):
  3224. (EwkView::handleEvasObjectCalculate):
  3225. * UIProcess/API/efl/EwkView.h:
  3226. (EwkView):
  3227. * UIProcess/efl/WebView.cpp:
  3228. (WebKit::WebView::setSize):
  3229. (WebKit):
  3230. (WebKit::WebView::paintToCurrentGLContext):
  3231. (WebKit::WebView::updateViewportSize):
  3232. (WebKit::WebView::viewSize):
  3233. (WebKit::WebView::dipSize):
  3234. * UIProcess/efl/WebView.h:
  3235. (WebView):
  3236. (WebKit::WebView::size):
  3237. 2013-04-03 Anders Carlsson <andersca@apple.com>
  3238. Don't try to set the exception port for server connections
  3239. https://bugs.webkit.org/show_bug.cgi?id=113910
  3240. <rdar://problem/11248925>
  3241. Reviewed by Darin Adler.
  3242. Treat a SetExceptionPort message to the server connection as an invalid message.
  3243. * Platform/CoreIPC/mac/ConnectionMac.cpp:
  3244. (CoreIPC::Connection::receiveSourceEventHandler):
  3245. 2013-04-02 Mark Rowe <mrowe@apple.com>
  3246. <http://webkit.org/b/113898> Eliminate some code duplication by introducing an array of handlers to register / unregister.
  3247. Reviewed by Antti Koivisto.
  3248. * UIProcess/mac/WebContextMac.mm:
  3249. (OcclusionNotificationHandler): Structure containing the notification name, type and handler.
  3250. (WebKit::registerOcclusionNotificationHandlers): Register all of the handlers in the array.
  3251. (WebKit::unregisterOcclusionNotificationHandlers): Unregister all of the handlers in the array.
  3252. 2013-04-02 Mark Rowe <mrowe@apple.com>
  3253. Enable process suppression when no windows in the application have drawn recently.
  3254. <http://webkit.org/b/113854> / <rdar://problem/13540351>
  3255. Reviewed by Darin Adler.
  3256. * UIProcess/mac/WebContextMac.mm:
  3257. (WebKit::applicationWindowModificationsStarted): Note that modifications are no longer stopped.
  3258. (WebKit::applicationWindowModificationsStopped): Note that modifications have stopped.
  3259. (WebKit::registerOcclusionNotificationHandlers): Register handlers for the start and stop notifications.
  3260. (WebKit::unregisterOcclusionNotificationHandlers): Unregister handlers for the start and stop notifications.
  3261. (WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess): Allow suppression if the application is occluded
  3262. or the application has not drawn recently.
  3263. (WebKit::WebContext::canEnableProcessSuppressionForWebProcess): Ditto.
  3264. (WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses): Ditto.
  3265. 2013-04-03 Dean Jackson <dino@apple.com>
  3266. Cross fade into restarted plugin
  3267. https://bugs.webkit.org/show_bug.cgi?id=113868
  3268. Reviewed by Tim Horton.
  3269. Add a new plugin process type that indicates this is a plugin that
  3270. has been restarted from snapshotting. On Apple ports, this allows
  3271. us to animate the appearance of the plugin so that it crossfades
  3272. with the snapshot. Other ports will have to add their own fading.
  3273. * PluginProcess/PluginProcess.h: New Type: TypeRestartedProcess.
  3274. * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
  3275. (WebKit::PluginProxy::pluginLayer): When the plugin's CALayer is created, if it
  3276. is a restarted plugin, add an opacity animation to fade it in.
  3277. * WebProcess/WebPage/WebPage.cpp:
  3278. (WebKit::WebPage::createPlugin): Mark restarted plugins with the new process type.
  3279. 2013-04-03 Alexey Proskuryakov <ap@apple.com>
  3280. <rdar://problem/13564588> Add a temporary workaround for a build failure.
  3281. Fix suggested by Mark Rowe.
  3282. * Shared/mac/ChildProcessMac.mm:
  3283. 2013-04-03 Alexey Proskuryakov <ap@apple.com>
  3284. [WK2] XMLHttpRequest upload events don't work with NetworkProcess
  3285. https://bugs.webkit.org/show_bug.cgi?id=113887
  3286. Reviewed by Brady Eidson.
  3287. Just forward didSendData client call to WebProcess.
  3288. * NetworkProcess/NetworkResourceLoader.cpp:
  3289. (WebKit::NetworkResourceLoader::didSendData):
  3290. (WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge): Tweaked a comment.
  3291. * WebProcess/Network/WebResourceLoader.cpp:
  3292. (WebKit::WebResourceLoader::didSendData):
  3293. * WebProcess/Network/WebResourceLoader.h:
  3294. * WebProcess/Network/WebResourceLoader.messages.in:
  3295. 2013-04-02 Ryosuke Niwa <rniwa@webkit.org>
  3296. Remove code for Mac 10.5 and earlier from WTF and WebKit2
  3297. https://bugs.webkit.org/show_bug.cgi?id=113844
  3298. Reviewed by Benjamin Poulain.
  3299. Removed the code for 10.5 and removed if-def for 10.6.
  3300. * Shared/mac/PasteboardTypes.mm:
  3301. (WebKit::PasteboardTypes::forEditing):
  3302. 2013-04-02 Anders Carlsson <andersca@apple.com>
  3303. Be more robust against empty message receiver names in incoming messages
  3304. https://bugs.webkit.org/show_bug.cgi?id=113833
  3305. <rdar://problem/13284433>
  3306. Reviewed by Beth Dakin.
  3307. Turns out that we either send or receive messages whose receiver names are empty. This leads to bad things when we try to look
  3308. up the message receiver name in a hash map since the empty name is used to represent an empty hash map value.
  3309. * Platform/CoreIPC/Connection.cpp:
  3310. (CoreIPC::Connection::addWorkQueueMessageReceiverOnConnectionWorkQueue):
  3311. Sprinkle assertions.
  3312. (CoreIPC::Connection::processIncomingMessage):
  3313. If the message receiver name is not valid, make sure to call didReceiveInvalidMessage on the client thread.
  3314. (CoreIPC::Connection::dispatchDidReceiveInvalidMessage):
  3315. Add new helper function.
  3316. 2013-04-02 Simon Cooper <scooper@apple.com>
  3317. [Mac][WK2] Don’t let plug-ins use System V shared memory
  3318. https://bugs.webkit.org/show_bug.cgi?id=113466
  3319. <rdar://problem/13159030>
  3320. Reviewed, tweaked and landed by Alexey Proskuryakov.
  3321. Instead of allowing plug-ins to request System V shm, give them a
  3322. temporary but usable alternative if they try to request it.
  3323. * PluginProcess/mac/PluginProcessShim.mm:
  3324. 2013-04-02 Anders Carlsson <andersca@apple.com>
  3325. Add WKContextSetInvalidMessageFunction
  3326. https://bugs.webkit.org/show_bug.cgi?id=113820
  3327. <rdar://problem/12679817>
  3328. Reviewed by Tim Horton.
  3329. * UIProcess/API/C/WKContext.cpp:
  3330. (WKContextSetInvalidMessageFunction):
  3331. Call WebContext::didReceiveInvalidMessage.
  3332. * UIProcess/API/C/WKContextPrivate.h:
  3333. * UIProcess/WebContext.cpp:
  3334. (WebKit::WebContext::setInvalidMessageCallback):
  3335. Set the global variable.
  3336. (WebKit::WebContext::didReceiveInvalidMessage):
  3337. Construct a message name string and call the invalid message callback.
  3338. * UIProcess/WebProcessProxy.cpp:
  3339. (WebKit::WebProcessProxy::didReceiveInvalidMessage):
  3340. Call WebContext::didReceiveInvalidMessage.
  3341. 2013-04-02 Alexey Proskuryakov <ap@apple.com>
  3342. [Mac] Remove WKCreateNSURLConnectionDelegateProxy
  3343. https://bugs.webkit.org/show_bug.cgi?id=113810
  3344. Reviewed by Anders Carlsson.
  3345. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
  3346. (InitWebCoreSystemInterface):
  3347. 2013-04-02 Alexey Proskuryakov <ap@apple.com>
  3348. <rdar://problem/13551119> [WK2] Crashes in NetworkProcess when canceling loads
  3349. https://bugs.webkit.org/show_bug.cgi?id=113803
  3350. Reviewed by Darin Adler.
  3351. * Shared/Downloads/mac/DownloadMac.mm: (WebKit::Download::startWithHandle):
  3352. Just pass nil instead of proxy.
  3353. 2013-04-02 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  3354. [WK2] Remove repeating code in declaration of WK2 API classes
  3355. https://bugs.webkit.org/show_bug.cgi?id=112782
  3356. Reviewed by Benjamin Poulain.
  3357. The following two lines of code had been repeated in every WK2 API
  3358. object class:
  3359. 1) static const Type APIType = SomeAPIType;
  3360. 2) virtual Type type() const { return APIType; }
  3361. This patch introduces template class 'TypedAPIObject' inherited
  3362. from WebKit::APIObject and it contains the common functionality.
  3363. So the new pattern is that API object classes are inherited from
  3364. TypedAPIObject (rather than from WebKit::APIObject directly) passing
  3365. the corresponding API object type as a template parameter.
  3366. The existing API object classes are modified accordingly to the
  3367. proposed pattern.
  3368. * Shared/APIObject.h:
  3369. (WebKit):
  3370. (TypedAPIObject):
  3371. (WebKit::TypedAPIObject::~TypedAPIObject):
  3372. (WebKit::TypedAPIObject::TypedAPIObject):
  3373. * Shared/ImmutableArray.h:
  3374. (ImmutableArray):
  3375. * Shared/ImmutableDictionary.h:
  3376. (ImmutableDictionary):
  3377. * Shared/WebArchive.h:
  3378. (WebArchive):
  3379. * Shared/WebArchiveResource.h:
  3380. (WebArchiveResource):
  3381. * Shared/WebBackForwardListItem.h:
  3382. (WebBackForwardListItem):
  3383. * Shared/WebBatteryStatus.h:
  3384. (WebBatteryStatus):
  3385. * Shared/WebCertificateInfo.h:
  3386. * Shared/WebConnection.h:
  3387. (WebConnection):
  3388. * Shared/WebContextMenuItem.h:
  3389. (WebContextMenuItem):
  3390. * Shared/WebData.h:
  3391. * Shared/WebError.h:
  3392. (WebKit::WebError::errorCode):
  3393. * Shared/WebGeolocationPosition.h:
  3394. (WebGeolocationPosition):
  3395. * Shared/WebGeometry.h:
  3396. * Shared/WebGraphicsContext.h:
  3397. (WebGraphicsContext):
  3398. * Shared/WebHitTestResult.h:
  3399. * Shared/WebImage.h:
  3400. (WebImage):
  3401. * Shared/WebNetworkInfo.h:
  3402. (WebNetworkInfo):
  3403. * Shared/WebNumber.h:
  3404. * Shared/WebOpenPanelParameters.h:
  3405. (WebOpenPanelParameters):
  3406. * Shared/WebRenderLayer.h:
  3407. * Shared/WebRenderObject.h:
  3408. * Shared/WebSecurityOrigin.h:
  3409. * Shared/WebSerializedScriptValue.h:
  3410. (WebSerializedScriptValue):
  3411. * Shared/WebString.h:
  3412. * Shared/WebURL.h:
  3413. * Shared/WebURLRequest.h:
  3414. (WebURLRequest):
  3415. * Shared/WebURLResponse.h:
  3416. (WebURLResponse):
  3417. * Shared/WebUserContentURLPattern.h:
  3418. * Shared/mac/ObjCObjectGraph.h:
  3419. * UIProcess/Authentication/AuthenticationChallengeProxy.h:
  3420. (AuthenticationChallengeProxy):
  3421. * UIProcess/Authentication/AuthenticationDecisionListener.h:
  3422. (AuthenticationDecisionListener):
  3423. * UIProcess/Authentication/WebCredential.h:
  3424. (WebCredential):
  3425. * UIProcess/Authentication/WebProtectionSpace.h:
  3426. (WebProtectionSpace):
  3427. * UIProcess/Downloads/DownloadProxy.h:
  3428. (DownloadProxy):
  3429. * UIProcess/GeolocationPermissionRequestProxy.h:
  3430. (GeolocationPermissionRequestProxy):
  3431. * UIProcess/Notifications/NotificationPermissionRequest.h:
  3432. (NotificationPermissionRequest):
  3433. * UIProcess/Notifications/WebNotification.h:
  3434. (WebNotification):
  3435. * UIProcess/Notifications/WebNotificationManagerProxy.h:
  3436. (WebNotificationManagerProxy):
  3437. * UIProcess/Plugins/WebPluginSiteDataManager.h:
  3438. (WebPluginSiteDataManager):
  3439. * UIProcess/WebApplicationCacheManagerProxy.h:
  3440. (WebApplicationCacheManagerProxy):
  3441. * UIProcess/WebBackForwardList.h:
  3442. (WebBackForwardList):
  3443. * UIProcess/WebBatteryManagerProxy.h:
  3444. (WebBatteryManagerProxy):
  3445. * UIProcess/WebContext.h:
  3446. (WebContext):
  3447. * UIProcess/WebCookieManagerProxy.h:
  3448. (WebCookieManagerProxy):
  3449. * UIProcess/WebDatabaseManagerProxy.h:
  3450. (WebDatabaseManagerProxy):
  3451. * UIProcess/WebEditCommandProxy.h:
  3452. (WebEditCommandProxy):
  3453. * UIProcess/WebFrameProxy.h:
  3454. (WebFrameProxy):
  3455. * UIProcess/WebGeolocationManagerProxy.h:
  3456. (WebGeolocationManagerProxy):
  3457. * UIProcess/WebGrammarDetail.h:
  3458. (WebGrammarDetail):
  3459. * UIProcess/WebIconDatabase.h:
  3460. (WebIconDatabase):
  3461. * UIProcess/WebInspectorProxy.h:
  3462. (WebInspectorProxy):
  3463. * UIProcess/WebKeyValueStorageManagerProxy.h:
  3464. (WebKeyValueStorageManagerProxy):
  3465. * UIProcess/WebMediaCacheManagerProxy.h:
  3466. (WebMediaCacheManagerProxy):
  3467. * UIProcess/WebNavigationData.h:
  3468. (WebNavigationData):
  3469. * UIProcess/WebNetworkInfoManagerProxy.h:
  3470. (WebNetworkInfoManagerProxy):
  3471. * UIProcess/WebOpenPanelResultListenerProxy.h:
  3472. (WebOpenPanelResultListenerProxy):
  3473. * UIProcess/WebPageGroup.h:
  3474. (WebPageGroup):
  3475. * UIProcess/WebPageProxy.h:
  3476. (WebPageProxy):
  3477. * UIProcess/WebPreferences.cpp:
  3478. (WebKit::WebPreferences::WebPreferences):
  3479. * UIProcess/WebPreferences.h:
  3480. (WebPreferences):
  3481. * UIProcess/WebResourceCacheManagerProxy.h:
  3482. (WebResourceCacheManagerProxy):
  3483. * UIProcess/WebTextChecker.h:
  3484. (WebTextChecker):
  3485. * UIProcess/WebVibrationProxy.h:
  3486. (WebVibrationProxy):
  3487. * UIProcess/efl/WebPopupItemEfl.h:
  3488. (WebPopupItemEfl):
  3489. * UIProcess/efl/WebView.h:
  3490. * UIProcess/soup/WebSoupRequestManagerProxy.h:
  3491. (WebSoupRequestManagerProxy):
  3492. * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
  3493. (InjectedBundleNodeHandle):
  3494. * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
  3495. (InjectedBundleRangeHandle):
  3496. * WebProcess/InjectedBundle/InjectedBundle.h:
  3497. (InjectedBundle):
  3498. * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
  3499. * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
  3500. * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
  3501. (InjectedBundleDOMWindowExtension):
  3502. * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
  3503. * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
  3504. (InjectedBundleNavigationAction):
  3505. * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
  3506. (InjectedBundleScriptWorld):
  3507. * WebProcess/WebPage/PageOverlay.h:
  3508. (PageOverlay):
  3509. * WebProcess/WebPage/WebFrame.h:
  3510. (WebFrame):
  3511. * WebProcess/WebPage/WebInspector.h:
  3512. (WebInspector):
  3513. * WebProcess/WebPage/WebPage.h:
  3514. (WebPage):
  3515. * WebProcess/WebPage/WebPageGroupProxy.h:
  3516. (WebPageGroupProxy):
  3517. 2013-04-01 Timothy Hatcher <timothy@apple.com>
  3518. Allow changing Web Inspector dock sides without undocking first.
  3519. https://webkit.org/b/113661
  3520. rdar://problem/13543127
  3521. Reviewed by Joseph Pecoraro.
  3522. * UIProcess/WebInspectorProxy.cpp:
  3523. (WebKit::WebInspectorProxy::createInspectorPage): Send AttachedBottom and
  3524. AttachedRight messages so InspectorFrontendClientLocal knows which side we
  3525. are attached.
  3526. (WebKit::WebInspectorProxy::canAttach): If we are already attached, allow
  3527. attaching again to allow switching sides.
  3528. 2013-04-01 Anders Carlsson <andersca@apple.com>
  3529. Nor this! (Who reviewed this anyway!)
  3530. * WebProcess/Storage/StorageNamespaceProxy.cpp:
  3531. (WebKit::StorageNamespaceProxy::storageArea):
  3532. 2013-04-01 Anders Carlsson <andersca@apple.com>
  3533. Didn't mean to commit this!
  3534. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  3535. 2013-04-01 Alexey Proskuryakov <ap@apple.com>
  3536. https://bugs.webkit.org/show_bug.cgi?id=113721
  3537. <rdar://problem/13549181> REGRESSION (r146929): HTTP auth credentials not reused during session
  3538. Reviewed by Brady Eidson.
  3539. * NetworkProcess/NetworkResourceLoader.h:
  3540. * NetworkProcess/NetworkResourceLoader.cpp:
  3541. (WebKit::NetworkResourceLoader::shouldUseCredentialStorage): Added an override that
  3542. we still need. It's not great, but causes no trouble for NetworkProcess.
  3543. (WebKit::NetworkResourceLoader::shouldUseCredentialStorageAsync): Implement in
  3544. terms of sync version to avoid duplicating logic.
  3545. 2013-03-05 Anders Carlsson <andersca@apple.com>
  3546. Apply changes from storage events locally
  3547. https://bugs.webkit.org/show_bug.cgi?id=111502
  3548. Reviewed by Sam Weinig.
  3549. * WebProcess/Storage/StorageAreaProxy.cpp:
  3550. (WebKit::StorageAreaProxy::StorageAreaProxy):
  3551. Store the security origin as a member variable.
  3552. (WebKit::StorageAreaProxy::dispatchStorageEvent):
  3553. Set the item and call the appropriate event dispatch function.
  3554. (WebKit::StorageAreaProxy::dispatchSessionStorageEvent):
  3555. (WebKit::StorageAreaProxy::dispatchLocalStorageEvent):
  3556. Add stubs.
  3557. * WebProcess/Storage/StorageAreaProxy.h:
  3558. 2013-04-01 Alexey Proskuryakov <ap@apple.com>
  3559. <rdar://problem/13490123> Sandbox extension tracking is incorrect when restoring a session
  3560. https://bugs.webkit.org/show_bug.cgi?id=113709
  3561. Reviewed by Anders Carlsson.
  3562. * WebProcess/WebPage/WebPage.cpp:
  3563. (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad): Added an assertion
  3564. to catch extension tracking logic errors that could result in giving an extension to
  3565. non-local pages.
  3566. (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad): Just like
  3567. below, clearing m_pendingProvisionalSandboxExtension appears incorrect, even though
  3568. I am not aware of any scenarios where this happens in practice.
  3569. (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad): The load may
  3570. be failing exactly because a new one cancels it, so we shouldn't be preventing
  3571. the new one from using its extension.
  3572. 2013-04-01 Brady Eidson <beidson@apple.com>
  3573. SharedMemory release build hardening.
  3574. <rdar://problem/13546860> and https://bugs.webkit.org/show_bug.cgi?id=113710
  3575. Reviewed by Anders Carlsson.
  3576. Successful creation of a memory entry with a size less than the size we requested should be treated
  3577. as a failure to create the SharedMemory object.
  3578. * Platform/mac/SharedMemoryMac.cpp:
  3579. (WebKit::SharedMemory::createFromVMBuffer): Early return if the port we get is bogus for our needs.
  3580. (WebKit::SharedMemory::createHandle): Ditto.
  3581. (WebKit::SharedMemory::create): Guarantee we pass valid input in to mach_vm_map.
  3582. 2013-03-30 Csaba Osztrogonác <ossy@webkit.org>
  3583. Unreviewed buildfix after r147260.
  3584. * WebProcess/qt/QtBuiltinBundlePage.cpp:
  3585. (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
  3586. 2013-03-29 Seokju Kwon <seokju.kwon@gmail.com>
  3587. [EFL] Unreviewed build fix after r147251
  3588. https://bugs.webkit.org/show_bug.cgi?id=113631
  3589. Unreviewed build fix.
  3590. Add NETWORK_PROCESS guard.
  3591. * UIProcess/WebResourceCacheManagerProxy.cpp:
  3592. (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins):
  3593. 2013-03-29 Brady Eidson <beidson@apple.com>
  3594. Crash when "willSendRequest" causes the ResourceLoader to be cancelled.
  3595. <rdar://problem/13531679> and https://bugs.webkit.org/show_bug.cgi?id=113616
  3596. Reviewed by Alexey Proskuryakov.
  3597. These callbacks to the WebCore ResourceLoader can cause the WebResourceLoader to be destroyed.
  3598. A RefPtr<> protector fixes that.
  3599. Additionally we can invalidate the WebResourceLoader to avoid unnecessary callbacks to the NetworkProcess.
  3600. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  3601. (WebKit::WebResourceLoadScheduler::remove): Call detachFromCoreLoader() on a removed WebResourceLoader.
  3602. * WebProcess/Network/WebResourceLoader.cpp:
  3603. (WebKit::WebResourceLoader::detachFromCoreLoader): Clear out the ResourceLoader pointer.
  3604. (WebKit::WebResourceLoader::willSendRequest): Protect this, and don't message back to the NetworkProcess if its not needed.
  3605. (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace): Ditto
  3606. (WebKit::WebResourceLoader::didReceiveResource): Paranoid hardening - Protect this before delivering the data to the WebCore
  3607. ResourceLoader, and null check it before delivering the "didFinishLoader" call.
  3608. * WebProcess/Network/WebResourceLoader.h:
  3609. 2013-03-29 Brady Eidson <beidson@apple.com>
  3610. Should never send events to plugins waiting on asynchronous initialization.
  3611. <rdar://problem/13538945> and https://bugs.webkit.org/show_bug.cgi?id=113612
  3612. Reviewed by Anders Carlsson.
  3613. Sending mouse and keyboard events to a plugin in the middle of asynchronous initialization is silly.
  3614. A quick audit of the sendSync() messages in PluginProxy suggests the following 8 can just have an early return:
  3615. * WebProcess/Plugins/PluginProxy.cpp:
  3616. (WebKit::PluginProxy::handleMouseEvent):
  3617. (WebKit::PluginProxy::handleWheelEvent):
  3618. (WebKit::PluginProxy::handleMouseEnterEvent):
  3619. (WebKit::PluginProxy::handleMouseLeaveEvent):
  3620. (WebKit::PluginProxy::handleKeyboardEvent):
  3621. (WebKit::PluginProxy::handleEditingCommand):
  3622. (WebKit::PluginProxy::isEditingCommandEnabled):
  3623. (WebKit::PluginProxy::handlesPageScaleFactor):
  3624. 2013-03-29 Brady Eidson <beidson@apple.com>
  3625. Should never send events to plugins waiting on asynchronous initialization.
  3626. <rdar://problem/13538945> and https://bugs.webkit.org/show_bug.cgi?id=113612
  3627. Reviewed by Anders Carlsson.
  3628. Sending mouse and keyboard events to a plugin in the middle of asynchronous initialization is silly.
  3629. A quick audit of the sendSync() messages in PluginProxy suggests the following 8 can just have an early return:
  3630. * WebProcess/Plugins/PluginProxy.cpp:
  3631. (WebKit::PluginProxy::handleMouseEvent):
  3632. (WebKit::PluginProxy::handleWheelEvent):
  3633. (WebKit::PluginProxy::handleMouseEnterEvent):
  3634. (WebKit::PluginProxy::handleMouseLeaveEvent):
  3635. (WebKit::PluginProxy::handleKeyboardEvent):
  3636. (WebKit::PluginProxy::handleEditingCommand):
  3637. (WebKit::PluginProxy::isEditingCommandEnabled):
  3638. (WebKit::PluginProxy::handlesPageScaleFactor):
  3639. 2013-03-29 Alexey Proskuryakov <ap@apple.com>
  3640. Expose FeatureObserver data to WebKit clients
  3641. https://bugs.webkit.org/show_bug.cgi?id=113613
  3642. Reviewed by Sam Weinig.
  3643. * Shared/APIClientTraits.cpp:
  3644. * Shared/APIClientTraits.h:
  3645. * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  3646. * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
  3647. (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
  3648. * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
  3649. Added a new injected bundle client call, featuresUsedInPage.
  3650. * WebProcess/WebPage/WebPage.cpp:
  3651. (WebKit::WebPage::close):
  3652. (WebKit::WebPage::didCommitLoad):
  3653. (WebKit::WebPage::reportUsedFeatures):
  3654. * WebProcess/WebPage/WebPage.h:
  3655. Report features used in a page when navigating away, or when closing.
  3656. 2013-03-29 Brady Eidson <beidson@apple.com>
  3657. Crash when "willSendRequest" causes the ResourceLoader to be cancelled.
  3658. <rdar://problem/13531679> and https://bugs.webkit.org/show_bug.cgi?id=113616
  3659. Reviewed by Alexey Proskuryakov.
  3660. These callbacks to the WebCore ResourceLoader can cause the WebResourceLoader to be destroyed.
  3661. A RefPtr<> protector fixes that.
  3662. Additionally we can invalidate the WebResourceLoader to avoid unnecessary callbacks to the NetworkProcess.
  3663. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  3664. (WebKit::WebResourceLoadScheduler::remove): Call detachFromCoreLoader() on a removed WebResourceLoader.
  3665. * WebProcess/Network/WebResourceLoader.cpp:
  3666. (WebKit::WebResourceLoader::detachFromCoreLoader): Clear out the ResourceLoader pointer.
  3667. (WebKit::WebResourceLoader::willSendRequest): Protect this, and don't message back to the NetworkProcess if its not needed.
  3668. (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace): Ditto
  3669. (WebKit::WebResourceLoader::didReceiveResource): Paranoid hardening - Protect this before delivering the data to the WebCore
  3670. ResourceLoader, and null check it before delivering the "didFinishLoader" call.
  3671. * WebProcess/Network/WebResourceLoader.h:
  3672. 2013-03-29 Brady Eidson <beidson@apple.com>
  3673. Should never send events to plugins waiting on asynchronous initialization.
  3674. <rdar://problem/13538945> and https://bugs.webkit.org/show_bug.cgi?id=113612
  3675. Reviewed by Anders Carlsson.
  3676. Sending mouse and keyboard events to a plugin in the middle of asynchronous initialization is silly.
  3677. A quick audit of the sendSync() messages in PluginProxy suggests the following 8 can just have an early return:
  3678. * WebProcess/Plugins/PluginProxy.cpp:
  3679. (WebKit::PluginProxy::handleMouseEvent):
  3680. (WebKit::PluginProxy::handleWheelEvent):
  3681. (WebKit::PluginProxy::handleMouseEnterEvent):
  3682. (WebKit::PluginProxy::handleMouseLeaveEvent):
  3683. (WebKit::PluginProxy::handleKeyboardEvent):
  3684. (WebKit::PluginProxy::handleEditingCommand):
  3685. (WebKit::PluginProxy::isEditingCommandEnabled):
  3686. (WebKit::PluginProxy::handlesPageScaleFactor):
  3687. 2013-03-29 Brady Eidson <beidson@apple.com>
  3688. "Empty cache..." clears the disk cache from each WebProcess.
  3689. <rdar://problem/12456652> and https://bugs.webkit.org/show_bug.cgi?id=113603
  3690. Reviewed by Sam Weinig.
  3691. * NetworkProcess/NetworkProcess.cpp:
  3692. (WebKit::NetworkProcess::NetworkProcess):
  3693. (WebKit::NetworkProcess::terminate): Override ChildProcess::terminate to allow us to finish clearing the cache.
  3694. * NetworkProcess/NetworkProcess.h:
  3695. * NetworkProcess/NetworkProcess.messages.in: Add the ClearCacheForAllOrigins message.
  3696. * NetworkProcess/mac/NetworkProcessMac.mm:
  3697. (WebKit::NetworkProcess::clearCacheForAllOrigins): Clear the disk cache.
  3698. (WebKit::NetworkProcess::platformTerminate): Wait for the clear to complete.
  3699. * UIProcess/WebResourceCacheManagerProxy.cpp:
  3700. (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins): Message the network process, also.
  3701. * WebProcess/mac/WebProcessMac.mm:
  3702. (WebKit::WebProcess::platformClearResourceCaches): Don't clear the disk cache if we use the network process.
  3703. 2013-03-28 Brady Eidson <beidson@apple.com>
  3704. We leak NetworkConnectionToWebProcess objects.
  3705. <rdar://problem/13393118> and https://bugs.webkit.org/show_bug.cgi?id=113551
  3706. Reviewed by Anders Carlsson.
  3707. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  3708. (WebKit::NetworkConnectionToWebProcess::didClose): Remove this from the global set
  3709. of NetworkConnectionToWebProcess objects.
  3710. 2013-03-28 Brady Eidson <beidson@apple.com>
  3711. Resources are never revalidated/reloaded if a cached response exists on disk.
  3712. <rdar://problem/13479890> and https://bugs.webkit.org/show_bug.cgi?id=113542
  3713. Reviewed by Alexey Proskuryakov.
  3714. Trying to get a cached resource in didReceiveResponse and then aborting the load
  3715. meant we never performed any new loads.
  3716. We can check and see if the data is cached data inside didReceiveBuffer, instead.
  3717. * NetworkProcess/NetworkResourceLoader.cpp:
  3718. (WebKit::NetworkResourceLoader::didReceiveResponse): Don't try for cached resources here.
  3719. (WebKit::NetworkResourceLoader::didReceiveData): This callback should never be used.
  3720. (WebKit::NetworkResourceLoader::didReceiveBuffer): Try to see if this data objected represents
  3721. a file based mmaped buffer.
  3722. * NetworkProcess/NetworkResourceLoader.h:
  3723. Refactor these utility functions to start from either a CFURLCachedResponse or a SharedBuffer:
  3724. * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
  3725. (CFCachedURLResponseGetMemMappedData):
  3726. (CFURLCacheIsMemMappedData):
  3727. (WebKit::tryGetShareableHandleFromCFData):
  3728. (WebKit::NetworkResourceLoader::tryGetShareableHandleFromCFURLCachedResponse):
  3729. (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
  3730. 2013-03-28 Tim Horton <timothy_horton@apple.com>
  3731. [wk2] REGRESSION (r125500): WebFrameLoaderClient's active m_pluginView can be zeroed by PluginDocuments leaving the page cache
  3732. https://bugs.webkit.org/show_bug.cgi?id=113430
  3733. <rdar://problem/12729564>
  3734. Reviewed by Brady Eidson.
  3735. http://trac.webkit.org/changeset/147152 was wrong, and should have been
  3736. (as the ChangeLog stated) testing the argument to redirectDataToPlugin,
  3737. not the value of m_pluginView.
  3738. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  3739. (WebKit::WebFrameLoaderClient::redirectDataToPlugin):
  3740. 2013-03-28 Tim Horton <timothy_horton@apple.com>
  3741. [wk2] REGRESSION (r125500): WebFrameLoaderClient's active m_pluginView can be zeroed by PluginDocuments leaving the page cache
  3742. https://bugs.webkit.org/show_bug.cgi?id=113430
  3743. <rdar://problem/12729564>
  3744. Reviewed by Brady Eidson.
  3745. Ignore redirectDataToPlugin(0), which is only called from PluginDocument::detach(),
  3746. and only after r125500. Otherwise, PluginDocuments that are put into the page cache
  3747. but leave later can clear a totally different and legitimate PluginView from the
  3748. WebFrameLoaderClient, causing data to be lost and PluginDocument loads to stall.
  3749. This restores our behavior to the pre-r125500 state, which should be fine, as we
  3750. clear WebFrameLoaderClient's m_pluginView when the load fails or finishes. This
  3751. matches the changes made in r125500 for every platform other than Chromium and WebKit2.
  3752. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  3753. (WebKit::WebFrameLoaderClient::redirectDataToPlugin):
  3754. 2013-03-28 Tim Horton <timothy_horton@apple.com>
  3755. PDFPlugin: shouldUsePDFPlugin can't use pdfLayerControllerClass() because it asserts if it's not available
  3756. https://bugs.webkit.org/show_bug.cgi?id=113533
  3757. <rdar://problem/13528720>
  3758. Reviewed by Simon Fraser.
  3759. * WebProcess/WebPage/WebPage.cpp:
  3760. * WebProcess/WebPage/mac/WebPageMac.mm:
  3761. (WebKit::WebPage::shouldUsePDFPlugin):
  3762. Move shouldUsePDFPlugin to WebPageMac, where it belongs, and explicitly look up PDFLayerController
  3763. instead of using pdfLayerControllerClass(), which ASSERT()s if it isn't available.
  3764. 2013-03-28 Brady Eidson <beidson@apple.com>
  3765. Reduce PluginProcess lifetime.
  3766. <rdar://problem/12465479> and https://bugs.webkit.org/show_bug.cgi?id=113523
  3767. Reviewed by Sam Weinig.
  3768. Lower the minimum process lifetime from 30 minutes to 2 minutes.
  3769. Lower the "shutdown after last plugin goes away" period from 10 minutes to 1 minute.
  3770. * UIProcess/Plugins/PluginProcessProxy.cpp:
  3771. 2013-03-28 Zan Dobersek <zdobersek@igalia.com>
  3772. [GTK] Build GTK-specific, non-layer-violating source code into WebCore-independent libPlatformGtk.la
  3773. https://bugs.webkit.org/show_bug.cgi?id=112546
  3774. Reviewed by Martin Robinson.
  3775. * GNUmakefile.am: Reference the platform_webcore_cppflags and GTK, libsecret and libsoup dependencies' cflags amongst the
  3776. libPlatformGtk2's CPPFLAGS.
  3777. * Scripts/generate-forwarding-headers.pl: Remove the Platform framework from the list of the frameworks to be searched
  3778. for forwarding headers, it's at the moment not necessary to be included.
  3779. * Shared/gtk/ArgumentCodersGtk.cpp: Adjust the forwarding header for GtkVersioning.h that's been moved back under the
  3780. WebCore framework.
  3781. * Shared/gtk/WebEventFactory.cpp: Ditto.
  3782. * UIProcess/API/gtk/WebKitWebViewBase.cpp: Ditto.
  3783. * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Ditto.
  3784. 2013-03-27 Tim Horton <timothy_horton@apple.com>
  3785. Unreviewed Qt build fix after http://trac.webkit.org/changeset/147067.
  3786. * WebProcess/WebPage/WebPage.cpp:
  3787. 2013-03-27 Tim Horton <timothy_horton@apple.com>
  3788. PDFPlugin: Enable PDFPlugin only if its dependencies exist on the system
  3789. https://bugs.webkit.org/show_bug.cgi?id=113372
  3790. <rdar://problem/12685301>
  3791. Reviewed by Alexey Proskuryakov.
  3792. * Shared/mac/PDFKitImports.h: Wrap in #if PLATFORM(MAC).
  3793. * WebProcess/WebPage/WebPage.cpp:
  3794. (WebKit::WebPage::createPlugin): Use shouldUsePDFPlugin.
  3795. (WebKit::WebPage::shouldUsePDFPlugin): If the PDFPlugin setting is enabled but PDFLayerController is not available, don't use PDFPlugin.
  3796. * WebProcess/WebPage/WebPage.h:
  3797. (WebPage): Add shouldUsePDFPlugin
  3798. * WebProcess/WebPage/mac/WebPageMac.mm:
  3799. (WebKit::WebPage::platformPreferencesDidChange): Use shouldUsePDFPlugin.
  3800. 2013-03-27 Sam Weinig <sam@webkit.org>
  3801. [WebKit2] Need SPI to determine whether a plug-in is blocked
  3802. https://bugs.webkit.org/show_bug.cgi?id=113463
  3803. Reviewed by Anders Carlsson.
  3804. Add new SPI, WKContextCopyPlugInInfoForBundleIdetifier, to get data about a plug-in,
  3805. including whether it is blocked by x-protect.
  3806. * UIProcess/WebLoaderClient.cpp:
  3807. * UIProcess/API/C/WKAPICast.h:
  3808. (WebKit::toWKPluginLoadPolicy):
  3809. (WebKit::toPluginModuleLoadPolicy):
  3810. Move to a shared location.
  3811. * UIProcess/API/C/mac/WKContextPrivateMac.h:
  3812. * UIProcess/API/C/mac/WKContextPrivateMac.mm:
  3813. (WKContextIsPlugInUpdateAvailable):
  3814. (WKPlugInInfoPathKey):
  3815. (WKPlugInInfoBundleIdentifierKey):
  3816. (WKPlugInInfoVersionKey):
  3817. (WKPlugInInfoLoadPolicyKey):
  3818. (WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailableKey):
  3819. (WKContextCopyPlugInInfoForBundleIdetifier):
  3820. Add new SPI and dictionary keys.
  3821. * UIProcess/Plugins/PluginInfoStore.cpp:
  3822. (WebKit::PluginInfoStore::findPluginWithBundleIdentifer):
  3823. * UIProcess/Plugins/PluginInfoStore.h:
  3824. * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
  3825. (WebKit::PluginInfoStore::findPluginWithBundleIdentifer):
  3826. Add function to lookup plug-ins by bundle identifier.
  3827. 2013-03-27 Beth Dakin <bdakin@apple.com>
  3828. WKBundlePagePrivateMac.h is not being exported
  3829. https://bugs.webkit.org/show_bug.cgi?id=113470
  3830. -and corresponding-
  3831. <rdar://problem/13522909>
  3832. Reviewed by Sam Weinig.
  3833. Mark it as private instead of project.
  3834. * WebKit2.xcodeproj/project.pbxproj:
  3835. 2013-03-26 Beth Dakin <bdakin@apple.com>
  3836. Need WK2 API to give a WebView a header and footer
  3837. https://bugs.webkit.org/show_bug.cgi?id=113352
  3838. -and corresponding-
  3839. <rdar://problem/13383835>
  3840. Reviewed by Simon Fraser.
  3841. New API allows setting and getting layers for a header and footer.
  3842. * WebKit2.xcodeproj/project.pbxproj:
  3843. * WebProcess/InjectedBundle/API/c/mac: Added.
  3844. * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.h: Added.
  3845. * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.mm: Added.
  3846. (WKBundlePageGetHeaderLayer):
  3847. (WKBundlePageSetHeaderLayer):
  3848. (WKBundlePageGetFooterLayer):
  3849. (WKBundlePageSetFooterLayer):
  3850. * WebProcess/WebPage/WebPage.h:
  3851. (WebPage):
  3852. * WebProcess/WebPage/mac/WebPageMac.mm:
  3853. (WebKit::WebPage::setTopOverhangImage):
  3854. (WebKit::WebPage::setBottomOverhangImage):
  3855. (WebKit):
  3856. (WebKit::WebPage::getHeaderLayer):
  3857. (WebKit::WebPage::setHeaderLayerWithHeight):
  3858. (WebKit::WebPage::getFooterLayer):
  3859. (WebKit::WebPage::setFooterLayerWithHeight):
  3860. 2013-03-27 Jer Noble <jer.noble@apple.com>
  3861. Going full screen and cancelling gets system into a weird state
  3862. https://bugs.webkit.org/show_bug.cgi?id=113445
  3863. Reviewed by Eric Carlson.
  3864. Replace an array of BOOL member variables to track full screen state with a single enum, and
  3865. add state tracking for the "waiting to enter" and "waiting to exit" states. Use this new,
  3866. more specific enum to be more stringent about the state when responding to WebProcess
  3867. messages. Also only set the placeholder view's target once in full screen mode.
  3868. * UIProcess/mac/WKFullScreenWindowController.h:
  3869. * UIProcess/mac/WKFullScreenWindowController.mm:
  3870. (-[WKFullScreenWindowController isFullScreen]): Yes when in full screen, entering full screen,
  3871. or waiting to enter full screen.
  3872. (-[WKFullScreenWindowController cancelOperation:]): Only requestExitFullScreen() if a watchdog
  3873. has not already been made active.
  3874. (-[WKFullScreenWindowController enterFullScreen:]): Use the new state variable.
  3875. (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Ditto.
  3876. (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Ditto. Set the placeholder target.
  3877. (-[WKFullScreenWindowController exitFullScreen]): Ditto. Clear the placeholder target.
  3878. (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Ditto.
  3879. (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): Ditto.
  3880. (-[WKFullScreenWindowController performClose:]): Ditto.
  3881. (-[WKFullScreenWindowController close]): Ditto.
  3882. (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Ditto.
  3883. 2013-03-27 Brady Eidson <beidson@apple.com>
  3884. Blind attempt at fixing the release build.
  3885. * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
  3886. (WebKit::NetworkResourceLoader::willCacheResponseAsync):
  3887. 2013-03-27 Brady Eidson <beidson@apple.com>
  3888. Mem mapped resource data improvements.
  3889. <rdar://problem/13196481> and https://bugs.webkit.org/show_bug.cgi?id=113422
  3890. Reviewed by Alexey Proskuryakov (and looked over by Geoff Garen).
  3891. Remove timer-based approach support code:
  3892. * NetworkProcess/NetworkResourceLoader.cpp:
  3893. (WebKit::NetworkResourceLoader::NetworkResourceLoader):
  3894. (WebKit::NetworkResourceLoader::abortInProgressLoad):
  3895. (WebKit::NetworkResourceLoader::didFinishLoading):
  3896. * NetworkProcess/NetworkResourceLoader.h:
  3897. Add an object to encapsulate monitoring a resource going in to the disk cache.
  3898. It listens for a callback on the cached response indicating it is disk backed
  3899. and also sets a timeout so we don't keep the monitor alive and waiting forever.
  3900. * NetworkProcess/mac/DiskCacheMonitor.h: Added.
  3901. (WebKit::DiskCacheMonitor::destinationID):
  3902. (WebKit::DiskCacheMonitor::connectionToWebProcess):
  3903. (WebKit::DiskCacheMonitor::resourceRequest):
  3904. * NetworkProcess/mac/DiskCacheMonitor.mm: Added.
  3905. (CFCachedURLResponseSetBecameFileBackedCallBackBlock):
  3906. (WebKit::monitorFileBackingStoreCreation):
  3907. (WebKit::DiskCacheMonitor::DiskCachingMonitor):
  3908. (WebKit::DiskCacheMonitor::connection):
  3909. Refactoring and monitor certain cached responses:
  3910. * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
  3911. (CFCachedURLResponseGetMemMappedData):
  3912. (WebKit::NetworkResourceLoader::tryGetShareableHandleFromCFURLCachedResponse): Use CFCachedURLResponseGetMemMappedData
  3913. to explicitly get an mem-mapped data object.
  3914. (WebKit::NetworkResourceLoader::tryGetShareableHandleForResource):
  3915. (WebKit::NetworkResourceLoader::willCacheResponseAsync): If the resource is over the minimum
  3916. size then set up a disk caching monitor.
  3917. * WebKit2.xcodeproj/project.pbxproj:
  3918. 2013-03-26 Timothy Hatcher <timothy@apple.com>
  3919. Add support for dock-to-right of the Web Inspector in the Mac port.
  3920. Unfortunately this requires Safari changes, so it is disabled in the nightly builds.
  3921. https://webkit.org/b/113341
  3922. rdar://problem/10368152
  3923. Reviewed by Joseph Pecoraro.
  3924. * Resources/Dock.pdf: Removed.
  3925. * Resources/DockBottom.pdf: Added.
  3926. * Resources/DockRight.pdf: Added.
  3927. * Shared/WebPreferencesStore.h:
  3928. * UIProcess/WebInspectorProxy.cpp:
  3929. (WebKit::WebInspectorProxy::WebInspectorProxy):
  3930. (WebKit::WebInspectorProxy::attachBottom):
  3931. (WebKit::WebInspectorProxy::attachRight):
  3932. (WebKit::WebInspectorProxy::attach):
  3933. (WebKit::WebInspectorProxy::detach):
  3934. (WebKit::WebInspectorProxy::setAttachedWindowWidth):
  3935. (WebKit::WebInspectorProxy::createInspectorPage):
  3936. (WebKit::WebInspectorProxy::canAttach):
  3937. * UIProcess/WebInspectorProxy.h:
  3938. (WebInspectorProxy):
  3939. * UIProcess/WebInspectorProxy.messages.in:
  3940. * UIProcess/mac/WebInspectorProxyMac.mm:
  3941. (-[WKWebInspectorProxyObjCAdapter attachRight:]):
  3942. (-[WKWebInspectorProxyObjCAdapter attachBottom:]):
  3943. (-[WKWebInspectorWindow _cursorForResizeDirection:]):
  3944. (-[WKWebInspectorWindow _customTitleFrame]):
  3945. (WebKit::createDockButton):
  3946. (WebKit::WebInspectorProxy::createInspectorWindow):
  3947. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  3948. (WebKit::WebInspectorProxy::platformAttachAvailabilityChanged):
  3949. (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
  3950. (WebKit::WebInspectorProxy::platformInspectedWindowWidth):
  3951. (WebKit::WebInspectorProxy::platformAttach):
  3952. (WebKit::WebInspectorProxy::platformDetach):
  3953. (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight):
  3954. (WebKit::WebInspectorProxy::platformSetAttachedWindowWidth):
  3955. * WebKit2.xcodeproj/project.pbxproj:
  3956. * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
  3957. (WebKit::WebInspectorFrontendClient::attachWindow):
  3958. (WebKit::WebInspectorFrontendClient::setAttachedWindowWidth):
  3959. * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
  3960. (WebInspectorFrontendClient):
  3961. * WebProcess/WebPage/WebInspector.cpp:
  3962. (WebKit::WebInspector::attachBottom):
  3963. (WebKit::WebInspector::attachRight):
  3964. (WebKit::WebInspector::setAttachedWindowWidth):
  3965. (WebKit::WebInspector::attachedBottom):
  3966. (WebKit::WebInspector::attachedRight):
  3967. (WebKit::WebInspector::detached):
  3968. * WebProcess/WebPage/WebInspector.h:
  3969. (WebInspector):
  3970. * WebProcess/WebPage/WebInspector.messages.in:
  3971. 2013-03-27 Kondapally Kalyan <kalyan.kondapally@intel.com>
  3972. [CoordGfx] Support to share GraphicsSurface flags with client.
  3973. https://bugs.webkit.org/show_bug.cgi?id=112982
  3974. Reviewed by Noam Rosenthal.
  3975. Covered by existing WebGL tests.
  3976. This patch adds support to pass GraphicsSurface flags
  3977. during it's client creation.
  3978. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  3979. (CoreIPC::::encode):
  3980. (CoreIPC::::decode):
  3981. 2013-03-26 Hayato Ito <hayato@chromium.org>
  3982. Allow ShadowContents in HitTests by default.
  3983. https://bugs.webkit.org/show_bug.cgi?id=113171
  3984. Reviewed by Dimitri Glazkov.
  3985. * WebProcess/WebPage/WebFrame.cpp:
  3986. (WebKit::WebFrame::hitTest):
  3987. * WebProcess/WebPage/WebPage.cpp:
  3988. (WebKit::WebPage::highlightPotentialActivation):
  3989. (WebKit::WebPage::findZoomableAreaForPoint):
  3990. (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
  3991. * WebProcess/WebPage/mac/WebPageMac.mm:
  3992. (WebKit::WebPage::shouldDelayWindowOrderingEvent):
  3993. (WebKit::WebPage::acceptsFirstMouse):
  3994. 2013-03-26 Tim Horton <timothy_horton@apple.com>
  3995. [ca] Tell CA to clean up unused resources if a given WebProcess won't be drawing
  3996. https://bugs.webkit.org/show_bug.cgi?id=107539
  3997. <rdar://problem/13032692>
  3998. Reviewed by Simon Fraser.
  3999. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
  4000. (InitWebCoreSystemInterface): Update WebCoreSystemInterface.
  4001. * WebProcess/WebPage/WebPage.cpp:
  4002. (WebKit::WebPage::WebPage): Initially move the Page out of the window if necessary;
  4003. Page defaults to in-window, which is wrong in many cases - we depend on
  4004. Page::isInWindow being accurate to decide whether WebPage::setIsInWindow is actually
  4005. a state change or not.
  4006. (WebKit::WebPage::setIsInWindow):
  4007. * WebProcess/WebProcess.cpp: Inform WebProcess when we go on/off screen.
  4008. (WebKit::WebProcess::WebProcess):
  4009. (WebKit::WebProcess::pageDidMoveOnscreen): Keep track of the number of on-screen pages in this process.
  4010. (WebKit::WebProcess::pageWillMoveOffscreen): If the number of on-screen pages drops to zero, clean up unused rendering resources.
  4011. * WebProcess/WebProcess.h:
  4012. 2013-03-26 Dean Jackson <dino@apple.com>
  4013. When a primary plugin is restarted, also start similar plugins
  4014. https://bugs.webkit.org/show_bug.cgi?id=113265
  4015. Reviewed by Tim Horton.
  4016. Remember the origin of the primary plugin, so that we can
  4017. autostart anything that is similar.
  4018. * WebProcess/WebCoreSupport/WebPlugInClient.cpp:
  4019. (WebKit::WebPlugInClient::WebPlugInClient): Keep a pointer to the WebPage.
  4020. (WebKit::WebPlugInClient::shouldAutoStartFromOrigin): Pass the page onto the process.
  4021. * WebProcess/WebCoreSupport/WebPlugInClient.h:
  4022. (WebPlugInClient): New member variable for the WebPage we were created with.
  4023. * WebProcess/WebPage/WebPage.cpp:
  4024. (WebKit::WebPage::determinePrimarySnapshottedPlugIn): Remember the origin information
  4025. for the primary plugin.
  4026. (WebKit::WebPage::matchesPrimaryPlugIn): Returns true if we're seeing something that
  4027. looks like the primary plugin.
  4028. * WebProcess/WebPage/WebPage.h: New method matchesPrimaryPlugIn.
  4029. * WebProcess/WebProcess.cpp:
  4030. (WebKit::WebProcess::shouldPlugInAutoStartFromOrigin): Check if the page thinks this is
  4031. the primary plugin.
  4032. * WebProcess/WebProcess.h: Accept a reference to the page in shouldPlugInAutoStartFromOrigin.
  4033. 2013-03-26 Alexey Proskuryakov <ap@apple.com>
  4034. Follow-up to:
  4035. <rdar://problem/13194263> Crashes in NetworkProcess due to threading issues
  4036. https://bugs.webkit.org/show_bug.cgi?id=113256
  4037. Reviewed by Mark Rowe.
  4038. * NetworkProcess/NetworkResourceLoader.h: Added some forgotten OVERRIDEs.
  4039. 2013-03-26 Alexey Proskuryakov <ap@apple.com>
  4040. <rdar://problem/13194263> Crashes in NetworkProcess due to threading issues
  4041. https://bugs.webkit.org/show_bug.cgi?id=113256
  4042. Reviewed by Brady Eidson.
  4043. Use asynchronous version of ResourceHandle/ResourceHandleClient in NetworkProcess.
  4044. We now run WebCore code on main thread, so we can't block it.
  4045. * DerivedSources.make:
  4046. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  4047. (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
  4048. * NetworkProcess/NetworkResourceLoader.messages.in: Added.
  4049. * WebKit2.xcodeproj/project.pbxproj:
  4050. Made NetworkResourceLoader a message receiver. Messages that used to be sync are
  4051. now async, and responses need to be sent to the loader.
  4052. * NetworkProcess/NetworkResourceLoader.cpp:
  4053. (WebKit::NetworkResourceLoader::willSendRequestAsync): This now happens on main
  4054. thread, and thus cannot be sync.
  4055. (WebKit::NetworkResourceLoader::continueWillSendRequest): Notify the resource
  4056. handle once a response is ready.
  4057. (WebKit::NetworkResourceLoader::didSendData): Removed unnecessary WebCore prefixes.
  4058. (WebKit::NetworkResourceLoader::didReceiveCachedMetadata): Ditto.
  4059. (WebKit::NetworkResourceLoader::wasBlocked): Ditto.
  4060. (WebKit::NetworkResourceLoader::cannotShowURL): Ditto.
  4061. (WebKit::NetworkResourceLoader::shouldUseCredentialStorageAsync): This function
  4062. doesn't call through to WebProcess, so we can keep it synchronous. But we still
  4063. need to implement the async version, since that's what ResourceHandle calls.
  4064. (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
  4065. Made async.
  4066. (WebKit::NetworkResourceLoader::continueCanAuthenticateAgainstProtectionSpace):
  4067. Notify ResourceHandle when response is ready.
  4068. (WebKit::NetworkResourceLoader::didReceiveDataArray): Removed unnecessary WebCore prefixes.
  4069. (WebKit::NetworkResourceLoader::willCacheResponseAsync): This matches default
  4070. implementation, but we are overriding everything to make it clearer what's missing.
  4071. (WebKit::NetworkResourceLoader::willStopBufferingData): Removed unnecessary WebCore prefixes.
  4072. * NetworkProcess/NetworkResourceLoader.h: Updated to use async client methods.
  4073. Keep ResourceRequest around while handling willSendRequest, as we need the original
  4074. to recombine the request. Removed CFNet version of willCacheResponse for now,
  4075. as we are not using it yet.
  4076. * Shared/Authentication/AuthenticationManager.cpp: Assert that methods touching
  4077. a global HashMap all run on main thread. Changed generateAuthenticationChallengeID()
  4078. to use regular increment, as there is no need to run it from a secondary thread.
  4079. * WebProcess/Network/NetworkProcessConnection.cpp:
  4080. (WebKit::NetworkProcessConnection::didReceiveSyncMessage): We no longer have any
  4081. sync messages.
  4082. * WebProcess/Network/WebResourceLoader.h:
  4083. * WebProcess/Network/WebResourceLoader.cpp:
  4084. (WebKit::WebResourceLoader::willSendRequest):
  4085. (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace):
  4086. * WebProcess/Network/WebResourceLoader.messages.in:
  4087. Changed to use async messages.
  4088. 2013-03-26 Tim Horton <timothy_horton@apple.com>
  4089. [wk2] Don't send intrinsic content size updates more than once per runloop
  4090. https://bugs.webkit.org/show_bug.cgi?id=113258
  4091. <rdar://problem/13492038>
  4092. Reviewed by Simon Fraser.
  4093. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  4094. (WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged):
  4095. Only start the zero-delay timer if it's not already active.
  4096. 2013-03-26 Tony Chang <tony@chromium.org>
  4097. Autogenerate the scrollAnimatorEnabled setting in Settings.in
  4098. https://bugs.webkit.org/show_bug.cgi?id=113253
  4099. Reviewed by James Robinson.
  4100. * WebProcess/WebPage/WebPage.cpp:
  4101. (WebKit::WebPage::setUseFixedLayout): Update call to WebCore to use setScrollAnimatorEnabled(bool).
  4102. (WebKit::WebPage::updatePreferences): Update call to WebCore to use setScrollAnimatorEnabled(bool).
  4103. 2013-03-26 Andras Becsi <andras.becsi@digia.com>
  4104. [Qt][WK2] Fails to start QtWebProcess.exe if installed in a path containing spaces
  4105. https://bugs.webkit.org/show_bug.cgi?id=113328
  4106. Reviewed by Jocelyn Turcotte.
  4107. Downstream bugreport: https://bugreports.qt-project.org/browse/QTBUG-30249
  4108. We use QProcess::start() with a commandline string to start the web process
  4109. and the string is treated by QProcess as a whitespace delimeted list of the
  4110. command and the arguments, thus we have to escape the path to the process
  4111. binaries so that if the path contains spaces we still run the appropriate
  4112. command.
  4113. * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
  4114. (WebKit::ProcessLauncher::launchProcess):
  4115. 2013-03-26 Andras Becsi <andras.becsi@digia.com>
  4116. [Qt][WK2] QML WebView asserts when double clicking a link
  4117. https://bugs.webkit.org/show_bug.cgi?id=113329
  4118. Reviewed by Jocelyn Turcotte.
  4119. Downstream bugreport: https://bugreports.qt-project.org/browse/QTBUG-30288
  4120. Remove an erroneous assert which is no longer valid if
  4121. mouse gestures are enabled.
  4122. * UIProcess/qt/QtWebPageEventHandler.cpp:
  4123. (WebKit::QtWebPageEventHandler::handleInputEvent):
  4124. 2013-03-26 Tim Horton <timothy_horton@apple.com>
  4125. [wk2] Don't send intrinsic content size updates more than once per runloop
  4126. https://bugs.webkit.org/show_bug.cgi?id=113258
  4127. <rdar://problem/13492038>
  4128. Reviewed by Anders Carlsson.
  4129. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  4130. (TiledCoreAnimationDrawingArea):
  4131. Add a zero-delay timer for intrinsic content size updates.
  4132. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  4133. (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
  4134. Add a zero-delay timer for intrinsic content size updates.
  4135. (WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged):
  4136. Start our new one-shot zero-delay timer.
  4137. (WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeTimerFired):
  4138. Inform the WebPage that the intrinsic content size has changed.
  4139. 2013-03-26 Simon Cooper <scooper@apple.com>
  4140. bundle-ids need to be sanitized before using them in filesystem paths
  4141. https://bugs.webkit.org/show_bug.cgi?id=113030
  4142. <rdar://problem/13300254>
  4143. Reviewed by Alexey Proskuryakov.
  4144. When choosing / looking for a specialized Sandbox for a Plugin the
  4145. bundle-id needs to be sanitized before using it to construct a
  4146. filesystem name to look up. The “/“ character should not be allowed
  4147. and transformed into something else, in this case a “:”
  4148. * PluginProcess/mac/PluginProcessMac.mm:
  4149. (WebKit::loadSandboxProfile):
  4150. 2013-03-26 Zeno Albisser <zeno@webkit.org>
  4151. [Qt] UIProcess should initialize WebCoreSystemInterface.
  4152. https://bugs.webkit.org/show_bug.cgi?id=113300
  4153. The WebCoreSystemInterface is necessary to detect supported
  4154. mime types on Mac OS. In particular it is needed for download
  4155. support.
  4156. This patch fixes in particular the previously failing
  4157. Qt API qmltest WebViewDownload::test_downloadRequest.
  4158. The test was crashing when using QTKit, because functions
  4159. in WebCoreSystemInterface could not be resolved on the UIProcess side.
  4160. Reviewed by Jocelyn Turcotte.
  4161. * UIProcess/qt/WebContextQt.cpp:
  4162. (WebKit::WebContext::platformInitializeWebProcess):
  4163. 2013-03-25 Kent Tamura <tkent@chromium.org>
  4164. Rename ENABLE_INPUT_TYPE_DATETIME
  4165. https://bugs.webkit.org/show_bug.cgi?id=113254
  4166. Reviewed by Kentaro Hara.
  4167. Rename ENABLE_INPUT_TYPE_DATETIME to ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE.
  4168. Actually I'd like to remove the code, but we shouldn't remove it yet
  4169. because we shipped products with it on some platforms.
  4170. * Configurations/FeatureDefines.xcconfig:
  4171. 2013-03-25 Dean Jackson <dino@apple.com>
  4172. Cleanup plugin snapshotting autostart decision making
  4173. https://bugs.webkit.org/show_bug.cgi?id=113231
  4174. Reviewed by Tim Horton.
  4175. Two major changes to the way snapshotting plugins may autostart.
  4176. The first is that previously WebCore was keeping a hash that
  4177. represented the combination of page origin, plugin origin and
  4178. mime type. WebKit was responsible for deciding if that particular
  4179. hash should autostart. Now, WebKit keeps the hash, and WebCore
  4180. just asks us whether the combination of origins and mimetype
  4181. should start immediately. You can see this change the in WebPluginClient
  4182. and WebProcess APIs.
  4183. The second change is that we now keep two types of structures
  4184. around to decide whether a plugin should autostart. One is the
  4185. existing page + plugin origin combination. The other is simply
  4186. the plugin origin, which allows plugins from major providers
  4187. to autostart no matter what page they were embedded on.
  4188. * Shared/WebProcessCreationParameters.cpp:
  4189. (WebKit::WebProcessCreationParameters::encode): Encode the new parameter.
  4190. (WebKit::WebProcessCreationParameters::decode): Decode the new parameter.
  4191. * Shared/WebProcessCreationParameters.h: Also keep a list of strings around.
  4192. * UIProcess/API/C/WKContext.cpp:
  4193. (WKContextSetPlugInAutoStartOrigins): The C API to send the list of plugin
  4194. origins over to the context.
  4195. * UIProcess/API/C/WKContext.h:
  4196. * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
  4197. (WebKit::PlugInAutoStartProvider::addAutoStartOriginHash): Renamed from addAutoStartOrigin.
  4198. No functional change other than new names for members.
  4199. (WebKit::PlugInAutoStartProvider::autoStartOriginHashesCopy): Ditto.
  4200. (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy): Ditto.
  4201. (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): Ditto.
  4202. (WebKit::PlugInAutoStartProvider::setAutoStartOriginsArray): New method that converts the
  4203. incoming ImmutableArray into a Vector of Strings.
  4204. (WebKit::PlugInAutoStartProvider::didReceiveUserInteraction): Rename for new members.
  4205. * UIProcess/Plugins/PlugInAutoStartProvider.h: Renaming member variables. Adding
  4206. some typedefs to clean up code.
  4207. (WebKit::PlugInAutoStartProvider::autoStartOrigins): New accessor.
  4208. * UIProcess/WebContext.cpp:
  4209. (WebKit::WebContext::createNewWebProcess): Renaming, and copy the new parameter into the process creation.
  4210. (WebKit::WebContext::addPlugInAutoStartOriginHash): Renaming.
  4211. (WebKit::WebContext::setPlugInAutoStartOriginHashes): Renaming.
  4212. (WebKit::WebContext::setPlugInAutoStartOrigins): New method.
  4213. * UIProcess/WebContext.h: Adds the new setPlugInAutoStartOrigin method.
  4214. * WebProcess/Plugins/PluginView.cpp:
  4215. (WebKit::PluginView::didInitializePlugin): Drive-by fix that was attempting to restart plugins
  4216. that were in the process of restarting.
  4217. (WebKit::PluginView::pluginDidReceiveUserInteraction): Temporarily suspend update of
  4218. expiration time if the user interacts with a plugin.
  4219. * WebProcess/WebCoreSupport/WebPlugInClient.cpp:
  4220. (WebKit::WebPlugInClient::shouldAutoStartFromOrigin): Renaming.
  4221. (WebKit::WebPlugInClient::didStartFromOrigin): Ditto.
  4222. * WebProcess/WebCoreSupport/WebPlugInClient.h: Renaming.
  4223. * WebProcess/WebProcess.cpp: Drive-by - noticed that we forgot to count seconds in
  4224. a timeout threshold.
  4225. (WebKit::WebProcess::initializeWebProcess): Also add the list of origins when we initialize.
  4226. (WebKit::addCaseFoldedCharacters): Copied from WebCore - adds a String to a hash input.
  4227. (WebKit::hashForPlugInOrigin): Copied from WebCore - hashing function.
  4228. (WebKit::WebProcess::isPlugInAutoStartOriginHash): Renaming.
  4229. (WebKit::WebProcess::shouldPlugInAutoStartFromOrigin): Check the list of pure origins first. If
  4230. that fails, fall back to the hash list of pairs.
  4231. (WebKit::WebProcess::plugInDidStartFromOrigin): Renaming.
  4232. (WebKit::WebProcess::didAddPlugInAutoStartOriginHash): Ditto.
  4233. (WebKit::WebProcess::resetPlugInAutoStartOriginHashes): Ditto.
  4234. (WebKit::WebProcess::plugInDidReceiveUserInteraction): Ditto.
  4235. * WebProcess/WebProcess.h: Renaming some methods, but also adding the input of the new
  4236. origin-only list.
  4237. * WebProcess/WebProcess.messages.in: Renaming a message.
  4238. 2013-03-25 Maxim Ermilov <maxim.ermilov@canonical.com>
  4239. [Qt] Qml WebKit needs preferences to change security knobs
  4240. https://bugs.webkit.org/show_bug.cgi?id=111979
  4241. Reviewed by Jocelyn Turcotte.
  4242. * UIProcess/API/qt/qwebpreferences.cpp:
  4243. (QWebPreferencesPrivate::testAttribute):
  4244. (QWebPreferencesPrivate::setAttribute):
  4245. (QWebPreferences::universalAccessFromFileURLsAllowed):
  4246. (QWebPreferences::setUniversalAccessFromFileURLsAllowed):
  4247. (QWebPreferences::fileAccessFromFileURLsAllowed):
  4248. (QWebPreferences::setFileAccessFromFileURLsAllowed):
  4249. * UIProcess/API/qt/qwebpreferences_p.h:
  4250. * UIProcess/API/qt/qwebpreferences_p_p.h:
  4251. 2013-03-23 Geoffrey Garen <ggaren@apple.com>
  4252. Added a setting for whether JavaScript markup is enabled
  4253. https://bugs.webkit.org/show_bug.cgi?id=112999
  4254. Rolled out a line from r146664 that was left over from before I adopted
  4255. the Settings.in way of adding a new setting.
  4256. Reviewed by Ryosuke Niwa.
  4257. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  4258. (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): No need
  4259. to initialize / override -- Settings.in settings do this automatically.
  4260. Also, dydx noticed that this line of code had a typo, and was totaly wrong.
  4261. 2013-03-21 Kiran Muppala <cmuppala@apple.com>
  4262. Add runtime setting for hidden page DOM timer throttling and CSS animation suspension
  4263. https://bugs.webkit.org/show_bug.cgi?id=112308
  4264. Reviewed by Gavin Barraclough.
  4265. Add private preference for enabling/disabling hidden page DOM timer
  4266. throttling and CSS animation suspension. The preference should be
  4267. enabled by default only on Mac, where WebKit2 is a private API and
  4268. hence compatibility is less of a issue.
  4269. * Shared/WebPreferencesStore.h:
  4270. * UIProcess/API/C/WKPreferences.cpp:
  4271. (WKPreferencesSetHiddenPageDOMTimerThrottlingEnabled):
  4272. (WKPreferencesGetHiddenPageDOMTimerThrottlingEnabled):
  4273. (WKPreferencesSetHiddenPageCSSAnimationSuspensionEnabled):
  4274. (WKPreferencesGetHiddenPageCSSAnimationSuspensionEnabled):
  4275. * UIProcess/API/C/WKPreferencesPrivate.h:
  4276. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  4277. (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Allow
  4278. WebKitTestRunner to override hiddenPageDOMTimerThrottlingEnabled.
  4279. * WebProcess/WebPage/WebPage.cpp:
  4280. (WebKit::WebPage::updatePreferences):
  4281. 2013-03-22 Tim Horton <timothy_horton@apple.com>
  4282. Plugin Snapshotting: Auto-start dominant plugins
  4283. https://bugs.webkit.org/show_bug.cgi?id=113111
  4284. <rdar://problem/13475726>
  4285. Reviewed by Dean Jackson.
  4286. * WebProcess/Plugins/PluginView.cpp:
  4287. (WebKit::PluginView::didInitializePlugin):
  4288. (WebKit::PluginView::paint):
  4289. (WebKit::PluginView::invalidateRect):
  4290. (WebKit::PluginView::isAcceleratedCompositingEnabled):
  4291. Acknowledge the new "Restarting" DisplayState.
  4292. 2013-03-21 Jer Noble <jer.noble@apple.com>
  4293. After switching to another space and back, video races to catch up with audio
  4294. https://bugs.webkit.org/show_bug.cgi?id=113006
  4295. Reviewed by Anders Carlsson.
  4296. Add an observer for the NSWorkspaceActiveSpaceDidChangeNotification notification, and trigger
  4297. a visibility update when that notification is observed.
  4298. * UIProcess/API/mac/WKView.mm:
  4299. (-[WKView dealloc]): Unregister the observer.
  4300. (-[WKView _activeSpaceDidChange:]): Notify the view that its visibility may have changed.
  4301. (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Add the observer.
  4302. 2013-03-21 Geoffrey Garen <ggaren@apple.com>
  4303. Added a setting for whether JavaScript markup is enabled
  4304. https://bugs.webkit.org/show_bug.cgi?id=112999
  4305. Reviewed by Maciej Stachowiak.
  4306. This setting is useful for clients that want protection from script
  4307. injection attacks.
  4308. * Shared/WebPreferencesStore.h:
  4309. * UIProcess/API/C/WKPreferences.cpp:
  4310. (WKPreferencesGetJavaScriptMarkupEnabled):
  4311. (WKPreferencesSetJavaScriptMarkupEnabled):
  4312. (WKPreferencesGetJavaScriptEnabled):
  4313. * UIProcess/API/C/WKPreferences.h:
  4314. * UIProcess/API/mac/WKBrowsingContextGroup.mm:
  4315. (-[WKBrowsingContextGroup allowsJavaScriptMarkup]):
  4316. (-[WKBrowsingContextGroup setAllowsJavaScriptMarkup:]):
  4317. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  4318. (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
  4319. * WebProcess/WebPage/WebPage.cpp:
  4320. (WebKit::WebPage::updatePreferences): Plumbed through to API.
  4321. 2013-03-22 Mario Sanchez Prada <mario.prada@samsung.com>
  4322. [GTK] Include the right GL header for GLES2
  4323. https://bugs.webkit.org/show_bug.cgi?id=113034
  4324. Reviewed by Martin Robinson.
  4325. Include GLES2/gl2.h when using GLES2.
  4326. * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
  4327. 2013-03-22 Timothy Hatcher <timothy@apple.com>
  4328. Fix an assert when opening the Web Inspector window for the first time.
  4329. rdar://problem/13471765
  4330. https://webkit.org/b/113053
  4331. Reviewed by Eric Carlson.
  4332. * UIProcess/mac/WebInspectorProxyMac.mm:
  4333. (WebKit::WebInspectorProxy::createInspectorWindow): Assign m_inspectorWindow
  4334. earlier so it is ready for when center is called and windowDidMove: gets called.
  4335. 2013-03-21 Tim Horton <timothy_horton@apple.com>
  4336. [wk2] Page Overlays: Don't create backing store until the client asks us to paint
  4337. https://bugs.webkit.org/show_bug.cgi?id=112989
  4338. <rdar://problem/13355759>
  4339. Reviewed by Anders Carlsson.
  4340. * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
  4341. (WebKit::WebInspectorClient::highlight):
  4342. * WebProcess/WebPage/FindController.cpp:
  4343. (WebKit::FindController::updateFindUIAfterPageScroll):
  4344. Invalidate the entire overlay on installation, to maintain existing behavior
  4345. on platforms where the fade-in animation is not performed by invalidating the overlay.
  4346. * WebProcess/WebPage/WebPage.cpp:
  4347. (WebKit::WebPage::installPageOverlay):
  4348. Don't invalidate the overlay upon installation.
  4349. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  4350. (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
  4351. Create backing store for the page overlay layer the first time it is painted into.
  4352. (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
  4353. Don't update the size of the page overlay layer unless we intend for it to have backing store.
  4354. (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
  4355. Don't create backing store when we create the page overlay layer.
  4356. 2013-03-21 Brady Eidson <beidson@apple.com>
  4357. If a previously loaded resource is later stored to the disk cache, replace the buffer with MMAP'ed memory.
  4358. <rdar://problem/13414154> and https://bugs.webkit.org/show_bug.cgi?id=112943
  4359. Reviewed by Geoff Garen.
  4360. Add a timer that will try to look up the disk cached buffer for the resource a few seconds after the load
  4361. completes and - if the resource is disk backed - send it to the WebProcess for sharing:
  4362. * NetworkProcess/NetworkResourceLoader.cpp:
  4363. (WebKit::NetworkResourceLoader::NetworkResourceLoader):
  4364. (WebKit::NetworkResourceLoader::diskCacheTimerFired):
  4365. (WebKit::NetworkResourceLoader::didReceiveResponse):
  4366. (WebKit::NetworkResourceLoader::didReceiveData):
  4367. (WebKit::NetworkResourceLoader::didFinishLoading):
  4368. * NetworkProcess/NetworkResourceLoader.h:
  4369. * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
  4370. (WebKit::NetworkResourceLoader::tryGetShareableHandleForResource):
  4371. Refactor SharedMemory to remove the unnecessary vm_copy and only vm_allocate when an appropriate buffer
  4372. doesn't already exist:
  4373. * Platform/SharedMemory.h:
  4374. * Platform/mac/SharedMemoryMac.cpp:
  4375. (WebKit::SharedMemory::create):
  4376. (WebKit::SharedMemory::createFromVMBuffer):
  4377. (WebKit::SharedMemory::~SharedMemory):
  4378. Give ShareableResource the ability to create a CFDataRef that wraps "this", and return it in a SharedBuffer:
  4379. * Shared/ShareableResource.cpp:
  4380. (WebKit::shareableResourceDeallocate):
  4381. (WebKit::createShareableResourceDeallocator):
  4382. (WebKit::ShareableResource::Handle::tryWrapInSharedBuffer):
  4383. * Shared/ShareableResource.h:
  4384. * Shared/WebCoreArgumentCoders.cpp: Encode/decode the cache partition for ResourceRequest.
  4385. * WebProcess/Network/NetworkProcessConnection.cpp:
  4386. (WebKit::NetworkProcessConnection::didReceiveMessage):
  4387. (WebKit::NetworkProcessConnection::didCacheResource): Lookup the CachedResource in the WebCore memory cache
  4388. and try to replace its encoded data with the shared mmap'ed buffer.
  4389. * WebProcess/Network/NetworkProcessConnection.h:
  4390. * WebProcess/Network/NetworkProcessConnection.messages.in:
  4391. * WebProcess/Network/WebResourceLoader.cpp:
  4392. (WebKit::WebResourceLoader::didReceiveResource):
  4393. 2013-03-21 Tim Horton <timothy_horton@apple.com>
  4394. Unreviewed build fix, forgot to stage one file.
  4395. * WebProcess/WebPage/DrawingArea.h:
  4396. (WebKit::DrawingArea::didChangeScrollOffsetForAnyFrame):
  4397. (DrawingArea):
  4398. 2013-03-21 Tim Horton <timothy_horton@apple.com>
  4399. [wk2] Page overlays shouldn't dirty the entire layer when flushing if the main frame can't scroll
  4400. https://bugs.webkit.org/show_bug.cgi?id=111662
  4401. <rdar://problem/13355808>
  4402. Reviewed by Dean Jackson.
  4403. Instead of setNeedsDisplay()ing the whole page overlay layer every time through
  4404. TCADA::flushLayers, do it at scroll time instead. Repainting on scroll is
  4405. necessary to keep things painted in the right place when we scroll (the overlay
  4406. is fixed to the size of the view), but is quite wasteful in apps that don’t scroll.
  4407. This works with threaded scrolling because overlay installation forces us
  4408. into main-thread scrolling mode.
  4409. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  4410. (WebKit::WebFrameLoaderClient::didChangeScrollOffset):
  4411. Plumb scroll offset changes through to the drawing area, so it can invalidate the page overlay.
  4412. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  4413. (TiledCoreAnimationDrawingArea):
  4414. Add didChangeScrollOffsetForAnyFrame, for WebFrameLoaderClient to call us back when any frame scrolls.
  4415. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  4416. (WebKit::TiledCoreAnimationDrawingArea::didChangeScrollOffsetForAnyFrame):
  4417. Invalidate the page overlay when any frame scrolls, so that find indicators in subframes are kept in the right place.
  4418. (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
  4419. Stop unconditionally invalidating the page overlay when we flush layers.
  4420. 2013-03-21 Alexey Proskuryakov <ap@apple.com>
  4421. [Mac] Move NSOperationQueue out of NetworkingContext
  4422. https://bugs.webkit.org/show_bug.cgi?id=112970
  4423. Reviewed by Brady Eidson.
  4424. * NetworkProcess/NetworkResourceLoader.h:
  4425. * NetworkProcess/mac/RemoteNetworkingContext.h:
  4426. * NetworkProcess/mac/RemoteNetworkingContext.mm:
  4427. Tell ResourceHandle to use an operation queue in the new way.
  4428. 2013-03-21 Timothy Hatcher <timothy@apple.com>
  4429. Support connecting the Web Inspector without showing it.
  4430. This allows you to get the debugger attached in the background. When a breakpoint is hit
  4431. the Inspector will open. This change also reduces some WebProcess messaging by removing
  4432. the DidLoadInspectorPage message and stops sending the SetAttachedWindow message on close.
  4433. https://bugs.webkit.org/show_bug.cgi?id=112445
  4434. Reviewed by Sam Weinig.
  4435. * UIProcess/API/C/WKInspector.cpp:
  4436. (WKInspectorIsConnected): Added.
  4437. (WKInspectorConnect): Added.
  4438. (WKInspectorHide): Added.
  4439. * UIProcess/API/C/WKInspector.h:
  4440. Added new APIs.
  4441. * UIProcess/WebInspectorProxy.cpp:
  4442. (WebKit::WebInspectorProxy::WebInspectorProxy):
  4443. Initialize new state booleans.
  4444. (WebKit::WebInspectorProxy::invalidate):
  4445. Don't set state booleans that didClose already resets.
  4446. (WebKit::WebInspectorProxy::connect): Added.
  4447. (WebKit::WebInspectorProxy::show):
  4448. Open if we are already connected. Call connect().
  4449. (WebKit::WebInspectorProxy::hide): Added.
  4450. (WebKit::WebInspectorProxy::close):
  4451. Call didClose we can detach or close the window immediately instead of waiting for a
  4452. message from the WebProcess.
  4453. (WebKit::WebInspectorProxy::attach):
  4454. (WebKit::WebInspectorProxy::detach):
  4455. Check for !m_page to match other functions.
  4456. (WebKit::WebInspectorProxy::createInspectorPage):
  4457. (WebKit::WebInspectorProxy::didLoadInspectorPage):
  4458. Removed. Moved logic to open().
  4459. (WebKit::WebInspectorProxy::open): Added.
  4460. (WebKit::WebInspectorProxy::didClose):
  4461. Clear new state booleans. Don't perform work again if already closed. Use platformDetach()
  4462. instead of detach() to avoid sending the SetAttachedWindow message.
  4463. (WebKit::WebInspectorProxy::bringToFront):
  4464. Call open() if we are not visible yet, otherwise platformBringToFront.
  4465. * UIProcess/WebInspectorProxy.h:
  4466. (WebKit::WebInspectorProxy::isConnected): Added.
  4467. * UIProcess/WebInspectorProxy.messages.in: Removed DidLoadInspectorPage.
  4468. * UIProcess/gtk/WebInspectorProxyGtk.cpp:
  4469. (WebKit::WebInspectorProxy::platformHide): Added stub.
  4470. * UIProcess/mac/WebInspectorProxyMac.mm:
  4471. (WebKit::WebInspectorProxy::platformHide): Added.
  4472. * UIProcess/qt/WebInspectorProxyQt.cpp:
  4473. (WebKit::WebInspectorProxy::platformHide): Added stub.
  4474. * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
  4475. * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
  4476. Removed frontendLoaded().
  4477. * WebProcess/WebPage/WebInspector.cpp:
  4478. * WebProcess/WebPage/WebInspector.h:
  4479. Removed didLoadInspectorPage().
  4480. 2013-03-21 Alexey Proskuryakov <ap@apple.com>
  4481. Build fix.
  4482. * NetworkProcess/mac/NetworkResourceLoaderMac.mm: Include CurrentTime.h, as needed
  4483. to call currentTime().
  4484. 2013-03-21 Tim Horton <timothy_horton@apple.com>
  4485. Tiled page overlay layers don't create tiles until the first flush after they switch to being tiled
  4486. https://bugs.webkit.org/show_bug.cgi?id=112860
  4487. <rdar://problem/13468400>
  4488. Reviewed by Simon Fraser.
  4489. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  4490. (TiledCoreAnimationDrawingArea): Add storage for m_clipsToExposedRect.
  4491. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  4492. (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
  4493. The page overlay layer will never have children, so we can use flushCompositingState instead of the ForThisLayerOnly variant.
  4494. Pass the visible rect of the page overlay layer (computed by intersecting its bounds with the exposed
  4495. rect that comes from the WKView) to flushCompositingState; don't bother setting the visible rect manually.
  4496. (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
  4497. Store m_clipsToExposedRect so we can use it in flushLayers.
  4498. 2013-03-20 Benjamin Poulain <bpoulain@apple.com>
  4499. [WK2] Remove VIEW_MODE_CSS_MEDIA from WebKit2
  4500. https://bugs.webkit.org/show_bug.cgi?id=112849
  4501. Reviewed by Sam Weinig.
  4502. The code was added in r137148 for the sole purpose of testing,
  4503. and it is not even being properly tested.
  4504. Remove the code until someone actually implement the feature in WebKit2.
  4505. * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  4506. (WKBundlePageCanShowMIMEType):
  4507. * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
  4508. * WebProcess/WebPage/WebPage.cpp:
  4509. * WebProcess/WebPage/WebPage.h:
  4510. (WebPage):
  4511. 2013-03-20 Zan Dobersek <zdobersek@igalia.com>
  4512. [GTK] Build ANGLE sources into a separate library from libWebCore.la
  4513. https://bugs.webkit.org/show_bug.cgi?id=112778
  4514. Reviewed by Martin Robinson.
  4515. * GNUmakefile.am: Add libLevelDB.la to the libwebkit2gtk library if using the OpenGL accelerated backend.
  4516. 2013-03-20 Andras Becsi <andras.becsi@digia.com>
  4517. [Qt][WK2] Clean up sanity checks related to gesture recognition
  4518. https://bugs.webkit.org/show_bug.cgi?id=112679
  4519. Reviewed by Jocelyn Turcotte.
  4520. The only callers of the panGestureActive and pinchGestureActive member
  4521. functions of the page viewport controller client are event delivery
  4522. related sanity check assers, thus they can be replaced by checking
  4523. for the corresponding internal states and therefore the superfluous
  4524. members can be removed.
  4525. Also update other asserts in the page viewport controller client to
  4526. be more accurate about the expected states.
  4527. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  4528. (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
  4529. (WebKit::PageViewportControllerClientQt::touchBegin):
  4530. (WebKit::PageViewportControllerClientQt::panGestureStarted):
  4531. (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
  4532. * UIProcess/qt/PageViewportControllerClientQt.h:
  4533. (PageViewportControllerClientQt):
  4534. * UIProcess/qt/QtWebPageEventHandler.cpp:
  4535. (WebKit::QtWebPageEventHandler::handleInputEvent):
  4536. 2013-03-20 Andras Becsi <andras.becsi@digia.com>
  4537. [Qt][WK2] Refactor handling of content suspension to properly cover corner cases
  4538. https://bugs.webkit.org/show_bug.cgi?id=111751
  4539. Reviewed by Jocelyn Turcotte.
  4540. The current suspend / resume infrastructure turned out to be insufficient to cover
  4541. all corner cases during transitions between gestures of complex gesture chains.
  4542. The requirements for robust suspend / resume handling are:
  4543. - Keep the content suspended while the user is continuously interacting,
  4544. eg. does not lift the finger between transition from a pan to a pinch gesture
  4545. and vice versa.
  4546. - The content should not be suspended unnecessarily (like for a tap gesture),
  4547. only during panning and scroll animation (flick), as well as pinch zoom and scale
  4548. animation (also includes double-tap-to-zoom).
  4549. - The content should never end up stuck in suspended state after long gesture
  4550. chains and continuous interaction.
  4551. This patch reintroduces reference counting based suspension in form of a new
  4552. ViewportInteractionTracker member class to make it possible to reliably control the
  4553. suspend / resume cycles during scrolling and scaling.
  4554. During continuous gestures, while the user is interacting, the reference count is
  4555. increased without actually suspending the content to prevent resuming unnecessarily
  4556. during continuous interaction. At the same time this also assures that the page is
  4557. not suspended for simple tap gestures, which was a side-effect of the previous
  4558. approach based on update deferrers.
  4559. The newly added functionality replaces boolean members that tried to achive the
  4560. above requirements.
  4561. Additionally this patch also removes the redundant m_hasSuspendedContent member
  4562. from the PageViewportController since WebPageProxy already keeps this information.
  4563. * UIProcess/PageViewportController.cpp:
  4564. (WebKit::PageViewportController::PageViewportController):
  4565. (WebKit::PageViewportController::pageDidRequestScroll):
  4566. (WebKit::PageViewportController::updateMinimumScaleToFit):
  4567. * UIProcess/PageViewportController.h:
  4568. (PageViewportController):
  4569. * UIProcess/WebPageProxy.h:
  4570. (WebKit::WebPageProxy::areActiveDOMObjectsAndAnimationsSuspended):
  4571. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  4572. (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
  4573. (WebKit::PageViewportControllerClientQt::ViewportInteractionTracker::begin):
  4574. (WebKit):
  4575. (WebKit::PageViewportControllerClientQt::ViewportInteractionTracker::end):
  4576. (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
  4577. (WebKit::PageViewportControllerClientQt::flickMoveStarted):
  4578. (WebKit::PageViewportControllerClientQt::flickMoveEnded):
  4579. (WebKit::PageViewportControllerClientQt::pageItemPositionChanged):
  4580. (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
  4581. (WebKit::PageViewportControllerClientQt::touchBegin):
  4582. (WebKit::PageViewportControllerClientQt::touchEnd):
  4583. (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
  4584. (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
  4585. (WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate):
  4586. (WebKit::PageViewportControllerClientQt::pinchGestureEnded):
  4587. (WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
  4588. (WebKit::PageViewportControllerClientQt::didChangeContentsSize):
  4589. * UIProcess/qt/PageViewportControllerClientQt.h:
  4590. (ViewportInteractionTracker):
  4591. (WebKit::PageViewportControllerClientQt::ViewportInteractionTracker::ViewportInteractionTracker):
  4592. (WebKit::PageViewportControllerClientQt::ViewportInteractionTracker::inProgress):
  4593. (PageViewportControllerClientQt):
  4594. 2013-03-19 Kenneth Rohde Christiansen <kenneth@webkit.org> and Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  4595. [EFL][WK2] Separate WebView further from EwkView
  4596. https://bugs.webkit.org/show_bug.cgi?id=111591
  4597. Reviewed by Caio Marcelo de Oliveira Filho.
  4598. Main points are:
  4599. - WKView API has no dependency on EFL types
  4600. - WebView class does not store the Evas_Object
  4601. * UIProcess/API/C/efl/WKView.cpp:
  4602. (WKViewCreate):
  4603. WKView creation does not require any EFL objects to be passed.
  4604. * UIProcess/API/C/efl/WKView.h:
  4605. * UIProcess/API/efl/EwkView.cpp:
  4606. (EwkView::EwkView):
  4607. (EwkView::create):
  4608. WKViewRef is passed to EwkView constructor from outside rather than
  4609. created inside.
  4610. (EwkView::webView):
  4611. * UIProcess/API/efl/EwkView.h:
  4612. (EwkView):
  4613. (EwkView::wkView):
  4614. (EwkView::page):
  4615. EwkView keeps WKViewRef rather than pointer to WebView class.
  4616. * UIProcess/API/efl/ewk_view_private.h: Added.
  4617. (EWKViewCreate):
  4618. (EWKViewGetWKView):
  4619. Added private API to create ewk view evas object and return its WKViewRef.
  4620. * UIProcess/API/efl/ewk_view.cpp:
  4621. (ewkCreateEvasObject):
  4622. (ewk_view_smart_add):
  4623. (ewk_view_add):
  4624. (ewk_view_add_with_context):
  4625. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  4626. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  4627. Updated accordingly to the new APIs.
  4628. * UIProcess/efl/WebView.cpp:
  4629. (WebKit::WebView::WebView):
  4630. (WebKit::WebView::create):
  4631. (WebKit):
  4632. (WebKit::WebView::setEwkView):
  4633. (WebKit::WebView::isViewFocused):
  4634. (WebKit::WebView::isViewVisible):
  4635. * UIProcess/efl/WebView.h:
  4636. (WebView):
  4637. Implementation of updated WKView API.
  4638. 2013-03-19 Dean Jackson <dino@apple.com>
  4639. Allow PlugIn Snapshotting to be tested
  4640. https://bugs.webkit.org/show_bug.cgi?id=98696
  4641. Reviewed by Tim Horton.
  4642. Use the new maximumPlugInSnapshotAttempts setting rather than a hardcoded
  4643. value. At the same time, if this value is 0, then snapshot immediately
  4644. (don't wait to get a snapshot and test it).
  4645. * WebProcess/Plugins/PluginView.cpp:
  4646. (WebKit::PluginView::didInitializePlugin): Snapshot immediately if maximum attempts are 0.
  4647. (WebKit::PluginView::pluginSnapshotTimerFired): Use setting rather than file local variable.
  4648. 2013-03-19 Dean Jackson <dino@apple.com>
  4649. Restarting a snapshotted plugin should restart all plugins from the same domain on the page
  4650. https://bugs.webkit.org/show_bug.cgi?id=112725
  4651. Reviewed by Tim Horton.
  4652. When we add a plugin domain hash to the list of sites that autostart, we
  4653. send a message to our owning process. That message might not return before
  4654. another plugin queries if it is in the list. So, before we send the message,
  4655. add the current hash to the list with a very small timeout. That way the
  4656. response will be to either extend the timeout, or not add the hash (in which
  4657. case it will expire soon).
  4658. * WebProcess/WebProcess.cpp:
  4659. (WebKit::WebProcess::addPlugInAutoStartOrigin):
  4660. 2013-03-19 Zan Dobersek <zdobersek@igalia.com>
  4661. [GTK] Fix WebKit2 builds after r146193
  4662. https://bugs.webkit.org/show_bug.cgi?id=112700
  4663. Reviewed by Martin Robinson.
  4664. Apply changes to the LayerTreeHostGtk class that are analogous to changes made in r146193
  4665. to the LayerTreeHostMac class, namely introducing a PageOverlayLayersMap and using that as
  4666. the source of GraphicsLayer objects that should be operated on, making it possible to
  4667. support multiple page overlays.
  4668. * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
  4669. (WebKit::LayerTreeHostGtk::initialize):
  4670. (WebKit::LayerTreeHostGtk::invalidate):
  4671. (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplay):
  4672. (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplayInRect):
  4673. (WebKit::LayerTreeHostGtk::sizeDidChange):
  4674. (WebKit::LayerTreeHostGtk::didInstallPageOverlay):
  4675. (WebKit::LayerTreeHostGtk::didUninstallPageOverlay):
  4676. (WebKit::LayerTreeHostGtk::setPageOverlayNeedsDisplay):
  4677. (WebKit::LayerTreeHostGtk::paintContents):
  4678. (WebKit::LayerTreeHostGtk::flushPendingLayerChanges):
  4679. (WebKit::LayerTreeHostGtk::createPageOverlayLayer):
  4680. (WebKit::LayerTreeHostGtk::destroyPageOverlayLayer):
  4681. * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
  4682. (LayerTreeHostGtk):
  4683. 2013-03-19 Tim Horton <timothy_horton@apple.com>
  4684. [wk2] Should support multiple page overlays, like the API suggests
  4685. https://bugs.webkit.org/show_bug.cgi?id=112505
  4686. <rdar://problem/13424796>
  4687. Reviewed by Simon Fraser.
  4688. * WebProcess/WebPage/DrawingAreaImpl.h:
  4689. * WebProcess/WebPage/LayerTreeHost.h:
  4690. * WebProcess/WebPage/DrawingArea.h:
  4691. (WebKit::DrawingArea::didInstallPageOverlay):
  4692. (WebKit::DrawingArea::didUninstallPageOverlay):
  4693. (WebKit::DrawingArea::setPageOverlayNeedsDisplay):
  4694. (WebKit::DrawingArea::setPageOverlayOpacity):
  4695. Add PageOverlay argument.
  4696. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  4697. (WebKit::DrawingAreaImpl::didInstallPageOverlay):
  4698. (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
  4699. (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
  4700. (WebKit::DrawingAreaImpl::setPageOverlayOpacity):
  4701. Add PageOverlay argument, forward it to LayerTreeHost.
  4702. (WebKit::DrawingAreaImpl::display):
  4703. Paint all of the PageOverlays that WebPage knows about.
  4704. * WebProcess/WebPage/PageOverlay.cpp:
  4705. (WebKit::PageOverlay::setNeedsDisplay):
  4706. (WebKit::PageOverlay::fadeAnimationTimerFired):
  4707. Pass the relevant PageOverlay into the DrawingArea methods that now take it.
  4708. * WebProcess/WebPage/WebPage.cpp:
  4709. (WebKit::WebPage::drawPageOverlay):
  4710. Take the PageOverlay to draw as an argument.
  4711. (WebKit::WebPage::installPageOverlay):
  4712. (WebKit::WebPage::uninstallPageOverlay):
  4713. Allow (un)installation of multiple PageOverlays.
  4714. (WebKit::WebPage::mouseEvent):
  4715. (WebKit::WebPage::mouseEventSyncForTesting):
  4716. Hit-test PageOverlays in reverse order of installation (most recently installed should be topmost).
  4717. * WebProcess/WebPage/WebPage.h:
  4718. (WebKit::WebPage::drawPageOverlay): Take the PageOverlay to draw as an argument.
  4719. (WebKit::WebPage::hasPageOverlay): Return true if we have any number of overlays.
  4720. (WebKit::WebPage::pageOverlays): Return the whole vector of overlays.
  4721. * WebProcess/WebPage/mac/LayerTreeHostMac.h:
  4722. Add PageOverlay argument to a few methods.
  4723. Add storage for a map of PageOverlay->GraphicsLayers.
  4724. * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
  4725. (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
  4726. (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
  4727. (WebKit::LayerTreeHostMac::sizeDidChange):
  4728. (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
  4729. Operate on all installed PageOverlays, not just the most recently installed one.
  4730. (WebKit::LayerTreeHostMac::didInstallPageOverlay):
  4731. (WebKit::LayerTreeHostMac::didUninstallPageOverlay):
  4732. Forward the passed-in PageOverlay on to createPageOverlayLayer/destroyPageOverlayLayer.
  4733. (WebKit::LayerTreeHostMac::setPageOverlayNeedsDisplay):
  4734. Look up the GraphicsLayer for the PageOverlay we need to dirty, and dirty it.
  4735. (WebKit::LayerTreeHostMac::paintContents):
  4736. Find the PageOverlay corresponding to the GraphicsLayer that we're painting, and ask WebPage to paint it.
  4737. While not ideal (crawling the map), the vast majority of the time there will only be one entry.
  4738. (WebKit::LayerTreeHostMac::initialize):
  4739. Create layers for all of WebPage's active PageOverlays.
  4740. (WebKit::LayerTreeHostMac::createPageOverlayLayer):
  4741. Stick the newly-created GraphicsLayer into the m_pageOverlays map.
  4742. Also, drive-by add support for accelerated overlays and debug borders/repaint counters in overlays.
  4743. (WebKit::LayerTreeHostMac::destroyPageOverlayLayer):
  4744. Remove the relevant overlay from the m_pageOverlays map and tear it down.
  4745. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  4746. (TiledCoreAnimationDrawingArea):
  4747. Add PageOverlay argument to a few methods.
  4748. Add storage for a map of PageOverlay->GraphicsLayers.
  4749. Add storage for a map of GraphicsLayer->CALayers.
  4750. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  4751. (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
  4752. Pass PageOverlay argument on to createPageOverlayLayer.
  4753. (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
  4754. Pass PageOverlay argument on to destroyPageOverlayLayer.
  4755. Refrain from re-enabling threaded scrolling if there are still more overlays installed.
  4756. (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
  4757. Look up the GraphicsLayer for the PageOverlay we need to dirty, and dirty it.
  4758. (WebKit::TiledCoreAnimationDrawingArea::paintContents):
  4759. Find the PageOverlay corresponding to the GraphicsLayer that we're painting, and ask WebPage to paint it.
  4760. While not ideal (crawling the map), the vast majority of the time there will only be one entry.
  4761. (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
  4762. (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
  4763. (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
  4764. (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
  4765. (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
  4766. (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
  4767. Operate on all installed PageOverlays, not just the most recently installed one.
  4768. (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
  4769. Stick the newly-created GraphicsLayer into the m_pageOverlays map.
  4770. Also, add its platformLayer to our m_pageOverlayPlatformLayers map.
  4771. (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
  4772. Remove the relevant overlay from the m_pageOverlays and m_pageOverlayPlatformLayers maps and tear it down.
  4773. (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
  4774. When we commit changes for the layer, if the GraphicsLayer's backing platform CALayer
  4775. has changed out from under us (we have a reference to the previous one in the m_pageOverlayPlatformLayers map),
  4776. the GraphicsLayer has probably switched to/from a tiled layer, and we need to swap out the
  4777. layer we have inserted into the root layer. We need to keep the layer ordering consistent with
  4778. installation order, as well.
  4779. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  4780. (WebKit::CoordinatedLayerTreeHost::didInstallPageOverlay):
  4781. Assert if we try to install more than one page overlay into a CoordinatedLayerTreeHost,
  4782. as this patch does not implement multiple overlay support for Coordinated Graphics.
  4783. Keep track of the current PageOverlay so that paintContents can hand WebPage the right one.
  4784. (WebKit::CoordinatedLayerTreeHost::didUninstallPageOverlay): Remove our reference to the PageOverlay.
  4785. (WebKit::CoordinatedLayerTreeHost::setPageOverlayNeedsDisplay): Add unused PageOverlay argument.
  4786. (WebKit::CoordinatedLayerTreeHost::setPageOverlayOpacity): Add unused PageOverlay argument.
  4787. (WebKit::CoordinatedLayerTreeHost::paintContents): Hand WebPage the PageOverlay we're currently displaying.
  4788. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  4789. (CoordinatedLayerTreeHost): Add PageOverlay* argument to relevant functions, and storage for m_pageOverlay.
  4790. 2013-03-19 Sheriff Bot <webkit.review.bot@gmail.com>
  4791. Unreviewed, rolling out r146183.
  4792. http://trac.webkit.org/changeset/146183
  4793. https://bugs.webkit.org/show_bug.cgi?id=112673
  4794. Caused a few dozens of editing tests to fail on Mac WK2
  4795. (Requested by rniwa on #webkit).
  4796. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  4797. (WebKit::CoordinatedLayerTreeHost::didInstallPageOverlay):
  4798. (WebKit::CoordinatedLayerTreeHost::didUninstallPageOverlay):
  4799. (WebKit::CoordinatedLayerTreeHost::setPageOverlayNeedsDisplay):
  4800. (WebKit::CoordinatedLayerTreeHost::setPageOverlayOpacity):
  4801. (WebKit::CoordinatedLayerTreeHost::paintContents):
  4802. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  4803. (CoordinatedLayerTreeHost):
  4804. * WebProcess/WebPage/DrawingArea.h:
  4805. (WebKit):
  4806. (WebKit::DrawingArea::didInstallPageOverlay):
  4807. (WebKit::DrawingArea::didUninstallPageOverlay):
  4808. (WebKit::DrawingArea::setPageOverlayNeedsDisplay):
  4809. (WebKit::DrawingArea::setPageOverlayOpacity):
  4810. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  4811. (WebKit::DrawingAreaImpl::didInstallPageOverlay):
  4812. (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
  4813. (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
  4814. (WebKit::DrawingAreaImpl::setPageOverlayOpacity):
  4815. (WebKit::DrawingAreaImpl::display):
  4816. * WebProcess/WebPage/DrawingAreaImpl.h:
  4817. (DrawingAreaImpl):
  4818. * WebProcess/WebPage/LayerTreeHost.h:
  4819. (LayerTreeHost):
  4820. (WebKit::LayerTreeHost::setPageOverlayOpacity):
  4821. * WebProcess/WebPage/PageOverlay.cpp:
  4822. (WebKit::PageOverlay::setNeedsDisplay):
  4823. (WebKit::PageOverlay::fadeAnimationTimerFired):
  4824. * WebProcess/WebPage/WebPage.cpp:
  4825. (WebKit::WebPage::drawPageOverlay):
  4826. (WebKit::WebPage::installPageOverlay):
  4827. (WebKit::WebPage::uninstallPageOverlay):
  4828. (WebKit::WebPage::mouseEvent):
  4829. (WebKit::WebPage::mouseEventSyncForTesting):
  4830. * WebProcess/WebPage/WebPage.h:
  4831. (WebKit):
  4832. (WebPage):
  4833. (WebKit::WebPage::hasPageOverlay):
  4834. * WebProcess/WebPage/mac/LayerTreeHostMac.h:
  4835. (WebKit):
  4836. (LayerTreeHostMac):
  4837. * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
  4838. (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
  4839. (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
  4840. (WebKit::LayerTreeHostMac::sizeDidChange):
  4841. (WebKit::LayerTreeHostMac::didInstallPageOverlay):
  4842. (WebKit::LayerTreeHostMac::didUninstallPageOverlay):
  4843. (WebKit::LayerTreeHostMac::setPageOverlayNeedsDisplay):
  4844. (WebKit::LayerTreeHostMac::paintContents):
  4845. (WebKit::LayerTreeHostMac::initialize):
  4846. (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
  4847. (WebKit::LayerTreeHostMac::createPageOverlayLayer):
  4848. (WebKit::LayerTreeHostMac::destroyPageOverlayLayer):
  4849. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  4850. (TiledCoreAnimationDrawingArea):
  4851. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  4852. (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
  4853. (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
  4854. (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
  4855. (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
  4856. (WebKit::TiledCoreAnimationDrawingArea::paintContents):
  4857. (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
  4858. (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
  4859. (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
  4860. (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
  4861. (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
  4862. (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
  4863. (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
  4864. (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
  4865. 2013-03-18 Tim Horton <timothy_horton@apple.com>
  4866. [wk2] Should support multiple page overlays, like the API suggests
  4867. https://bugs.webkit.org/show_bug.cgi?id=112505
  4868. <rdar://problem/13424796>
  4869. Reviewed by Simon Fraser.
  4870. * WebProcess/WebPage/DrawingAreaImpl.h:
  4871. * WebProcess/WebPage/LayerTreeHost.h:
  4872. * WebProcess/WebPage/DrawingArea.h:
  4873. (WebKit::DrawingArea::didInstallPageOverlay):
  4874. (WebKit::DrawingArea::didUninstallPageOverlay):
  4875. (WebKit::DrawingArea::setPageOverlayNeedsDisplay):
  4876. (WebKit::DrawingArea::setPageOverlayOpacity):
  4877. Add PageOverlay argument.
  4878. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  4879. (WebKit::DrawingAreaImpl::didInstallPageOverlay):
  4880. (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
  4881. (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
  4882. (WebKit::DrawingAreaImpl::setPageOverlayOpacity):
  4883. Add PageOverlay argument, forward it to LayerTreeHost.
  4884. (WebKit::DrawingAreaImpl::display):
  4885. Paint all of the PageOverlays that WebPage knows about.
  4886. * WebProcess/WebPage/PageOverlay.cpp:
  4887. (WebKit::PageOverlay::setNeedsDisplay):
  4888. (WebKit::PageOverlay::fadeAnimationTimerFired):
  4889. Pass the relevant PageOverlay into the DrawingArea methods that now take it.
  4890. * WebProcess/WebPage/WebPage.cpp:
  4891. (WebKit::WebPage::drawPageOverlay):
  4892. Take the PageOverlay to draw as an argument.
  4893. (WebKit::WebPage::installPageOverlay):
  4894. (WebKit::WebPage::uninstallPageOverlay):
  4895. Allow (un)installation of multiple PageOverlays.
  4896. (WebKit::WebPage::mouseEvent):
  4897. (WebKit::WebPage::mouseEventSyncForTesting):
  4898. Hit-test PageOverlays in reverse order of installation (most recently installed should be topmost).
  4899. * WebProcess/WebPage/WebPage.h:
  4900. (WebKit::WebPage::drawPageOverlay): Take the PageOverlay to draw as an argument.
  4901. (WebKit::WebPage::hasPageOverlay): Return true if we have any number of overlays.
  4902. (WebKit::WebPage::pageOverlays): Return the whole vector of overlays.
  4903. * WebProcess/WebPage/mac/LayerTreeHostMac.h:
  4904. Add PageOverlay argument to a few methods.
  4905. Add storage for a map of PageOverlay->GraphicsLayers.
  4906. * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
  4907. (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
  4908. (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
  4909. (WebKit::LayerTreeHostMac::sizeDidChange):
  4910. (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
  4911. Operate on all installed PageOverlays, not just the most recently installed one.
  4912. (WebKit::LayerTreeHostMac::didInstallPageOverlay):
  4913. (WebKit::LayerTreeHostMac::didUninstallPageOverlay):
  4914. Forward the passed-in PageOverlay on to createPageOverlayLayer/destroyPageOverlayLayer.
  4915. (WebKit::LayerTreeHostMac::setPageOverlayNeedsDisplay):
  4916. Look up the GraphicsLayer for the PageOverlay we need to dirty, and dirty it.
  4917. (WebKit::LayerTreeHostMac::paintContents):
  4918. Find the PageOverlay corresponding to the GraphicsLayer that we're painting, and ask WebPage to paint it.
  4919. While not ideal (crawling the map), the vast majority of the time there will only be one entry.
  4920. (WebKit::LayerTreeHostMac::initialize):
  4921. Create layers for all of WebPage's active PageOverlays.
  4922. (WebKit::LayerTreeHostMac::createPageOverlayLayer):
  4923. Stick the newly-created GraphicsLayer into the m_pageOverlayLayers map.
  4924. Also, drive-by add support for accelerated overlays and debug borders/repaint counters in overlays.
  4925. (WebKit::LayerTreeHostMac::destroyPageOverlayLayer):
  4926. Remove the relevant overlay from the m_pageOverlayLayers map and tear it down.
  4927. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  4928. (TiledCoreAnimationDrawingArea):
  4929. Add PageOverlay argument to a few methods.
  4930. Add storage for a map of PageOverlay->GraphicsLayers.
  4931. Add storage for a map of GraphicsLayer->CALayers.
  4932. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  4933. (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
  4934. Pass PageOverlay argument on to createPageOverlayLayer.
  4935. (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
  4936. Pass PageOverlay argument on to destroyPageOverlayLayer.
  4937. Refrain from re-enabling threaded scrolling if there are still more overlays installed.
  4938. (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
  4939. Look up the GraphicsLayer for the PageOverlay we need to dirty, and dirty it.
  4940. (WebKit::TiledCoreAnimationDrawingArea::paintContents):
  4941. Find the PageOverlay corresponding to the GraphicsLayer that we're painting, and ask WebPage to paint it.
  4942. While not ideal (crawling the map), the vast majority of the time there will only be one entry.
  4943. (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
  4944. (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
  4945. (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
  4946. (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
  4947. (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
  4948. (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
  4949. Operate on all installed PageOverlays, not just the most recently installed one.
  4950. (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
  4951. Stick the newly-created GraphicsLayer into the m_pageOverlayLayers map.
  4952. Also, add its platformLayer to our m_pageOverlayPlatformLayers map.
  4953. (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
  4954. Remove the relevant overlay from the m_pageOverlayLayers and m_pageOverlayPlatformLayers maps and tear it down.
  4955. (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
  4956. When we commit changes for the layer, if the GraphicsLayer's backing platform CALayer
  4957. has changed out from under us (we have a reference to the previous one in the m_pageOverlayPlatformLayers map),
  4958. the GraphicsLayer has probably switched to/from a tiled layer, and we need to swap out the
  4959. layer we have inserted into the root layer. We need to keep the layer ordering consistent with
  4960. installation order, as well.
  4961. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  4962. (WebKit::CoordinatedLayerTreeHost::didInstallPageOverlay):
  4963. Assert if we try to install more than one page overlay into a CoordinatedLayerTreeHost,
  4964. as this patch does not implement multiple overlay support for Coordinated Graphics.
  4965. Keep track of the current PageOverlay so that paintContents can hand WebPage the right one.
  4966. (WebKit::CoordinatedLayerTreeHost::didUninstallPageOverlay): Remove our reference to the PageOverlay.
  4967. (WebKit::CoordinatedLayerTreeHost::setPageOverlayNeedsDisplay): Add unused PageOverlay argument.
  4968. (WebKit::CoordinatedLayerTreeHost::setPageOverlayOpacity): Add unused PageOverlay argument.
  4969. (WebKit::CoordinatedLayerTreeHost::paintContents): Hand WebPage the PageOverlay we're currently displaying.
  4970. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  4971. (CoordinatedLayerTreeHost): Add PageOverlay* argument to relevant functions, and storage for m_pageOverlay.
  4972. 2013-03-18 Sam Weinig <sam@webkit.org>
  4973. Need a bundle SPI to generate a snapshot of a specific DOM node (like [DOMNode renderedImage])
  4974. <rdar://problem/13148631>
  4975. https://bugs.webkit.org/show_bug.cgi?id=110034
  4976. Reviewed by Tim Horton.
  4977. * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
  4978. (WKBundleNodeHandleCopySnapshotWithOptions):
  4979. * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
  4980. Add WKBundleNodeHandleCopySnapshotWithOptions function.
  4981. * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
  4982. * WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h:
  4983. Fix conversion method between WKDOMNode and WKBundleNodeHandleRef to have the same
  4984. name in the header and implementation.
  4985. * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
  4986. (WebKit::imageForRect):
  4987. (WebKit):
  4988. (WebKit::InjectedBundleNodeHandle::renderedImage):
  4989. * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
  4990. Add implementation of WKBundleNodeHandleCopySnapshotWithOptions.
  4991. * Shared/ImageOptions.h:
  4992. (WebKit::snapshotOptionsToImageOptions):
  4993. * WebProcess/WebPage/WebPage.cpp:
  4994. Move snapshotOptionsToImageOptions conversion function to a location where
  4995. it can be shared.
  4996. 2013-03-18 Andreas Kling <akling@apple.com>
  4997. [WK2][Mac] Don't consider empty window frames cacheable.
  4998. <http://webkit.org/b/112631>
  4999. <rdar://problem/13384894>
  5000. Reviewed by Anders Carlsson.
  5001. If the UI client overrides getWindowFrame() and returns an empty rect, send that over
  5002. to the web process and mark it as uncached. This forces the next ChromeClient::windowRect()
  5003. call to synchronously retrieve the window frame from the other side.
  5004. Fixes an issue with the Mac Web Inspector which uses empty rects to signify that there is
  5005. no known window frame yet. In this case, we should not be falling back to the native frame.
  5006. * UIProcess/mac/WebPageProxyMac.mm:
  5007. (WebKit::WebPageProxy::windowAndViewFramesChanged):
  5008. * WebProcess/WebPage/WebPage.cpp:
  5009. (WebKit::WebPage::windowAndViewFramesChanged):
  5010. 2013-03-18 Brady Eidson <beidson@apple.com>
  5011. Mac build fix after http://trac.webkit.org/changeset/146088
  5012. * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
  5013. (WebKit::NetworkResourceLoader::platformDidReceiveResponse):
  5014. 2013-03-18 Brady Eidson <beidson@apple.com>
  5015. NetworkProcess should send vm_copied, mmap'ed memory to WebProcesses when a
  5016. resource is already in the disk cache.
  5017. <rdar://problem/13414153> and https://bugs.webkit.org/show_bug.cgi?id=112387
  5018. Reviewed by Geoff Garen.
  5019. * NetworkProcess/NetworkResourceLoader.cpp:
  5020. (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
  5021. (WebKit::NetworkResourceLoader::didReceiveResponse): After notifying about the response,
  5022. call platformDidReceiveResponse.
  5023. * NetworkProcess/NetworkResourceLoader.h:
  5024. * NetworkProcess/mac/NetworkResourceLoaderMac.mm: Added.
  5025. (WebKit::NetworkResourceLoader::platformDidReceiveResponse): Attempt to pull a filesystem
  5026. mmap'ed buffer from the CFNetwork cache and - if it exists - abort the traditional load
  5027. and send that to the WebProcess instead.
  5028. (WebKit::NetworkResourceLoader:: fileBackedResourceMinimumSize): For now, use the VM page size.
  5029. * NetworkProcess/mac/NetworkProcessMac.mm:
  5030. (WebKit::NetworkProcess::platformInitializeNetworkProcess): Set the threshold for what
  5031. should be backed by a file on disk instead of stored in the database.
  5032. Change SharedMemory to do a vm_copy if a previously existing buffer is being passed in:
  5033. * Platform/SharedMemory.h:
  5034. * Platform/mac/SharedMemoryMac.cpp:
  5035. (WebKit::SharedMemory::create):
  5036. (WebKit::SharedMemory::createWithVMCopy):
  5037. * WebProcess/Network/WebResourceLoader.cpp:
  5038. (WebKit::shareableResourceDeallocate):
  5039. (WebKit::createShareableResourceDeallocator):
  5040. (WebKit::WebResourceLoader::didReceiveResource): Create a special CFDataRef whose buffer is
  5041. backed by a ShareableResource to send to the ResourceLoader in one chunk.
  5042. * Shared/ShareableResource.h: Fix some comments.
  5043. * WebKit2.xcodeproj/project.pbxproj:
  5044. 2013-03-18 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  5045. [WK2][EFL] Fix code wrapping WKPageGroupRef
  5046. https://bugs.webkit.org/show_bug.cgi?id=112364
  5047. Reviewed by Alexey Proskuryakov.
  5048. The patch fixes following problems in EWK2 WKPageGroupRef wrapping
  5049. code: firstly it makes sure that there is only one EwkPageGroup
  5050. instance per WKPageGroup instance, secondly it allows web page to
  5051. to use the default page group (which is implicitly created inside
  5052. web context).
  5053. * UIProcess/API/C/efl/WKView.cpp:
  5054. (createWKView):
  5055. Now may pass '0' page group as a WebView creation argument so
  5056. that the default page group is used.
  5057. * UIProcess/API/efl/EwkView.cpp:
  5058. (EwkView::EwkView):
  5059. (EwkView::createEvasObject):
  5060. * UIProcess/API/efl/EwkView.h:
  5061. (EwkView):
  5062. Web view should be created before page group, so they are rearranged
  5063. inside class declaration.
  5064. * UIProcess/API/efl/ewk_page_group.cpp:
  5065. (pageGroupMap):
  5066. A map to track corresponding EwkPageGroup and WKPageGroup
  5067. instances.
  5068. (EwkPageGroup::findOrCreateWrapper):
  5069. Returns the same EwkPageGroup instance for the same WKPageGroup
  5070. instance.
  5071. (EwkPageGroup::create):
  5072. (EwkPageGroup::EwkPageGroup):
  5073. Now there is only one constructor accepting WKPageGroupRef.
  5074. (EwkPageGroup::~EwkPageGroup):
  5075. * UIProcess/API/efl/ewk_page_group_private.h:
  5076. (EwkPageGroup):
  5077. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  5078. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  5079. 2013-03-17 Carlos Garcia Campos <cgarcia@igalia.com>
  5080. [GTK] Invalid charset encoding using when substituting a misspelled word in WebKit2
  5081. https://bugs.webkit.org/show_bug.cgi?id=112517
  5082. Reviewed by Alexey Proskuryakov.
  5083. The problem is that we are creating the WebContextMenuItemData
  5084. with the GtkAction label as UTF-8.
  5085. * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
  5086. (WebKit::contextMenuItemActivatedCallback): Use String::fromUTF8()
  5087. to convert the GtkAction label to UTF-16.
  5088. 2013-03-16 Pratik Solanki <psolanki@apple.com>
  5089. Disable High DPI Canvas on iOS
  5090. https://bugs.webkit.org/show_bug.cgi?id=112511
  5091. Reviewed by Joseph Pecoraro.
  5092. * Configurations/FeatureDefines.xcconfig:
  5093. 2013-03-15 Timothy Hatcher <timothy@apple.com>
  5094. Disable suppressesIncrementalRendering for the Web Inspector.
  5095. This ends up causing the Inspector to show blank for a couple seconds before
  5096. it does its first paint. During that time the bare window chrome is showing
  5097. when the Inspector's background and other simple elements count be painting.
  5098. This causes the Inspector to look like it is loading slower than reality.
  5099. https://bugs.webkit.org/show_bug.cgi?id=112300
  5100. rdar://problem/13412219
  5101. Reviewed by Geoff Garen.
  5102. * UIProcess/WebInspectorProxy.cpp:
  5103. (WebKit::createInspectorPageGroup): Disable suppressesIncrementalRendering.
  5104. 2013-03-13 Timothy Hatcher <timothy@apple.com>
  5105. Delay creating the Inspector window so we don't cause a CoreIPC deadlock.
  5106. Other changes include:
  5107. * Create the Inspector WKView at the correct size so it does not need to
  5108. resize later when added to the window.
  5109. * Update the minimum and initial window sizes to better match the new UI.
  5110. * Store the Inspector window frame in WebKit preferences so each page group
  5111. can have different saved window frames. Handy for inspecting the Inspector.
  5112. https://bugs.webkit.org/show_bug.cgi?id=112300
  5113. rdar://problem/13412219
  5114. Reviewed by Geoff Garen.
  5115. * Shared/WebPreferencesStore.cpp:
  5116. (WebKit::defaultValueForKey):
  5117. Added FOR_EACH_WEBKIT_STRING_PREFERENCE_NOT_IN_WEBCORE.
  5118. * Shared/WebPreferencesStore.h:
  5119. (FOR_EACH_WEBKIT_STRING_PREFERENCE_NOT_IN_WEBCORE):
  5120. Added. Needed to keep WebPage::updatePreferences for trying to set WebCore::Settings.
  5121. * UIProcess/WebInspectorProxy.cpp:
  5122. (WebKit::WebInspectorProxy::minimumWindowWidth):
  5123. (WebKit::WebInspectorProxy::initialWindowWidth):
  5124. Bumped the values to work better with the new UI.
  5125. * UIProcess/WebInspectorProxy.h:
  5126. (WebKit::WebInspectorProxy::windowFrameDidChange):
  5127. Added.
  5128. * UIProcess/mac/WebInspectorProxyMac.mm:
  5129. (-[WKWebInspectorProxyObjCAdapter windowDidMove:]):
  5130. (-[WKWebInspectorProxyObjCAdapter windowDidResize:]):
  5131. Call WebInspectorProxy::windowFrameDidChange.
  5132. (WebKit::WebInspectorProxy::createInspectorWindow):
  5133. Use the preferences for the page group to get the window frame.
  5134. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  5135. Stop calling platformAttach or createInspectorWindow, do it in platformOpen.
  5136. (WebKit::WebInspectorProxy::platformOpen):
  5137. Call platformAttach or createInspectorWindow here instead.
  5138. (WebKit::WebInspectorProxy::windowFrameDidChange):
  5139. Added. Store the frame in the page group's preferences.
  5140. (WebKit::WebInspectorProxy::platformAttach):
  5141. (WebKit::WebInspectorProxy::platformDetach):
  5142. Remove code that called setHidden:. We don't need to do that anymore.
  5143. 2013-03-15 Zan Dobersek <zdobersek@igalia.com>
  5144. [GTK] Enforce the C++11 standard when compiling WebKit2
  5145. https://bugs.webkit.org/show_bug.cgi?id=112169
  5146. Reviewed by Gustavo Noronha Silva.
  5147. With a limited set of supported compilers the WebKit2 source code can now
  5148. be built with the C++11 language standard enforced.
  5149. * GNUmakefile.am:
  5150. * UIProcess/API/gtk/WebKitWebContext.cpp:
  5151. (injectedBundleDirectory): Adjust the string literals concatenation, moving away from empty strings
  5152. (which C++11 refuses to handle as concatenation operators) and using whitespace instead.
  5153. * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
  5154. (WebKit::WebInspectorServer::platformResourceForPath): Ditto.
  5155. * UIProcess/gtk/WebInspectorProxyGtk.cpp:
  5156. (WebKit::inspectorFilesBasePath): Ditto.
  5157. 2013-03-15 Nate Chapin <japhet@chromium.org>
  5158. Hide MainResourceLoader from the outside world
  5159. https://bugs.webkit.org/show_bug.cgi?id=109971
  5160. Reviewed by Adam Barth.
  5161. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  5162. (WebKit::WebFrameLoaderClient::convertMainResourceLoadToDownload):
  5163. * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  5164. (WebFrameLoaderClient):
  5165. * WebProcess/WebPage/WebFrame.cpp:
  5166. (WebKit::WebFrame::convertMainResourceLoadToDownload):
  5167. * WebProcess/WebPage/WebFrame.h:
  5168. (WebFrame):
  5169. 2013-03-15 Abhishek Arya <inferno@chromium.org>
  5170. Replace static_casts with to* helper functions.
  5171. https://bugs.webkit.org/show_bug.cgi?id=112401
  5172. Reviewed by Stephen Chenney.
  5173. to* helper functions are preferred over static_cast calls since they
  5174. help to catch bad casts easily on the testing infrastructure.
  5175. * Shared/WebRenderObject.cpp:
  5176. (WebKit::WebRenderObject::WebRenderObject):
  5177. 2013-03-15 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  5178. [WK2][EFL] Get rid of WebPageProxy::viewWidget() method
  5179. https://bugs.webkit.org/show_bug.cgi?id=112289
  5180. Reviewed by Alexey Proskuryakov.
  5181. Web page should not be aware of platform-specific view.
  5182. * UIProcess/API/efl/EwkView.cpp:
  5183. (wkPageToEvasObjectMap):
  5184. (EwkView::EwkView):
  5185. (EwkView::~EwkView):
  5186. (EwkView::toEvasObject):
  5187. EwkView::toEvasObject() relies on static map rather than on
  5188. removed WebPageProxy::viewWidget() method.
  5189. * UIProcess/API/efl/EwkView.h:
  5190. * UIProcess/API/efl/ewk_text_checker.cpp:
  5191. (uniqueSpellDocumentTag):
  5192. * UIProcess/cairo/BackingStoreCairo.cpp:
  5193. (WebKit::BackingStore::incorporateUpdate):
  5194. Now uses EwkView::toEvasObject().
  5195. * UIProcess/WebPageProxy.h:
  5196. (WebPageProxy):
  5197. * UIProcess/efl/WebPageProxyEfl.cpp:
  5198. Removed WebPageProxy::viewWidget() method.
  5199. 2013-03-14 Andreas Kling <akling@apple.com>
  5200. REGRESSION(r145169): [Mac][WK2] http/tests/security/cross-frame-access-put.html fails.
  5201. <http://webkit.org/b/111815>
  5202. <rdar://problem/13380145>
  5203. Reviewed by Anders Carlsson.
  5204. Call getWindowFrame() to see if the UI client wants to override the window frame before sending
  5205. a WindowAndViewFramesChanged message to the web process.
  5206. This fixes a glitch in WTR and the Web Inspector where incorrect window frames were being used.
  5207. * UIProcess/mac/WebPageProxyMac.mm:
  5208. (WebKit::WebPageProxy::windowAndViewFramesChanged):
  5209. 2013-03-14 Andy Estes <aestes@apple.com>
  5210. [WebKit2] Only preprocess sandbox profiles if we're building for the OS X SDK
  5211. https://bugs.webkit.org/show_bug.cgi?id=112330
  5212. Reviewed by David Kilzer.
  5213. We shouldn't preprocess sandbox profiles just because the computer
  5214. we're building on is a Mac. We should only do it if we're actually
  5215. building for the OS X SDK.
  5216. * DerivedSources.make: Check if $PLATFORM_NAME is macosx rather than if
  5217. $OS is MACOS.
  5218. 2013-03-14 Sam Weinig <sam@webkit.org>
  5219. Support private browsing on a per-page basis
  5220. <rdar://problem/11969491>
  5221. Reviewed by Timothy Horton.
  5222. Adds WKPageSetOverridePrivateBrowsingEnabled and WKPageGetOverridePrivateBrowsingEnabled.
  5223. * Shared/WebPageCreationParameters.cpp:
  5224. (WebKit::WebPageCreationParameters::encode):
  5225. (WebKit::WebPageCreationParameters::decode):
  5226. * Shared/WebPageCreationParameters.h:
  5227. (WebPageCreationParameters):
  5228. * UIProcess/API/C/WKPage.cpp:
  5229. (WKPageSetOverridePrivateBrowsingEnabled):
  5230. (WKPageGetOverridePrivateBrowsingEnabled):
  5231. * UIProcess/API/C/WKPagePrivate.h:
  5232. * UIProcess/WebPageProxy.cpp:
  5233. (WebKit::WebPageProxy::WebPageProxy):
  5234. (WebKit::WebPageProxy::creationParameters):
  5235. (WebKit::WebPageProxy::setOverridePrivateBrowsingEnabled):
  5236. * UIProcess/WebPageProxy.h:
  5237. (WebKit::WebPageProxy::overridePrivateBrowsingEnabled):
  5238. * WebProcess/WebPage/WebPage.cpp:
  5239. (WebKit::WebPage::WebPage):
  5240. (WebKit::WebPage::updatePreferences):
  5241. (WebKit::WebPage::setOverridePrivateBrowsingEnabled):
  5242. * WebProcess/WebPage/WebPage.h:
  5243. * WebProcess/WebPage/WebPage.messages.in:
  5244. Pipe through.
  5245. 2013-03-14 Abhishek Arya <inferno@chromium.org>
  5246. Replace static_casts with to* helper functions.
  5247. https://bugs.webkit.org/show_bug.cgi?id=112296
  5248. Reviewed by Kentaro Hara.
  5249. to* helper functions are preferred over static_cast calls since they
  5250. help to catch bad casts easily on the testing infrastructure.
  5251. * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
  5252. (WebKit::InjectedBundleNodeHandle::elementBounds):
  5253. * WebProcess/WebPage/WebFrame.cpp:
  5254. (WebKit::WebFrame::containsAnyFormElements):
  5255. 2013-03-14 Jinwoo Song <jinwoo7.song@samsung.com>
  5256. [EFL][WK2] Add an API for adding and removing user style sheets from a page group
  5257. https://bugs.webkit.org/show_bug.cgi?id=110728
  5258. Reviewed by Gyuyoung Kim.
  5259. This patch implements EwkPageGroup API to provide the interface of WKPageGroup. Using the EwkPageGroup,
  5260. applications may create the views with a page group for the specific identifier. Also, this patch
  5261. encapsulates the APIs WKPageGroupAddUserStyleSheet and WKPageGroupRemoveAllUserStyleSheets behind
  5262. the EwkPageGroup class for adding and removing user style sheets from a page group. WKArrayCreateWithEinaList()
  5263. is added as a generic WKArray creation API from Eina_List.
  5264. * PlatformEfl.cmake:
  5265. * UIProcess/API/C/efl/WKView.cpp:
  5266. (createWKView):
  5267. * UIProcess/API/efl/EWebKit2.h:
  5268. * UIProcess/API/efl/EwkView.cpp:
  5269. (EwkView::EwkView):
  5270. (EwkView::createEvasObject):
  5271. * UIProcess/API/efl/EwkView.h:
  5272. (EwkView::ewkPageGroup):
  5273. (EwkView):
  5274. * UIProcess/API/efl/ewk_view.cpp:
  5275. (ewk_view_smart_add):
  5276. (ewk_view_page_group_get):
  5277. * UIProcess/API/efl/ewk_view.h:
  5278. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
  5279. (EWK2UnitTest::EWK2UnitTestBase::SetUp):
  5280. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
  5281. (EWK2UnitTest::EWK2UnitTestBase::setWebView):
  5282. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  5283. (TEST_F):
  5284. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  5285. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  5286. 2013-03-14 Simon Hausmann <simon.hausmann@digia.com>
  5287. [Qt] Improve the handling of mock geolocation, device orientation and motion clients
  5288. Reviewed by Tor Arne Vestbø.
  5289. The mock versions of these web facing features should be instantiated when
  5290. running in DumpRenderTree only. In order for them to work, no extra Qt modules
  5291. such as QtLocation are actually needed.
  5292. This patch decouples enabling device orientation/motion and geolocation from
  5293. the underlying Qt modules and makes them available in developer builds
  5294. (!production_build) and backed by mock backends when running in drt.
  5295. So if the Qt 5 modules are available, they'll be used (unless drtRun). For
  5296. developers the web facing features are always enabled (although requests will
  5297. time out) and the mock backends are enabled inside DRT, allowing for the layout
  5298. tests to run with less dependencies.
  5299. In addition this also enables the mock device motion client, which was
  5300. previously never instantiated.
  5301. * Target.pri:
  5302. * UIProcess/qt/WebContextQt.cpp:
  5303. (WebKit::WebContext::platformInitializeWebProcess):
  5304. * UIProcess/qt/WebGeolocationProviderQt.cpp:
  5305. * WebKit2.pri:
  5306. * WebProcess/WebPage/WebPage.cpp:
  5307. (WebKit::WebPage::WebPage):
  5308. 2013-03-14 Alice Liu <alice.liu@apple.com>
  5309. Add to HistoryItem a way to know if its underlying CachedPage has expired.
  5310. https://bugs.webkit.org/show_bug.cgi?id=110652
  5311. Reviewed by Brady Eidson.
  5312. Hook up hasCachedPageExpired in InjectedBundle's BackForwardListItem.
  5313. * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
  5314. (WKBundleBackForwardListItemHasCachedPageExpired):
  5315. * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h:
  5316. * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
  5317. (WebKit::InjectedBundleBackForwardListItem::hasCachedPageExpired):
  5318. 2013-03-13 Rik Cabanier <cabanier@adobe.com>
  5319. create runtime flags for CSS Compositing
  5320. https://bugs.webkit.org/show_bug.cgi?id=111818
  5321. Reviewed by Ryosuke Niwa.
  5322. Added a preference to enable CSS compositing.
  5323. * Shared/WebPreferencesStore.h:
  5324. (WebKit):
  5325. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  5326. (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
  5327. (WebKit::InjectedBundle::setCSSCompositingEnabled):
  5328. (WebKit):
  5329. * WebProcess/InjectedBundle/InjectedBundle.h:
  5330. (InjectedBundle):
  5331. * WebProcess/WebPage/WebPage.cpp:
  5332. (WebKit::WebPage::updatePreferences):
  5333. 2013-03-13 Ryosuke Niwa <rniwa@webkit.org>
  5334. Threaded HTML Parser is missing feature define flags in all but Chromium port's build files
  5335. https://bugs.webkit.org/show_bug.cgi?id=112277
  5336. Reviewed by Adam Barth.
  5337. * Configurations/FeatureDefines.xcconfig:
  5338. 2013-03-13 Brady Eidson <beidson@apple.com>
  5339. Small ResourceLoader cleanups.
  5340. https://bugs.webkit.org/show_bug.cgi?id=112279
  5341. Reviewed by Geoff Garen.
  5342. Replace the "bool allAtOnce" flag with a descriptive enum to make reading code easier.
  5343. * NetworkProcess/NetworkResourceLoader.cpp:
  5344. (WebKit::NetworkResourceLoader::didReceiveData):
  5345. * WebProcess/Network/WebResourceLoader.cpp:
  5346. (WebKit::WebResourceLoader::didReceiveData):
  5347. (WebKit::WebResourceLoader::didReceiveResource):
  5348. * WebProcess/Network/WebResourceLoader.h:
  5349. * WebProcess/Network/WebResourceLoader.messages.in: Get rid of the "allAtOnce" flag since it was always false.
  5350. 2013-03-13 Abhishek Arya <inferno@chromium.org>
  5351. Replace static_casts with to* functions for document types.
  5352. https://bugs.webkit.org/show_bug.cgi?id=112225
  5353. Reviewed by Ryosuke Niwa.
  5354. * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm: Remove the redundant helper.
  5355. 2013-03-13 Zan Dobersek <zdobersek@igalia.com>
  5356. [GTK] Build fixes after 145552
  5357. https://bugs.webkit.org/show_bug.cgi?id=112267
  5358. Reviewed by Gustavo Noronha Silva.
  5359. * GNUmakefile.am: Narrow down the dependency CFLAGS list to only ones that are actually needed
  5360. to build the platformgtk_sources into libPlatformGtk2.la. At the moment this means only
  5361. GTK+-2.0 CFLAGS are used.
  5362. 2013-03-13 Antoine Quint <graouts@apple.com>
  5363. Calling WebInspectorClient::highlight() during a fade-out animation of the PageOverlay won't stop its animation
  5364. https://bugs.webkit.org/show_bug.cgi?id=112271
  5365. Reviewed by Tim Horton.
  5366. Add a new stopFadeOutAnimation() on PageOverlay that we call when
  5367. WebInspectorClient::highlight() is called and a page overlay
  5368. is already available. This ensures that any fade-out animation
  5369. is cleared before proceeding with showing the page overlay
  5370. for the new highlight.
  5371. * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
  5372. (WebKit::WebInspectorClient::highlight):
  5373. * WebProcess/WebPage/PageOverlay.cpp:
  5374. (WebKit::PageOverlay::stopFadeOutAnimation):
  5375. (WebKit):
  5376. * WebProcess/WebPage/PageOverlay.h:
  5377. (PageOverlay):
  5378. 2013-03-13 Pavel Feldman <pfeldman@chromium.org>
  5379. Web Inspector: get rid of hiddenPanels filter
  5380. https://bugs.webkit.org/show_bug.cgi?id=112252
  5381. Reviewed by Vsevolod Vlasov.
  5382. * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
  5383. * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
  5384. (WebInspectorFrontendClient):
  5385. 2013-03-13 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  5386. [WK2][Qt] Regression(145517) WebProcess asserts in debug build on WebKitTestRunner start
  5387. https://bugs.webkit.org/show_bug.cgi?id=112223
  5388. Reviewed by Simon Hausmann.
  5389. We need to only enable the cookie jar and the disk cache conditionally
  5390. in the web process since we removed default paths and WKTR doesn't provide
  5391. them.
  5392. * WebProcess/qt/WebProcessQt.cpp:
  5393. (WebKit::WebProcess::platformSetCacheModel):
  5394. (WebKit::WebProcess::platformInitializeWebProcess):
  5395. 2013-03-12 Christophe Dumez <ch.dumez@sisa.samsung.com>
  5396. [EFL][WK2] ewk_popup_menu_close() does not work as intended
  5397. https://bugs.webkit.org/show_bug.cgi?id=110209
  5398. Reviewed by Laszlo Gombos.
  5399. ewk_popup_menu_close() is called by the browser to notify WebKit that
  5400. the popup menu was closed. However, the implementation was calling
  5401. EwkView::closePopupMenu() which was asking the browser to close the
  5402. popup menu via an Evas smart function. This patch fixes the behavior
  5403. and ewk_popup_menu_close() now calls WKPopupMenuListenerSetSelection()
  5404. C API so that the WebProcess is notified that the popup menu was
  5405. hidden.
  5406. * UIProcess/API/efl/ewk_popup_menu.cpp:
  5407. (EwkPopupMenu::close):
  5408. 2013-03-12 Huang Dongsung <luxtella@company100.net>
  5409. Coordinated Graphics: Remove CoordinatedGraphicsLayer::setRootLayer().
  5410. https://bugs.webkit.org/show_bug.cgi?id=111835
  5411. Reviewed by Luiz Agostini.
  5412. Amend CoordinatedLayerTreeHost because
  5413. CoordinatedGraphicsLayer::setRootLayer() is removed.
  5414. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  5415. (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
  5416. 2013-03-12 Dean Jackson <dino@apple.com>
  5417. Primary plugin hit detection needs to run after plugin creation
  5418. https://bugs.webkit.org/show_bug.cgi?id=112206
  5419. Reviewed by Tim Horton.
  5420. On some pages, the plugins are created after the page has loaded, and
  5421. thus our heuristic to determine the primary plugin fails. Run this
  5422. heuristic more often: after each PluginView is created. It already exits
  5423. early if it has found a primary. But we also need to make sure that it
  5424. doesn't run before load.
  5425. * WebProcess/WebPage/WebPage.cpp:
  5426. (WebKit::WebPage::addPluginView): Run detection when view is added.
  5427. (WebKit::WebPage::didFinishLoad): Remember that we have loaded.
  5428. (WebKit::WebPage::determinePrimarySnapshottedPlugIn): Look at the PluginViews to see if we have a plugin.
  5429. (WebKit::WebPage::resetPrimarySnapshottedPlugIn): Reset both flags.
  5430. * WebProcess/WebPage/WebPage.h:
  5431. (WebPage): New member variable, m_readyToFindPrimarySnapshottedPlugin.
  5432. 2013-03-12 Beth Dakin <bdakin@apple.com>
  5433. WKView -printOperationWithPrintInfo:forFrame: doesn’t use the print info that is
  5434. passed in
  5435. https://bugs.webkit.org/show_bug.cgi?id=112212
  5436. -and corresponding-
  5437. <rdar://problem/12994883>
  5438. Reviewed by Anders Carlsson.
  5439. We should call [NSPrintOperation printOperationWithView: printInfo:] to use the
  5440. printInfo parameter instead of [NSPrintOperation printOperationWithView:] which
  5441. will just use the sharedPrintInfo.
  5442. * UIProcess/API/mac/WKView.mm:
  5443. (-[WKView printOperationWithPrintInfo:forFrame:]):
  5444. 2013-03-12 Geoffrey Garen <ggaren@apple.com>
  5445. Moved RunLoopTimer and SchedulePair to WTF
  5446. https://bugs.webkit.org/show_bug.cgi?id=112171
  5447. Reviewed by Oliver Hunt.
  5448. This will allow us to use timers in lower level primitives without
  5449. duplicating all the code.
  5450. * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
  5451. (WebFrameNetworkingContext):
  5452. 2013-03-12 Zan Dobersek <zdobersek@igalia.com>
  5453. [GTK] Remove HILDON_CPPFLAGS and HILDON_CFLAGS references from GNUmakefiles
  5454. https://bugs.webkit.org/show_bug.cgi?id=112163
  5455. Reviewed by Martin Robinson.
  5456. * GNUmakefile.am: The Hildon dependency doesn't exist anymore so there's no need for
  5457. references to HILDON_CPPFLAGS and HILDON_CFLAGS.
  5458. 2013-03-12 Zan Dobersek <zdobersek@igalia.com>
  5459. [GTK] Set up the libPlatformGtk.la library
  5460. https://bugs.webkit.org/show_bug.cgi?id=111738
  5461. Reviewed by Martin Robinson.
  5462. * GNUmakefile.am: Reference platformgtk_cppflags variable, libPlatformGtk.la along with webcoregtk_cppflags variable, libWebCoreGtk.la.
  5463. Adjust the path to GtkVersioning.c, the file has moved under Source/Platform.
  5464. 2013-03-12 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  5465. [WK2][EFL] Fix EwkContext class API
  5466. https://bugs.webkit.org/show_bug.cgi?id=111706
  5467. Reviewed by Alexey Proskuryakov.
  5468. * UIProcess/API/C/efl/WKView.cpp:
  5469. (createWKView):
  5470. * UIProcess/API/efl/ewk_context.cpp:
  5471. (EwkContext::findOrCreateWrapper):
  5472. Renamed from create() as it returns the same instance of EwkContext
  5473. for the given WKContextRef if present.
  5474. (EwkContext::create):
  5475. (EwkContext::defaultContext):
  5476. Returns raw pointer rather than PassRefPtr<EwkContext> as ownership
  5477. is not transferred.
  5478. (ewk_context_default_get):
  5479. * UIProcess/API/efl/ewk_context_private.h:
  5480. (EwkContext):
  5481. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  5482. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  5483. 2013-03-12 Zan Dobersek <zdobersek@igalia.com>
  5484. [GTK] Enable Web Audio in development builds
  5485. https://bugs.webkit.org/show_bug.cgi?id=111831
  5486. Reviewed by Philippe Normand.
  5487. * GNUmakefile.am: Link the plugin process against libWebCoreModules.la as well.
  5488. 2013-03-11 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  5489. [Qt][WK2] Layer QtDownloadManager on the C API
  5490. https://bugs.webkit.org/show_bug.cgi?id=109562
  5491. Reviewed by Simon Hausmann.
  5492. Signed off for WebKit2 by Benjamin Poulain.
  5493. * UIProcess/API/cpp/qt/WKURLQt.cpp:
  5494. (WebKit::adoptToQString):
  5495. (WebKit):
  5496. (WebKit::adoptToQUrl):
  5497. * UIProcess/API/cpp/qt/WKURLQt.h:
  5498. (WebKit):
  5499. * UIProcess/API/qt/qquickwebview.cpp:
  5500. (QQuickWebViewPrivate::handleDownloadRequest):
  5501. * UIProcess/qt/QtDownloadManager.cpp:
  5502. (WebKit::toQtDownloadManager):
  5503. (WebKit):
  5504. (WebKit::QtDownloadManager::QtDownloadManager):
  5505. (WebKit::QtDownloadManager::addDownload):
  5506. (WebKit::QtDownloadManager::didReceiveResponse):
  5507. (WebKit::QtDownloadManager::didCreateDestination):
  5508. (WebKit::QtDownloadManager::didFinishDownload):
  5509. (WebKit::QtDownloadManager::didFailDownload):
  5510. (WebKit::QtDownloadManager::didReceiveDataForDownload):
  5511. * UIProcess/qt/QtDownloadManager.h:
  5512. (WebKit):
  5513. (QtDownloadManager):
  5514. * UIProcess/qt/QtWebContext.cpp:
  5515. (WebKit::QtWebContext::QtWebContext):
  5516. * UIProcess/qt/QtWebError.cpp:
  5517. (WebKit::QtWebError::url):
  5518. (WebKit::QtWebError::description):
  5519. 2013-03-11 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  5520. [Qt][WK2] Layer QtWebIconDatabaseClient on the C API
  5521. https://bugs.webkit.org/show_bug.cgi?id=109564
  5522. Reviewed by Simon Hausmann.
  5523. Signed off for WebKit2 by Benjamin Poulain.
  5524. * Target.pri:
  5525. * UIProcess/API/C/qt/WKIconDatabaseQt.cpp: Added.
  5526. (WKIconDatabaseTryGetQImageForURL):
  5527. - New API added to get a QImage from the IconDatabase.
  5528. Based on WKIconDatabaseCG.h/cpp
  5529. * UIProcess/API/C/qt/WKIconDatabaseQt.h: Added.
  5530. * UIProcess/API/cpp/qt/WKURLQt.cpp:
  5531. (WKURLCreateWithQString):
  5532. (WKURLCopyQString):
  5533. (WKURLCreateWithQUrl):
  5534. (WKURLCopyQUrl):
  5535. - The WKUrlRef behind the scene is a WTF::String and encoding it back and forth to
  5536. a QUrl can slightly change its string representation. Allow converting a WKUrlRef
  5537. to and from a QString to ensure this.
  5538. * UIProcess/API/cpp/qt/WKURLQt.h:
  5539. * UIProcess/API/qt/qwebiconimageprovider.cpp:
  5540. (QWebIconImageProvider::iconURLForPageURLInContext):
  5541. - The icon URL isn't accessible form the C API and shouldn't need to be.
  5542. Use an ID incremented on each update to trigger an update of the QML Image component.
  5543. (QWebIconImageProvider::requestImage):
  5544. - The IconDatabase was previously assumed to resize the image to the requested size,
  5545. but this parameter is ignored, as stated in a comment in WebIconDatabase::imageForPageURL.
  5546. Explicitely do the resize after fetching the original icon to also be able to report
  5547. the original size properly to QtQuick.
  5548. * UIProcess/API/qt/qwebiconimageprovider_p.h:
  5549. * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
  5550. - Set the image to load asynchronously to further test the possibility of threading issues
  5551. in QtWebIconDatabaseClient::iconImageForPageURL
  5552. - Add a few barriers to fix some issues where the load succeeded signal would be wrongly
  5553. catched by init() before the next test.
  5554. * UIProcess/qt/QtWebContext.cpp:
  5555. (WebKit::QtWebContext::QtWebContext):
  5556. * UIProcess/qt/QtWebIconDatabaseClient.cpp:
  5557. (WebKit):
  5558. (WebKit::QtWebIconDatabaseClient::QtWebIconDatabaseClient):
  5559. (WebKit::QtWebIconDatabaseClient::~QtWebIconDatabaseClient):
  5560. (WebKit::QtWebIconDatabaseClient::updateID):
  5561. (WebKit::QtWebIconDatabaseClient::didChangeIconForPageURL):
  5562. (WebKit::QtWebIconDatabaseClient::iconImageForPageURL):
  5563. - Remove the Mutex. This mutex was useless given that it would only
  5564. be locked from a single thread. Since the IconDatabase runs in its own thread,
  5565. it already is thread-safe to access.
  5566. (WebKit::QtWebIconDatabaseClient::retainIconForPageURL):
  5567. (WebKit::QtWebIconDatabaseClient::releaseIconForPageURL):
  5568. * UIProcess/qt/QtWebIconDatabaseClient.h:
  5569. (QtWebIconDatabaseClient):
  5570. * WebKit2.pri:
  5571. 2013-03-11 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  5572. [Qt][WK2] Specify storage paths through the C API
  5573. https://bugs.webkit.org/show_bug.cgi?id=111435
  5574. Reviewed by Simon Hausmann.
  5575. Signed off for WebKit2 by Benjamin Poulain.
  5576. The WKIconDatabase should be opened through a call to
  5577. WKContextSetIconDatabasePath. To avoid having some paths
  5578. returned through WebContext::platformDefault* and some others
  5579. through the C API, make sure that all those paths are set
  5580. through the C API.
  5581. * Shared/qt/QtDefaultDataLocation.cpp: Removed.
  5582. * Shared/qt/QtDefaultDataLocation.h: Removed.
  5583. * Target.pri:
  5584. * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
  5585. (WebKit::cacheFile):
  5586. - This part is left alone behind the C API.
  5587. Since PluginProcessProxy have no knowledge of the WebContext
  5588. it is rather difficult to fetch a configured directory that
  5589. could be used for this purpose (like the disk cache storage).
  5590. Hard-code a compatible logic to keep the current behavior.
  5591. (WebKit::removeCacheFile):
  5592. (WebKit):
  5593. (WebKit::readMetaDataFromCacheFile):
  5594. (WebKit::writeToCacheFile):
  5595. (WebKit::tryReadPluginMetaDataFromCacheFile):
  5596. - Update the code to better handle an empty cache file path.
  5597. * UIProcess/qt/QtWebContext.cpp:
  5598. (WebKit::QtWebContext::defaultContext):
  5599. (WebKit::defaultLocation):
  5600. (WebKit):
  5601. (WebKit::QtWebContext::preparedStoragePath):
  5602. * UIProcess/qt/QtWebContext.h:
  5603. * UIProcess/qt/QtWebIconDatabaseClient.cpp:
  5604. (WebKit::QtWebIconDatabaseClient::QtWebIconDatabaseClient):
  5605. * UIProcess/qt/WebContextQt.cpp:
  5606. (WebKit::WebContext::applicationCacheDirectory):
  5607. (WebKit::WebContext::platformDefaultDatabaseDirectory):
  5608. (WebKit::WebContext::platformDefaultIconDatabasePath):
  5609. (WebKit::WebContext::platformDefaultLocalStorageDirectory):
  5610. (WebKit::WebContext::platformDefaultDiskCacheDirectory):
  5611. (WebKit::WebContext::platformDefaultCookieStorageDirectory):
  5612. 2013-02-14 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  5613. [Qt] Properly layer QtWebContext on top of the C API
  5614. https://bugs.webkit.org/show_bug.cgi?id=108475
  5615. Reviewed by Simon Hausmann.
  5616. Signed off for WebKit2 by Benjamin Poulain.
  5617. * UIProcess/API/qt/qquickwebview.cpp:
  5618. (QQuickWebViewPrivate::initialize):
  5619. * UIProcess/qt/QtWebContext.cpp:
  5620. (WebKit::initializeContextInjectedBundleClient):
  5621. (WebKit::QtWebContext::QtWebContext):
  5622. (WebKit::QtWebContext::create):
  5623. (WebKit::QtWebContext::defaultContext):
  5624. * UIProcess/qt/QtWebContext.h:
  5625. (WebKit):
  5626. (QtWebContext):
  5627. (WebKit::QtWebContext::context):
  5628. 2013-02-14 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  5629. [Qt][WK2] Allow QtWebContext to call directly to QQuickWebView with a WKPageRef
  5630. https://bugs.webkit.org/show_bug.cgi?id=109829
  5631. Reviewed by Allan Sandfeld Jensen.
  5632. Signed off for WebKit2 by Benjamin Poulain.
  5633. Instead of going through WebPageProxy and PageClient to forward
  5634. injected bundle messages received by the context, maintain a static map
  5635. of WKPageRef to QQuickWebViewPrivate.
  5636. * UIProcess/API/qt/qquickwebview.cpp:
  5637. (QQuickWebViewPrivate::get):
  5638. (QQuickWebViewPrivate::~QQuickWebViewPrivate):
  5639. (QQuickWebViewPrivate::initialize):
  5640. (QQuickWebViewPrivate::didReceiveMessageFromNavigatorQtObject):
  5641. * UIProcess/API/qt/qquickwebview_p_p.h:
  5642. (QQuickWebViewPrivate):
  5643. * UIProcess/API/qt/raw/qrawwebview.cpp:
  5644. * UIProcess/API/qt/raw/qrawwebview_p_p.h:
  5645. * UIProcess/PageClient.h:
  5646. (PageClient):
  5647. * UIProcess/WebPageProxy.h:
  5648. (WebPageProxy):
  5649. * UIProcess/qt/QtPageClient.cpp:
  5650. * UIProcess/qt/QtPageClient.h:
  5651. (QtPageClient):
  5652. * UIProcess/qt/QtWebContext.cpp:
  5653. (WebKit::didReceiveMessageFromInjectedBundle):
  5654. * UIProcess/qt/WebPageProxyQt.cpp:
  5655. 2013-02-14 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  5656. [Qt][WK2] Keep the WebContext alive during the whole application's lifetime
  5657. https://bugs.webkit.org/show_bug.cgi?id=109827
  5658. Reviewed by Simon Hausmann.
  5659. Signed off for WebKit2 by Benjamin Poulain.
  5660. The lifetime of the WebContext is difficult to manage because of a circular
  5661. reference kept with the WebProcessProxy until it shuts itself down, 60
  5662. seconds after the last page is closed. There was some notification
  5663. in place to handle this in the upper layer, but having to go through the
  5664. C API (done in a following patch) makes this quite awkward.
  5665. Keeping the WebContext alive also includes the icon database which is
  5666. quite heavy, in the future we should only enable it once the
  5667. QQuickWebView::icon property is read.
  5668. * UIProcess/API/qt/qquickwebview.cpp:
  5669. (QQuickWebViewPrivate::QQuickWebViewPrivate):
  5670. (QQuickWebViewPrivate::handleDownloadRequest):
  5671. (QQuickWebViewPrivate::updateIcon):
  5672. * UIProcess/API/qt/qquickwebview_p_p.h:
  5673. (QQuickWebViewPrivate):
  5674. * UIProcess/API/qt/qwebiconimageprovider.cpp:
  5675. (QWebIconImageProvider::requestImage):
  5676. * UIProcess/qt/QtWebContext.cpp:
  5677. (WebKit):
  5678. (WebKit::QtWebContext::QtWebContext):
  5679. (WebKit::QtWebContext::~QtWebContext):
  5680. (WebKit::QtWebContext::create):
  5681. (WebKit::QtWebContext::defaultContext):
  5682. * UIProcess/qt/QtWebContext.h:
  5683. (QtWebContext):
  5684. (WebKit::QtWebContext::downloadManager):
  5685. (WebKit::QtWebContext::iconDatabase):
  5686. * UIProcess/qt/WebContextQt.cpp:
  5687. (WebKit::WebContext::platformInvalidateContext):
  5688. 2013-02-14 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  5689. [Qt][WK2] Favor QUrl and QString over WTF::String in the Qt API layer
  5690. https://bugs.webkit.org/show_bug.cgi?id=109468
  5691. Reviewed by Allan Sandfeld Jensen.
  5692. Signed off for WebKit2 by Benjamin Poulain.
  5693. In preparation for patches using the C API types in some areas, remove the
  5694. usage of WTF::String on the affected line.
  5695. Use a QUrl for icon URL to avoid unnecessary conversion.
  5696. Use a QString for the page URL to keep it compatible with WebPageProxy and
  5697. WebIconDatabase and avoid QUrl parsing.
  5698. * UIProcess/API/qt/qquickwebview.cpp:
  5699. (QQuickWebViewPrivate::_q_onIconChangedForPageURL):
  5700. (QQuickWebViewPrivate::updateIcon):
  5701. (QQuickWebView::emitUrlChangeIfNeeded):
  5702. (QQuickWebView::icon):
  5703. * UIProcess/API/qt/qquickwebview_p_p.h:
  5704. (QQuickWebViewPrivate):
  5705. * UIProcess/API/qt/qwebiconimageprovider.cpp:
  5706. (QWebIconImageProvider::iconURLForPageURLInContext):
  5707. * UIProcess/API/qt/qwebiconimageprovider_p.h:
  5708. * UIProcess/qt/QtWebIconDatabaseClient.cpp:
  5709. (WebKit::QtWebIconDatabaseClient::iconForPageURL):
  5710. (WebKit::QtWebIconDatabaseClient::iconImageForPageURL):
  5711. (WebKit::QtWebIconDatabaseClient::retainIconForPageURL):
  5712. (WebKit::QtWebIconDatabaseClient::releaseIconForPageURL):
  5713. * UIProcess/qt/QtWebIconDatabaseClient.h:
  5714. (QtWebIconDatabaseClient):
  5715. 2013-03-12 Manuel Rego Casasnovas <rego@igalia.com>
  5716. [GTK][WK2] REGRESSION(r145081): Unit tests not working if locale is not English
  5717. https://bugs.webkit.org/show_bug.cgi?id=111973
  5718. Reviewed by Carlos Garcia Campos.
  5719. The problem is that the UIProcess locale is reseted to C in
  5720. gtk_test_init, however the WebProcess does not inherit the locale set in
  5721. the UIProcess and it uses the system one (that could be different to
  5722. English). So, there were problems in some tests that are comparing
  5723. strings from both processes like WebKit2APITests/TestPrinting and
  5724. WebKit2APITests/TestWebKitWebContext. The solution is to set the locale
  5725. environment variable LC_ALL to C in order to reset WebProcess locale
  5726. too.
  5727. * UIProcess/API/gtk/tests/TestMain.cpp:
  5728. (main): Set environment variable LC_ALL to C.
  5729. 2013-03-11 Brady Eidson <beidson@apple.com>
  5730. Loads are never canceled in the NetworkProcess
  5731. <rdar://problem/12890500> and https://bugs.webkit.org/show_bug.cgi?id=112103
  5732. Reviewed by Alexey Proskuryakov.
  5733. If a connection to a WebProcess is closed (gracefully or by crashing) then:
  5734. - All scheduled loads for that connection should be forgotten.
  5735. - All in-progress loads for that connection should be aborted asap.
  5736. * NetworkProcess/NetworkResourceLoader.cpp:
  5737. (WebKit::requestsToCleanupMutex): The "request to stop" mechanism is now called "request to cleanup"
  5738. (WebKit::requestsToCleanup):
  5739. (WebKit::NetworkResourceLoader::scheduleCleanupOnMainThread):
  5740. (WebKit::NetworkResourceLoader::performCleanups):
  5741. (WebKit::NetworkResourceLoader::cleanup):
  5742. (WebKit::NetworkResourceLoader::didFinishLoading):
  5743. (WebKit::NetworkResourceLoader::didFail):
  5744. (WebKit::NetworkResourceLoader::connectionToWebProcessDidClose): If there is a resource handle, let
  5745. the loading thread notice the connection is invalid. Otherwise request to cleanup the loader.
  5746. (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
  5747. (WebKit::NetworkResourceLoader::sendSyncAbortingOnFailure):
  5748. (WebKit::NetworkResourceLoader::abortInProgressLoad): Cancel the resource handle and schedule main thread cleanup.
  5749. (WebKit::NetworkResourceLoader::didReceiveResponse): Use sendAbortingOnFailure instead of send.
  5750. (WebKit::NetworkResourceLoader::didReceiveData): Ditto.
  5751. (WebKit::NetworkResourceLoader::willSendRequest): Call abortInProgressLoad if the sync message failed.
  5752. (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace): Ditto.
  5753. * NetworkProcess/NetworkResourceLoader.h:
  5754. Make connectionToWebProcessDidClose() pure virtual, moving its implementation to the subclasses:
  5755. * NetworkProcess/SchedulableLoader.cpp:
  5756. * NetworkProcess/SchedulableLoader.h:
  5757. * NetworkProcess/SyncNetworkResourceLoader.cpp:
  5758. (WebKit::SyncNetworkResourceLoader::start): Call cleanup().
  5759. (WebKit::SyncNetworkResourceLoader::connectionToWebProcessDidClose): Call cleanup().
  5760. (WebKit::SyncNetworkResourceLoader::cleanup): Factor out the sync loader cleanup code.
  5761. * NetworkProcess/SyncNetworkResourceLoader.h:
  5762. 2013-03-11 Tim Horton <timothy_horton@apple.com>
  5763. PDFPlugin: Return PDFKit's data instead of the original resource data for save/etc.
  5764. https://bugs.webkit.org/show_bug.cgi?id=111956
  5765. <rdar://problem/13352282>
  5766. Reviewed by Alexey Proskuryakov.
  5767. If we return the original resource data, we lose changes made to annotations.
  5768. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  5769. (WebKit::PDFPlugin::pdfDocumentDidLoad): Adopt the renamed rawData().
  5770. (WebKit::PDFPlugin::saveToPDF): Use liveData so that "Save to PDF" persists changes to annotations.
  5771. (WebKit::PDFPlugin::openWithNativeApplication): Use liveData so that "Open With [native application]" persists changes to annotations.
  5772. * WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
  5773. * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
  5774. (WebKit::PDFPluginAnnotation::commit): Added, inform PDFPlugin that we're mutating the document.
  5775. * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
  5776. (WebKit::PDFPluginChoiceAnnotation::commit): Let PDFPluginAnnotation do what it needs to inform PDFPlugin that we're going to mutate the document.
  5777. * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
  5778. (WebKit::PDFPluginTextAnnotation::commit): Let PDFPluginAnnotation do what it needs to inform PDFPlugin that we're going to mutate the document.
  5779. * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
  5780. (WebKit::SimplePDFPlugin::didMutatePDFDocument): Added.
  5781. (WebKit::SimplePDFPlugin::liveData): Added.
  5782. (WebKit::SimplePDFPlugin::rawData): Renamed from data(). Return NSData for consistency.
  5783. (WebKit::SimplePDFPlugin::pdfDocumentWasMutated): Added.
  5784. * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
  5785. (WebKit::SimplePDFPlugin::liveData): Return PDFKit's data if the user has mutated the
  5786. document, otherwise the raw data. This way, PDFs that PDFKit can't process will still
  5787. be downloadable as long as the user doesn't interact with annotations.
  5788. (WebKit::SimplePDFPlugin::liveResourceData): Return a SharedData wrapping the PDFDocument's data.
  5789. * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
  5790. * WebProcess/Plugins/Netscape/NetscapePlugin.h:
  5791. * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
  5792. * WebProcess/Plugins/Plugin.h:
  5793. * WebProcess/Plugins/PluginProxy.h:
  5794. * WebProcess/Plugins/PluginView.cpp:
  5795. * WebProcess/Plugins/PluginView.h:
  5796. * WebProcess/WebPage/WebPage.cpp:
  5797. (WebKit::WebPage::getMainResourceDataOfFrame):
  5798. Use a SharedData instead of raw data for getResourceData, and rename it liveResourceData().
  5799. 2013-03-11 Tim Horton <timothy_horton@apple.com>
  5800. [wk2] WebProcess and WebContentService don't respect system localization
  5801. https://bugs.webkit.org/show_bug.cgi?id=112091
  5802. <rdar://problem/13233590>
  5803. Reviewed by Dan Bernstein.
  5804. Allow CFBundle to use localizations that don't exist in the main bundle,
  5805. so that, for example, injected bundles can load and use strings from localized frameworks.
  5806. * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  5807. * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
  5808. * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
  5809. 2013-03-11 Jochen Eisinger <jochen@chromium.org>
  5810. Rename DefinitelyProcessingUserGesture to DefinitelyProcessingNewUserGesture
  5811. https://bugs.webkit.org/show_bug.cgi?id=111959
  5812. Reviewed by Alexey Proskuryakov.
  5813. * WebProcess/Notifications/WebNotificationManager.cpp:
  5814. (WebKit::WebNotificationManager::didClickNotification):
  5815. * WebProcess/Plugins/PluginView.cpp:
  5816. (WebKit::PluginView::evaluate):
  5817. * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
  5818. (WebKit::WebContextMenuClient::searchWithGoogle):
  5819. 2013-03-11 Tim Horton <timothy_horton@apple.com>
  5820. PDFPlugin: Make scrolling between pages in non-continuous modes work
  5821. https://bugs.webkit.org/show_bug.cgi?id=111415
  5822. <rdar://problem/12555320>
  5823. Reviewed by Alexey Proskuryakov.
  5824. * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
  5825. Add some more PDFLayerController SPI.
  5826. * WebProcess/Plugins/PDF/PDFPlugin.h:
  5827. (PDFPlugin): Override handleWheelEvent.
  5828. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  5829. (WebKit::PDFPlugin::handleWheelEvent):
  5830. If PDFLayerController is in non-continuous mode, allow scrolling between
  5831. pages by intercepting scroll events, and checking whether we're at the
  5832. top or bottom of a page. If we are, and a single event exceeds the threshold
  5833. of 20px (0px for legacy scroll wheels), we jump to the next or previous
  5834. page and scroll to the right place. Do not allow momentum scrolling to
  5835. switch pages.
  5836. 2013-03-11 Mark Lam <mark.lam@apple.com>
  5837. Fix some WebDatabaseManagerProxy methods to only send to one WebProcsess
  5838. instead of broadcasting to all WebProcesses.
  5839. https://bugs.webkit.org/show_bug.cgi?id=112074.
  5840. Reviewed by Alexey Proskuryakov.
  5841. The reason for this is because the intent of these messages is to act on
  5842. the tracker database that is shared between all WebProcesses. It is
  5843. redundant and inefficient for multiple WebProcesses to service the same
  5844. request/message. And because of multi-process contention on accessing
  5845. the tracker database, the results returned to the UIProcess may also be
  5846. erroneous.
  5847. For example, if getDatabaseOrigins() is broadcasted to all WebProcesses,
  5848. they will contend to open the tracker database at the same time. If one
  5849. of these processes fails because the database is already in use, then
  5850. it may return with an empty list when it should not be empty.
  5851. With this fix, only one WebProcess gets the message and will perform the
  5852. requested query/action on behalf of all WebProcesses.
  5853. * UIProcess/WebContext.h:
  5854. (WebKit::WebContext::sendToOneProcess):
  5855. * UIProcess/WebDatabaseManagerProxy.cpp:
  5856. (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
  5857. (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
  5858. (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
  5859. (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
  5860. (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
  5861. (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
  5862. 2013-03-11 Jeffrey Pfau <jpfau@apple.com>
  5863. List cache partitions as units instead of as their contents
  5864. https://bugs.webkit.org/show_bug.cgi?id=111909
  5865. Reviewed by Maciej Stachowiak.
  5866. * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
  5867. (WebKit::WebResourceCacheManager::cfURLCacheHostNames): Attempt to enumerate cache partitions based on information we have
  5868. 2013-01-30 Jer Noble <jer.noble@apple.com>
  5869. Full screen mode should not exit when application resigns active state.
  5870. https://bugs.webkit.org/show_bug.cgi?id=106129
  5871. Reviewed by Darin Adler.
  5872. Allow the user to close the full screen window with Cmd-w by making the full screen window
  5873. closable, and by intercepting performClose:.
  5874. * UIProcess/mac/WKFullScreenWindowController.mm:
  5875. (-[WKFullScreenWindowController init]): Create a closable full screen window.
  5876. (-[WKFullScreenWindowController performClose:]): When we receive a close request in full screen mode,
  5877. animate out of full screen.
  5878. 2013-03-11 Zan Dobersek <zdobersek@igalia.com>
  5879. [GTK] WebKit2-only build fails
  5880. https://bugs.webkit.org/show_bug.cgi?id=112033
  5881. Reviewed by Gustavo Noronha Silva.
  5882. * GNUmakefile.am: Introduce the artifical dependency of libwebkit2gtk on libwebkitgtk only
  5883. if building WebKit1 as well. Similarly with the WebKitPluginProcess, depend on libwebkitgtk
  5884. only if building WebKit1, the dependency is otherwise not necessary.
  5885. 2013-03-11 Tim Horton <timothy_horton@apple.com>
  5886. [wk2] Search With [your search provider here] should use NSPerformService in WebKit2/Mac
  5887. https://bugs.webkit.org/show_bug.cgi?id=111995
  5888. <rdar://problem/12975669>
  5889. Reviewed by Sam Weinig.
  5890. * UIProcess/WebPageProxy.h:
  5891. (WebPageProxy): Add searchTheWeb().
  5892. * UIProcess/WebPageProxy.messages.in: Add SearchTheWeb message.
  5893. * UIProcess/mac/WebPageProxyMac.mm:
  5894. (WebKit::WebPageProxy::searchTheWeb): Added. Call out to NSPerformService to search with the system default
  5895. search provider, in the browser.
  5896. * WebProcess/Plugins/PDF/PDFPlugin.h:
  5897. (PDFPlugin): Add performWebSearch().
  5898. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  5899. (-[WKPDFLayerControllerDelegate performWebSearch:]): Added, forward the delegate callback to PDFPlugin.
  5900. (WebKit::PDFPlugin::performWebSearch): Added, forward the search string to WebPageProxy.
  5901. * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
  5902. (WebKit::WebContextMenuClient::searchWithGoogle): Don't build the old load-Google-in-the-main-frame code on Mac.
  5903. * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
  5904. (WebKit::WebContextMenuClient::searchWithGoogle): Instead, send the search string to WebPageProxy.
  5905. 2013-03-11 Helder Correia <helder.correia@nokia.com>
  5906. [WK2] Add C API preference: accelerated compositing for overflow scroll
  5907. https://bugs.webkit.org/show_bug.cgi?id=111916
  5908. Reviewed by Simon Fraser.
  5909. * UIProcess/API/C/WKPreferences.cpp:
  5910. (WKPreferencesSetAcceleratedCompositingForOverflowScrollEnabled):
  5911. (WKPreferencesGetAcceleratedCompositingForOverflowScrollEnabled):
  5912. * UIProcess/API/C/WKPreferencesPrivate.h:
  5913. 2013-03-11 Brady Eidson <beidson@apple.com>
  5914. CoreIPC crash in NetworkProcess after WebProcess crash.
  5915. <rdar://problem/13124146> and https://bugs.webkit.org/show_bug.cgi?id=112046
  5916. Reviewed by Alexey Proskuryakov.
  5917. * NetworkProcess/SchedulableLoader.cpp:
  5918. (WebKit::SchedulableLoader::connectionToWebProcessDidClose): Don't null out the connection backpointer on crash.
  5919. 2013-03-11 Alexey Proskuryakov <ap@apple.com>
  5920. Make it possible to reuse sandbox extensions
  5921. https://bugs.webkit.org/show_bug.cgi?id=111883
  5922. Reviewed by Anders Carlsson.
  5923. This allows for properly keeping extensions in NetworkBlobRegistry for as long as
  5924. they are needed.
  5925. The patch also fixes a bug where extensions would leak when navigating between
  5926. file:// pages.
  5927. * NetworkProcess/SchedulableLoader.cpp:
  5928. Revoke the extensions, but don't invalidate - we may need them later.
  5929. * Shared/Downloads/Download.cpp:
  5930. (WebKit::Download::didFinish):
  5931. (WebKit::Download::didFail):
  5932. (WebKit::Download::didCancel):
  5933. Replaced invalidate() with revoke() and clearing out. SandboxExtension destructor
  5934. now requires revocations wto be balanced, as otherwise understanding dual reference
  5935. counting in SandboxExtension would be too difficult.
  5936. * Shared/SandboxExtension.h: We now keep track of how many times the extension
  5937. was consumed. Eventually, we should refactor the class to not have such duplicate
  5938. reference counting.
  5939. * Shared/mac/SandboxExtensionMac.mm:
  5940. (WebKit::SandboxExtension::SandboxExtension): Initialize use count.
  5941. (WebKit::SandboxExtension::~SandboxExtension): We now require consume/revoke calls
  5942. to be balanced. This is not hard to do in existing usage, and makes the design much
  5943. more reliable.
  5944. (WebKit::SandboxExtension::revoke): Don't permanently destroy the extension when
  5945. invalidatid, we may need it in the future.
  5946. (WebKit::SandboxExtension::consume): Added use counting.
  5947. * Shared/WebMemorySampler.cpp: (WebKit::WebMemorySampler::stop): This extension
  5948. is not going to be reused.
  5949. * WebProcess/WebPage/WebPage.cpp:
  5950. (WebKit::WebPage::performDragControllerAction): Pending extensions are not consumed,
  5951. so there is no need to revoke.
  5952. (WebKit::WebPage::SandboxExtensionTracker::invalidate): Pending extension is not
  5953. consumed, and the other two always are.
  5954. (WebKit::WebPage::SandboxExtensionTracker::setPendingProvisionalSandboxExtension):
  5955. Pending extension is never consumed in place, no need to revoke.
  5956. (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad): Do not unset
  5957. reused committed extension yet - we may need it later if provisional load fails.
  5958. Thanks to use counting, we can now consume the same extension as both committed
  5959. and provisional.
  5960. (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad): Now the
  5961. committed extension can be revoked and replaced.
  5962. (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad): Just revoke
  5963. provisional extension, committed one is still in place.
  5964. 2013-03-11 Grzegorz Czajkowski <g.czajkowski@samsung.com>
  5965. [EFL] Build fix after r143192 when SPELLCHECK is off
  5966. Unreviewed build fix when SPELLCHECK macro is off.
  5967. * UIProcess/efl/TextCheckerEfl.cpp:
  5968. (WebKit):
  5969. 2013-03-10 Tim Horton <timothy_horton@apple.com>
  5970. WebPage::scaledSnapshotWithOptions returns a corrupt snapshot if you request a rect larger than the FrameView’s size
  5971. https://bugs.webkit.org/show_bug.cgi?id=111820
  5972. <rdar://problem/13375785>
  5973. Reviewed by Simon Fraser.
  5974. We have to clear the image - there could be area that won’t be painted by the FrameView,
  5975. or the FrameView could have a transparent background.
  5976. * WebProcess/WebPage/WebPage.cpp:
  5977. (WebKit::WebPage::scaledSnapshotWithOptions):
  5978. 2013-03-10 Tim Horton <timothy_horton@apple.com>
  5979. Fix a typo in http://trac.webkit.org/changeset/145332.
  5980. Unreviewed.
  5981. ENABLE() doesn't use the WTF_ prefix.
  5982. * WebProcess/WebPage/WebPage.h:
  5983. 2013-03-10 Sam Weinig <sam@webkit.org>
  5984. Add bundle API to get the current selection as a WKDOMRange
  5985. https://bugs.webkit.org/show_bug.cgi?id=111947
  5986. <rdar://problem/13205460>
  5987. Reviewed by Gavin Barraclough.
  5988. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
  5989. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
  5990. (-[WKWebProcessPlugInBrowserContextController selectedRange]):
  5991. Add new selectedRange property.
  5992. * WebProcess/WebPage/WebPage.cpp:
  5993. (WebKit::frameWithSelection):
  5994. (WebKit::WebPage::currentSelectionAsRange):
  5995. * WebProcess/WebPage/WebPage.h:
  5996. Get the range by finding the frame that has a selection, and then normalizing it.
  5997. 2013-03-10 Tim Horton <timothy_horton@apple.com>
  5998. Add a heuristic to determine the “primary” snapshotted plugin
  5999. https://bugs.webkit.org/show_bug.cgi?id=111932
  6000. <rdar://problem/13270208>
  6001. Reviewed by Dean Jackson.
  6002. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  6003. (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
  6004. Forward didCommitLoad to WebPage. Move existing code that manipulated WebPage
  6005. itself during didCommitLoad into WebPage, where it belongs.
  6006. (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad): Forward didFinishLoad to WebPage.
  6007. * WebProcess/WebPage/WebPage.cpp:
  6008. (WebKit::WebPage::WebPage): Initialize m_didFindPrimarySnapshottedPlugin to false.
  6009. (WebKit::WebPage::didCommitLoad): Move code from WebPageFrameLoaderClient.
  6010. Reset the flag that says we've already found a snapshotted plugin.
  6011. (WebKit::WebPage::didFinishLoad):
  6012. Call determinePrimarySnapshottedPlugIn when any frame finishes loading. We call this for subframes,
  6013. not just the main frame, in case the main frame loads with no "primary" plugins, but a subframe later loads with one.
  6014. (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
  6015. Attempt to find the primary snapshotted plugin on the page, by hit-testing a grid of points spaced 200px apart.
  6016. A plugin is considered if it is snapshotted and > 450x300. We scan vertically and left-to-right, only discarding
  6017. a previous candidate if another candidate is at least 110% the size of the previous candidate.
  6018. This tends to select plugins near the top left of the page, unless there is a significantly larger plugin elsewhere.
  6019. (WebKit::WebPage::resetPrimarySnapshottedPlugIn):
  6020. * WebProcess/WebPage/WebPage.h:
  6021. (WebPage):
  6022. 2013-03-10 Sheriff Bot <webkit.review.bot@gmail.com>
  6023. Unreviewed, rolling out r145039 and r145096.
  6024. http://trac.webkit.org/changeset/145039
  6025. http://trac.webkit.org/changeset/145096
  6026. https://bugs.webkit.org/show_bug.cgi?id=111945
  6027. broke find indicator updates with scrolling subframes
  6028. (Requested by thorton on #webkit).
  6029. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  6030. (WebKit::TiledCoreAnimationDrawingArea::scroll):
  6031. (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
  6032. 2013-03-10 Andreas Kling <akling@apple.com>
  6033. WebPluginSiteDataManager should use OwnPtr.
  6034. <http://webkit.org/b/111940>
  6035. Reviewed by Anders Carlsson.
  6036. * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
  6037. (WebKit::WebPluginSiteDataManager::invalidate):
  6038. (WebKit::WebPluginSiteDataManager::getSitesWithData):
  6039. (WebKit::WebPluginSiteDataManager::clearSiteData):
  6040. (WebKit::WebPluginSiteDataManager::didGetSitesWithDataForAllPlugins):
  6041. (WebKit::WebPluginSiteDataManager::didClearSiteDataForAllPlugins):
  6042. * UIProcess/Plugins/WebPluginSiteDataManager.h:
  6043. (WebPluginSiteDataManager):
  6044. 2013-03-09 Manuel Rego Casasnovas <rego@igalia.com>
  6045. [GTK][WK2] Fix compilation warning missing-field-initializers in webkit-2.0 stable branch
  6046. https://bugs.webkit.org/show_bug.cgi?id=111863
  6047. Reviewed by Benjamin Poulain.
  6048. * UIProcess/API/gtk/WebKitUIClient.cpp:
  6049. (attachUIClientToView): Include missing initializer for pluginLoadPolicy.
  6050. 2013-03-08 Sheriff Bot <webkit.review.bot@gmail.com>
  6051. Unreviewed, rolling out r145254, r145264, and r145288.
  6052. http://trac.webkit.org/changeset/145254
  6053. http://trac.webkit.org/changeset/145264
  6054. http://trac.webkit.org/changeset/145288
  6055. https://bugs.webkit.org/show_bug.cgi?id=111917
  6056. Test breakage hints at conceptual unsoundness (Requested by ap
  6057. on #webkit).
  6058. * NetworkProcess/SchedulableLoader.cpp:
  6059. (WebKit::SchedulableLoader::invalidateSandboxExtensions):
  6060. * Shared/Downloads/Download.cpp:
  6061. (WebKit::Download::didFinish):
  6062. (WebKit::Download::didFail):
  6063. (WebKit::Download::didCancel):
  6064. * Shared/SandboxExtension.h:
  6065. (SandboxExtension):
  6066. (WebKit::SandboxExtension::invalidate):
  6067. * Shared/WebMemorySampler.cpp:
  6068. (WebKit::WebMemorySampler::stop):
  6069. * Shared/mac/SandboxExtensionMac.mm:
  6070. (WebKit::SandboxExtension::SandboxExtension):
  6071. (WebKit::SandboxExtension::invalidate):
  6072. (WebKit::SandboxExtension::consume):
  6073. * WebProcess/WebPage/WebPage.cpp:
  6074. (WebKit::WebPage::performDragControllerAction):
  6075. (WebKit::WebPage::SandboxExtensionTracker::invalidate):
  6076. (WebKit::WebPage::SandboxExtensionTracker::setPendingProvisionalSandboxExtension):
  6077. (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad):
  6078. (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
  6079. 2013-03-08 Dean Jackson <dino@apple.com>
  6080. Don't snapshot Java plugins
  6081. https://bugs.webkit.org/show_bug.cgi?id=111899
  6082. Reviewed by Tim Horton.
  6083. If the plugin is Java, return true from shouldAlwaysAutoStart.
  6084. * WebProcess/Plugins/PluginView.cpp:
  6085. (WebKit::PluginView::shouldAlwaysAutoStart): Check the mimetype for Java.
  6086. 2013-03-08 Alexey Proskuryakov <ap@apple.com>
  6087. <rdar://problem/13338743> Fix sandbox profile preprocessor flags for compatibility with new clang.
  6088. Reviewed by Alexey Proskuryakov.
  6089. Patch by Bob Wilson.
  6090. * DerivedSources.make: Only use -traditional when we have to work around old
  6091. behavior of -std=c89.
  6092. 2013-03-08 Joone Hur <joone.hur@intel.com>
  6093. Unreviewed build fix for EFL, GTK and Qt after r145254.
  6094. * Shared/SandboxExtension.h:
  6095. (WebKit::SandboxExtension::revoke):
  6096. 2013-03-08 Ryosuke Niwa <rniwa@webkit.org>
  6097. non-Mac ports build fix after r145235.
  6098. * UIProcess/WebInspectorProxy.cpp:
  6099. (WebKit::createInspectorPageGroup):
  6100. 2013-03-08 Benjamin Poulain <benjamin@webkit.org>
  6101. [Mac] Add a feature flag for 'view-mode' Media Feature, disable it on Mac
  6102. https://bugs.webkit.org/show_bug.cgi?id=111297
  6103. Reviewed by Kenneth Rohde Christiansen.
  6104. * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  6105. * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
  6106. * WebProcess/WebPage/WebPage.cpp:
  6107. * WebProcess/WebPage/WebPage.h:
  6108. 2013-03-08 Alexey Proskuryakov <ap@apple.com>
  6109. Make it possible to reuse sandbox extensions
  6110. https://bugs.webkit.org/show_bug.cgi?id=111883
  6111. Reviewed by Anders Carlsson.
  6112. Replaced invalidate() with revoke().
  6113. We now count how many times consume() was called, and keep the extension active
  6114. for as long as revoke() hasn't been called as many times. Also, we only permanently
  6115. destroy the extension in destructor.
  6116. This allows for properly keeping extensions in NetworkBlobRegistry for as long as
  6117. they are needed.
  6118. * NetworkProcess/SchedulableLoader.cpp:
  6119. (WebKit::SchedulableLoader::invalidateSandboxExtensions):
  6120. * Shared/Downloads/Download.cpp:
  6121. (WebKit::Download::didFinish):
  6122. (WebKit::Download::didFail):
  6123. (WebKit::Download::didCancel):
  6124. * Shared/SandboxExtension.h:
  6125. (SandboxExtension):
  6126. * Shared/WebMemorySampler.cpp:
  6127. (WebKit::WebMemorySampler::stop):
  6128. * Shared/mac/SandboxExtensionMac.mm:
  6129. (WebKit::SandboxExtension::SandboxExtension):
  6130. (WebKit::SandboxExtension::revoke):
  6131. (WebKit::SandboxExtension::consume):
  6132. * WebProcess/WebPage/WebPage.cpp:
  6133. (WebKit::WebPage::performDragControllerAction):
  6134. (WebKit::WebPage::SandboxExtensionTracker::invalidate):
  6135. (WebKit::WebPage::SandboxExtensionTracker::setPendingProvisionalSandboxExtension):
  6136. (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad):
  6137. (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
  6138. 2013-03-08 Carlos Garcia Campos <cgarcia@igalia.com>
  6139. [WK2][GTK] Invalid request returned by webkit_download_get_request if called before download starts
  6140. https://bugs.webkit.org/show_bug.cgi?id=111574
  6141. Reviewed by Alexey Proskuryakov.
  6142. webkit_download_get_request() creates the WebKitURIRequest object
  6143. on demand using the ResourceRequest from the DownloadProxy. The
  6144. ResourceRequest of the DownloadProxy is set in
  6145. DownloadProxy::didStart(), so if we call
  6146. webkit_download_get_request() before didStart we return an invalid
  6147. WebKitURIRequest created from a NULL ResourceRequest. This is not
  6148. a problem for downloads started in the web process, because we
  6149. create the WebKitDownload after DownloadProxy::didStart(). For
  6150. downloads started manually with webkit_web_context_download_uri()
  6151. we need to create download object with the ResourceRequest passed
  6152. to the DownloadProxy.
  6153. * UIProcess/API/gtk/WebKitDownload.cpp:
  6154. (webkitDownloadCreateForRequest): New helper function for
  6155. downloads started manually to created them with a given
  6156. ResourceRequest.
  6157. * UIProcess/API/gtk/WebKitDownloadPrivate.h:
  6158. * UIProcess/API/gtk/WebKitWebContext.cpp:
  6159. (webkitWebContextStartDownload): Use
  6160. webkitDownloadCreateForRequest().
  6161. * UIProcess/API/gtk/tests/TestDownloads.cpp:
  6162. (testDownloadLocalFile):
  6163. (testDownloadLocalFileError):
  6164. (testDownloadRemoteFile):
  6165. (testDownloadRemoteFileError):
  6166. (testPolicyResponseDownload):
  6167. 2013-03-07 Alexey Proskuryakov <ap@apple.com>
  6168. <rdar://problem/13363499> Blobs are not cleaned up when WebProcess terminates
  6169. https://bugs.webkit.org/show_bug.cgi?id=111803
  6170. Reviewed by Brady Eidson.
  6171. Track which blobs were created for each connection, and unregister them when
  6172. the connection closes.
  6173. Normally, this happens when a document is destroyed through PublicURLManager
  6174. in WebProcess. But we don't get there when the web process crashes, or is terminated
  6175. without waiting for document destruction.
  6176. * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
  6177. (WebKit::NetworkBlobRegistry::registerBlobURL):
  6178. (WebKit::NetworkBlobRegistry::unregisterBlobURL):
  6179. (WebKit::NetworkBlobRegistry::connectionToWebProcessDidClose):
  6180. * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
  6181. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  6182. (WebKit::NetworkConnectionToWebProcess::didClose):
  6183. (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
  6184. (WebKit::NetworkConnectionToWebProcess::registerBlobURLFromURL):
  6185. (WebKit::NetworkConnectionToWebProcess::unregisterBlobURL):
  6186. 2013-03-08 Timothy Hatcher <timothy@apple.com>
  6187. Make the WebKit2 Web Inspector use tiled drawing and accelerated drawing.
  6188. <rdar://problem/12676223>
  6189. Reviewed by David Kilzer.
  6190. * UIProcess/WebInspectorProxy.cpp:
  6191. (WebKit::createInspectorPageGroup): Call setAcceleratedDrawingEnabled with true on 10.8+.
  6192. * UIProcess/mac/WebInspectorProxyMac.mm:
  6193. (-[WKWebInspectorWKView _shouldUseTiledDrawingArea]): Added. Return YES on 10.8+.
  6194. 2013-03-08 Huang Dongsung <luxtella@company100.net>
  6195. Coordinated Graphics: Handle scrolling correctly.
  6196. https://bugs.webkit.org/show_bug.cgi?id=111406
  6197. Reviewed by Simon Fraser.
  6198. Coordinated Graphics deals with fast scrolling and slow scrolling in the same
  6199. routine, so WebChromeClient::invalidateContentsForSlowScroll() should call
  6200. DrawingArea:scroll().
  6201. When CoordinatedLayerTreeHost::scrollNonCompositedContents() is called, we
  6202. should call scheduleLayerFlush() to notify to UI Process. In addition, when we
  6203. don't use fixed layout, we should call setNonCompositedContentsNeedDisplay() to
  6204. update non composited contents.
  6205. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  6206. (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
  6207. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  6208. (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
  6209. 2013-03-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  6210. [WK2][EFL] Remove EwkView::setImageData()
  6211. https://bugs.webkit.org/show_bug.cgi?id=111849
  6212. Reviewed by Andreas Kling.
  6213. EwkView::setImageData() removed as it is not used at the moment
  6214. (it used to be part of eliminated non coord graphics code path).
  6215. * UIProcess/API/efl/EwkView.cpp:
  6216. * UIProcess/API/efl/EwkView.h:
  6217. (EwkView):
  6218. * UIProcess/cairo/BackingStoreCairo.cpp:
  6219. (WebKit::BackingStore::incorporateUpdate):
  6220. 2013-03-08 Carlos Garcia Campos <cgarcia@igalia.com>
  6221. [GTK] Memory leak in webkit_web_view_load_request() in WebKit2 API
  6222. https://bugs.webkit.org/show_bug.cgi?id=111160
  6223. Reviewed by Benjamin Poulain.
  6224. leakRef() is used for the returned PassRefPtr without taking the
  6225. ownership of the leaked ref.
  6226. * UIProcess/API/gtk/WebKitWebView.cpp:
  6227. (webkit_web_view_load_request): Use RefPtr local variable.
  6228. 2013-03-07 Huang Dongsung <luxtella@company100.net>
  6229. [EFL] EwkView should keep css position instead of scroll position in device pixel.
  6230. https://bugs.webkit.org/show_bug.cgi?id=110847
  6231. Reviewed by Kenneth Rohde Christiansen.
  6232. Signed off for WebKit2 by Benjamin Poulain.
  6233. There are bugs that some code expect that EwkView::pagePosition() returns css
  6234. position while others expect that it returns scroll position in device pixel.
  6235. In addition, some code call EwkView::setPagePosition() with css position while
  6236. others call it with scroll position in device pixel.
  6237. This patch makes all code use setPagePosition() and pagePosition() with
  6238. UI pixels (a.k.a Density Independent Pixel).
  6239. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  6240. (WebKit::PageViewportControllerClientEfl::setViewportPosition):
  6241. * UIProcess/efl/WebView.cpp:
  6242. (WebKit::WebView::paintToCairoSurface):
  6243. (WebKit::WebView::updateViewportSize):
  6244. (WebKit::WebView::transformToScene):
  6245. (WebKit::WebView::pageDidRequestScroll):
  6246. 2013-03-07 Alexey Proskuryakov <ap@apple.com>
  6247. https://bugs.webkit.org/show_bug.cgi?id=111801
  6248. https://bugs.webkit.org/show_bug.cgi?id=111801
  6249. Reviewed by Geoff Garen.
  6250. Move unnecessary includes out of headers.
  6251. * NetworkProcess/HostRecord.h:
  6252. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  6253. * NetworkProcess/NetworkProcess.cpp:
  6254. * NetworkProcess/NetworkResourceLoadScheduler.cpp:
  6255. * NetworkProcess/NetworkResourceLoadScheduler.h:
  6256. * NetworkProcess/NetworkResourceLoader.h:
  6257. * NetworkProcess/SchedulableLoader.cpp:
  6258. * NetworkProcess/SchedulableLoader.h:
  6259. * NetworkProcess/SyncNetworkResourceLoader.cpp:
  6260. 2013-03-07 Andreas Kling <akling@apple.com>
  6261. Resizing Cappuccino is very laggy on WebKit since Safari 5.1
  6262. <http://webkit.org/b/71354>
  6263. <rdar://problem/10565998>
  6264. Reviewed by Anders Carlsson.
  6265. On Mac, we already cache the window rect through the WindowAndViewFramesChanged
  6266. message, so simply return that in WebChromeClient::windowRect() instead of
  6267. sending a synchronous query to the UIProcess.
  6268. If a programmatic resize is requested, we bypass the cache until we've received
  6269. a new WindowAndViewFramesChanged message. This compromise allows us to return
  6270. cached rects in the common case, and handles creating a new window and immediately
  6271. resizing it gracefully.
  6272. Changed WindowAndViewFramesChanged to pass FloatRect/FloatPoint rather than
  6273. IntRect/IntPoint to match the ChromeClient::windowRect() return type.
  6274. * UIProcess/API/mac/WKView.mm:
  6275. (-[WKView _updateWindowAndViewFrames]):
  6276. * UIProcess/WebPageProxy.h:
  6277. (WebPageProxy):
  6278. * UIProcess/mac/WebPageProxyMac.mm:
  6279. (WebKit::WebPageProxy::windowAndViewFramesChanged):
  6280. * WebProcess/Plugins/PluginView.cpp:
  6281. (WebKit::PluginView::windowAndViewFramesChanged):
  6282. * WebProcess/Plugins/PluginView.h:
  6283. (PluginView):
  6284. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  6285. (WebKit::WebChromeClient::setWindowRect):
  6286. (WebKit::WebChromeClient::windowRect):
  6287. * WebProcess/WebPage/WebPage.cpp:
  6288. (WebKit::WebPage::WebPage):
  6289. (WebKit::WebPage::sendSetWindowFrame):
  6290. (WebKit::WebPage::windowAndViewFramesChanged):
  6291. * WebProcess/WebPage/WebPage.h:
  6292. (WebPage):
  6293. (WebKit::WebPage::windowFrameInScreenCoordinates):
  6294. (WebKit::WebPage::viewFrameInWindowCoordinates):
  6295. (WebKit::WebPage::hasCachedWindowFrame):
  6296. (WebKit::WebPage::accessibilityPosition):
  6297. * WebProcess/WebPage/WebPage.messages.in:
  6298. * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
  6299. (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
  6300. 2013-03-07 Alexey Proskuryakov <ap@apple.com>
  6301. Don't try to create a sandbox extension when path is empty
  6302. https://bugs.webkit.org/show_bug.cgi?id=111788
  6303. Reviewed by Anders Carlsson.
  6304. * Shared/FileAPI/BlobRegistrationData.cpp:
  6305. (WebKit::BlobRegistrationData::BlobRegistrationData): Skip File objects with empty
  6306. paths to avoid logging an error to console.
  6307. 2013-03-07 Mark Lam <mark.lam@apple.com>
  6308. WebPageProxy::exceededDatabaseQuota() needs to be serialized.
  6309. https://bugs.webkit.org/show_bug.cgi?id=111631.
  6310. Reviewed by Geoffrey Garen.
  6311. Previously, WebPageProxy::exceededDatabaseQuota() is called synchronously
  6312. with script execution in the WebProcess. Hence, it is never called in a
  6313. recursive manner.
  6314. In webkit2, we can have multiple WebProcesses concurrently triggering a
  6315. call to this function. While the function is waiting on feedback from a
  6316. UI dialog, the wait loop may re-enter the function to service a second
  6317. request to call this function from another WebProcess. This results in
  6318. problems where some of the WebProcesses will not get a proper reply, and
  6319. therefore hangs perpetually waiting for a non-forthcoming reply.
  6320. This changeset changes the function to queue the requests and ensure
  6321. that we do not recursively callback to the UI client.
  6322. * Platform/CoreIPC/HandleMessage.h:
  6323. (CoreIPC::callMemberFunction):
  6324. * UIProcess/WebPageProxy.cpp:
  6325. (ExceededDatabaseQuotaRecords):
  6326. (Record):
  6327. (WebKit::ExceededDatabaseQuotaRecords::areBeingProcessed):
  6328. (WebKit::ExceededDatabaseQuotaRecords::ExceededDatabaseQuotaRecords):
  6329. (WebKit::ExceededDatabaseQuotaRecords::~ExceededDatabaseQuotaRecords):
  6330. (WebKit::ExceededDatabaseQuotaRecords::shared):
  6331. (WebKit::ExceededDatabaseQuotaRecords::createRecord):
  6332. (WebKit::ExceededDatabaseQuotaRecords::add):
  6333. (WebKit::ExceededDatabaseQuotaRecords::next):
  6334. (WebKit::WebPageProxy::exceededDatabaseQuota):
  6335. * UIProcess/WebPageProxy.h:
  6336. * UIProcess/WebPageProxy.messages.in:
  6337. 2013-03-07 Jeffrey Pfau <jpfau@apple.com>
  6338. CFNetwork cache partitioning does not work properly on subdomains
  6339. https://bugs.webkit.org/show_bug.cgi?id=111772
  6340. Reviewed by David Kilzer.
  6341. Ensure that the CFString is UTF-8 so that WKCFURLCacheCopyAllHostNamesInPersistentStoreForPartition will always work.
  6342. * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
  6343. (WebKit::partitionName): Create a UTF-8 CFString explicitly
  6344. 2013-03-07 Beth Dakin <bdakin@apple.com>
  6345. Need API to draw custom overhang area
  6346. https://bugs.webkit.org/show_bug.cgi?id=111679
  6347. -and corresponding-
  6348. <rdar://problem/13291415>
  6349. Reviewed by Simon Fraser.
  6350. The new API is WKBundlePageSetTopOverhangImage() and
  6351. WKBundlePageSetBottomOverhangImage(). When the API is called, WebPage will get
  6352. GraphicsLayers for the appropriate area from FrameView, and then set the image as
  6353. the contents of the layer.
  6354. * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  6355. (WKBundlePageSetTopOverhangImage):
  6356. (WKBundlePageSetBottomOverhangImage):
  6357. * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  6358. * WebProcess/WebPage/WebPage.h:
  6359. (WebPage):
  6360. * WebProcess/WebPage/mac/WebPageMac.mm:
  6361. (WebKit::WebPage::setTopOverhangImage):
  6362. (WebKit):
  6363. (WebKit::WebPage::setBottomOverhangImage):
  6364. 2013-03-07 Gavin Barraclough <barraclough@apple.com>
  6365. Reduce page cache size on Mac
  6366. https://bugs.webkit.org/show_bug.cgi?id=111795
  6367. Rubber stamped by Geoff Garen
  6368. 5 entries is unnecessarily large; research show 3 should suffice.
  6369. On a low memory warning we should clear this completely.
  6370. * Shared/CacheModel.cpp:
  6371. (WebKit::calculateCacheSizes):
  6372. - reduce maximum to 3.
  6373. 2013-03-07 Anders Carlsson <andersca@apple.com>
  6374. Add a didFocusTextField callback to the injected bundle form client
  6375. https://bugs.webkit.org/show_bug.cgi?id=111771
  6376. Reviewed by Andreas Kling.
  6377. Add a new client callback that's invoked whenever a text input field is focused.
  6378. * Shared/APIClientTraits.cpp:
  6379. (WebKit):
  6380. * Shared/APIClientTraits.h:
  6381. * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  6382. * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
  6383. (WebKit::InjectedBundlePageFormClient::didFocusTextField):
  6384. (WebKit):
  6385. * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
  6386. (InjectedBundlePageFormClient):
  6387. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  6388. (WebKit::WebChromeClient::focusedNodeChanged):
  6389. 2013-03-07 Tim Horton <timothy_horton@apple.com>
  6390. Null-check the page overlay before trying to use it.
  6391. Reviewed by Simon Fraser.
  6392. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  6393. (WebKit::TiledCoreAnimationDrawingArea::scroll):
  6394. 2013-03-07 Zan Dobersek <zdobersek@igalia.com>
  6395. [GTK] Limit the supported compilers to GCC >= 4.7 and Clang >= 3.0
  6396. https://bugs.webkit.org/show_bug.cgi?id=109932
  6397. Reviewed by Martin Robinson.
  6398. * GNUmakefile.am: Replace references to SYMBOL_VISIBILITY_INLINES and SYMBOL_VISIBILITY variables with the actual flags.
  6399. They are now available by default due to the limited set of supported compilers.
  6400. 2013-03-05 Gustavo Noronha Silva <gns@gnome.org>
  6401. [GTK] Enable translations for WebKit2
  6402. https://bugs.webkit.org/show_bug.cgi?id=111398
  6403. Reviewed by Martin Robinson.
  6404. * GNUmakefile.am: define PACKAGE_LOCALE_DIR when building WebProcess's main module.
  6405. * WebProcess/gtk/WebProcessMainGtk.cpp:
  6406. (WebKit::WebProcessMainGtk): register the i18n domain name, and prefer UTF-8, since
  6407. we're GTK+; at the moment we're just using the same name as WebKitGTK+, pro: the
  6408. translation module can be reused, con: you can't have different versions of
  6409. WebKitGTK+ and WebKit2GTK+ installed, because the module would not be fit for reuse
  6410. in that case.
  6411. * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
  6412. (WebKit::childSetupFunction): do not set LC_ALL environment variable explicitly,
  6413. the child process will already inherit the environment of the parent, which should
  6414. have all the variables set properly.
  6415. 2013-03-06 Alexey Proskuryakov <ap@apple.com>
  6416. SandboxExtension::createHandle raises an uncaught Objective-C exception if path is empty
  6417. https://bugs.webkit.org/show_bug.cgi?id=111689
  6418. Reviewed by Filip Pizlo.
  6419. * Shared/mac/SandboxExtensionMac.mm: (WebKit::SandboxExtension::createHandle):
  6420. Use a function from WebCore platform layer instead of Foundation one equivalent.
  6421. We already do this elsewhere in this file.
  6422. 2013-03-06 Tim Horton <timothy_horton@apple.com>
  6423. [wk2] Page overlays shouldn't dirty the entire layer when flushing if the main frame can't scroll
  6424. https://bugs.webkit.org/show_bug.cgi?id=111662
  6425. <rdar://problem/13355808>
  6426. Reviewed by Simon Fraser.
  6427. Instead of setNeedsDisplay()ing the whole page overlay layer every time through
  6428. TCADA::flushLayers, do it at scroll time instead. Repainting on scroll is
  6429. necessary to keep things painted in the right place when we scroll (the overlay
  6430. is fixed to the size of the view), but is quite wasteful in apps that don’t scroll.
  6431. This works with threaded scrolling because overlay installation forces us
  6432. into main-thread scrolling mode.
  6433. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  6434. (WebKit::TiledCoreAnimationDrawingArea::scroll):
  6435. (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
  6436. 2013-03-06 Tim Horton <timothy_horton@apple.com>
  6437. [wk2] Page overlays should use the accelerated drawing setting instead of hardcoding it on
  6438. https://bugs.webkit.org/show_bug.cgi?id=111654
  6439. <rdar://problem/13364085>
  6440. Reviewed by Simon Fraser.
  6441. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  6442. (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
  6443. (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
  6444. 2013-03-06 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  6445. [EFL][WK2] Enable interactive form validation for email and url input type validation
  6446. https://bugs.webkit.org/show_bug.cgi?id=111026
  6447. Reviewed by Laszlo Gombos.
  6448. WebKit EFL can check if input value is valid by enabling this feature.
  6449. * UIProcess/API/efl/EwkView.cpp:
  6450. (EwkView::EwkView):
  6451. 2013-03-06 Alexey Proskuryakov <ap@apple.com>
  6452. [Mac] Synthetic ResourceResponses cannot be sent over IPC without losing most information
  6453. https://bugs.webkit.org/show_bug.cgi?id=111623
  6454. Reviewed by Brady Eidson.
  6455. * Shared/WebCoreArgumentCoders.cpp:
  6456. * Shared/WebCoreArgumentCoders.h:
  6457. (CoreIPC::::encode): Made the decision on whether to serialize WebCore data in
  6458. ResourceResponse dynamic. If the platform data is out of date, we need both
  6459. (because some platforms use encodePlatformData() to pass additional information).
  6460. (CoreIPC::::decode): Decode platform data first, because this overwrites the ResourceResponse.
  6461. * Shared/mac/WebCoreArgumentCodersMac.mm: (CoreIPC::::encodePlatformData): Don't
  6462. encode NSURLResponse if it's out of date. We may have a bad NSURLResponse with 0
  6463. status code given to client, but it was almost certainly the same on sending side.
  6464. WebCore doesn't mutate real responses - it either keeps them as is, or builds
  6465. entirely synthetic ones.
  6466. 2013-03-04 Jer Noble <jer.noble@apple.com>
  6467. Default mouse cursor behavior should be auto-hide for full screen video with custom controls
  6468. https://bugs.webkit.org/show_bug.cgi?id=107601
  6469. Reviewed by Beth Dakin.
  6470. Enable the CURSOR_VISIBILITY feature.
  6471. * Configurations/FeatureDefines.xcconfig:
  6472. 2013-03-06 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  6473. [GTK][WK2] Implement WebInspector::localizedStringsURL() to return the file URL of localizedStrings.js
  6474. https://bugs.webkit.org/show_bug.cgi?id=111448
  6475. Reviewed by Alexey Proskuryakov.
  6476. Implement WebInspector::localizedStringsURL() method to return the
  6477. file URL of the localizedStrings.js.
  6478. This prevents printing warnings about "Localized string not found" in
  6479. the console.
  6480. * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
  6481. (WebKit::WebInspector::localizedStringsURL):
  6482. 2013-03-06 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  6483. [EFL][WK2] REGRESSION(r143582): API test EWK2UnitTestBase.ewk_view_contents_size_changed failing
  6484. https://bugs.webkit.org/show_bug.cgi?id=110608
  6485. Reviewed by Kenneth Rohde Christiansen.
  6486. Test was expecting ContentsSizeChanged signal from ViewClientEfl, but
  6487. WebView was not calling client callback if useFixedLayout() is true.
  6488. This patch prevent early return if useFixedLayout() is true and call
  6489. client callback didChangeContentsSize(), which will emit the signal.
  6490. * UIProcess/efl/ViewClientEfl.cpp:
  6491. (WebKit::ViewClientEfl::didChangeContentsSize):
  6492. * UIProcess/efl/WebView.cpp:
  6493. (WebKit::WebView::didChangeContentsSize):
  6494. 2013-03-06 Manuel Rego Casasnovas <rego@igalia.com>
  6495. [WK2][GTK] Fix unit test WebKit2APITests/WebKitWebView/mouse-target
  6496. https://bugs.webkit.org/show_bug.cgi?id=82866
  6497. Reviewed by Martin Robinson.
  6498. Test was failing because of new media controls needs more space to be
  6499. painted than just 10x10 pixels. This is similar to r144070.
  6500. * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
  6501. (testWebViewMouseTarget): Modified HTML in order to give more space to the media controls.
  6502. 2013-03-06 Tim Horton <timothy_horton@apple.com>
  6503. [wk2] Page Overlays: Hook up the layer border/repaint counter setting to the overlay layer
  6504. https://bugs.webkit.org/show_bug.cgi?id=111547
  6505. <rdar://problem/13355801>
  6506. Reviewed by Simon Fraser.
  6507. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  6508. (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
  6509. (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
  6510. Keep the page overlay layer's debug border and repaint counter settings updated.
  6511. 2013-03-06 Geoffrey Garen <ggaren@apple.com>
  6512. Joing the adoptNS/adoptCF/adoptRef club.
  6513. https://bugs.webkit.org/show_bug.cgi?id=111467
  6514. Reviewed by Darin Adler.
  6515. Responding to review comments by Darin Adler.
  6516. * NetworkProcess/mac/NetworkProcessMac.mm:
  6517. (WebKit::NetworkProcess::platformInitializeNetworkProcess):
  6518. * WebProcess/mac/WebProcessMac.mm:
  6519. (WebKit::WebProcess::platformInitializeWebProcess): Tighten up this code
  6520. by reducing extraneous local variables.
  6521. 2013-03-05 Alexey Proskuryakov <ap@apple.com>
  6522. Track sandbox extensions for blobs in NetworkProcess
  6523. https://bugs.webkit.org/show_bug.cgi?id=111484
  6524. Reviewed by Sam Weinig.
  6525. * WebKit2.xcodeproj/project.pbxproj:
  6526. * NetworkProcess/FileAPI: Added.
  6527. * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: Added.
  6528. * NetworkProcess/FileAPI/NetworkBlobRegistry.h: Added.
  6529. Added a registry that wraps normal in-process "BlobRegistryImpl", and also tracks
  6530. sandbox extensions for blobs. It will also track process connections, so that
  6531. blobs could be removed when a process crashes.
  6532. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  6533. (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
  6534. (WebKit::NetworkConnectionToWebProcess::registerBlobURLFromURL):
  6535. (WebKit::NetworkConnectionToWebProcess::unregisterBlobURL):
  6536. Use NetworkBlobRegistry.
  6537. * NetworkProcess/SchedulableLoader.h:
  6538. * NetworkProcess/SchedulableLoader.cpp:
  6539. (WebKit::SchedulableLoader::SchedulableLoader): Add extensions for blobs, both in
  6540. request URL and in request data.
  6541. (WebKit::SchedulableLoader::consumeSandboxExtensions): Request may now have multiple
  6542. extensions.
  6543. (WebKit::SchedulableLoader::invalidateSandboxExtensions): Ditto.
  6544. * Shared/FileAPI/BlobRegistrationData.cpp: Fixed extension creation - actually
  6545. store the result.
  6546. 2013-03-06 Andras Becsi <andras.becsi@digia.com>
  6547. [Qt][WK2] Fix the Mac build after r144787
  6548. https://bugs.webkit.org/show_bug.cgi?id=111569
  6549. Reviewed by Csaba Osztrogonác.
  6550. Use uint_64 explicitly instead of size_t.
  6551. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  6552. (CoreIPC::::encode):
  6553. (CoreIPC::::decode):
  6554. 2013-03-05 Kent Tamura <tkent@chromium.org>
  6555. Rename WebCore/editing/visible_units.* to VisibleUnits.*
  6556. https://bugs.webkit.org/show_bug.cgi?id=111426
  6557. Reviewed by Alexey Proskuryakov.
  6558. * WebProcess/WebPage/mac/WebPageMac.mm:
  6559. 2013-03-06 Zeno Albisser <zeno@webkit.org>
  6560. DataReference::vector() should be const.
  6561. https://bugs.webkit.org/show_bug.cgi?id=109928
  6562. Reviewed by Anders Carlsson.
  6563. * Platform/CoreIPC/DataReference.h:
  6564. (CoreIPC::DataReference::vector):
  6565. 2013-03-06 Luiz Agostini <luiz.agostini@nokia.com>
  6566. Accelerated overflow scrolling for Coordinated Graphics.
  6567. https://bugs.webkit.org/show_bug.cgi?id=110323
  6568. Reviewed by Noam Rosenthal.
  6569. Signed off for WebKit2 by Simon Fraser.
  6570. A scroll offset is applied to individual layers on UI process and the
  6571. web process is notified assynchronously.
  6572. The new API WKCoordinatedScene may be used to scroll layers in the UI process.
  6573. * CMakeLists.txt:
  6574. Encoding and decoding the new members of CoordinatedGraphicsLayerState.
  6575. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  6576. (CoreIPC::::encode):
  6577. (CoreIPC::::decode):
  6578. Adding acceleratedCompositingForOverflowScrollEnabled to WebPreferencesStore.
  6579. * Shared/WebPreferencesStore.h:
  6580. * WebProcess/WebPage/WebPage.cpp:
  6581. (WebKit::WebPage::updatePreferences):
  6582. New API WKCoordinatedScene is used to scroll layers on UI side.
  6583. * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp:
  6584. * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.h:
  6585. * UIProcess/CoordinatedGraphics/WKCoordinatedSceneAPICast.h:
  6586. A new message is used to send scroll commit messages to web process.
  6587. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
  6588. (WebKit::CoordinatedLayerTreeHostProxy::commitScrollOffset):
  6589. (WebKit):
  6590. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  6591. (CoordinatedLayerTreeHostProxy):
  6592. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  6593. (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
  6594. (WebKit::CoordinatedLayerTreeHost::detachLayer):
  6595. (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
  6596. (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
  6597. (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
  6598. (WebKit::CoordinatedLayerTreeHost::commitScrollOffset):
  6599. (WebKit):
  6600. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  6601. (CoordinatedLayerTreeHost):
  6602. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
  6603. 2013-03-06 Huang Dongsung <luxtella@company100.net>
  6604. [EFL][WK2] Convert from device view size to UI view size only in EwkView.
  6605. https://bugs.webkit.org/show_bug.cgi?id=110197
  6606. Reviewed by Kenneth Rohde Christiansen.
  6607. Signed off for WebKit2 by Benjamin Poulain.
  6608. Device scale factor is a property of the physical display, so only EwkView
  6609. should deal with converting device view size to UI (a.k.a Density Independent Pixel)
  6610. view size. It increases readability because we can regard a view size in
  6611. other classes (e.g. WebView, PageViewportController, WebPage) except for
  6612. EwkView as UI size.
  6613. * UIProcess/API/efl/EwkView.cpp:
  6614. (EwkView::setDeviceScaleFactor):
  6615. (EwkView::setDeviceSize):
  6616. (EwkView::size):
  6617. (EwkView::deviceSize):
  6618. (EwkView::scheduleUpdateDisplay):
  6619. (EwkView::createGLSurface):
  6620. (EwkView::handleEvasObjectCalculate):
  6621. * UIProcess/API/efl/EwkView.h:
  6622. (EwkView):
  6623. * UIProcess/efl/WebView.cpp:
  6624. (WebKit::WebView::paintToCurrentGLContext):
  6625. (WebKit::WebView::updateViewportSize):
  6626. 2013-03-06 Christophe Dumez <ch.dumez@sisa.samsung.com>
  6627. [EFL][WK2] Use Vector::reserveInitialCapacity() in WebEventFactory::createWebTouchEvent()
  6628. https://bugs.webkit.org/show_bug.cgi?id=111530
  6629. Reviewed by Benjamin Poulain.
  6630. In WebEventFactory::createWebTouchEvent(), when constructing the vector of touch points,
  6631. we already know in advance the total number of touch points. Therefore, we should
  6632. leverage WTF::Vector::reserveInitialCapacity() and WTF::Vector::uncheckedAppend() to save
  6633. some capacity checks.
  6634. * Shared/efl/WebEventFactory.cpp:
  6635. (WebKit::WebEventFactory::createWebTouchEvent):
  6636. 2013-03-05 Grzegorz Czajkowski <g.czajkowski@samsung.com>
  6637. [WK2][EFL] Enable asynchronous spell checking by default
  6638. https://bugs.webkit.org/show_bug.cgi?id=111295
  6639. Reviewed by Benjamin Poulain.
  6640. Asynchronous spell checking feature is disabled by default for wk2 platforms.
  6641. It means all requests of spell checking are sent synchronously.
  6642. WebKit-EFL implements requestCheckingOfString method which allows
  6643. to check spelling asynchronously.
  6644. * UIProcess/API/efl/EwkView.cpp:
  6645. (EwkView::EwkView):
  6646. 2013-03-05 Kondapally Kalyan <kalyan.kondapally@intel.com>
  6647. [EFL] Ensure right format is used in SnapshotImageGL.
  6648. https://bugs.webkit.org/show_bug.cgi?id=111333
  6649. Reviewed by Benjamin Poulain.
  6650. GL_BGRA format is not standard for glReadPixels with GLES.
  6651. This patch ensures that GL_RGBA is used in SnapshotImageGL
  6652. while using GLES.
  6653. * UIProcess/API/efl/SnapshotImageGL.cpp:
  6654. (getImageSurfaceFromFrameBuffer):
  6655. 2013-03-05 Geoffrey Garen <ggaren@apple.com>
  6656. Each web process truncates the disk cache to zero on launch
  6657. https://bugs.webkit.org/show_bug.cgi?id=111467
  6658. Reviewed by Darin Adler.
  6659. Let's not do that.
  6660. * WebProcess/mac/WebProcessMac.mm:
  6661. (WebKit::WebProcess::platformInitializeWebProcess):
  6662. 2013-03-05 Anders Carlsson <andersca@apple.com>
  6663. Reset the values if there is a quota error
  6664. https://bugs.webkit.org/show_bug.cgi?id=111500
  6665. Reviewed by Beth Dakin.
  6666. * WebProcess/Storage/StorageAreaProxy.cpp:
  6667. (WebKit::StorageAreaProxy::didSetItem):
  6668. (WebKit::StorageAreaProxy::resetValues):
  6669. (WebKit):
  6670. * WebProcess/Storage/StorageAreaProxy.h:
  6671. (StorageAreaProxy):
  6672. 2013-03-05 Anders Carlsson <andersca@apple.com>
  6673. Keep track of pending value changes in StorageAreaProxy
  6674. https://bugs.webkit.org/show_bug.cgi?id=111496
  6675. Reviewed by Beth Dakin.
  6676. Add a HashCountedSet to keep track of the number of pending value
  6677. changes for a given key. If we get incoming storage events from other
  6678. processes while we have pending value changes, ignore the events.
  6679. * WebProcess/Storage/StorageAreaProxy.cpp:
  6680. (WebKit::StorageAreaProxy::setItem):
  6681. (WebKit::StorageAreaProxy::didSetItem):
  6682. (WebKit::StorageAreaProxy::dispatchStorageEvent):
  6683. (WebKit::StorageAreaProxy::shouldApplyChangesForKey):
  6684. (WebKit):
  6685. * WebProcess/Storage/StorageAreaProxy.h:
  6686. (StorageAreaProxy):
  6687. 2013-03-05 Ryuan Choi <ryuan.choi@samsung.com>
  6688. [EFL] Build break with latest EFL libraries
  6689. https://bugs.webkit.org/show_bug.cgi?id=111028
  6690. Reviewed by Dirk Pranke.
  6691. * PlatformEfl.cmake: Added ECORE_XXX_INCLUDE_DIRS.
  6692. 2013-03-05 Anders Carlsson <andersca@apple.com>
  6693. Use a named parameter for whether a quota error ocurred or not
  6694. https://bugs.webkit.org/show_bug.cgi?id=111490
  6695. Reviewed by Beth Dakin.
  6696. This is clearer than setItem returning true on error.
  6697. Also, actually set the item in the storage map.
  6698. * UIProcess/Storage/StorageManager.cpp:
  6699. (StorageManager::StorageArea):
  6700. (WebKit::StorageManager::StorageArea::setItem):
  6701. (WebKit::StorageManager::setItem):
  6702. 2013-03-05 Kiran Muppala <cmuppala@apple.com>
  6703. Use new assertion API for process suppression on Mac
  6704. https://bugs.webkit.org/show_bug.cgi?id=111387
  6705. Reviewed by Alexey Proskuryakov.
  6706. * Shared/ChildProcess.h:
  6707. (WebKit::ChildProcess::processSuppressionEnabled): Rename
  6708. m_processVisibleAssertion to m_processSuppressionAssertion.
  6709. * Shared/mac/ChildProcessMac.mm:
  6710. (WebKit::ChildProcess::setProcessSuppressionEnabled): Ditto. And,
  6711. replace calls to WKNSProcessInfoProcessAssertionWithTypes() with call to
  6712. -[NSProcessInfo beginSuspensionOfSystemBehaviors:].
  6713. 2013-03-05 Anders Carlsson <andersca@apple.com>
  6714. Move storageType() to StorageAreaProxy
  6715. https://bugs.webkit.org/show_bug.cgi?id=111488
  6716. Reviewed by Andreas Kling.
  6717. * WebProcess/Storage/StorageAreaProxy.cpp:
  6718. (WebKit::StorageAreaProxy::StorageAreaProxy):
  6719. (WebKit::StorageAreaProxy::storageType):
  6720. (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
  6721. * WebProcess/Storage/StorageAreaProxy.h:
  6722. (StorageAreaProxy):
  6723. * WebProcess/Storage/StorageNamespaceProxy.cpp:
  6724. * WebProcess/Storage/StorageNamespaceProxy.h:
  6725. 2013-03-05 Jeffrey Pfau <jpfau@apple.com>
  6726. Clear associated cache partitions when deleting origins' cache
  6727. https://bugs.webkit.org/show_bug.cgi?id=111383
  6728. Reviewed by Maciej Stachowiak.
  6729. Clear the cache partitions associated with the origin being cleared.
  6730. * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
  6731. (WebKit):
  6732. (WebKit::partitionName):
  6733. (WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames):
  6734. 2013-03-05 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  6735. [WK2][EFL] WebPageProxy::setThemePath() should check that the page is valid
  6736. https://bugs.webkit.org/show_bug.cgi?id=109917
  6737. Reviewed by Alexey Proskuryakov.
  6738. WebPageProxy::setThemePath() should check that the page is valid before
  6739. sending IPC message.
  6740. * UIProcess/efl/WebPageProxyEfl.cpp:
  6741. (WebKit::WebPageProxy::setThemePath):
  6742. 2013-03-05 Alexey Proskuryakov <ap@apple.com>
  6743. <rdar://problem/13269245> Crashes creating WebKit processes in WKSandboxExtensionConsume
  6744. https://bugs.webkit.org/show_bug.cgi?id=111456
  6745. Reviewed by Anders Carlsson.
  6746. It's too late to be draconian about this condition here, crashing doesn't help
  6747. diagnose what went wrong when creating a sandbox extension.
  6748. Other SandboxExtension functions already have null checks for WKSandboxExtensionRef,
  6749. and so should consumePermanently().
  6750. * Shared/mac/SandboxExtensionMac.mm:
  6751. (WebKit::SandboxExtension::createHandle): For now, added logging when extension
  6752. creation fails. If that proves insufficiently helpful in practice, we can change
  6753. to a CRASH() later.
  6754. (WebKit::SandboxExtension::createHandleForTemporaryFile): Ditto.
  6755. (WebKit::SandboxExtension::consumePermanently): Gracefully fail if there is no extension
  6756. to consume.
  6757. 2013-03-05 Gwang Yoon Hwang <ryumiel@company100.net>
  6758. Coordinated Graphics: CoordinatedGraphicsLayer makes CoordinatedGraphicsScene perform via CoordinatedGraphicsState.
  6759. https://bugs.webkit.org/show_bug.cgi?id=108294
  6760. Reviewed by Anders Carlsson.
  6761. There are two changes in WK2.
  6762. 1. Change CoordinatedLayerTreeHostProxy to use CoordinatedGraphicsState.
  6763. 2. Add encode/decode of CoordinatedGraphicsState in CoordinatedGraphicsArgumentCoders.
  6764. This patch is based on Dongsung Huang, and Noam's work in
  6765. https://bugs.webkit.org/show_bug.cgi?id=108294
  6766. No new tests, covered by existing tests.
  6767. * Scripts/webkit2/messages.py:
  6768. (headers_for_type):
  6769. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  6770. (CoreIPC::::encode):
  6771. Encoding UpdateImageBacking and CreateUpdateAtlas can fail when
  6772. encoding WebCoordinatedSurface::Handle fails, but we don't
  6773. recover in the case.
  6774. (CoreIPC::::decode):
  6775. (CoreIPC):
  6776. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
  6777. (WebCore):
  6778. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
  6779. (WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
  6780. (WebKit):
  6781. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  6782. (WebCore):
  6783. (CoordinatedLayerTreeHostProxy):
  6784. (WebKit::CoordinatedLayerTreeHostProxy::coordinatedGraphicsScene):
  6785. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
  6786. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  6787. (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
  6788. (WebKit::CoordinatedLayerTreeHost::initializeRootCompositingLayerIfNeeded):
  6789. (WebKit::CoordinatedLayerTreeHost::syncLayerState):
  6790. (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesIfNeeded):
  6791. (WebKit):
  6792. (WebKit::CoordinatedLayerTreeHost::updateImageBacking):
  6793. (WebKit::CoordinatedLayerTreeHost::setBackgroundColor):
  6794. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  6795. (CoordinatedLayerTreeHost):
  6796. 2013-03-05 Sam Weinig <sam@webkit.org>
  6797. Follow up to https://bugs.webkit.org/show_bug.cgi?id=111453, forgot to mark the files as Private.
  6798. * WebKit2.xcodeproj/project.pbxproj:
  6799. 2013-03-05 Sam Weinig <sam@webkit.org>
  6800. Elevate accessors of C-SPI API variants to Objective-C SPI
  6801. https://bugs.webkit.org/show_bug.cgi?id=111453
  6802. <rdar://problem/13340357>
  6803. Reviewed by Alexey Proskuryakov.
  6804. * Shared/mac/ObjCObjectGraphCoders.mm:
  6805. * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
  6806. * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
  6807. * UIProcess/API/mac/WKBrowsingContextGroup.mm:
  6808. * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h.
  6809. * UIProcess/API/mac/WKProcessGroup.mm:
  6810. * UIProcess/API/mac/WKProcessGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
  6811. * UIProcess/API/mac/WKView.mm:
  6812. * WebKit2.xcodeproj/project.pbxproj:
  6813. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
  6814. (-[WKWebProcessPlugInController _bundleRef]):
  6815. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
  6816. Add access to C-SPI WebKit types as Objective-C SPI.
  6817. 2013-03-04 Alexey Proskuryakov <ap@apple.com>
  6818. Make AsyncFileReader work without ScriptExecutionContext
  6819. https://bugs.webkit.org/show_bug.cgi?id=111376
  6820. Reviewed by Anders Carlsson.
  6821. * NetworkProcess/NetworkResourceLoader.cpp:
  6822. * NetworkProcess/NetworkResourceLoader.h:
  6823. Removed a dummy implementation of createAsyncFileStream, which is no longer needed.
  6824. 2013-03-05 Alexey Proskuryakov <ap@apple.com>
  6825. <rdar://problem/13345116> REGRESSION: Child processes get access to user cache
  6826. and temporary directories instead of private ones
  6827. Reviewed by Sam Weinig.
  6828. * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::initializeSandbox):
  6829. Restore the correct order of calls, so sandbox parameters respect WebKit pseudo
  6830. containers.
  6831. 2013-03-05 David Kilzer <ddkilzer@apple.com>
  6832. BUILD FIX (r144698): Only enable SPEECH_SYNTHESIS for Mac
  6833. <http://webkit.org/b/106742>
  6834. Fixes the following build failures:
  6835. Undefined symbols for architecture i386:
  6836. "__ZTVN7WebCore25PlatformSpeechSynthesizerE", referenced from:
  6837. __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
  6838. NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  6839. "__ZN7WebCore25PlatformSpeechSynthesizer19initializeVoiceListEv", referenced from:
  6840. __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
  6841. ld: symbol(s) not found for architecture i386
  6842. * Configurations/FeatureDefines.xcconfig:
  6843. - Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.
  6844. 2013-03-05 Tim Horton <timothy_horton@apple.com>, Grzegorz Czajkowski <g.czajkowski@samsung.com>
  6845. [WK2] WTR needs an implementation of setAsynchronousSpellCheckingEnabled
  6846. https://bugs.webkit.org/show_bug.cgi?id=81042
  6847. Reviewed by Enrica Casucci.
  6848. Expose WK2 setting to enable/disabled asynchronous spell checking.
  6849. It's used by WebKitTestRunner to reset the setting at the beginning
  6850. of the test.
  6851. WebKit2 ports might be interested in this setting if they are going
  6852. to enable this feature.
  6853. * Shared/WebPreferencesStore.h:
  6854. * UIProcess/API/C/WKPreferences.cpp:
  6855. (WKPreferencesSetAsynchronousSpellCheckingEnabled):
  6856. (WKPreferencesGetAsynchronousSpellCheckingEnabled):
  6857. * UIProcess/API/C/WKPreferences.h:
  6858. * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
  6859. (WKBundleSetAsynchronousSpellCheckingEnabled):
  6860. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  6861. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  6862. (WebKit::InjectedBundle::setAsynchronousSpellCheckingEnabled):
  6863. * WebProcess/InjectedBundle/InjectedBundle.h:
  6864. * WebProcess/WebPage/WebPage.cpp:
  6865. (WebKit::WebPage::updatePreferences):
  6866. 2013-03-03 Grzegorz Czajkowski <g.czajkowski@samsung.com>
  6867. [WK2][EFL] Add requestCheckingOfString implementation.
  6868. https://bugs.webkit.org/show_bug.cgi?id=108172
  6869. Reviewed by Hajime Morrita.
  6870. Provide implementation of 'requestCheckingOfString' for WK2-EFL.
  6871. It uses the unified text checker feature.
  6872. * UIProcess/efl/TextCheckerEfl.cpp:
  6873. (WebKit::TextChecker::requestCheckingOfString):
  6874. 2013-03-04 Chris Fleizach <cfleizach@apple.com>
  6875. Support WebSpeech - Speech Synthesis
  6876. https://bugs.webkit.org/show_bug.cgi?id=106742
  6877. Reviewed by Simon Fraser.
  6878. Enable speech synthesis for the Mac.
  6879. * Configurations/FeatureDefines.xcconfig:
  6880. 2013-03-04 Anders Carlsson <andersca@apple.com>
  6881. UI process storage areas should hold on to storage maps
  6882. https://bugs.webkit.org/show_bug.cgi?id=111374
  6883. Reviewed by Beth Dakin.
  6884. Pass the session storage quota size through to the storage area constructor and
  6885. create a StorageMap with the given quota size.
  6886. * UIProcess/Storage/StorageManager.cpp:
  6887. (StorageManager::StorageArea):
  6888. (WebKit::StorageManager::StorageArea::create):
  6889. (WebKit::StorageManager::StorageArea::StorageArea):
  6890. (StorageManager::SessionStorageNamespace):
  6891. (WebKit::StorageManager::SessionStorageNamespace::create):
  6892. (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
  6893. (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
  6894. (WebKit::StorageManager::createSessionStorageNamespace):
  6895. (WebKit::StorageManager::createSessionStorageNamespaceInternal):
  6896. * UIProcess/Storage/StorageManager.h:
  6897. (StorageManager):
  6898. * UIProcess/WebPageProxy.cpp:
  6899. (WebKit::WebPageProxy::WebPageProxy):
  6900. 2013-03-04 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
  6901. Unreviewed build fix after r144675.
  6902. Work around picky/old C++ compilers by separating the '>>' in
  6903. nested templates with a space.
  6904. * UIProcess/Storage/StorageManager.cpp:
  6905. (StorageManager::StorageArea):
  6906. 2013-03-04 Anders Carlsson <andersca@apple.com>
  6907. More work on UI side storage
  6908. https://bugs.webkit.org/show_bug.cgi?id=111370
  6909. Reviewed by Andreas Kling.
  6910. Add a DispatchStorageEvent message and begin hooking it up.
  6911. * UIProcess/Storage/StorageManager.cpp:
  6912. (StorageManager::StorageArea):
  6913. (WebKit::StorageManager::StorageArea::setItem):
  6914. (WebKit):
  6915. (WebKit::StorageManager::StorageArea::dispatchEvents):
  6916. (WebKit::StorageManager::setItem):
  6917. (WebKit::StorageManager::findStorageArea):
  6918. * UIProcess/Storage/StorageManager.h:
  6919. (StorageManager):
  6920. * UIProcess/Storage/StorageManager.messages.in:
  6921. * WebProcess/Storage/StorageAreaProxy.cpp:
  6922. (WebKit::StorageAreaProxy::setItem):
  6923. (WebKit::StorageAreaProxy::dispatchStorageEvent):
  6924. (WebKit):
  6925. * WebProcess/Storage/StorageAreaProxy.h:
  6926. (StorageAreaProxy):
  6927. * WebProcess/Storage/StorageAreaProxy.messages.in:
  6928. 2013-03-04 Jer Noble <jer.noble@apple.com>
  6929. Unreviewed build fix: wrap references to PluginInfoStore with
  6930. guards for platforms which do not enable NETSCAPE_PLUGIN_AP.
  6931. * UIProcess/WebContext.cpp:
  6932. (WebKit::WebContext::WebContext):
  6933. (WebKit::WebContext::~WebContext):
  6934. * UIProcess/WebContext.h:
  6935. 2013-03-04 Anders Carlsson <andersca@apple.com>
  6936. Create and destroy storage areas in the UI process
  6937. https://bugs.webkit.org/show_bug.cgi?id=111361
  6938. Reviewed by Sam Weinig.
  6939. * UIProcess/Storage/StorageManager.cpp:
  6940. (StorageManager::StorageArea):
  6941. Keep track of listener connection and storage area ID pairs.
  6942. (WebKit::StorageManager::StorageArea::~StorageArea):
  6943. Assert that we don't have any listeners left.
  6944. (WebKit::StorageManager::StorageArea::addListener):
  6945. Add the pair to the set of listeners.
  6946. (WebKit::StorageManager::StorageArea::removeListener):
  6947. Remove the pair from the set of listeners.
  6948. (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
  6949. Given an origin, look up or create the storage area.
  6950. (WebKit::StorageManager::createStorageArea):
  6951. Create the storage area if it doesn't already exist.
  6952. (WebKit::StorageManager::destroyStorageArea):
  6953. Look up the storage area and destroy it.
  6954. * UIProcess/Storage/StorageManager.h:
  6955. Add a map of open storage areas.
  6956. 2013-03-04 Jer Noble <jer.noble@apple.com>
  6957. Add API to allow WK2 clients to query the list of installed plug-ins.
  6958. https://bugs.webkit.org/show_bug.cgi?id=111245
  6959. Reviewed by Alexey Proskuryakov.
  6960. Add API in WKContext, implemented by WebContext, that allows callers to register a callback
  6961. retrieve an array containing installed plugin information. This API is exposed through WebContext
  6962. because it owns the PluginInfoStore used to fulfill the request.
  6963. Bump the WKContextClient API by 1:
  6964. * Shared/APIClientTraits.cpp:
  6965. * Shared/APIClientTraits.h:
  6966. * UIProcess/API/C/WKContext.h:
  6967. Add a client protocol to PluginInfoStore to notify the client when plugIn information has been
  6968. successfully loaded:
  6969. * UIProcess/Plugins/PluginInfoStore.cpp:
  6970. (WebKit::PluginInfoStore::PluginInfoStore): Initialize m_client to 0.
  6971. (WebKit::PluginInfoStore::loadPluginsIfNecessary): If the client is present, notify after loading the plugin store.
  6972. * UIProcess/Plugins/PluginInfoStore.h:
  6973. (WebKit::PluginInfoStoreClient::~PluginInfoStoreClient): Default destructor.
  6974. (WebKit::PluginInfoStoreClient::PluginInfoStoreClient): Default constructor.
  6975. (WebKit::PluginInfoStore::setClient): Simple setter.
  6976. (WebKit::PluginInfoStore::client): Simple getter.
  6977. * UIProcess/WebContext.cpp:
  6978. (WebKit::WebContext::WebContext): Set self as the client of PluginInfoStore.
  6979. (WebKit::WebContext::~WebContext): Clear the client of PluginInfoStore.
  6980. (WebKit::WebContext::pluginInfoStoreDidLoadPlugins): Pass the callback to own client.
  6981. * UIProcess/WebContext.h:
  6982. * UIProcess/WebContextClient.cpp:
  6983. (WebKit::WebContextClient::plugInInformationBecameAvailable): Pass the callback to the registered WK callback, if present.
  6984. * UIProcess/WebContextClient.h:
  6985. 2013-03-04 Tim Horton <timothy_horton@apple.com>
  6986. PDFPlugin: Hook up Services
  6987. https://bugs.webkit.org/show_bug.cgi?id=111246
  6988. <rdar://problem/13062672>
  6989. Reviewed by Alexey Proskuryakov.
  6990. Make the Application->Services menu work when the focused selection is a PDFPlugin.
  6991. * Shared/EditorState.cpp:
  6992. (WebKit::EditorState::encode):
  6993. (WebKit::EditorState::decode):
  6994. * Shared/EditorState.h:
  6995. (WebKit::EditorState::EditorState):
  6996. (EditorState):
  6997. Add isInPlugin property to EditorState.
  6998. * UIProcess/API/mac/WKView.mm:
  6999. (-[WKView validRequestorForSendType:returnType:]):
  7000. If the selection is currently in a Plugin, we only currently have the ability
  7001. to retrieve the selection as a plain-text string, so restrict sendType to NSStringPboardType.
  7002. * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
  7003. * WebProcess/Plugins/Plugin.h:
  7004. * WebProcess/Plugins/PluginView.h:
  7005. * WebProcess/Plugins/PluginProxy.h:
  7006. * WebProcess/Plugins/Netscape/NetscapePlugin.h:
  7007. Add getStringSelection.
  7008. * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
  7009. Add pdfLayerController:didChangeSelection: delegate method.
  7010. * WebProcess/Plugins/PDF/PDFPlugin.h:
  7011. (PDFPlugin):
  7012. Add getStringSelection and notifySelectionChanged.
  7013. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  7014. (-[WKPDFLayerControllerDelegate pdfLayerController:didChangeSelection:]):
  7015. Forward selection change notifications to our PDFPlugin.
  7016. (WebKit::PDFPlugin::notifySelectionChanged):
  7017. Forward selection change notifications to our WebPage.
  7018. (WebKit::PDFPlugin::getStringSelection):
  7019. Retrieve PDFLayerController's selection as a plain text string.
  7020. * WebProcess/Plugins/PluginView.cpp:
  7021. (WebKit::PluginView::countFindMatches):
  7022. (WebKit::PluginView::findString):
  7023. Drive-bys, check for existance and initialization of the plugin before using it.
  7024. (WebKit::PluginView::getStringSelection): Added.
  7025. * WebProcess/WebCoreSupport/WebEditorClient.cpp:
  7026. (WebKit::WebEditorClient::respondToChangedSelection):
  7027. Use didChangeSelection instead of sending the EditorStateChanged message directly.
  7028. * WebProcess/WebPage/WebPage.cpp:
  7029. (WebKit::WebPage::editorState):
  7030. If a plugin is focused and has a selection, return a EditorState that reflects that.
  7031. Since PDFs aren't editable (when editing annotations, the plugin doesn't have focus),
  7032. I'm not adding support for the editing-related properties when a plugin has focus.
  7033. (WebKit::WebPage::focusedPluginViewForFrame):
  7034. (WebKit::WebPage::pluginViewForFrame):
  7035. Make these class methods instead of static functions so we can use them from
  7036. WebPageMac too, instead of duplicating code there.
  7037. (WebKit::WebPage::didChangeSelection): Added.
  7038. * WebProcess/WebPage/WebPage.h:
  7039. Add didChangeSelection and [focused]PluginViewForFrame.
  7040. * WebProcess/WebPage/mac/WebPageMac.mm:
  7041. (WebKit::WebPage::getStringSelectionForPasteboard):
  7042. Defer to the focused plugin (if it exists) when retrieving the plain-text selection.
  7043. 2013-03-04 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  7044. [WK2][EFL] Add callbacks to the WKViewClient to handle Web Process crash and relaunch
  7045. https://bugs.webkit.org/show_bug.cgi?id=109828
  7046. Reviewed by Kenneth Rohde Christiansen.
  7047. Providing WKViewClient with Web Process crash and Web Process relaunch
  7048. callbacks brings better design as WebView should not be aware of
  7049. EFL-specific code handling the corresponding events.
  7050. The implementation of the mentioned Web Process callbacks was also added.
  7051. * UIProcess/API/C/efl/WKView.cpp:
  7052. (WKViewSetThemePath):
  7053. * UIProcess/API/C/efl/WKView.h:
  7054. * UIProcess/efl/ViewClientEfl.cpp:
  7055. (WebKit::ViewClientEfl::webProcessCrashed):
  7056. (WebKit):
  7057. (WebKit::ViewClientEfl::webProcessDidRelaunch):
  7058. (WebKit::ViewClientEfl::ViewClientEfl):
  7059. * UIProcess/efl/ViewClientEfl.h:
  7060. (ViewClientEfl):
  7061. * UIProcess/efl/WebView.cpp:
  7062. (WebKit::WebView::setThemePath):
  7063. Accepts WTF::String instead of WKStringRef as it is
  7064. more appropriate for C++ API implementation class.
  7065. (WebKit::WebView::processDidCrash):
  7066. (WebKit::WebView::didRelaunchProcess):
  7067. * UIProcess/efl/WebView.h:
  7068. (WebView):
  7069. * UIProcess/efl/WebViewClient.cpp:
  7070. (WebKit::WebViewClient::webProcessCrashed):
  7071. (WebKit):
  7072. (WebKit::WebViewClient::webProcessDidRelaunch):
  7073. * UIProcess/efl/WebViewClient.h:
  7074. 2013-03-04 Anders Carlsson <andersca@apple.com>
  7075. Complete the plug-in URL string before sending it to the UI process
  7076. https://bugs.webkit.org/show_bug.cgi?id=111355
  7077. <rdar://problem/13326713>
  7078. Reviewed by Andreas Kling.
  7079. If the URL is not absolute, we won't be able to find it by path extension in the plug-in info store.
  7080. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  7081. (WebKit::WebChromeClient::unavailablePluginButtonClicked):
  7082. 2013-03-04 Carlos Garcia Campos <cgarcia@igalia.com>
  7083. [GTK] Some WebKit2 GTK+ unit tests are failing in 32 bits bot
  7084. https://bugs.webkit.org/show_bug.cgi?id=111346
  7085. Reviewed by Martin Robinson.
  7086. The problem is the use of a temporary CString object in the macro
  7087. g_assert_cmpstr. It's a common mistake because we usually forget
  7088. that g_assert_cmpstr is not a function but a macro, that expands
  7089. to multiple lines. This patch adds a new macro ASSERT_CMP_CSTRING
  7090. with the same implementation that g_assert_cmpstr, but using
  7091. CStrings instead of const char*. It fixes all the cases where a
  7092. temporary CString was used in g_assert_cmpstr, and uses the new
  7093. macro also for the cases where we were caching the CString just
  7094. for g_assert_cmpstr.
  7095. * UIProcess/API/gtk/tests/TestDownloads.cpp:
  7096. (testDownloadRemoteFile):
  7097. * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
  7098. (testInspectorServerPageList):
  7099. * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
  7100. * UIProcess/API/gtk/tests/TestMain.h:
  7101. * UIProcess/API/gtk/tests/TestResources.cpp:
  7102. * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
  7103. (testGetFaviconURI):
  7104. * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
  7105. (assertThatUserAgentIsSentInHeaders):
  7106. (testWebKitSettingsUserAgent):
  7107. 2013-03-04 Kunihiko Sakamoto <ksakamoto@chromium.org>
  7108. Add build flag for FontLoader
  7109. https://bugs.webkit.org/show_bug.cgi?id=111289
  7110. Reviewed by Benjamin Poulain.
  7111. Add ENABLE_FONT_LOAD_EVENTS build flag (disabled by default).
  7112. * Configurations/FeatureDefines.xcconfig:
  7113. 2013-03-03 Tim Horton <timothy_horton@apple.com>
  7114. PDFPlugin: Rename delegate method from openWithPreview to openWithNativeApplication
  7115. https://bugs.webkit.org/show_bug.cgi?id=111258
  7116. Reviewed by Alexey Proskuryakov.
  7117. * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
  7118. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  7119. (-[WKPDFLayerControllerDelegate openWithNativeApplication]):
  7120. Rename from openWithPreview to openWithNativeApplication to match PDFKit.
  7121. 2013-03-03 Huang Dongsung <luxtella@company100.net>
  7122. [EFL][QT][WK2] Turn on ApplyDeviceScaleFactorInCompositor always.
  7123. https://bugs.webkit.org/show_bug.cgi?id=110298
  7124. Reviewed by Kenneth Rohde Christiansen.
  7125. Currently, EFL and Qt turn on ApplyDeviceScaleFactorInCompositor when using
  7126. fixed layout, but ApplyDeviceScaleFactorInCompositor is not related to fixed
  7127. layout. It is confusing that a platform WebView deals with device view size or
  7128. DIP view size case by case. So this patch always turns on
  7129. ApplyDeviceScaleFactorInCompositor.
  7130. In addition, move the code that turns on ScrollingCoordinatorEnabled to
  7131. CoordinatedLayerTreeHost.
  7132. * UIProcess/API/efl/EwkView.cpp:
  7133. (EwkView::setDeviceScaleFactor):
  7134. We should make WebPage know new DIP size.
  7135. (EwkView::setSize):
  7136. When we set ApplyDeviceScaleFactorInCompositor to true, make WebPage
  7137. know the DIP size as a view size.
  7138. * UIProcess/efl/WebView.cpp:
  7139. (WebKit::WebView::updateViewportSize):
  7140. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  7141. (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
  7142. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  7143. (WebKit::DrawingAreaImpl::DrawingAreaImpl):
  7144. * WebProcess/WebPage/WebPage.cpp:
  7145. (WebKit::WebPage::setUseFixedLayout):
  7146. WebPage sends the DIP size to Web Process even when we don't use fixed layout.
  7147. 2013-03-03 Sam Weinig <sam@webkit.org>
  7148. Shared Web Workers have an incorrect visible process name
  7149. https://bugs.webkit.org/show_bug.cgi?id=111277
  7150. Reviewed by Dan Bernstein.
  7151. * SharedWorkerProcess/SharedWorkerProcess.cpp:
  7152. (WebKit::SharedWorkerProcess::initializeSharedWorkerProcess):
  7153. * SharedWorkerProcess/SharedWorkerProcess.h:
  7154. (SharedWorkerProcess):
  7155. * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
  7156. (WebKit::SharedWorkerProcess::initializeProcessName):
  7157. The SharedWorkerProcess is not an internet plug-in!
  7158. 2013-03-03 Adam Barth <abarth@webkit.org>
  7159. Unreviewed attempted build fix. Adds back some includes removed in
  7160. http://trac.webkit.org/changeset/144565.
  7161. * Shared/WebRenderLayer.cpp:
  7162. * Shared/WebRenderObject.cpp:
  7163. * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
  7164. * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
  7165. * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
  7166. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  7167. * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
  7168. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  7169. * WebProcess/Plugins/PluginView.cpp:
  7170. * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
  7171. * WebProcess/WebCoreSupport/WebEditorClient.cpp:
  7172. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  7173. * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
  7174. * WebProcess/WebPage/mac/WebPageMac.mm:
  7175. * WebProcess/WebProcess.cpp:
  7176. * WebProcess/soup/WebProcessSoup.cpp:
  7177. 2013-03-03 Adam Barth <abarth@webkit.org>
  7178. Unreviewed rollout of http://trac.webkit.org/r144530
  7179. As described in https://bugs.webkit.org/show_bug.cgi?id=111167 and
  7180. https://bugs.webkit.org/show_bug.cgi?id=111035, this patch caused a
  7181. large number of ASSERTs in chromium-win.
  7182. * NetworkProcess/HostRecord.h:
  7183. * NetworkProcess/NetworkResourceLoadScheduler.h:
  7184. * NetworkProcess/NetworkResourceLoader.h:
  7185. (WebCore):
  7186. * Shared/WebRenderLayer.cpp:
  7187. * Shared/WebRenderObject.cpp:
  7188. * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
  7189. * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
  7190. * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
  7191. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  7192. * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
  7193. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  7194. * WebProcess/Plugins/PluginView.cpp:
  7195. * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
  7196. * WebProcess/WebCoreSupport/WebEditorClient.cpp:
  7197. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  7198. * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
  7199. * WebProcess/WebPage/mac/WebPageMac.mm:
  7200. * WebProcess/WebProcess.cpp:
  7201. * WebProcess/soup/WebProcessSoup.cpp:
  7202. 2013-03-02 Sam Weinig <sam@webkit.org>
  7203. WebKit2 is missing the setShowsURLsInToolTips preference
  7204. https://bugs.webkit.org/show_bug.cgi?id=111259
  7205. <rdar://problem/12991891>
  7206. Reviewed by Maciej Stachowiak.
  7207. * Shared/WebPreferencesStore.h:
  7208. * UIProcess/API/C/WKPreferences.cpp:
  7209. (WKPreferencesSetShowsURLsInToolTipsEnabled):
  7210. (WKPreferencesGetShowsURLsInToolTipsEnabled):
  7211. * UIProcess/API/C/WKPreferencesPrivate.h:
  7212. * WebProcess/WebPage/WebPage.cpp:
  7213. (WebKit::WebPage::updatePreferences):
  7214. Pipe it through.
  7215. 2013-03-02 Benjamin Poulain <bpoulain@apple.com>
  7216. Move computedStyleIncludingVisitedInfo from TestRunner to Internals
  7217. https://bugs.webkit.org/show_bug.cgi?id=109772
  7218. Reviewed by Andreas Kling.
  7219. * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
  7220. * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
  7221. * WebProcess/WebPage/WebFrame.cpp:
  7222. * WebProcess/WebPage/WebFrame.h:
  7223. (WebFrame):
  7224. 2013-03-01 Kiran Muppala <cmuppala@apple.com>
  7225. Remove call to set task priority of WebKit2 processes on Mac
  7226. https://bugs.webkit.org/show_bug.cgi?id=111239
  7227. Reviewed by Darin Adler.
  7228. Remove call to set task prioirty of WebKit2 processes on Mac as it
  7229. is no longer necessary.
  7230. * Shared/mac/ChildProcessMac.mm:
  7231. (WebKit::ChildProcess::platformInitialize): Remove call to setpriority().
  7232. 2013-02-28 Alexey Proskuryakov <ap@apple.com>
  7233. Reduce amount of rebuilding when touching networking headers
  7234. https://bugs.webkit.org/show_bug.cgi?id=111035
  7235. Reviewed by Eric Seidel.
  7236. Adding includes that are now necessary because WebCore headers don't have them
  7237. any more.
  7238. * NetworkProcess/HostRecord.h:
  7239. * NetworkProcess/NetworkResourceLoadScheduler.h:
  7240. * NetworkProcess/NetworkResourceLoader.h:
  7241. * Shared/WebRenderLayer.cpp:
  7242. * Shared/WebRenderObject.cpp:
  7243. * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
  7244. * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
  7245. * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
  7246. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  7247. * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
  7248. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  7249. * WebProcess/Plugins/PluginView.cpp:
  7250. * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
  7251. * WebProcess/WebCoreSupport/WebEditorClient.cpp:
  7252. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  7253. * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
  7254. * WebProcess/WebPage/mac/WebPageMac.mm:
  7255. * WebProcess/WebProcess.cpp:
  7256. * WebProcess/soup/WebProcessSoup.cpp:
  7257. 2013-02-28 Alexey Proskuryakov <ap@apple.com>
  7258. Make in-memory blobs work in NetworkProcess
  7259. https://bugs.webkit.org/show_bug.cgi?id=111132
  7260. Reviewed by Sam Weinig.
  7261. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  7262. (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
  7263. (WebKit::NetworkConnectionToWebProcess::registerBlobURLFromURL):
  7264. (WebKit::NetworkConnectionToWebProcess::unregisterBlobURL):
  7265. * NetworkProcess/NetworkConnectionToWebProcess.h:
  7266. Implement BlobRegistry interface by using BlobRegistryImpl (same one as used in
  7267. WebProcess in non-PPT mode).
  7268. * NetworkProcess/NetworkConnectionToWebProcess.messages.in: Added three messages
  7269. needed for BlobRegistry.
  7270. * NetworkProcess/NetworkProcess.cpp:
  7271. * NetworkProcess/NetworkProcessPlatformStrategies.cpp: Added.
  7272. * NetworkProcess/NetworkProcessPlatformStrategies.h: Added.
  7273. Added a mostly empty platform strategy, just for FormData to talk to BlobRegistry.
  7274. Perhaps we'll find a way to avoid this WebCore code path in NetworkProcess, because
  7275. we obviously know which registry implementation is in use in this process.
  7276. * Shared/FileAPI: Added.
  7277. * Shared/FileAPI/BlobRegistrationData.cpp: Added.
  7278. * Shared/FileAPI/BlobRegistrationData.h: Added.
  7279. Added a class for passing BlobData and extension handles over IPC.
  7280. This uses a trick with mutable a member to avoid copying decoded BlobStorageData.
  7281. * WebKit2.xcodeproj/project.pbxproj:
  7282. * WebProcess/FileAPI: Added.
  7283. * WebProcess/FileAPI/BlobRegistryProxy.cpp: Added.
  7284. * WebProcess/FileAPI/BlobRegistryProxy.h: Added.
  7285. A proxy implementation of BlobRegistry that just sends requests over IPC. We only
  7286. need async ones.
  7287. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  7288. (WebKit::WebPlatformStrategies::createBlobRegistry):
  7289. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  7290. Create an appropriate BlobRegistry.
  7291. 2013-03-01 Zan Dobersek <zdobersek@igalia.com>
  7292. Uncomment ENABLE_SVG guards to avoid having WebKitPluginProcess link
  7293. against libWebCoreSVG.la when SVG is disabled.
  7294. Rubber-stamped by Gustavo Noronha.
  7295. * GNUmakefile.am:
  7296. 2013-02-28 Sam Weinig <sam@webkit.org>
  7297. Add SPI for marking a WebView as doing things on behalf of another process
  7298. https://bugs.webkit.org/show_bug.cgi?id=111125
  7299. Reviewed by Alexey Proskuryakov.
  7300. * NetworkProcess/mac/RemoteNetworkingContext.h:
  7301. * NetworkProcess/mac/RemoteNetworkingContext.mm:
  7302. (WebKit::RemoteNetworkingContext::sourceApplicationAuditData):
  7303. * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
  7304. * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
  7305. (WebKit::WebFrameNetworkingContext::sourceApplicationAuditData):
  7306. Stub out sourceApplicationAuditData() client function.
  7307. 2013-03-01 Sheriff Bot <webkit.review.bot@gmail.com>
  7308. Unreviewed, rolling out r144422 and r144424.
  7309. http://trac.webkit.org/changeset/144422
  7310. http://trac.webkit.org/changeset/144424
  7311. https://bugs.webkit.org/show_bug.cgi?id=111167
  7312. Caused over 20 tests to fail assertion on Chromium Win port as
  7313. ASSERTION FAILED: m_platformRequestUpdated (Requested by
  7314. toyoshim on #webkit).
  7315. * NetworkProcess/HostRecord.h:
  7316. * NetworkProcess/NetworkResourceLoadScheduler.h:
  7317. * NetworkProcess/NetworkResourceLoader.h:
  7318. (WebCore):
  7319. * Shared/WebRenderLayer.cpp:
  7320. * Shared/WebRenderObject.cpp:
  7321. * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
  7322. * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
  7323. * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
  7324. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  7325. * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
  7326. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  7327. * WebProcess/Plugins/PluginView.cpp:
  7328. * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
  7329. * WebProcess/WebCoreSupport/WebEditorClient.cpp:
  7330. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  7331. * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
  7332. * WebProcess/WebPage/mac/WebPageMac.mm:
  7333. * WebProcess/WebProcess.cpp:
  7334. * WebProcess/soup/WebProcessSoup.cpp:
  7335. 2013-03-01 Andras Becsi <andras.becsi@digia.com>
  7336. [Qt][WK2] Fix failing API tests after r143935
  7337. https://bugs.webkit.org/show_bug.cgi?id=111086
  7338. Reviewed by Jocelyn Turcotte.
  7339. Convert a leftorver resume call to the new resumeAndUpdateContent() call
  7340. in PageViewportControllerClientQt so that the notifications about zoom
  7341. animation state changes reach the API tests.
  7342. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  7343. (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
  7344. 2013-03-01 Grzegorz Czajkowski <g.czajkowski@samsung.com>, Mariusz Grzegorczyk <mariusz.g@samsung.com>
  7345. [WK2] Asynchronous spell checking implementation
  7346. https://bugs.webkit.org/show_bug.cgi?id=109577
  7347. Reviewed by Enrica Casucci.
  7348. Associate the abstract 'WebCore::TextCheckingRequest' object with the unique identifier
  7349. on WebProcess side. The request data from the 'TextCheckingRequest' are retrieved and
  7350. passed to the UIProcess. The WK2 client (TextChecker{Gtk/Mac/Efl/Qt}.cpp) gets
  7351. the 'TextCheckerCompletion' object with the request data and possibility to notify
  7352. the WebProcess about the spelling results.
  7353. Finally, the WebPage object calls on the proper 'TextCheckingRequest' object
  7354. didSuccess/didCancel method to notify the WebCore about the spelling result.
  7355. * CMakeLists.txt:
  7356. * GNUmakefile.list.am:
  7357. Add 'TextCheckerCompletion.{h/cpp}' to the WebKit2 cmake based and
  7358. WK2-Gtk+ builds.
  7359. * Scripts/webkit2/messages.py:
  7360. (headers_for_type):
  7361. Add exception for 'TextCheckingRequestData' class to properly find header
  7362. file for it.
  7363. * Shared/WebCoreArgumentCoders.cpp:
  7364. * Shared/WebCoreArgumentCoders.h:
  7365. Teach 'ArgumentCoder' how to encode/decode 'TextCheckingRequestData' class.
  7366. * Target.pri:
  7367. Add 'TextCheckerCompletion.{h/cpp}' to the WK2-Qt build.
  7368. * UIProcess/TextChecker.h:
  7369. Add 'requestCheckingOfString' method to the TextChecker's interface.
  7370. * UIProcess/TextCheckerCompletion.cpp: Added.
  7371. (WebKit::TextCheckerCompletion::create):
  7372. (WebKit::TextCheckerCompletion::TextCheckerCompletion):
  7373. (WebKit::TextCheckerCompletion::spellDocumentTag):
  7374. Return the WebPageProxy's spellDocumentTag as the client might be
  7375. interested in from which page the request came.
  7376. (WebKit::TextCheckerCompletion::textCheckingRequestData):
  7377. Allow to retrieve 'TextCheckingRequestData' object.
  7378. (WebKit::TextCheckerCompletion::didFinishCheckingText):
  7379. (WebKit::TextCheckerCompletion::didCancelCheckingText):
  7380. Notify the 'WebPageProxy' object that the given request has been
  7381. handled or canceled.
  7382. * UIProcess/TextCheckerCompletion.h: Added.
  7383. Introduce a new class for WK2 to retrieve the request data and
  7384. call didFinishCheckingText/didCancelCheckingText.
  7385. * UIProcess/WebPageProxy.cpp:
  7386. (WebKit::WebPageProxy::requestCheckingOfString):
  7387. Create 'TextCheckerCompletion' object and pass it
  7388. to the 'TextChecker::requestCheckingOfString' method.
  7389. (WebKit::WebPageProxy::didFinishCheckingText):
  7390. (WebKit::WebPageProxy::didCancelCheckingText):
  7391. Send the messages to WebProcess that the given request has been
  7392. handled or canceled.
  7393. * UIProcess/WebPageProxy.h:
  7394. (WebPageProxy):
  7395. Add public declarations for 'didFinishCheckingText', 'didCancelCheckingText'.
  7396. Add private declarations for 'requestCheckingOfString'.
  7397. Move the 'spellDocumentTag()' method to to the public section to be
  7398. accessible from 'TextCheckerCompletion' class.
  7399. * UIProcess/WebPageProxy.messages.in:
  7400. A new entry for 'RequestCheckingOfString'.
  7401. * UIProcess/efl/TextCheckerEfl.cpp:
  7402. (WebKit::TextChecker::requestCheckingOfString):
  7403. (WebKit):
  7404. * UIProcess/gtk/TextCheckerGtk.cpp:
  7405. (WebKit::TextChecker::requestCheckingOfString):
  7406. (WebKit):
  7407. * UIProcess/mac/TextCheckerMac.mm:
  7408. (WebKit::TextChecker::requestCheckingOfString):
  7409. (WebKit):
  7410. * UIProcess/qt/TextCheckerQt.cpp:
  7411. (WebKit::TextChecker::requestCheckingOfString):
  7412. (WebKit):
  7413. Add dummy implementations for 'requestCheckingOfString'.
  7414. * WebKit2.xcodeproj/project.pbxproj:
  7415. Add 'TextCheckerCompletion.{h/cpp} to Mac build.
  7416. * WebProcess/WebCoreSupport/WebEditorClient.cpp:
  7417. (WebKit::generateTextCheckingRequestID):
  7418. Helper function to generate the unique identifier for the abstract
  7419. 'TextCheckingRequest' object.
  7420. (WebKit::WebEditorClient::requestCheckingOfString):
  7421. Associate 'TextCheckingRequest' with the unique identifier and add them
  7422. to the map object.
  7423. Get the request data and send it to the UIProcess.
  7424. * WebProcess/WebPage/WebPage.cpp:
  7425. (WebKit::WebPage::addTextCheckingRequest):
  7426. Add the identifier and the request to the map object.
  7427. (WebKit::WebPage::didFinishCheckingText):
  7428. (WebKit::WebPage::didCancelCheckingText):
  7429. Call didSucceed/didCancel on the 'TextCheckingRequest' to notify the WebCore
  7430. about spellcheking results.
  7431. Remove the request from the map object.
  7432. * WebProcess/WebPage/WebPage.h:
  7433. Add declarations for 'addTextCheckingRequest', 'didFinishCheckingText' and
  7434. 'didCancelCheckingText.'
  7435. * WebProcess/WebPage/WebPage.messages.in:
  7436. Add a new entry for DidFinishCheckingText, DidCancelCheckingText.
  7437. 2013-02-28 Alexey Proskuryakov <ap@apple.com>
  7438. Reduce amount of rebuilding when touching networking headers
  7439. https://bugs.webkit.org/show_bug.cgi?id=111035
  7440. Reviewed by Eric Seidel.
  7441. Adding includes that are now necessary because WebCore headers don't have them
  7442. any more.
  7443. * NetworkProcess/HostRecord.h:
  7444. * NetworkProcess/NetworkResourceLoadScheduler.h:
  7445. * NetworkProcess/NetworkResourceLoader.h:
  7446. * Shared/WebRenderLayer.cpp:
  7447. * Shared/WebRenderObject.cpp:
  7448. * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
  7449. * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
  7450. * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
  7451. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  7452. * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
  7453. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  7454. * WebProcess/Plugins/PluginView.cpp:
  7455. * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
  7456. * WebProcess/WebCoreSupport/WebEditorClient.cpp:
  7457. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  7458. * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
  7459. * WebProcess/WebPage/mac/WebPageMac.mm:
  7460. * WebProcess/WebProcess.cpp:
  7461. * WebProcess/soup/WebProcessSoup.cpp:
  7462. 2013-02-28 Seokju Kwon <seokju.kwon@gmail.com>
  7463. [WK2] Refactoring : Fix indentation and braces in WebInspectorClient.h|cpp
  7464. https://bugs.webkit.org/show_bug.cgi?id=109925
  7465. Reviewed by Benjamin Poulain.
  7466. The contents of an outermost namespace block should not be indented.
  7467. And One-line control clauses should not use braces.
  7468. * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
  7469. (WebKit::WebInspectorClient::closeInspectorFrontend):
  7470. * WebProcess/WebCoreSupport/WebInspectorClient.h:
  7471. (WebCore):
  7472. 2013-02-28 Kiran Muppala <cmuppala@apple.com>
  7473. Add a pre-bootstrap message for NetworkProcess XPC service
  7474. https://bugs.webkit.org/show_bug.cgi?id=111127
  7475. Reviewed by Sam Weinig.
  7476. * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
  7477. (WebKit::XPCServiceEventHandler): Hold on to the pre-bootstrap message.
  7478. * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
  7479. (WebKit::XPCServiceEventHandler): Ditto.
  7480. * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  7481. (WebKit::connectToService): Send a pre-bootstrap message for NetworkProcess
  7482. XPC service.
  7483. 2013-02-28 Conrad Shultz <conrad_shultz@apple.com>
  7484. Need API to control page underlay color
  7485. https://bugs.webkit.org/show_bug.cgi?id=110918
  7486. Reviewed by Simon Fraser.
  7487. * Shared/WebPageCreationParameters.cpp:
  7488. (WebKit::WebPageCreationParameters::encode):
  7489. Encode underlayColor.
  7490. (WebKit::WebPageCreationParameters::decode):
  7491. Decode underlayColor.
  7492. * Shared/WebPageCreationParameters.h:
  7493. (WebPageCreationParameters):
  7494. Add underlayColor member.
  7495. * UIProcess/API/mac/WKView.mm:
  7496. (-[WKView underlayColor]):
  7497. Accessor; retrieves the WebCore::Color from the WebPageProxy and converts it to an NSColor.
  7498. (-[WKView setUnderlayColor:]):
  7499. Mutator; converts the NSColor to a WebCore::Color and passes it to the WebPageProxy.
  7500. * UIProcess/API/mac/WKViewPrivate.h:
  7501. Add underlayColor @property.
  7502. * UIProcess/WebPageProxy.cpp:
  7503. (WebKit::WebPageProxy::setUnderlayColor):
  7504. Mutator; dispatches SetUnderlayColor to WebPage.
  7505. (WebKit::WebPageProxy::creationParameters):
  7506. Set the parameters' underlayColor member appropriately.
  7507. * UIProcess/WebPageProxy.h:
  7508. Declare new member functions and variable.
  7509. (WebKit::WebPageProxy::underlayColor):
  7510. Accessor.
  7511. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  7512. (WebKit::WebChromeClient::underlayColor):
  7513. Return the associated WebPage's underlayColor.
  7514. * WebProcess/WebCoreSupport/WebChromeClient.h:
  7515. (WebChromeClient):
  7516. Declare underlayColor().
  7517. * WebProcess/WebPage/WebPage.cpp:
  7518. (WebKit::WebPage::WebPage):
  7519. Apply any underlayColor that was supplied as part of the WebPageCreationParameters.
  7520. * WebProcess/WebPage/WebPage.h:
  7521. Declare new member functions and variable.
  7522. (WebKit::WebPage::underlayColor):
  7523. Accessor.
  7524. * WebProcess/WebPage/WebPage.messages.in:
  7525. Add SetUnderlayColor message.
  7526. 2013-02-28 Anders Carlsson <andersca@apple.com>
  7527. Add the notion of an allowed connection to SessionStorageNamespace
  7528. https://bugs.webkit.org/show_bug.cgi?id=111122
  7529. Reviewed by Sam Weinig.
  7530. Group together each session storage namespace with an allowed connection.
  7531. This will help ensure that rouge web processes will not be able to access session storage
  7532. from pages in other processes.
  7533. * UIProcess/Storage/StorageManager.cpp:
  7534. (StorageManager::SessionStorageNamespace):
  7535. (WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
  7536. (WebKit::StorageManager::SessionStorageNamespace::create):
  7537. (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
  7538. (WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
  7539. Add an m_allowedConnection member variable, as well as setters and getters.
  7540. (WebKit::StorageManager::createSessionStorageNamespace):
  7541. Take an optional allowed connection. (It can be null if the process has not finished launching).
  7542. (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
  7543. New function to set the allowed connection for a session storage namespace.
  7544. (WebKit::StorageManager::createStorageArea):
  7545. Add another FIXME.
  7546. (WebKit::StorageManager::createSessionStorageNamespaceInternal):
  7547. Pass the connection to the SessionStorageNamespace constructor.
  7548. (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
  7549. Set the allowed connection.
  7550. * UIProcess/WebPageProxy.cpp:
  7551. (WebKit::WebPageProxy::WebPageProxy):
  7552. Pass the connection to createSessionStorageNamespace.
  7553. (WebKit::WebPageProxy::connectionWillOpen):
  7554. Call setAllowedSessionStorageNamespaceConnection.
  7555. (WebKit::WebPageProxy::connectionWillClose):
  7556. Call setAllowedSessionStorageNamespaceConnection with a null connection.
  7557. * UIProcess/WebProcessProxy.cpp:
  7558. (WebKit::WebProcessProxy::connectionWillOpen):
  7559. Call connectionWillOpen on all pages.
  7560. (WebKit::WebProcessProxy::connectionWillClose):
  7561. Call connectionWillClose on all pages.
  7562. 2013-02-28 Kiran Muppala <cmuppala@apple.com>
  7563. Add private API to disable WKView window occlusion detection
  7564. https://bugs.webkit.org/show_bug.cgi?id=111107
  7565. Reviewed by Simon Fraser.
  7566. * UIProcess/API/mac/WKView.mm:
  7567. (-[WKView _enableWindowOcclusionNotifications]): Check if occlusion
  7568. detection is enabled before enabling notifications.
  7569. (windowBecameOccluded): Ditto before changing window occlusion state.
  7570. (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
  7571. Initialize occlusion detection enabled flag to "YES".
  7572. (-[WKView windowOcclusionDetectionEnabled]):
  7573. (-[WKView setWindowOcclusionDetectionEnabled:]):
  7574. * UIProcess/API/mac/WKViewPrivate.h:
  7575. 2013-02-28 Anders Carlsson <andersca@apple.com>
  7576. Add the notion of an allowed connection to SessionStorageNamespace
  7577. https://bugs.webkit.org/show_bug.cgi?id=111122
  7578. Reviewed by Sam Weinig.
  7579. Group together each session storage namespace with an allowed connection.
  7580. This will help ensure that rouge web processes will not be able to access session storage
  7581. from pages in other processes.
  7582. * UIProcess/Storage/StorageManager.cpp:
  7583. (StorageManager::SessionStorageNamespace):
  7584. (WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
  7585. (WebKit::StorageManager::SessionStorageNamespace::create):
  7586. (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
  7587. (WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
  7588. Add an m_allowedConnection member variable, as well as setters and getters.
  7589. (WebKit::StorageManager::createSessionStorageNamespace):
  7590. Take an optional allowed connection. (It can be null if the process has not finished launching).
  7591. (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
  7592. New function to set the allowed connection for a session storage namespace.
  7593. (WebKit::StorageManager::createStorageArea):
  7594. Add another FIXME.
  7595. (WebKit::StorageManager::createSessionStorageNamespaceInternal):
  7596. Pass the connection to the SessionStorageNamespace constructor.
  7597. (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
  7598. Set the allowed connection.
  7599. * UIProcess/WebPageProxy.cpp:
  7600. (WebKit::WebPageProxy::WebPageProxy):
  7601. Pass the connection to createSessionStorageNamespace.
  7602. (WebKit::WebPageProxy::connectionWillOpen):
  7603. Call setAllowedSessionStorageNamespaceConnection.
  7604. (WebKit::WebPageProxy::connectionWillClose):
  7605. Call setAllowedSessionStorageNamespaceConnection with a null connection.
  7606. * UIProcess/WebProcessProxy.cpp:
  7607. (WebKit::WebProcessProxy::connectionWillOpen):
  7608. Call connectionWillOpen on all pages.
  7609. (WebKit::WebProcessProxy::connectionWillClose):
  7610. Call connectionWillClose on all pages.
  7611. 2013-02-28 Anders Carlsson <andersca@apple.com>
  7612. Implement more StorageAreaProxy member functions
  7613. https://bugs.webkit.org/show_bug.cgi?id=111103
  7614. Reviewed by Sam Weinig.
  7615. * Shared/SecurityOriginData.cpp:
  7616. (WebKit::SecurityOriginData::securityOrigin):
  7617. * Shared/SecurityOriginData.h:
  7618. Add helper to create a WebCore::SecurityOrigin from a SecurityOriginData object.
  7619. * WebProcess/Storage/StorageAreaProxy.cpp:
  7620. (WebKit::StorageAreaProxy::key):
  7621. Fill the storage map and call through to StorageMap::key.
  7622. (WebKit::StorageAreaProxy::contains):
  7623. Fill the storage map and call through to StorageMap::contains.
  7624. (WebKit::StorageAreaProxy::memoryBytesUsedByCache):
  7625. Return 0; this matches StorageAreaImpl.
  7626. 2013-02-28 Tim Horton <timothy_horton@apple.com>
  7627. PDFPlugin: PDF orientation isn't respected when printing or print-previewing
  7628. https://bugs.webkit.org/show_bug.cgi?id=110925
  7629. <rdar://problem/13008621>
  7630. Reviewed by Alexey Proskuryakov.
  7631. * WebProcess/WebPage/mac/WebPageMac.mm:
  7632. (WebKit::drawPDFPage): Teach drawPDFPage about PDFPage's rotation property, and use it
  7633. to swap the PDF's cropbox. Painting now matches PDFViewController's historical behavior.
  7634. 2013-02-28 Sam Weinig <sam@webkit.org>
  7635. Don't install unused XPCServices on Lion
  7636. <rdar://problem/13264712>
  7637. Rubber-stamped by Anders Carlsson
  7638. * Configurations/BaseXPCService.xcconfig:
  7639. 2013-02-28 David Kilzer <ddkilzer@apple.com>
  7640. BUILD FIX (r144221): SetSmartInsertDeleteEnabled should be wrapped in PLATFORM(MAC)
  7641. * WebProcess/WebPage/WebPage.messages.in: Move
  7642. SetSmartInsertDeleteEnabled from USE(APPKIT) to PLATFORM(MAC).
  7643. 2013-02-27 Csaba Osztrogonác <ossy@webkit.org>
  7644. [WK2] One more unreviewed buildfix for EFL, GTK and Qt after r144218.
  7645. * CMakeLists.txt:
  7646. * GNUmakefile.list.am:
  7647. * Target.pri:
  7648. * WebProcess/Storage/StorageNamespaceProxy.cpp:
  7649. (WebKit::StorageNamespaceProxy::copy):
  7650. 2013-02-27 Zan Dobersek <zdobersek@igalia.com>
  7651. Unreviewed (speculative) build fixes for EFL, GTK and Qt after r144218.
  7652. * CMakeLists.txt:
  7653. * DerivedSources.pri:
  7654. * GNUmakefile.list.am:
  7655. * Target.pri:
  7656. 2013-02-27 John Bauman <jbauman@chromium.org>
  7657. Plugin in iframe may not display
  7658. https://bugs.webkit.org/show_bug.cgi?id=109879
  7659. Reviewed by Simon Fraser.
  7660. Update geometry when cliprect changes.
  7661. * WebProcess/Plugins/PluginView.cpp:
  7662. (WebKit::PluginView::clipRectChanged):
  7663. * WebProcess/Plugins/PluginView.h:
  7664. 2013-02-27 Jer Noble <jer.noble@apple.com>
  7665. REGRESSION (48533): Full-frame plugins stopped working (download instead of loading the plugin)
  7666. https://bugs.webkit.org/show_bug.cgi?id=111003
  7667. Reviewed by Anders Carlsson.
  7668. Also query the Page's pluginData when determining whether a given MIME type can be shown.
  7669. * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  7670. (WKBundlePageCanShowMIMEType):
  7671. * WebProcess/WebPage/WebPage.cpp:
  7672. (WebKit::WebPage::canShowMIMEType):
  7673. * WebProcess/WebPage/WebPage.h:
  7674. 2013-02-27 Manuel Rego Casasnovas <rego@igalia.com>
  7675. Add smartInsertDeleteEnabled setting to WebCore::Page
  7676. https://bugs.webkit.org/show_bug.cgi?id=107840
  7677. Reviewed by Ryosuke Niwa.
  7678. * Shared/WebPageCreationParameters.cpp:
  7679. (WebKit::WebPageCreationParameters::encode):
  7680. (WebKit::WebPageCreationParameters::decode): Remove code related to
  7681. isSmartInsertDeleteEnabled.
  7682. * Shared/WebPageCreationParameters.h:
  7683. (WebPageCreationParameters): Remove isSmartInsertDeleteEnabled.
  7684. * Shared/WebPreferencesStore.h:
  7685. (WebKit): Add macro for smartInsertDeleteEnabled setting.
  7686. * UIProcess/API/C/WKPreferences.cpp:
  7687. (WKPreferencesSetSmartInsertDeleteEnabled):
  7688. (WKPreferencesGetSmartInsertDeleteEnabled): Implement methods using the
  7689. new setting.
  7690. * UIProcess/API/C/WKPreferencesPrivate.h: Add new methods headers.
  7691. * UIProcess/WebPageProxy.cpp:
  7692. (WebKit::WebPageProxy::initializeWebPage): Set smartInsertDeleteEnabled
  7693. setting using m_isSmartInsertDeleteEnabled to keep initial value on Mac.
  7694. (WebKit::WebPageProxy::creationParameters): Remove usage of
  7695. parameters.isSmartInsertDeleteEnabled.
  7696. * WebProcess/WebCoreSupport/WebEditorClient.cpp:
  7697. (WebKit::WebEditorClient::smartInsertDeleteEnabled): Enable method for
  7698. all platforms.
  7699. * WebProcess/WebPage/WebPage.cpp:
  7700. (WebKit::WebPage::WebPage): Remove m_isSmartInsertDeleteEnabled
  7701. initialization.
  7702. (WebKit::WebPage::updatePreferences): Set smartInsertDeleteEnabled
  7703. setting.
  7704. (WebKit::WebPage::isSmartInsertDeleteEnabled): Implement method using
  7705. settings.
  7706. (WebKit):
  7707. (WebKit::WebPage::setSmartInsertDeleteEnabled): Implement method using
  7708. settings.
  7709. * WebProcess/WebPage/WebPage.h:
  7710. (WebPage): Enable methods dealing with smartInsertDeleteEnabled for all
  7711. platforms and remove m_isSmartInsertDeleteEnabled as it will be a
  7712. setting.
  7713. 2013-02-27 Anders Carlsson <andersca@apple.com>
  7714. More storage scaffolding
  7715. https://bugs.webkit.org/show_bug.cgi?id=110997
  7716. Reviewed by Andreas Kling.
  7717. * DerivedSources.make:
  7718. Add StorageAreaProxy.
  7719. * UIProcess/Storage/StorageManager.cpp:
  7720. (WebKit::StorageManager::setItem):
  7721. Send back a DidSetItem message.
  7722. * WebKit2.xcodeproj/project.pbxproj:
  7723. Add generated files.
  7724. * WebProcess/Storage/StorageAreaProxy.cpp:
  7725. (WebKit::StorageAreaProxy::StorageAreaProxy):
  7726. Add the message receiver.
  7727. (WebKit::StorageAreaProxy::~StorageAreaProxy):
  7728. Remove the message receiver.
  7729. (WebKit::StorageAreaProxy::didSetItem):
  7730. add stub.
  7731. * WebProcess/Storage/StorageAreaProxy.h:
  7732. (StorageAreaProxy):
  7733. * WebProcess/Storage/StorageAreaProxy.messages.in: Added.
  7734. 2013-02-27 Sam Weinig <sam@webkit.org>
  7735. REGRESSION: Loading flash switches to discrete graphics, 100 MB on membuster
  7736. <rdar://problem/13229828>
  7737. Reviewed by Dan Bernstein.
  7738. Due the change in CFBundleIdentifier, the WebProcess and PluginProcess were
  7739. unnecessarily muxing (they used to be whitelisted by OpenGL) to the discrete
  7740. GPU.
  7741. * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  7742. * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
  7743. * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
  7744. * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  7745. * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
  7746. * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
  7747. Add NSSupportsAutomaticGraphicsSwitching YES.
  7748. * WebKit2.xcodeproj/project.pbxproj:
  7749. Re-add the PluginService.32-64.Info.plist plist to the project file.
  7750. 2013-02-26 Alexey Proskuryakov <ap@apple.com>
  7751. Don't add a body to platform request until necessary
  7752. https://bugs.webkit.org/show_bug.cgi?id=110900
  7753. Reviewed by Brady Eidson.
  7754. * NetworkProcess/NetworkResourceLoader.cpp:
  7755. (WebKit::NetworkResourceLoader::willSendRequest): Restore body after IPC. There
  7756. is no way for the client to change it.
  7757. * Shared/Downloads/mac/DownloadMac.mm:
  7758. (WebKit::Download::start):
  7759. (WebKit::Download::startWithHandle):
  7760. Pass UpdateHTTPBody when passing a request to NSURLConnection.
  7761. * Shared/mac/WebCoreArgumentCodersMac.mm: (CoreIPC::::encodePlatformData):
  7762. Never serialize the request body. It's slow, and sometimes impossible, so just
  7763. keeping things consistent.
  7764. * Shared/mac/WebURLRequestMac.mm: (WebKit::WebURLRequest::platformRequest):
  7765. Pass DoNotUpdateHTTPBody, as we can't update it outside NetworkProcess.
  7766. * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
  7767. (WebKit::CustomProtocolManagerProxy::startLoading): Ditto.
  7768. * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
  7769. (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
  7770. Restore existing body after a client call..
  7771. * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::platformCanHandleRequest):
  7772. Pass DoNotUpdateHTTPBody, as we can't update it outside NetworkProcess.
  7773. 2013-02-27 Glenn Adams <glenn@skynav.com>
  7774. Add ENABLE_CSS3_TEXT_LINE_BREAK flag.
  7775. https://bugs.webkit.org/show_bug.cgi?id=110944
  7776. Reviewed by Dean Jackson.
  7777. * Configurations/FeatureDefines.xcconfig:
  7778. 2013-02-27 Michael Brüning <michael.bruning@digia.com>
  7779. [Qt][WK2] Replace use of WebPreferences with use of WKPrefences C API
  7780. https://bugs.webkit.org/show_bug.cgi?id=108952
  7781. Reviewed by Simon Hausmann.
  7782. Signed off for WebKit2 by Benjamin Poulain.
  7783. This patch moves the view classes and preferences in the Qt API
  7784. to use the C API for accessing and manipulating preferences as
  7785. part of the cleanup and move towards using the C API as base for
  7786. the Qt WebKit2 API.
  7787. Adds the function WebKit::adoptToQString for convenience when
  7788. dealing with QString and copied String objects.
  7789. Removes the ScrollAnimatorEnabled options from QWebPreferences.
  7790. * UIProcess/API/cpp/qt/WKStringQt.cpp:
  7791. (WebKit::adoptToQString):
  7792. * UIProcess/API/cpp/qt/WKStringQt.h:
  7793. (WebKit):
  7794. * UIProcess/API/qt/qquickwebview.cpp:
  7795. (QQuickWebViewPrivate::initialize):
  7796. * UIProcess/API/qt/qwebpreferences.cpp:
  7797. (QWebPreferencesPrivate::testAttribute):
  7798. (QWebPreferencesPrivate::setAttribute):
  7799. (QWebPreferencesPrivate::setFontFamily):
  7800. (QWebPreferencesPrivate::fontFamily):
  7801. (QWebPreferencesPrivate::setFontSize):
  7802. (QWebPreferencesPrivate::fontSize):
  7803. * UIProcess/API/qt/qwebpreferences_p.h:
  7804. * UIProcess/API/qt/qwebpreferences_p_p.h:
  7805. 2013-02-26 Anders Carlsson <andersca@apple.com>
  7806. Implement StorageAreaProxy::getItem and StorageAreaProxy::setItem
  7807. https://bugs.webkit.org/show_bug.cgi?id=110927
  7808. Reviewed by Sam Weinig.
  7809. * UIProcess/Storage/StorageManager.cpp:
  7810. (WebKit::StorageManager::setItem):
  7811. * UIProcess/Storage/StorageManager.h:
  7812. Add empty stub.
  7813. * UIProcess/Storage/StorageManager.messages.in:
  7814. Add SetItem message.
  7815. * WebProcess/Storage/StorageAreaProxy.cpp:
  7816. (WebKit::StorageAreaProxy::getItem):
  7817. Fill the storage map and get the item from it.
  7818. (WebKit::StorageAreaProxy::setItem):
  7819. Update the storage map and send a SetItem message to the UI process.
  7820. 2013-02-26 Anders Carlsson <andersca@apple.com>
  7821. StorageAreaProxy should hold on to a StorageMap and not a HashMap
  7822. https://bugs.webkit.org/show_bug.cgi?id=110919
  7823. Reviewed by Jessie Berlin.
  7824. Create a storage map instead of a hash map.
  7825. * WebProcess/Storage/StorageAreaProxy.cpp:
  7826. (WebKit::StorageAreaProxy::length):
  7827. (WebKit::StorageAreaProxy::loadValuesIfNeeded):
  7828. * WebProcess/Storage/StorageAreaProxy.h:
  7829. (WebCore):
  7830. (StorageAreaProxy):
  7831. 2013-02-26 Anders Carlsson <andersca@apple.com>
  7832. Fix a copy/paste error in WebLoaderClient::didBlockInsecurePluginVersion
  7833. https://bugs.webkit.org/show_bug.cgi?id=110914
  7834. <rdar://problem/13297581>
  7835. Reviewed by Beth Dakin.
  7836. Pass kWKErrorCodeInsecurePlugInVersion to the pluginDidFail callback.
  7837. * UIProcess/WebLoaderClient.cpp:
  7838. (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
  7839. 2013-02-26 Jer Noble <jer.noble@apple.com>
  7840. Unreviewed build fix; use correct macro for platform name in FeatureDefines.xcconfig.
  7841. * Configurations/FeatureDefines.xcconfig:
  7842. 2013-02-26 Manuel Rego Casasnovas <rego@igalia.com>
  7843. [WK2][GTK] REGRESSION (r143463): unit test failure in WebKit2APITests/TestContextMenu
  7844. https://bugs.webkit.org/show_bug.cgi?id=110869
  7845. Reviewed by Martin Robinson.
  7846. Test was failing because of new media controls needs more space to be
  7847. painted than just 10x10 pixels.
  7848. * UIProcess/API/gtk/tests/TestContextMenu.cpp:
  7849. (testContextMenuDefaultMenu): Modified test in order to give more space
  7850. to the media controls.
  7851. 2013-02-26 Dean Jackson <dino@apple.com>
  7852. Draw intermediate snapshots if possible
  7853. https://bugs.webkit.org/show_bug.cgi?id=110811
  7854. Reviewed by Simon Fraser.
  7855. After http://webkit.org/b/110495 we delayed snapshotting until we've
  7856. received a nice image, but this made the page look like it is broken.
  7857. We should draw any intermediate snapshots that we find, which might
  7858. include content such as progress bars/spinners.
  7859. * WebProcess/Plugins/PluginView.cpp:
  7860. (WebKit): Reinstate 60 attempts at snapshots before giving up.
  7861. (WebKit::PluginView::isAcceleratedCompositingEnabled): We do not
  7862. want accelerated compositing enabled when we are trying to capture
  7863. snapshots.
  7864. 2013-02-26 Andras Becsi <andras.becsi@digia.com>
  7865. Remove nonexistent StringPairVector.h from Target.pri after r142839
  7866. Unreviewed gardening.
  7867. * Target.pri:
  7868. 2013-02-26 Simon Hausmann <simon.hausmann@digia.com>
  7869. Unreviewed trivial !ENABLE(NETSCAPE_PLUGIN_API) build fix
  7870. Add an intermediate pluginName string variable instead of
  7871. accessing plugin.info outside the feature #ifdef.
  7872. * UIProcess/WebPageProxy.cpp:
  7873. (WebKit::WebPageProxy::unavailablePluginButtonClicked):
  7874. 2013-02-25 Huang Dongsung <luxtella@company100.net>
  7875. Coordinated Graphics: remove redundant update of non compositing layer.
  7876. https://bugs.webkit.org/show_bug.cgi?id=110444
  7877. Reviewed by Noam Rosenthal.
  7878. Currently, we update non compositing layer when the page scrolled. However, it
  7879. is not needed, because TiledBackingStore can scroll without tile update.
  7880. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  7881. (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
  7882. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  7883. (CoordinatedLayerTreeHost):
  7884. 2013-02-25 Jer Noble <jer.noble@apple.com>
  7885. REGRESSION(r143981): Crash in WebFrameLoaderClient::dispatchDidStartProvisionalLoad()
  7886. https://bugs.webkit.org/show_bug.cgi?id=110848
  7887. Reviewed by Ryosuke Niwa.
  7888. NULL-check the result of document->documentElement().
  7889. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  7890. (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
  7891. 2013-02-25 Anders Carlsson <andersca@apple.com>
  7892. Add a new unavailablePluginButtonClicked callback that takes a WKDictionary of plug-in information
  7893. https://bugs.webkit.org/show_bug.cgi?id=110821
  7894. Reviewed by Beth Dakin.
  7895. * UIProcess/API/C/WKPage.cpp:
  7896. (WKPageGetPluginInformationPluginspageAttributeURLKey):
  7897. (WKPageGetPluginInformationPluginURLKey):
  7898. Add two new API key getters.
  7899. * UIProcess/API/C/WKPage.h:
  7900. Add a new callback and deprecate the old callback.
  7901. * UIProcess/WebLoaderClient.cpp:
  7902. (WebKit::WebLoaderClient::didFailToInitializePlugin):
  7903. (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
  7904. (WebKit::WebLoaderClient::pluginLoadPolicy):
  7905. Make the pluginInformationDictionary a static member function of WebPageProxy so it
  7906. can be called from WebUIClient as well.
  7907. * UIProcess/WebPageProxy.cpp:
  7908. (WebKit::WebPageProxy::getPluginPath):
  7909. Pass the bundle version as well.
  7910. (WebKit::WebPageProxy::pluginInformationPluginspageAttributeURLKey):
  7911. (WebKit::WebPageProxy::pluginInformationPluginURLKey):
  7912. Add two new keys.
  7913. (WebKit::WebPageProxy::pluginInformationDictionary):
  7914. Handle more keys.
  7915. (WebKit::WebPageProxy::unavailablePluginButtonClicked):
  7916. Get the plug-in bundle identifier and version.
  7917. * UIProcess/WebPageProxy.messages.in:
  7918. Pass along more information; the frame and page URLs.
  7919. * UIProcess/WebUIClient.cpp:
  7920. (WebKit::WebUIClient::unavailablePluginButtonClicked):
  7921. Call the new callback if it's supported.
  7922. * UIProcess/WebUIClient.h:
  7923. (WebUIClient):
  7924. * UIProcess/mac/WebInspectorProxyMac.mm:
  7925. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  7926. Update for API changes.
  7927. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  7928. (WebKit::WebChromeClient::unavailablePluginButtonClicked):
  7929. Ensure that the pluginspage attribute is a valid URL.
  7930. 2013-02-21 Jeffrey Pfau <jpfau@apple.com>
  7931. Optionally partition cache to prevent using cache for tracking
  7932. https://bugs.webkit.org/show_bug.cgi?id=110269
  7933. Reviewed by Maciej Stachowiak.
  7934. Update WKSI bindings and add feature defines.
  7935. * Configurations/FeatureDefines.xcconfig: Add defines for cache partitioning and public suffix list usage
  7936. * WebCoreSupport/WebSystemInterface.mm:
  7937. (InitWebCoreSystemInterface):
  7938. 2013-02-25 Jer Noble <jer.noble@apple.com>
  7939. Normalize ENABLE_ENCRYPTED_MEDIA definitions across all FeatureDefines files.
  7940. https://bugs.webkit.org/show_bug.cgi?id=110806
  7941. Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.
  7942. Reviewed by Alexey Proskuryakov.
  7943. * Configurations/FeatureDefines.xcconfig:
  7944. 2013-02-25 Jer Noble <jer.noble@apple.com>
  7945. Full screen mode should not exit when application resigns active state.
  7946. https://bugs.webkit.org/show_bug.cgi?id=106129
  7947. Reviewed by Darin Adler.
  7948. Now that full screen windows get their own full screen space, there is no reason to exit full
  7949. screen mode when the application resigns active state. Instead, the windowserver will bring the
  7950. space containing the newly active application to the foreground. The user can then swipe back
  7951. to the full screen space (or use Mission Control) to get back to the full screen window.
  7952. * UIProcess/mac/WKFullScreenWindowController.mm:
  7953. (-[WKFullScreenWindowController windowDidLoad]): Remove the applicationDidResignActive: notification from WKFullScreenWindowController.
  7954. 2013-02-25 Jer Noble <jer.noble@apple.com>
  7955. Safari shows empty window and paints webpage in full-screen background
  7956. https://bugs.webkit.org/show_bug.cgi?id=103712
  7957. Reviewed by Darin Adler.
  7958. When canceling full screen mode due to a provisional load, exit normally instead of closing the
  7959. full screen window controller. Additionally, to ensure full screen is cancelled when the enclosing
  7960. frame around a full screen iframe is navigated, check to see if the navigating document contains
  7961. a full screen element, rather than checking whether the document itself is full screen.
  7962. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  7963. (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
  7964. 2013-02-25 Anders Carlsson <andersca@apple.com>
  7965. Fix build.
  7966. * UIProcess/WebPageProxy.cpp:
  7967. (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
  7968. 2013-02-25 Anders Carlsson <andersca@apple.com>
  7969. Add a new pluginDidFail callback that takes a WKDictionary of plug-in information
  7970. https://bugs.webkit.org/show_bug.cgi?id=110793
  7971. <rdar://problem/13265303>
  7972. Reviewed by Sam Weinig.
  7973. Add a new pluginDidFail callback that takes a WKDictionaryRef and also pass in the
  7974. frame and page URLs.
  7975. * UIProcess/API/C/WKPage.h:
  7976. * UIProcess/WebLoaderClient.cpp:
  7977. (WebKit::pluginInformationDictionary):
  7978. (WebKit::WebLoaderClient::didFailToInitializePlugin):
  7979. (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
  7980. (WebKit::WebLoaderClient::pluginLoadPolicy):
  7981. * UIProcess/WebLoaderClient.h:
  7982. * UIProcess/WebPageProxy.cpp:
  7983. (WebKit::WebPageProxy::didFailToInitializePlugin):
  7984. (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
  7985. * UIProcess/WebPageProxy.h:
  7986. * UIProcess/WebPageProxy.messages.in:
  7987. * WebProcess/Plugins/PluginView.cpp:
  7988. (WebKit::PluginView::didFailToInitializePlugin):
  7989. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  7990. (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
  7991. * WebProcess/WebPage/WebPage.cpp:
  7992. (WebKit::WebPage::createPlugin):
  7993. 2013-02-25 Tim Horton <timothy_horton@apple.com>
  7994. PDFPlugin: Tab between text annotations
  7995. https://bugs.webkit.org/show_bug.cgi?id=106539
  7996. <rdar://problem/12751789>
  7997. Reviewed by Darin Adler.
  7998. Use [PDFLayerController activateNextAnnotation:] to advance focus when the tab key is hit while inside a PDF form.
  7999. Also, a drive-by fix to make the lifetime of PDFPluginAnnotationEventListener's m_annotation pointer more explicit.
  8000. * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add activateNextAnnotation: SPI.
  8001. * WebProcess/Plugins/PDF/PDFPlugin.h:
  8002. (PDFPlugin): Add focus(Next|Previous)Annotation.
  8003. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  8004. (WebKit::PDFPlugin::focusNextAnnotation): Ask PDFLayerController to focus the next annotation.
  8005. (WebKit::PDFPlugin::focusPreviousAnnotation): Ask PDFLayerController to focus the next annotation.
  8006. * WebProcess/Plugins/PDF/PDFPluginAnnotation.h: Drive-by, initialize m_parent to 0.
  8007. (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::setAnnotation): Added.
  8008. * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
  8009. (WebKit::PDFPluginAnnotation::attach): Use eventNames() instead of string literals.
  8010. (WebKit::PDFPluginAnnotation::~PDFPluginAnnotation): Clear the event listener's reference to its annotation.
  8011. (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::handleEvent): Null-check the event listener's annotation.
  8012. * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
  8013. (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotation): Create our PDFPluginTextAnnotationEventListener.
  8014. (PDFPluginTextAnnotationEventListener): Added an event listener (for keydown events in form fields).
  8015. (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::create):
  8016. (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::setTextAnnotation):
  8017. (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::PDFPluginTextAnnotationEventListener):
  8018. * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
  8019. (WebKit::PDFPluginTextAnnotation::~PDFPluginTextAnnotation): Unregister our keydown event listener.
  8020. (WebKit::PDFPluginTextAnnotation::createAnnotationElement): Register our keydown event listener.
  8021. (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::handleEvent): Ask PDFPlugin to focus
  8022. the next/previous annotation when the tab key is pressed (Shift-Tab goes backwards).
  8023. 2013-02-25 Alexey Proskuryakov <ap@apple.com>
  8024. <rdar://problem/12976385> Remove rule to silence attempts to create the ~/Library/Caches/com.apple.WebKit2.WebProcessService directory
  8025. Reviewed by Anders Carlsson.
  8026. * WebProcess/com.apple.WebProcess.sb.in: Remove the obsolete rule. We no longer
  8027. have a "WebProcessService".
  8028. 2013-02-25 Andras Becsi <andras.becsi@digia.com>
  8029. [Qt][WK2] Remove unneeded method didResumeContent from PageViewportController clients
  8030. https://bugs.webkit.org/show_bug.cgi?id=110751
  8031. Reviewed by Jocelyn Turcotte.
  8032. This is a clean-up in the PageViewportController clients that removes leftover
  8033. code from previous design that is partially unused and unnecessary, to simplify
  8034. the interaction between PageViewportController and clients.
  8035. * UIProcess/PageViewportController.cpp:
  8036. (WebKit::PageViewportController::resumeContent):
  8037. * UIProcess/PageViewportControllerClient.h:
  8038. (PageViewportControllerClient):
  8039. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  8040. * UIProcess/efl/PageViewportControllerClientEfl.h:
  8041. (PageViewportControllerClientEfl):
  8042. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  8043. (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
  8044. (WebKit::PageViewportControllerClientQt::flickMoveEnded):
  8045. (WebKit::PageViewportControllerClientQt::resumeAndUpdateContent):
  8046. (WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
  8047. * UIProcess/qt/PageViewportControllerClientQt.h:
  8048. (PageViewportControllerClientQt):
  8049. 2013-02-25 Andreas Kling <akling@apple.com>
  8050. Reduce amount of code that includes StylePropertySet.h
  8051. <http://webkit.org/b/101149>
  8052. Reviewed by Antti Koivisto.
  8053. * WebProcess/WebCoreSupport/WebEditorClient.cpp:
  8054. 2013-02-24 Andreas Kling <akling@apple.com>
  8055. Reduce include graph of JSDOMBinding.h
  8056. <http://webkit.org/b/110709>
  8057. Reviewed by Antti Koivisto.
  8058. * Shared/WebRenderObject.cpp:
  8059. (WebKit::WebRenderObject::WebRenderObject):
  8060. * WebProcess/Storage/StorageAreaProxy.cpp:
  8061. 2013-02-22 Sam Weinig <sam@webkit.org>
  8062. Add temporary work around for 32-bit plugins not working in production builds as XPCServices
  8063. https://bugs.webkit.org/show_bug.cgi?id=110680
  8064. <rdar://problem/13236883>
  8065. Reviewed by Anders Carlsson.
  8066. * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
  8067. (WebKit::shouldUseXPC):
  8068. Temporarily don't use XPC for plug-ins for Safari while we figure out why the
  8069. 32-bit XPCService is being built universal.
  8070. 2013-02-22 Tim Horton <timothy_horton@apple.com>
  8071. [WK2] The root and page overlay layers should be the size of the view, not the content
  8072. https://bugs.webkit.org/show_bug.cgi?id=110660
  8073. <rdar://problem/13096456>
  8074. Reviewed by Simon Fraser.
  8075. Use the view size for the size of the root and page overlay layers.
  8076. For one, we never update these layers' sizes when the content size changes, causing size mismatches.
  8077. In addition, there's no reason an overlay shouldn't be able to draw outside of the bounds of the content.
  8078. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  8079. (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
  8080. (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
  8081. 2013-02-22 Anders Carlsson <andersca@apple.com>
  8082. pluginLoadStrategy should take a WKDictionaryRef for extensibility
  8083. https://bugs.webkit.org/show_bug.cgi?id=110656
  8084. <rdar://problem/13265303>
  8085. Reviewed by Jessie Berlin.
  8086. Change pluginLoadStrategy to take a WKDictionaryRef instead of a number of parameters;
  8087. this lets us add more plug-in information if needed. Also add the page URL and rename documentURL to frameURL.
  8088. * UIProcess/API/C/WKPage.cpp:
  8089. (WKPageGetPluginInformationBundleIdentifierKey):
  8090. (WKPageGetPluginInformationBundleVersionKey):
  8091. (WKPageGetPluginInformationDisplayNameKey):
  8092. (WKPageGetPluginInformationFrameURLKey):
  8093. (WKPageGetPluginInformationMIMETypeKey):
  8094. (WKPageGetPluginInformationPageURLKey):
  8095. * UIProcess/API/C/WKPage.h:
  8096. * UIProcess/WebLoaderClient.cpp:
  8097. (WebKit):
  8098. (WebKit::WebLoaderClient::pluginLoadPolicy):
  8099. * UIProcess/WebLoaderClient.h:
  8100. (WebLoaderClient):
  8101. * UIProcess/WebPageProxy.cpp:
  8102. (WebKit::WebPageProxy::getPluginPath):
  8103. (WebKit::WebPageProxy::pluginInformationBundleIdentifierKey):
  8104. (WebKit):
  8105. (WebKit::WebPageProxy::pluginInformationBundleVersionKey):
  8106. (WebKit::WebPageProxy::pluginInformationDisplayNameKey):
  8107. (WebKit::WebPageProxy::pluginInformationFrameURLKey):
  8108. (WebKit::WebPageProxy::pluginInformationMIMETypeKey):
  8109. (WebKit::WebPageProxy::pluginInformationPageURLKey):
  8110. * UIProcess/WebPageProxy.h:
  8111. (WebPageProxy):
  8112. * UIProcess/WebPageProxy.messages.in:
  8113. * WebProcess/WebPage/WebPage.cpp:
  8114. (WebKit::WebPage::createPlugin):
  8115. (WebKit::WebPage::canPluginHandleResponse):
  8116. 2013-02-22 Anders Carlsson <andersca@apple.com>
  8117. Move pluginLoadPolicy to the page loader client
  8118. https://bugs.webkit.org/show_bug.cgi?id=110635
  8119. <rdar://problem/13265303>
  8120. Reviewed by Sam Weinig.
  8121. Move the pluginLoadPolicy callback to the page loader client where it belongs.
  8122. * UIProcess/API/C/WKPage.h:
  8123. * UIProcess/WebLoaderClient.cpp:
  8124. (WebKit::toWKPluginLoadPolicy):
  8125. (WebKit):
  8126. (WebKit::toPluginModuleLoadPolicy):
  8127. (WebKit::WebLoaderClient::pluginLoadPolicy):
  8128. * UIProcess/WebLoaderClient.h:
  8129. (WebLoaderClient):
  8130. * UIProcess/WebPageProxy.cpp:
  8131. (WebKit::WebPageProxy::getPluginPath):
  8132. * UIProcess/WebUIClient.cpp:
  8133. (WebKit):
  8134. * UIProcess/WebUIClient.h:
  8135. (WebUIClient):
  8136. * UIProcess/mac/WebInspectorProxyMac.mm:
  8137. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  8138. 2013-02-21 Jer Noble <jer.noble@apple.com>
  8139. Two video contollers appear after exiting the fullscreen video when using menubar to exit.
  8140. https://bugs.webkit.org/show_bug.cgi?id=110506
  8141. Reviewed by Eric Carlson.
  8142. When we are notified that the fullscreen window is about to exit fullscreen mode unrequested,
  8143. call requestExitFullScreen(), as that will result in Document::webkitExitFullScreen() correctly
  8144. tearing down the fullscreen state.
  8145. * UIProcess/mac/WKFullScreenWindowController.mm:
  8146. (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
  8147. 2013-02-22 Balazs Kelemen <kbalazs@webkit.org>
  8148. Yet another unreviewed buildfix after r143714.
  8149. * UIProcess/efl/WebView.cpp:
  8150. (WebKit::WebView::paintToCairoSurface):
  8151. 2013-02-22 Balazs Kelemen <kbalazs@webkit.org>
  8152. Unreviewed preventive buildfix after my last commit.
  8153. * UIProcess/API/efl/EwkView.cpp:
  8154. * UIProcess/efl/WebView.cpp:
  8155. 2013-02-22 Balazs Kelemen <kbalazs@webkit.org>
  8156. [CoordGfx] Minor cleanup in CoordinatedGraphicsScene::paintToGraphicsContext
  8157. https://bugs.webkit.org/show_bug.cgi?id=109824
  8158. Reviewed by Andreas Kling.
  8159. Avoid ugly ifdefs by using PlatformGraphicsContext.
  8160. * UIProcess/API/efl/EwkView.cpp:
  8161. (EwkView::displayTimerFired):
  8162. 2013-02-22 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  8163. [WK2][EFL] Remove declaration of non-existent functions from EwkView
  8164. https://bugs.webkit.org/show_bug.cgi?id=110572
  8165. Reviewed by Kenneth Rohde Christiansen.
  8166. Removed declarations of non-existent EwkView::paintToCurrentGLContext() and
  8167. EwkView::paintToCairoSurface(cairo_surface_t*) that were accidentally
  8168. left at r143699.
  8169. * UIProcess/API/efl/EwkView.h:
  8170. (EwkView):
  8171. 2013-02-22 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  8172. [WK2][EFL] Clean up PageViewportControllerClientEfl class
  8173. https://bugs.webkit.org/show_bug.cgi?id=110438
  8174. Reviewed by Andreas Kling.
  8175. Cleaned up PageViewportControllerClientEfl class from unused methods
  8176. and class members, eliminated access to WK2 internals from this class.
  8177. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  8178. (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
  8179. * UIProcess/efl/PageViewportControllerClientEfl.h:
  8180. (WebKit::PageViewportControllerClientEfl::~PageViewportControllerClientEfl):
  8181. (PageViewportControllerClientEfl):
  8182. * UIProcess/efl/WebView.cpp:
  8183. (WebKit::WebView::WebView):
  8184. (WebKit::WebView::updateViewportSize):
  8185. 2013-02-22 Michał Pakuła vel Rutka <m.pakula@samsung.com>
  8186. [WK2][EFL][GTK][Qt] Add context menu item tags for C API
  8187. https://bugs.webkit.org/show_bug.cgi?id=109815
  8188. Reviewed by Anders Carlsson.
  8189. This patch adds context menu item tags used by EFL, GTK and Qt ports, defined in
  8190. WebCore to WK2 C API.
  8191. * Shared/API/c/WKContextMenuItemTypes.h:
  8192. * Shared/API/c/WKSharedAPICast.h:
  8193. (WebKit::toAPI):
  8194. (WebKit::toImpl):
  8195. 2013-02-22 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  8196. [WK2][EFL] Move AC code from EwkView to WebView
  8197. https://bugs.webkit.org/show_bug.cgi?id=110216
  8198. Reviewed by Anders Carlsson.
  8199. Accelerated compositing code is moved from EwkView to WebView.
  8200. Added new WKView API to be used from EwkView instead of direct accessing
  8201. to coordinated graphics scene.
  8202. * UIProcess/API/C/efl/WKView.cpp:
  8203. (WKViewSetUserViewportTranslation):
  8204. (WKViewUserViewportToContents):
  8205. (WKViewPaintToCurrentGLContext):
  8206. (WKViewPaintToCairoSurface):
  8207. * UIProcess/API/C/efl/WKView.h:
  8208. Added WKView API functions.
  8209. * UIProcess/API/efl/EwkView.cpp:
  8210. (EwkView::EwkView):
  8211. (EwkView::displayTimerFired):
  8212. (EwkView::feedTouchEvent):
  8213. (EwkView::createGLSurface):
  8214. (EwkView::handleEvasObjectCalculate):
  8215. (EwkView::handleEwkViewMouseWheel):
  8216. (EwkView::handleEwkViewMouseDown):
  8217. (EwkView::handleEwkViewMouseUp):
  8218. (EwkView::handleEwkViewMouseMove):
  8219. * UIProcess/API/efl/EwkView.h:
  8220. (EwkView):
  8221. Using new WKView API.
  8222. * UIProcess/efl/WebView.cpp:
  8223. (WebKit::WebView::initialize):
  8224. (WebKit):
  8225. (WebKit::WebView::paintToCurrentGLContext):
  8226. (WebKit::WebView::paintToCairoSurface):
  8227. (WebKit::WebView::userViewportToContents):
  8228. (WebKit::WebView::transformFromScene):
  8229. (WebKit::WebView::transformToScene):
  8230. (WebKit::WebView::coordinatedGraphicsScene):
  8231. (WebKit::WebView::enterAcceleratedCompositingMode):
  8232. (WebKit::WebView::exitAcceleratedCompositingMode):
  8233. * UIProcess/efl/WebView.h:
  8234. (WebCore):
  8235. (WebKit::WebView::setUserViewportTranslation):
  8236. (WebView):
  8237. Added WebView methods to support new WKView API.
  8238. 2013-02-21 Dima Gorbik <dgorbik@apple.com>
  8239. QuickTime plugin doesn't load when accelerated compositing is disabled
  8240. https://bugs.webkit.org/show_bug.cgi?id=110534
  8241. Reviewed by Anders Carlsson.
  8242. We shouldn't disable accelerated compositing for plugins, because
  8243. plugins such as QuickTime rely on this and will try to set other drawing
  8244. models that we don't support.
  8245. * WebProcess/Plugins/PluginView.cpp:
  8246. (WebKit::PluginView::isAcceleratedCompositingEnabled):
  8247. 2013-02-21 Dean Jackson <dino@apple.com>
  8248. Plug-in snapshotting code always accepts first snapshot
  8249. https://bugs.webkit.org/show_bug.cgi?id=110495
  8250. Reviewed by Tim Horton.
  8251. When we detect a plugin that can be snapshotted we start capturing
  8252. images until we find one that we believe isn't blank, or we timeout.
  8253. I introduced a regression recently where we swap renderers as
  8254. soon as the snapshot arrives, whether or not is is blank.
  8255. The fix was to have the embedder (currently only WK2) be the one
  8256. who tells the HTMLPlugInElement to start displaying snapshots.
  8257. * WebProcess/Plugins/PluginView.cpp:
  8258. (WebKit::PluginView::pluginSnapshotTimerFired): When we find a
  8259. snapshot that we like, tell the HTMLPlugInElement to move to
  8260. the snapshot view.
  8261. 2013-02-21 Carlos Garcia Campos <cgarcia@igalia.com>
  8262. Unreviewed. Fix make distcheck.
  8263. * GNUmakefile.am: Add -DBUILDING_WEBKIT flags to introspection
  8264. scanner.
  8265. * GNUmakefile.list.am: Add missing header to compilation and
  8266. remove one that no longer exists.
  8267. 2013-02-21 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  8268. [WK2][EFL] Move PageViewportController and PageViewportControllerClientEfl out from WebView
  8269. https://bugs.webkit.org/show_bug.cgi?id=110345
  8270. Reviewed by Andreas Kling.
  8271. WebView does not need to know about both PageViewportController and
  8272. PageViewportControllerClientEfl. Considering the fact that PageViewportController
  8273. will stop being WK2 internal and will be based on WK2 C API, it
  8274. should be owned by EwkView rather than WebView.
  8275. This patch is also a preparation for WKViewClient API extension to cover all
  8276. the places where PageViewportController and PageViewportControllerClientEfl
  8277. are accessed directly from WebView at the moment.
  8278. * UIProcess/API/efl/EwkView.cpp:
  8279. (EwkView::EwkView):
  8280. * UIProcess/API/efl/EwkView.h:
  8281. (WebKit):
  8282. (EwkView::pageViewportControllerClient):
  8283. (EwkView::pageViewportController):
  8284. (EwkView):
  8285. * UIProcess/efl/WebView.cpp:
  8286. (WebKit::WebView::didCommitLoad):
  8287. (WebKit::WebView::updateViewportSize):
  8288. (WebKit::WebView::didChangeContentsSize):
  8289. (WebKit::WebView::didChangeViewportProperties):
  8290. (WebKit::WebView::pageDidRequestScroll):
  8291. (WebKit::WebView::didRenderFrame):
  8292. (WebKit::WebView::pageTransitionViewportReady):
  8293. * UIProcess/efl/WebView.h:
  8294. (WebView):
  8295. 2013-02-20 Tim Horton <timothy_horton@apple.com>
  8296. Provide WKView SPI to defer telling the WebPageProxy and WebProcess about changes in the hosting window
  8297. https://bugs.webkit.org/show_bug.cgi?id=110415
  8298. <rdar://problem/13095405>
  8299. Reviewed by Simon Fraser.
  8300. * UIProcess/API/mac/WKView.mm: Add _viewInWindowChangesDeferredCount and _viewInWindowChangeWasDeferred to WKViewData.
  8301. (-[WKView viewDidMoveToWindow]): If we're deferring window changes, don't include the ViewIsInWindow flag
  8302. when sending viewStateDidChange. Instead, save the fact that we want to do that later aside.
  8303. (-[WKView beginDeferringViewInWindowChanges]):
  8304. (-[WKView endDeferringViewInWindowChanges]): Straightforward begin/end pair. When we exit the last pair and
  8305. have a pending window change, let the WebPageProxy know. WebPageProxy will do the check to ensure that
  8306. the in-window state has actually changed.
  8307. (-[WKView isDeferringViewInWindowChanges]):
  8308. * UIProcess/API/mac/WKViewPrivate.h:
  8309. 2013-02-20 Kiran Muppala <cmuppala@apple.com>
  8310. Disable window occlusion notifications for App Store on Mac.
  8311. https://bugs.webkit.org/show_bug.cgi?id=110417
  8312. Reviewed by Simon Fraser.
  8313. Temporary fix to workaround issues with window occlusion notifications
  8314. in App Store.
  8315. * UIProcess/API/mac/WKView.mm:
  8316. (+[WKView _registerWindowOcclusionNotificationHandlers]): Return early
  8317. if the main bundle identifier matches that of App Store.
  8318. 2013-02-20 Mark Rowe <mrowe@apple.com>
  8319. <https://webkit.org/b/110410> Specify the plug-in process / service entitlements via the Xcode configuration.
  8320. This is the modern mechanism for applying entitlements to production builds,
  8321. and it simplifies the maintenance of entitlements going forward. It also allows
  8322. us to fix the new XPC PluginServices to have the same entitlements as PluginProcess.
  8323. Reviewed by Alexey Proskuryakov.
  8324. * Configurations/Base.xcconfig: Ad-hoc sign all WebKit2 components.
  8325. * Configurations/PluginProcess.xcconfig: Specify the entitlements to use.
  8326. * Configurations/PluginService.32.xcconfig: Ditto.
  8327. * Configurations/PluginService.64.xcconfig: Ditto.
  8328. * Configurations/PluginService.Development.xcconfig: Ditto.
  8329. * Configurations/PluginService.entitlements: Renamed from Source/WebKit2/PluginProcess/mac/PluginProcess.entitlements.
  8330. Move the entitlements in to the Configurations directory to make them easier to find.
  8331. * PluginProcess/mac/add-entitlements.sh: Removed. In my testing the dependency issue mentioned
  8332. in the script is not an issue with current versions of Xcode. If we see it again we can come
  8333. up with a workaround that doesn't involve performing the signing via a script phase.
  8334. * WebKit2.xcodeproj/project.pbxproj:
  8335. 2013-02-20 Mark Rowe <mrowe@apple.com>
  8336. <https://webkit.org/b/110409> Remove duplication between 32- and 64-bit PluginService plists.
  8337. Reviewed by Dan Bernstein.
  8338. The only difference between the plists was the CFBundleIdentifier. Since the values are the
  8339. same as the product name, we can just use the value of the PRODUCT_NAME configuration setting.
  8340. * Configurations/PluginService.32.xcconfig:
  8341. * Configurations/PluginService.64.xcconfig:
  8342. * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist: Renamed from Source/WebKit2/PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist.
  8343. * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist: Removed.
  8344. 2013-02-20 Simon Fraser <simon.fraser@apple.com>
  8345. Zoomed, slow-scrolling pages keep recreating tiles when scrolled
  8346. https://bugs.webkit.org/show_bug.cgi?id=110379
  8347. Reviewed by Tim Horton.
  8348. Make the visible rect and exposed rects passed through
  8349. the drawing area to the tile cache FloatRects instead of IntRects.
  8350. * UIProcess/API/mac/WKView.mm:
  8351. (-[WKView setFrameSize:]):
  8352. (-[WKView _updateWindowAndViewFrames]):
  8353. (-[WKView enableFrameSizeUpdates]):
  8354. (-[WKView setMinimumWidthForAutoLayout:]):
  8355. * UIProcess/WebPageProxy.h:
  8356. * UIProcess/mac/WebPageProxyMac.mm:
  8357. (WebKit::WebPageProxy::viewExposedRectChanged):
  8358. * WebProcess/WebPage/DrawingArea.h:
  8359. (WebKit::DrawingArea::setExposedRect):
  8360. * WebProcess/WebPage/WebPage.cpp:
  8361. (WebKit::WebPage::viewExposedRectChanged):
  8362. * WebProcess/WebPage/WebPage.h:
  8363. * WebProcess/WebPage/WebPage.messages.in:
  8364. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  8365. (TiledCoreAnimationDrawingArea):
  8366. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  8367. (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
  8368. 2013-02-20 Dirk Schulze <krit@webkit.org>
  8369. Enable CANVAS_PATH flag
  8370. https://bugs.webkit.org/show_bug.cgi?id=108508
  8371. Reviewed by Simon Fraser.
  8372. Enable CANVAS_PATH flag on trunk.
  8373. * Configurations/FeatureDefines.xcconfig:
  8374. 2013-02-20 Laszlo Gombos <l.gombos@samsung.com>
  8375. Remove unnecessary includes for Platform.h from headers
  8376. https://bugs.webkit.org/show_bug.cgi?id=110300
  8377. Reviewed by Alexey Proskuryakov.
  8378. wtf/Platform.h only need to be included in a few places directly
  8379. as it is included in config.h. Remove the unnecessay duplicate as
  8380. it can be confusing.
  8381. * Shared/PrintInfo.h:
  8382. 2013-02-20 Huang Dongsung <luxtella@company100.net>
  8383. [WK2] Remove m_viewportSize in WebPage.
  8384. https://bugs.webkit.org/show_bug.cgi?id=110311
  8385. Reviewed by Anders Carlsson.
  8386. EFL and Qt use m_viewSize as a contents size while Apple use it as a viewport
  8387. size, so EFL and Qt introduced m_viewportSize to make WebPage know a viewport
  8388. size.
  8389. EFL and Qt use m_viewSize as a contents size because the size of non compositing
  8390. layer is contents size, and EFL and Qt mark whole non compositing layer as dirty
  8391. using m_viewSize. Bug 110299 (http://webkit.org/b/110299) changes that it is not
  8392. necessary to know m_viewSize when marking whole non compositing layer as dirty.
  8393. So we can make EFL and Qt use m_viewSize as a viewport size also.
  8394. This patch removes m_viewportSize and related methods to increase readability.
  8395. * UIProcess/API/qt/raw/qrawwebview.cpp:
  8396. (QRawWebView::setSize):
  8397. * UIProcess/PageViewportController.cpp:
  8398. (WebKit::PageViewportController::didChangeViewportSize):
  8399. * UIProcess/WebPageProxy.cpp:
  8400. (WebKit):
  8401. * UIProcess/WebPageProxy.h:
  8402. (WebPageProxy):
  8403. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  8404. (WebKit::WebChromeClient::pageRect):
  8405. (WebKit::WebChromeClient::contentsSizeChanged):
  8406. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  8407. (WebKit::DrawingAreaImpl::updateBackingStoreState):
  8408. * WebProcess/WebPage/WebPage.cpp:
  8409. (WebKit::WebPage::setSize):
  8410. (WebKit::WebPage::sendViewportAttributesChanged):
  8411. * WebProcess/WebPage/WebPage.h:
  8412. (WebPage):
  8413. * WebProcess/WebPage/WebPage.messages.in:
  8414. 2013-02-20 Huang Dongsung <luxtella@company100.net>
  8415. [WK2] add setNeedsDisplay in DrawingArea to mark whole layer as dirty.
  8416. https://bugs.webkit.org/show_bug.cgi?id=110299
  8417. Reviewed by Anders Carlsson.
  8418. Currently, we call setNeedsDisplay with the size of WebPage to mark whole
  8419. backing store as dirty. However, the size of non compositing layer can be
  8420. inconsistent with the size of WebPage. For example, in Coordinated Graphics, the
  8421. size of non compositing layer is contents size.
  8422. So, WebPage should not assume the size of non compositing layer, and should just
  8423. call setNeedsDisplay when marking whole layer as dirty.
  8424. In addition, this patch renames from setNeedsDisplay() with a rect argument to
  8425. setNeedsDisplayInRect(), which matches to the terms of GraphicsLayer.
  8426. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  8427. (WebKit::WebChromeClient::invalidateContentsAndRootView):
  8428. (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
  8429. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  8430. (WebKit::WebFrameLoaderClient::restoreViewState):
  8431. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  8432. (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
  8433. (WebKit):
  8434. (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplayInRect):
  8435. (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
  8436. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  8437. (CoordinatedLayerTreeHost):
  8438. * WebProcess/WebPage/DrawingArea.h:
  8439. (DrawingArea):
  8440. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  8441. (WebKit::DrawingAreaImpl::setNeedsDisplay):
  8442. (WebKit):
  8443. (WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
  8444. (WebKit::DrawingAreaImpl::scroll):
  8445. (WebKit::DrawingAreaImpl::forceRepaint):
  8446. (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
  8447. (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
  8448. (WebKit::DrawingAreaImpl::resumePainting):
  8449. * WebProcess/WebPage/DrawingAreaImpl.h:
  8450. (DrawingAreaImpl):
  8451. * WebProcess/WebPage/LayerTreeHost.h:
  8452. (LayerTreeHost):
  8453. * WebProcess/WebPage/WebPage.cpp:
  8454. (WebKit::WebPage::setSize):
  8455. (WebKit::WebPage::setDrawsBackground):
  8456. (WebKit::WebPage::setDrawsTransparentBackground):
  8457. (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
  8458. * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
  8459. (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplay):
  8460. (WebKit):
  8461. (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplayInRect):
  8462. (WebKit::LayerTreeHostGtk::scrollNonCompositedContents):
  8463. * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
  8464. (LayerTreeHostGtk):
  8465. * WebProcess/WebPage/mac/LayerTreeHostMac.h:
  8466. (LayerTreeHostMac):
  8467. * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
  8468. (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
  8469. (WebKit):
  8470. (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
  8471. (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
  8472. * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  8473. (RemoteLayerTreeDrawingArea):
  8474. * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
  8475. (WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplay):
  8476. (WebKit):
  8477. (WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplayInRect):
  8478. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  8479. (TiledCoreAnimationDrawingArea):
  8480. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  8481. (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
  8482. (WebKit):
  8483. (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplayInRect):
  8484. 2013-02-20 Christophe Dumez <ch.dumez@sisa.samsung.com>
  8485. [EFL][WK2] Port EwkPopupMenuItem to the C API
  8486. https://bugs.webkit.org/show_bug.cgi?id=108798
  8487. Reviewed by Kenneth Rohde Christiansen.
  8488. Make use of the new WKPopupItem C API inside EwkPopupMenuItem to remove
  8489. dependency on internal WebPopupItem type. Eina shared string members
  8490. are now lazily initialized to make the object cheaper to construct.
  8491. * UIProcess/API/efl/ewk_popup_menu.cpp:
  8492. (EwkPopupMenu::EwkPopupMenu):
  8493. * UIProcess/API/efl/ewk_popup_menu_item.cpp:
  8494. (EwkPopupMenuItem::EwkPopupMenuItem):
  8495. (EwkPopupMenuItem::type):
  8496. (EwkPopupMenuItem::textDirection):
  8497. (EwkPopupMenuItem::text):
  8498. (EwkPopupMenuItem::tooltipText):
  8499. (EwkPopupMenuItem::accessibilityText):
  8500. (EwkPopupMenuItem::hasTextDirectionOverride):
  8501. (EwkPopupMenuItem::isEnabled):
  8502. (EwkPopupMenuItem::isLabel):
  8503. (EwkPopupMenuItem::isSelected):
  8504. * UIProcess/API/efl/ewk_popup_menu_item_private.h:
  8505. (EwkPopupMenuItem::create):
  8506. (EwkPopupMenuItem):
  8507. 2013-02-19 Tim Horton <timothy_horton@apple.com>
  8508. Clarify isInWindow vs. isVisible path through to RenderLayerCompositor
  8509. https://bugs.webkit.org/show_bug.cgi?id=110261
  8510. <rdar://problem/13196122>
  8511. Reviewed by Simon Fraser.
  8512. * WebProcess/WebPage/WebPage.cpp:
  8513. (WebKit::WebPage::setIsInWindow):
  8514. Use Page::setIsInWindow in addition to willMoveOffscreen/didMoveOnscreen.
  8515. 2013-02-19 Conrad Shultz <conrad_shultz@apple.com>
  8516. Allow UI clients to handle vertical wheel events.
  8517. https://bugs.webkit.org/show_bug.cgi?id=110006
  8518. Reviewed by Tim Horton.
  8519. Add API to allow clients to selectively control rubber-banding at vertical page extrema.
  8520. * UIProcess/API/C/WKPage.cpp:
  8521. (WKPageRubberBandsAtBottom):
  8522. Proxy for the corresponding function in WebCore::Page.
  8523. (WKPageSetRubberBandsAtBottom):
  8524. Ditto.
  8525. (WKPageRubberBandsAtTop):
  8526. Ditto.
  8527. (WKPageSetRubberBandsAtTop):
  8528. Ditto.
  8529. * UIProcess/API/C/WKPage.h:
  8530. Declare new API.
  8531. * UIProcess/WebPageProxy.cpp:
  8532. (WebKit::WebPageProxy::WebPageProxy):
  8533. Initialize new member variables.
  8534. (WebKit::WebPageProxy::setRubberBandsAtBottom):
  8535. New function; dispatches a matching message to the WebKit::WebPage.
  8536. (WebKit::WebPageProxy::setRubberBandsAtTop):
  8537. Ditto.
  8538. * UIProcess/WebPageProxy.h:
  8539. (WebPageProxy):
  8540. Declare new API.
  8541. (WebKit::WebPageProxy::rubberBandsAtBottom):
  8542. New accessor function.
  8543. (WebKit::WebPageProxy::rubberBandsAtTop):
  8544. Ditto.
  8545. * WebProcess/WebPage/WebPage.cpp:
  8546. (WebKit::WebPage::setRubberBandsAtBottom):
  8547. New function; call the matching function on the associated WebCore::Page.
  8548. (WebKit::WebPage::setRubberBandsAtTop):
  8549. Ditto.
  8550. * WebProcess/WebPage/WebPage.h:
  8551. (WebPage):
  8552. Declare new rubber-banding API.
  8553. * WebProcess/WebPage/WebPage.messages.in:
  8554. Declare new rubber-banding API.
  8555. 2013-02-19 Anders Carlsson <andersca@apple.com>
  8556. StorageAreaProxy should know its quota
  8557. https://bugs.webkit.org/show_bug.cgi?id=110268
  8558. Reviewed by Sam Weinig.
  8559. Begin stubbing out StorageAreaProxy::setItem and add some quota member variables.
  8560. * WebProcess/Storage/StorageAreaProxy.cpp:
  8561. (WebKit::StorageAreaProxy::StorageAreaProxy):
  8562. (WebKit::StorageAreaProxy::setItem):
  8563. * WebProcess/Storage/StorageAreaProxy.h:
  8564. (StorageAreaProxy):
  8565. * WebProcess/Storage/StorageNamespaceProxy.cpp:
  8566. (WebKit::StorageNamespaceProxy::createSessionStorageNamespace):
  8567. (WebKit::StorageNamespaceProxy::StorageNamespaceProxy):
  8568. * WebProcess/Storage/StorageNamespaceProxy.h:
  8569. (WebKit::StorageNamespaceProxy::quota):
  8570. (StorageNamespaceProxy):
  8571. 2013-02-19 Alexey Proskuryakov <ap@apple.com>
  8572. <rdar://problem/13239119> NetworkProcess generates timeout spindump logs
  8573. Reviewed by Mark Rowe.
  8574. Don't keep a window server connection in processes that don't need it, and don't
  8575. run an NSApplication run loop.
  8576. * Shared/ChildProcess.h:
  8577. * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::shutdownWindowServerConnection):
  8578. Added a function to shut down connections, and to make sure we don't get one in the future.
  8579. * NetworkProcess/mac/NetworkProcessMac.mm:
  8580. (WebKit::NetworkProcess::initializeProcessName):
  8581. * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm:
  8582. (WebKit::OfflineStorageProcess::initializeProcessName):
  8583. * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
  8584. (WebKit::SharedWorkerProcess::platformInitializeSharedWorkerProcess): Also removed
  8585. some unused includes and forward declarations.
  8586. 2013-02-18 Alexey Proskuryakov <ap@apple.com>
  8587. [WK2] Cannot load documents with blob urls
  8588. https://bugs.webkit.org/show_bug.cgi?id=110160
  8589. Reviewed by Sam Weinig.
  8590. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::canHandleRequest):
  8591. Added knowledge about blobs.
  8592. 2013-02-19 Carlos Garcia Campos <cgarcia@igalia.com>
  8593. [GTK] Move the API to get TLS certificate from WebKitURIResponse to WebKitWebView
  8594. https://bugs.webkit.org/show_bug.cgi?id=110190
  8595. Reviewed by Anders Carlsson.
  8596. Add webkit_web_view_get_tls_info() and remove
  8597. webkit_uri_response_get_https_status(). This way I can be sure
  8598. that when called after load has been committed the certificate
  8599. will be available. It also makes the API easier to use.
  8600. * UIProcess/API/gtk/WebKitURIResponse.cpp:
  8601. * UIProcess/API/gtk/WebKitURIResponse.h:
  8602. * UIProcess/API/gtk/WebKitURIResponsePrivate.h:
  8603. * UIProcess/API/gtk/WebKitWebView.cpp:
  8604. (webkitWebViewLoadChanged):
  8605. (mainResourceResponseChangedCallback):
  8606. (webkit_web_view_get_tls_info):
  8607. * UIProcess/API/gtk/WebKitWebView.h:
  8608. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
  8609. * UIProcess/API/gtk/tests/TestSSL.cpp:
  8610. 2013-02-19 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  8611. [WK2][EFL] Eliminate access to WK2 C++ internals from ewk_view functions
  8612. https://bugs.webkit.org/show_bug.cgi?id=109794
  8613. Reviewed by Anders Carlsson.
  8614. * UIProcess/API/C/efl/WKView.cpp:
  8615. (WKViewSetShowsAsSource):
  8616. (WKViewGetShowsAsSource):
  8617. Added new WKView API to wrap WebPageProxy::setMainFrameInViewSourceMode()
  8618. and WebPageProxy::mainFrameInViewSourceMode() calls.
  8619. (WKViewExitFullScreen):
  8620. Added new WKView API to wrap WebFullScreenManagerProxy::exitFullScreen()
  8621. calls.
  8622. * UIProcess/API/C/efl/WKView.h:
  8623. * UIProcess/API/efl/EwkView.cpp:
  8624. (EwkView::feedTouchEvent):
  8625. Added feedTouchEvent() method so that: at first ewk_view_feed_touch_event()
  8626. is not invoked from EwkView class, secondly ewk_view_feed_touch_event() does
  8627. not access WebPage instance directly.
  8628. (EwkView::feedTouchEvents):
  8629. * UIProcess/API/efl/EwkView.h:
  8630. (EwkView):
  8631. * UIProcess/API/efl/ewk_view.cpp:
  8632. (ewk_view_feed_touch_event):
  8633. (ewk_view_pagination_mode_set):
  8634. (ewk_view_pagination_mode_get):
  8635. (ewk_view_fullscreen_exit):
  8636. (ewkViewPageContentsCallback):
  8637. (ewk_view_page_contents_get):
  8638. (ewk_view_source_mode_set):
  8639. (ewk_view_source_mode_get):
  8640. Those are now using exported C API.
  8641. * UIProcess/efl/WebView.cpp:
  8642. (WebKit::WebView::setShowsAsSource):
  8643. (WebKit):
  8644. (WebKit::WebView::showsAsSource):
  8645. (WebKit::WebView::exitFullScreen):
  8646. * UIProcess/efl/WebView.h:
  8647. (WebView):
  8648. Added WebView methods to support added WKView API.
  8649. 2013-02-19 Andras Becsi <andras.becsi@digia.com>
  8650. [Qt][WK2] ASSERT(node) hit in WebPage::findZoomableAreaForPoint if no zoomable area found
  8651. https://bugs.webkit.org/show_bug.cgi?id=110220
  8652. Reviewed by Allan Sandfeld Jensen.
  8653. If EventHandler::bestZoomableAreaForTouchPoint was unsuccessfull, eg.
  8654. no node was found for a given point, we hit ASSERT(node).
  8655. We should only assert for a valid node if a zoomable area was found.
  8656. * WebProcess/WebPage/WebPage.cpp:
  8657. (WebKit::WebPage::findZoomableAreaForPoint):
  8658. 2013-02-19 Christophe Dumez <ch.dumez@sisa.samsung.com>
  8659. Regression(r143273): Caused a lot of tests to time out
  8660. https://bugs.webkit.org/show_bug.cgi?id=110212
  8661. Reviewed by Anders Carlsson.
  8662. StorageManager::destroySessionStorageNamespace() and StorageManager::cloneSessionStorageNamespace()
  8663. should call their respective "*Internal" equivalent instead of calling themselves. This lead to
  8664. a lot of time outs on our build bots.
  8665. * UIProcess/Storage/StorageManager.cpp:
  8666. (WebKit::StorageManager::destroySessionStorageNamespace):
  8667. (WebKit::StorageManager::cloneSessionStorageNamespace):
  8668. 2013-02-18 Carlos Garcia Campos <cgarcia@igalia.com>
  8669. [GTK] Remove webkit_web_view_get_subresources from WebKit2 GTK+ API
  8670. https://bugs.webkit.org/show_bug.cgi?id=110125
  8671. Reviewed by Anders Carlsson.
  8672. This API is currently implemented caching all resources in the
  8673. WebView which causes some problems in documents loading resources
  8674. indefinitely. This API was used in WebKit1 mainly to implement
  8675. webkit_web_view_save(), but we already have such API in
  8676. WebKit2.
  8677. * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
  8678. (didReceiveWebViewMessageFromInjectedBundle):
  8679. * UIProcess/API/gtk/WebKitWebView.cpp:
  8680. (_WebKitWebViewPrivate):
  8681. (webkitWebViewLoadChanged):
  8682. * UIProcess/API/gtk/WebKitWebView.h:
  8683. * UIProcess/API/gtk/WebKitWebViewPrivate.h:
  8684. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
  8685. * UIProcess/API/gtk/tests/TestResources.cpp:
  8686. (testWebViewResources):
  8687. (testWebResourceGetData):
  8688. 2013-02-18 Christophe Dumez <dchris@gmail.com>
  8689. [WK2][EFL] Stop using internal C++ API in ewk_error
  8690. https://bugs.webkit.org/show_bug.cgi?id=108796
  8691. Reviewed by Benjamin Poulain.
  8692. Stop using internal C++ API in ewk_error and use C API instead of avoid
  8693. violating API layering.
  8694. * UIProcess/API/efl/ewk_error.cpp:
  8695. (EwkError::domain):
  8696. (EwkError::isCancellation):
  8697. (ewk_error_type_get):
  8698. * UIProcess/API/efl/ewk_error_private.h:
  8699. (EwkError):
  8700. 2013-02-18 Simon Fraser <simon.fraser@apple.com>
  8701. Clean up the boolean argument to visibleContentRect
  8702. https://bugs.webkit.org/show_bug.cgi?id=110167
  8703. Reviewed by Simon Fraser.
  8704. Replace the boolean argument to visibleContentRect() with
  8705. an enum.
  8706. * WebProcess/WebPage/WebFrame.cpp:
  8707. (WebKit::WebFrame::visibleContentBounds):
  8708. (WebKit::WebFrame::visibleContentBoundsExcludingScrollbars):
  8709. 2013-02-18 Anders Carlsson <andersca@apple.com>
  8710. Add a DefaultHash for RefPtr<SecurityOrigin>
  8711. https://bugs.webkit.org/show_bug.cgi?id=110170
  8712. Reviewed by Andreas Kling.
  8713. Remove all explicit uses of SecurityOriginHash.
  8714. * UIProcess/Storage/StorageManager.cpp:
  8715. (StorageManager::SessionStorageNamespace):
  8716. * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
  8717. (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
  8718. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  8719. (WebKit::InjectedBundle::originsWithApplicationCache):
  8720. * WebProcess/Notifications/NotificationPermissionRequestManager.h:
  8721. Include SecurityOriginHash.h. This fixes a bug where m_originToIDMap used pointer-equality
  8722. for looking up security origins.
  8723. * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
  8724. (WebKit::WebResourceCacheManager::clearCacheForOrigin):
  8725. This can just take a const reference.
  8726. * WebProcess/ResourceCache/WebResourceCacheManager.h:
  8727. 2013-02-18 Anders Carlsson <andersca@apple.com>
  8728. Begin stubbing out session storage classes
  8729. https://bugs.webkit.org/show_bug.cgi?id=110168
  8730. Reviewed by Andreas Kling.
  8731. * UIProcess/Storage/StorageManager.cpp:
  8732. (StorageManager::StorageArea):
  8733. (WebKit):
  8734. (WebKit::StorageManager::StorageArea::create):
  8735. (WebKit::StorageManager::StorageArea::StorageArea):
  8736. (WebKit::StorageManager::StorageArea::~StorageArea):
  8737. (StorageManager::SessionStorageNamespace):
  8738. (WebKit::StorageManager::SessionStorageNamespace::isEmpty):
  8739. (WebKit::StorageManager::SessionStorageNamespace::create):
  8740. (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
  8741. (WebKit::StorageManager::SessionStorageNamespace::~SessionStorageNamespace):
  8742. (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
  8743. (WebKit::StorageManager::createSessionStorageNamespaceInternal):
  8744. (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
  8745. (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
  8746. * UIProcess/Storage/StorageManager.h:
  8747. (StorageManager):
  8748. 2013-02-18 Christophe Dumez <ch.dumez@sisa.samsung.com>
  8749. [EFL][WK2] Add C API for popup menu and popup item
  8750. https://bugs.webkit.org/show_bug.cgi?id=109083
  8751. Reviewed by Anders Carlsson.
  8752. WK2 EFL delegates display of the popup menu to the browser which causes
  8753. us to have a strong interdependency between internal C++ classes
  8754. (WebPopupMenuProxyEfl, WebPopupItem) and our EFL API implementation
  8755. (EwkView, EwkPopupMenu, EwkPopupMenuItem).
  8756. Since we want to remove this interdependency, this patch introduces a
  8757. for WebPopupMenuProxyEfl (WKPopupMenuListener) and for WebPopupItem
  8758. (WKPopupItem). It also introduces a WKPage client with callbacks for
  8759. showPopupMenu and hidePopupMenu.
  8760. Note that the popup menu functionality is covered by ewk_popup_menu API
  8761. tests and no functionality is lost.
  8762. * PlatformEfl.cmake: Add new files to EFL CMake config.
  8763. * Shared/API/c/efl/WKBaseEfl.h: Add typedefs for WKPopupItemRef and
  8764. WKPopupMenuListenerRef.
  8765. * Shared/APIObject.h: Add new TypePopupMenuItem APIObject type for EFL
  8766. platform.
  8767. * UIProcess/API/C/efl/WKAPICastEfl.h: Add mapping for WKPopupItemRef
  8768. and WKPopupMenuListenerRef API types.
  8769. (WebKit):
  8770. (WebKit::toAPI):
  8771. * UIProcess/API/C/efl/WKPageEfl.cpp: Added.
  8772. (WKPageSetUIPopupMenuClient): Add new C API to set the UI Popup Menu
  8773. client on the page.
  8774. * UIProcess/API/C/efl/WKPageEfl.h: Added.
  8775. * UIProcess/API/C/efl/WKPopupItem.cpp: Added. Add C API for WebPopupItem.
  8776. (WKPopupItemGetType):
  8777. (WKPopupItemGetTextDirection):
  8778. (WKPopupItemHasTextDirectionOverride):
  8779. (WKPopupItemCopyText):
  8780. (WKPopupItemCopyToolTipText):
  8781. (WKPopupItemCopyAccessibilityText):
  8782. (WKPopupItemIsEnabled):
  8783. (WKPopupItemIsLabel):
  8784. (WKPopupItemIsSelected):
  8785. * UIProcess/API/C/efl/WKPopupItem.h: Added.
  8786. * UIProcess/API/C/efl/WKPopupMenuListener.cpp: Added. Add C API for
  8787. WebPopupMenuListenerEfl (formerly WebPopupMenuProxyEfl) so that the
  8788. client can report which popup menu item was selected.
  8789. (WKPopupMenuListenerSetSelection):
  8790. * UIProcess/API/C/efl/WKPopupMenuListener.h: Added.
  8791. * UIProcess/API/efl/EwkView.cpp: Remove dependency on internal C++ types
  8792. (WebPopupMenuProxyEfl and WebPopupItem) and use C API types instead.
  8793. (EwkView::requestPopupMenu):
  8794. * UIProcess/API/efl/EwkView.h:
  8795. (WebKit):
  8796. (EwkView):
  8797. * UIProcess/API/efl/ewk_popup_menu.cpp: Use C API for Popup menu.
  8798. (EwkPopupMenu::EwkPopupMenu):
  8799. (EwkPopupMenu::setSelectedIndex):
  8800. * UIProcess/API/efl/ewk_popup_menu_private.h:
  8801. (EwkPopupMenu::create):
  8802. (EwkPopupMenu):
  8803. * UIProcess/WebPageProxy.cpp: Use WKPageUIPopupMenuClient to show / hide
  8804. the popup menu on EFL port instead of asking the WebPopupMenuProxy.
  8805. (WebKit::WebPageProxy::close):
  8806. (WebKit::WebPageProxy::showPopupMenu):
  8807. (WebKit::WebPageProxy::hidePopupMenu):
  8808. * UIProcess/WebPageProxy.h: Add new WKPageUIPopupMenuClient member and
  8809. corresponding initialization method.
  8810. (WebPageProxy):
  8811. * UIProcess/WebPopupMenuProxy.h: Disable showPopupMenu / hidePopupMenu
  8812. virtual methods on EFL port since we go via WKPageUIPopupMenuClient
  8813. for this now.
  8814. (WebPopupMenuProxy):
  8815. * UIProcess/efl/PageUIClientEfl.cpp:
  8816. (WebKit::PageUIClientEfl::PageUIClientEfl): Handle WKPageUIPopupMenuClient
  8817. callbacks and call corresponding EwkView methods. Previously, the EwkView
  8818. methods were called by the internal WebPageProxyEfl class which is no
  8819. longer needed.
  8820. (WebKit::PageUIClientEfl::showPopupMenu):
  8821. (WebKit):
  8822. (WebKit::PageUIClientEfl::hidePopupMenu):
  8823. * UIProcess/efl/PageUIClientEfl.h:
  8824. (PageUIClientEfl):
  8825. * UIProcess/efl/WebPageProxyEfl.cpp:
  8826. (WebKit::WebPageProxy::initializeUIPopupMenuClient):
  8827. (WebKit):
  8828. * UIProcess/efl/WebPopupItemEfl.cpp: Added. Add APIObject wrapper for
  8829. WebPopupItem so that we can use it in WKPageUIPopupMenuClient.
  8830. (WebKit):
  8831. (WebKit::WebPopupItemEfl::WebPopupItemEfl):
  8832. (WebKit::WebPopupItemEfl::~WebPopupItemEfl):
  8833. * UIProcess/efl/WebPopupItemEfl.h: Added.
  8834. (WebKit):
  8835. (WebPopupItemEfl):
  8836. (WebKit::WebPopupItemEfl::create):
  8837. (WebKit::WebPopupItemEfl::data):
  8838. (WebKit::WebPopupItemEfl::itemType):
  8839. (WebKit::WebPopupItemEfl::text):
  8840. (WebKit::WebPopupItemEfl::textDirection):
  8841. (WebKit::WebPopupItemEfl::hasTextDirectionOverride):
  8842. (WebKit::WebPopupItemEfl::toolTipText):
  8843. (WebKit::WebPopupItemEfl::accessibilityText):
  8844. (WebKit::WebPopupItemEfl::isEnabled):
  8845. (WebKit::WebPopupItemEfl::isLabel):
  8846. (WebKit::WebPopupItemEfl::isSelected):
  8847. (WebKit::WebPopupItemEfl::type):
  8848. * UIProcess/efl/WebPopupMenuListenerEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp.
  8849. Use WebPopupMenuListenerEfl name instead of WebPopupMenuProxyEfl since
  8850. it more accurately represents its functionality now.
  8851. (WebKit):
  8852. (WebKit::WebPopupMenuListenerEfl::WebPopupMenuListenerEfl):
  8853. (WebKit::WebPopupMenuListenerEfl::valueChanged):
  8854. * UIProcess/efl/WebPopupMenuListenerEfl.h: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.h.
  8855. (WebKit):
  8856. (WebPopupMenuListenerEfl):
  8857. (WebKit::WebPopupMenuListenerEfl::create):
  8858. * UIProcess/efl/WebUIPopupMenuClient.cpp: Added.
  8859. (WebUIPopupMenuClient::showPopupMenu):
  8860. (WebUIPopupMenuClient::hidePopupMenu):
  8861. * UIProcess/efl/WebUIPopupMenuClient.h: Added.
  8862. (WebKit):
  8863. (WebUIPopupMenuClient):
  8864. * UIProcess/efl/WebView.cpp:
  8865. (WebKit::WebView::createPopupMenuProxy):
  8866. 2013-02-18 Anders Carlsson <andersca@apple.com>
  8867. Add StorageManager member functions for keeping track of session storage namespaces
  8868. https://bugs.webkit.org/show_bug.cgi?id=110163
  8869. Reviewed by Andreas Kling.
  8870. * UIProcess/Storage/StorageManager.cpp:
  8871. (WebKit::StorageManager::createSessionStorageNamespace):
  8872. (WebKit):
  8873. (WebKit::StorageManager::destroySessionStorageNamespace):
  8874. (WebKit::StorageManager::cloneSessionStorageNamespace):
  8875. (WebKit::StorageManager::createSessionStorageNamespaceInternal):
  8876. (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
  8877. (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
  8878. * UIProcess/Storage/StorageManager.h:
  8879. (StorageManager):
  8880. * UIProcess/WebContext.h:
  8881. (WebKit::WebContext::storageManager):
  8882. (WebContext):
  8883. * UIProcess/WebPageProxy.cpp:
  8884. (WebKit::WebPageProxy::WebPageProxy):
  8885. (WebKit::WebPageProxy::close):
  8886. (WebKit::WebPageProxy::createNewPage):
  8887. 2013-02-18 Anders Carlsson <andersca@apple.com>
  8888. StorageManager message handlers should take the connection
  8889. https://bugs.webkit.org/show_bug.cgi?id=110151
  8890. Reviewed by Andreas Kling.
  8891. * Platform/CoreIPC/HandleMessage.h:
  8892. (CoreIPC):
  8893. (CoreIPC::callMemberFunction):
  8894. (CoreIPC::handleMessage):
  8895. * Scripts/webkit2/messages.py:
  8896. (sync_message_statement):
  8897. (generate_message_handler):
  8898. * UIProcess/Storage/StorageManager.cpp:
  8899. (WebKit::StorageManager::createStorageArea):
  8900. (WebKit::StorageManager::destroyStorageArea):
  8901. (WebKit::StorageManager::getValues):
  8902. * UIProcess/Storage/StorageManager.h:
  8903. (StorageManager):
  8904. * UIProcess/Storage/StorageManager.messages.in:
  8905. 2013-02-18 Christophe Dumez <christophe.dumez@intel.com>
  8906. [EFL][WK2] Use C API inside ewk_security_origin
  8907. https://bugs.webkit.org/show_bug.cgi?id=107923
  8908. Reviewed by Alexey Proskuryakov.
  8909. Use C API inside ewk_security_origin instead of accessing
  8910. directly internal C++ classes, to avoid breaking API
  8911. layering.
  8912. * UIProcess/API/efl/EwkView.cpp:
  8913. (EwkView::enterFullScreen):
  8914. * UIProcess/API/efl/ewk_security_origin.cpp:
  8915. (EwkSecurityOrigin::EwkSecurityOrigin):
  8916. * UIProcess/API/efl/ewk_security_origin_private.h:
  8917. (EwkSecurityOrigin::create):
  8918. (EwkSecurityOrigin):
  8919. 2013-01-04 Jer Noble <jer.noble@apple.com>
  8920. pinch-zooming webpage messes up full-screening of embedded video
  8921. https://bugs.webkit.org/show_bug.cgi?id=106115
  8922. Reviewed by Maciej Stachowiak.
  8923. Reset the page scale when entering full screen, and reset to the original scale when exiting.
  8924. * UIProcess/mac/WKFullScreenWindowController.h:
  8925. * UIProcess/mac/WKFullScreenWindowController.mm:
  8926. (-[WKFullScreenWindowController enterFullScreen:]):
  8927. (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
  8928. 2013-02-18 Christophe Dumez <ch.dumez@sisa.samsung.com>
  8929. [EFL][WK2] Disable failing API tests
  8930. https://bugs.webkit.org/show_bug.cgi?id=110081
  8931. Reviewed by Kenneth Rohde Christiansen.
  8932. Disable EWK2UnitTestBase.ewk_view_scale API test as it is failing.
  8933. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  8934. (TEST_F):
  8935. 2013-02-15 Allan Sandfeld Jensen <allan.jensen@digia.com>
  8936. [Qt][WK2] Support WK2 API tests
  8937. https://bugs.webkit.org/show_bug.cgi?id=109843
  8938. Reviewed by Jocelyn Turcotte.
  8939. * UIProcess/API/qt/qquickwebview_p.h:
  8940. (TestWebKitAPI):
  8941. 2013-02-18 Andras Becsi <andras.becsi@digia.com>
  8942. [Qt][WK2] Changing WebView.contentY and WebView.contentX does not redraw content
  8943. https://bugs.webkit.org/show_bug.cgi?id=108337
  8944. Reviewed by Jocelyn Turcotte.
  8945. We should not ignore content position changes unless pinch zoom or bounce-back
  8946. animation is ongoing.
  8947. This way we notify the web process about visible rect changes if the contentX
  8948. and contentY properties are used to programmatically scroll the content from QML.
  8949. One important usecase for this is when implementing scrollbars.
  8950. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  8951. (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
  8952. (WebKit::PageViewportControllerClientQt::flickMoveStarted):
  8953. (WebKit::PageViewportControllerClientQt::flickMoveEnded):
  8954. (WebKit::PageViewportControllerClientQt::pageItemPositionChanged):
  8955. (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
  8956. (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
  8957. 2013-02-18 Grzegorz Czajkowski <g.czajkowski@samsung.com>
  8958. [WK2][EFL] Unified text checker implementation
  8959. https://bugs.webkit.org/show_bug.cgi?id=107682
  8960. Reviewed by Anders Carlsson.
  8961. * UIProcess/efl/TextCheckerEfl.cpp:
  8962. (WebKit):
  8963. (WebKit::nextWordOffset):
  8964. Helper function to determine the word offset to do not call
  8965. client's checkSpellingOfString for the word separators.
  8966. (WebKit::TextChecker::checkTextOfParagraph):
  8967. Allow to check spelling for multiple words,
  8968. their misspelling location and length are saved to the vector.
  8969. * WebProcess/WebCoreSupport/WebEditorClient.h:
  8970. Add UNIFIED_TEXT_CHECKING guard to checkTextOfParagraph.
  8971. * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
  8972. (WebKit):
  8973. (WebKit::WebEditorClient::checkTextOfParagraph):
  8974. As spelling implementation is exposed to UIProcess,
  8975. send a meesage to UIProcess to call TextChecker::checkTextOfParagraph.
  8976. 2013-02-18 Christophe Dumez <ch.dumez@sisa.samsung.com>
  8977. [EFL][WK2] Refactor Ewk_Favicon code and stop relying on internal C++ API
  8978. https://bugs.webkit.org/show_bug.cgi?id=108598
  8979. Reviewed by Kenneth Rohde Christiansen.
  8980. Refactor the Ewk_Favicon code so that it no longer relies on internal
  8981. C++ API and so that it is based solely on the C API. The API is changed
  8982. a little as well so that the Favicon URL is no longer exposed to the
  8983. client. Also the client is now only notified of icon changes once the
  8984. favicon data is actually available.
  8985. The API is covered by existing API tests and by MiniBrowser which are
  8986. both updated accordingly in this patch.
  8987. * UIProcess/API/efl/EwkView.cpp:
  8988. (EwkView::informURLChange):
  8989. (EwkView::createFavicon):
  8990. (EwkView::onFaviconChanged):
  8991. * UIProcess/API/efl/EwkView.h:
  8992. (EwkView):
  8993. * UIProcess/API/efl/EwkViewCallbacks.h:
  8994. * UIProcess/API/efl/ewk_favicon_database.cpp:
  8995. Client are now notified of favicon changes only when the favicon data
  8996. becomes available and make API to retrieve a favicon synchronous. NULL
  8997. is returned if the favicon data is not available.
  8998. (EwkFaviconDatabase::EwkFaviconDatabase):
  8999. (EwkFaviconDatabase::getIconSurfaceSynchronously):
  9000. (EwkFaviconDatabase::iconDataReadyForPageURL):
  9001. (ewk_favicon_database_icon_get):
  9002. * UIProcess/API/efl/ewk_favicon_database.h:
  9003. * UIProcess/API/efl/ewk_favicon_database_private.h:
  9004. (EwkFaviconDatabase):
  9005. * UIProcess/API/efl/ewk_view.cpp:
  9006. (ewk_view_favicon_get):
  9007. * UIProcess/API/efl/ewk_view.h:
  9008. Rename 'icon,changed' signal to 'favicon,changed' for clarity and
  9009. consistency with the rest of the favicon API. Remove API to retrieve
  9010. the favicon URL and replace it by one to retrieve the favicon image as
  9011. an Evas_Object instead.
  9012. * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
  9013. Update API tests to use the new favicon API.
  9014. 2013-02-17 Jae Hyun Park <jae.park@company100.net>
  9015. Remove unnecessary public method DrawingAreaImpl::createGraphicsContext()
  9016. https://bugs.webkit.org/show_bug.cgi?id=109893
  9017. Reviewed by Anders Carlsson.
  9018. DrawingAreaImpl::createGraphicsContext() is unnecessary since
  9019. createGraphicsContext can be called directly using ShareableBitmap.
  9020. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  9021. (WebKit::DrawingAreaImpl::display):
  9022. * WebProcess/WebPage/DrawingAreaImpl.h:
  9023. (DrawingAreaImpl):
  9024. 2013-02-17 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  9025. [WK2][EFL] Remove fullscreen manager proxy as a message receiver on invalidate()
  9026. https://bugs.webkit.org/show_bug.cgi?id=109451
  9027. Reviewed by Anders Carlsson.
  9028. Remove fullscreen manager proxy as a message receiver on invalidate(), like
  9029. other ports do after r142160.
  9030. * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
  9031. (WebKit::WebFullScreenManagerProxy::invalidate):
  9032. 2013-02-17 Christophe Dumez <ch.dumez@sisa.samsung.com>
  9033. Regression(r143124): Caused plugins/plugin-javascript-access.html to fail
  9034. https://bugs.webkit.org/show_bug.cgi?id=110053
  9035. Reviewed by Alexey Proskuryakov.
  9036. Clear m_plugins in loadPluginsIfNecessary() before populating the
  9037. vector again. We get duplicates otherwise.
  9038. * UIProcess/Plugins/PluginInfoStore.cpp:
  9039. (WebKit::PluginInfoStore::loadPluginsIfNecessary):
  9040. 2013-02-16 Andreas Kling <akling@apple.com>
  9041. Remove multi-threading gunk from PluginInfoStore.
  9042. <http://webkit.org/b/110046>
  9043. Reviewed by Alexey Proskuryakov.
  9044. PluginInfoStore is never accessed from multiple threads anymore, so remove the Mutex locking
  9045. and stop making isolated copies of everything.
  9046. * Shared/Plugins/PluginModuleInfo.h:
  9047. (PluginModuleInfo):
  9048. * UIProcess/Plugins/PluginInfoStore.cpp:
  9049. (WebKit::PluginInfoStore::loadPluginsIfNecessary):
  9050. (WebKit::PluginInfoStore::plugins):
  9051. (WebKit::PluginInfoStore::findPluginForMIMEType):
  9052. (WebKit::PluginInfoStore::findPluginForExtension):
  9053. (WebKit::PluginInfoStore::findPlugin):
  9054. (WebKit::PluginInfoStore::infoForPluginWithPath):
  9055. * UIProcess/Plugins/PluginInfoStore.h:
  9056. (PluginInfoStore):
  9057. 2013-02-16 Sam Weinig <sam@webkit.org>
  9058. Fix non-production builds.
  9059. * WebKit2.xcodeproj/project.pbxproj:
  9060. 2013-02-16 Sam Weinig <sam@webkit.org>
  9061. The Plugin.32 target does not build
  9062. https://bugs.webkit.org/show_bug.cgi?id=110032
  9063. Reviewed by Anders Carlsson.
  9064. * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm: Removed.
  9065. This was meant to be removed already.
  9066. * WebKit2.xcodeproj/project.pbxproj:
  9067. Add Plugin.32 as dependency in All as it should be.
  9068. 2013-02-16 Darin Adler <darin@apple.com>
  9069. Fix WKDOMRangePrivate.h mistakes
  9070. https://bugs.webkit.org/show_bug.cgi?id=110028
  9071. Reviewed by Ryosuke Niwa.
  9072. * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
  9073. Added include of WKDOMRangePrivate.h.
  9074. * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h:
  9075. Fixed class name and include to be WKDOMRange.
  9076. Fixed method name, _copyBundleRangeHandleRef, to match the
  9077. name in the source file.
  9078. 2013-02-15 Eric Carlson <eric.carlson@apple.com>
  9079. [Mac] remove wkCaptionAppearance from WebKitSystemInterface
  9080. https://bugs.webkit.org/show_bug.cgi?id=109996
  9081. Reviewed by Simon Fraser.
  9082. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
  9083. (InitWebCoreSystemInterface):
  9084. 2013-02-15 Sheriff Bot <webkit.review.bot@gmail.com>
  9085. Unreviewed, rolling out r143088.
  9086. http://trac.webkit.org/changeset/143088
  9087. https://bugs.webkit.org/show_bug.cgi?id=110000
  9088. Breaks the build (Requested by dgorbik on #webkit).
  9089. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
  9090. (InitWebCoreSystemInterface):
  9091. 2013-02-15 Kiran Muppala <cmuppala@apple.com>
  9092. Disable sudden termination on Mac
  9093. https://bugs.webkit.org/show_bug.cgi?id=109990
  9094. Reviewed by Mark Rowe.
  9095. Sudden Termination is causing WebContent XPC services to be killed in
  9096. response to memory pressure. Hence, disable it until we can identify
  9097. if it is being enabled in error or not.
  9098. * Shared/mac/ChildProcessMac.mm:
  9099. (WebKit::ChildProcess::platformInitialize): Add call to
  9100. [NSProcessInfo disableSuddenTermination].
  9101. 2013-02-15 Eric Carlson <eric.carlson@apple.com>
  9102. [Mac] remove wkCaptionAppearance from WebKitSystemInterface
  9103. https://bugs.webkit.org/show_bug.cgi?id=109996
  9104. Reviewed by Simon Fraser.
  9105. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
  9106. (InitWebCoreSystemInterface):
  9107. 2013-02-15 Adenilson Cavalcanti <cavalcantii@gmail.com>
  9108. [Qt][WK2] Crash on window resize if WebProcess is closed/crashed
  9109. https://bugs.webkit.org/show_bug.cgi?id=109216
  9110. Reviewed by Benjamin Poulain.
  9111. Only make calls into DrawingAreaProxy pointer after checking its state.
  9112. When the WebProcess was closed or crashed, WebKit::WebPageProxy will set
  9113. its DrawingAreaProxy pointer to null. Resize events on UIProcess/client will
  9114. try to access the object to update the geometry and forward this information
  9115. into the WebProcess. This would create a crash scenario that is fixed by this patch.
  9116. * UIProcess/API/qt/qquickwebview.cpp:
  9117. (QQuickWebViewPrivate::didRelaunchProcess):
  9118. (QQuickWebViewLegacyPrivate::updateViewportSize):
  9119. 2013-02-15 Anders Carlsson <andersca@apple.com>
  9120. Add HashMap::isValidKey and HashSet::isValidValue
  9121. https://bugs.webkit.org/show_bug.cgi?id=109977
  9122. Reviewed by Sam Weinig and Darin Adler.
  9123. Just call HashMap::isValidKey directly.
  9124. * UIProcess/WebProcessProxy.cpp:
  9125. (WebKit::generatePageID):
  9126. Initialize the id to 0 and use prefix increment.
  9127. (WebKit::WebProcessProxy::webFrame):
  9128. (WebKit::WebProcessProxy::canCreateFrame):
  9129. (WebKit::WebProcessProxy::didDestroyFrame):
  9130. 2013-02-15 Csaba Osztrogonác <ossy@webkit.org>
  9131. Typo fix after r143064.
  9132. * Platform/CoreIPC/win/ConnectionWin.cpp:
  9133. (CoreIPC::Connection::sendOutgoingMessage):
  9134. 2013-02-15 Csaba Osztrogonác <ossy@webkit.org>
  9135. One more buildfix after r143052.
  9136. * Platform/CoreIPC/win/ConnectionWin.cpp:
  9137. (CoreIPC::Connection::sendOutgoingMessage):
  9138. 2013-02-15 Csaba Osztrogonác <ossy@webkit.org>
  9139. Unreviewed buildfix after r143052 for Qt/GTK/EFL ports.
  9140. * Platform/unix/SharedMemoryUnix.cpp:
  9141. (WebKit::SharedMemory::Handle::encode):
  9142. * Platform/win/SharedMemoryWin.cpp:
  9143. (WebKit::SharedMemory::Handle::encode):
  9144. * Shared/Network/NetworkResourceLoadParameters.cpp:
  9145. (WebKit::NetworkResourceLoadParameters::encode):
  9146. * Shared/WebBatteryStatus.cpp:
  9147. (WebKit::WebBatteryStatus::Data::encode):
  9148. * Shared/WebNetworkInfo.cpp:
  9149. (WebKit::WebNetworkInfo::Data::encode):
  9150. * Shared/efl/LayerTreeContextEfl.cpp:
  9151. (WebKit::LayerTreeContext::encode):
  9152. * Shared/gtk/LayerTreeContextGtk.cpp:
  9153. (WebKit::LayerTreeContext::encode):
  9154. * Shared/qt/LayerTreeContextQt.cpp:
  9155. (WebKit::LayerTreeContext::encode):
  9156. * Shared/qt/QtNetworkReplyData.cpp:
  9157. (WebKit::QtNetworkReplyData::encode):
  9158. * Shared/qt/QtNetworkRequestData.cpp:
  9159. (WebKit::QtNetworkRequestData::encode):
  9160. * Shared/soup/PlatformCertificateInfo.cpp:
  9161. (WebKit::PlatformCertificateInfo::encode):
  9162. 2013-02-15 Anders Carlsson <andersca@apple.com>
  9163. Make most ArgumentEncoder::encode member functions private
  9164. https://bugs.webkit.org/show_bug.cgi?id=109973
  9165. Reviewed by Sam Weinig.
  9166. Make the encode overloads private; the stream operator should be used instead.
  9167. * Platform/CoreIPC/ArgumentEncoder.h:
  9168. (ArgumentEncoder):
  9169. * Platform/CoreIPC/Arguments.h:
  9170. (CoreIPC::Arguments1::encode):
  9171. (CoreIPC::Arguments2::encode):
  9172. (CoreIPC::Arguments3::encode):
  9173. (CoreIPC::Arguments4::encode):
  9174. (CoreIPC::Arguments5::encode):
  9175. (CoreIPC::Arguments6::encode):
  9176. (CoreIPC::Arguments7::encode):
  9177. (CoreIPC::Arguments8::encode):
  9178. (CoreIPC::Arguments10::encode):
  9179. * Platform/CoreIPC/Connection.cpp:
  9180. (CoreIPC::Connection::createSyncMessageEncoder):
  9181. * Platform/CoreIPC/MessageEncoder.cpp:
  9182. (CoreIPC::MessageEncoder::MessageEncoder):
  9183. * Scripts/webkit2/messages.py:
  9184. (generate_message_handler):
  9185. * Scripts/webkit2/messages_unittest.py:
  9186. * Shared/Network/NetworkResourceLoadParameters.cpp:
  9187. (WebKit::NetworkResourceLoadParameters::encode):
  9188. * WebProcess/WebPage/EncoderAdapter.cpp:
  9189. (WebKit::EncoderAdapter::EncoderAdapter):
  9190. (WebKit::EncoderAdapter::encodeBytes):
  9191. (WebKit::EncoderAdapter::encodeBool):
  9192. (WebKit::EncoderAdapter::encodeUInt16):
  9193. (WebKit::EncoderAdapter::encodeUInt32):
  9194. (WebKit::EncoderAdapter::encodeUInt64):
  9195. (WebKit::EncoderAdapter::encodeInt32):
  9196. (WebKit::EncoderAdapter::encodeInt64):
  9197. (WebKit::EncoderAdapter::encodeFloat):
  9198. (WebKit::EncoderAdapter::encodeDouble):
  9199. (WebKit::EncoderAdapter::encodeString):
  9200. 2013-02-15 Anders Carlsson <andersca@apple.com>
  9201. Add a synchronous GetValues message to StorageManager
  9202. https://bugs.webkit.org/show_bug.cgi?id=109968
  9203. Reviewed by Sam Weinig.
  9204. * Platform/CoreIPC/Connection.cpp:
  9205. (CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
  9206. Handle synchronous messages.
  9207. (CoreIPC::Connection::processIncomingMessage):
  9208. Check for work queue message receivers before doing any other processing.
  9209. * UIProcess/Storage/StorageManager.cpp:
  9210. (WebKit::StorageManager::getValues):
  9211. Add empty stub.
  9212. * UIProcess/Storage/StorageManager.h:
  9213. * UIProcess/Storage/StorageManager.messages.in:
  9214. Add GetValues message.
  9215. * WebProcess/Storage/StorageAreaProxy.cpp:
  9216. (WebKit::StorageAreaProxy::loadValuesIfNeeded):
  9217. Send the GetValues message.
  9218. 2013-02-15 Anders Carlsson <andersca@apple.com>
  9219. A storage area should know its storage type
  9220. https://bugs.webkit.org/show_bug.cgi?id=109964
  9221. Reviewed by Andreas Kling.
  9222. * WebProcess/Storage/StorageAreaProxy.cpp:
  9223. (WebKit::StorageAreaProxy::StorageAreaProxy):
  9224. (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
  9225. * WebProcess/Storage/StorageAreaProxy.h:
  9226. (StorageAreaProxy):
  9227. * WebProcess/Storage/StorageNamespaceProxy.cpp:
  9228. (WebKit::StorageNamespaceProxy::storageType):
  9229. (WebKit):
  9230. * WebProcess/Storage/StorageNamespaceProxy.h:
  9231. (StorageNamespaceProxy):
  9232. 2013-02-15 Anders Carlsson <andersca@apple.com>
  9233. Implement StorageAreaProxy::length
  9234. https://bugs.webkit.org/show_bug.cgi?id=109962
  9235. Reviewed by Andreas Kling.
  9236. * WebProcess/Storage/StorageAreaProxy.cpp:
  9237. (WebKit::StorageAreaProxy::length):
  9238. Load the values if needed and then return the length.
  9239. (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
  9240. Add helper function.
  9241. (WebKit::StorageAreaProxy::loadValuesIfNeeded):
  9242. Just allocate the hash map for now.
  9243. * WebProcess/Storage/StorageAreaProxy.h:
  9244. (StorageAreaProxy):
  9245. 2013-02-15 Anders Carlsson <andersca@apple.com>
  9246. Remove const from a bunch of StorageArea member functions
  9247. https://bugs.webkit.org/show_bug.cgi?id=109957
  9248. Reviewed by Beth Dakin.
  9249. Update for WebCore changes.
  9250. * WebProcess/Storage/StorageAreaProxy.cpp:
  9251. (WebKit::StorageAreaProxy::length):
  9252. (WebKit::StorageAreaProxy::key):
  9253. (WebKit::StorageAreaProxy::getItem):
  9254. (WebKit::StorageAreaProxy::contains):
  9255. (WebKit::StorageAreaProxy::canAccessStorage):
  9256. (WebKit::StorageAreaProxy::memoryBytesUsedByCache):
  9257. * WebProcess/Storage/StorageAreaProxy.h:
  9258. (StorageAreaProxy):
  9259. 2013-02-15 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  9260. [EFL][WK2] Use C API inside BatteryProvider and NetworkInfoProvider
  9261. https://bugs.webkit.org/show_bug.cgi?id=107821
  9262. Reviewed by Anders Carlsson.
  9263. BatteryProvider and NetworkInfoProvider should use C API
  9264. instead of accessing the internal C++ classes directly.
  9265. * UIProcess/API/efl/ewk_context.cpp:
  9266. (EwkContext::EwkContext):
  9267. * UIProcess/efl/BatteryProvider.cpp:
  9268. (BatteryProvider::~BatteryProvider):
  9269. (BatteryProvider::create):
  9270. (BatteryProvider::BatteryProvider):
  9271. (BatteryProvider::didChangeBatteryStatus):
  9272. * UIProcess/efl/BatteryProvider.h:
  9273. (BatteryProvider):
  9274. * UIProcess/efl/NetworkInfoProvider.cpp:
  9275. (NetworkInfoProvider::create):
  9276. (NetworkInfoProvider::NetworkInfoProvider):
  9277. (NetworkInfoProvider::~NetworkInfoProvider):
  9278. * UIProcess/efl/NetworkInfoProvider.h:
  9279. (NetworkInfoProvider):
  9280. 2013-02-15 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  9281. [WK2][EFL]REGRESSION (r141978): ewk_view_type_check api test failing
  9282. https://bugs.webkit.org/show_bug.cgi?id=109038
  9283. Reviewed by Anders Carlsson.
  9284. EFL API is defensive by its nature and expects graceful handling of wrong function arguments
  9285. whereas webkit implementation code does not. This patch adds new 'toEwkViewChecked' function,
  9286. which provides handling of wrong arguments, to be used within EFL API layer code.
  9287. * UIProcess/API/efl/EwkView.cpp:
  9288. (toEwkView):
  9289. EwkView* toEwkView(const Ewk_View_Smart_Data* smartData) is not exported anymore
  9290. as it's used within EwkView class only.
  9291. (EwkView::handleTouchMove):
  9292. * UIProcess/API/efl/EwkView.h:
  9293. * UIProcess/API/efl/ewk_view.cpp:
  9294. (toEwkViewChecked):
  9295. 2013-02-15 Christophe Dumez <ch.dumez@sisa.samsung.com>
  9296. [EFL][WK2] Have WebView subclass PageClient
  9297. https://bugs.webkit.org/show_bug.cgi?id=109684
  9298. Reviewed by Anders Carlsson.
  9299. Stop constructing the PageClient in EwkView. PageClient is an internal
  9300. class and we should not use it directly in our Ewk implementation.
  9301. Instead, have WebView subclass PageClient. The PageClient implementation
  9302. just calls WebView methods otherwise.
  9303. * PlatformEfl.cmake:
  9304. * UIProcess/API/efl/EwkView.cpp:
  9305. (EwkView::EwkView):
  9306. (EwkView::setSize):
  9307. * UIProcess/API/efl/EwkView.h:
  9308. (WebKit):
  9309. (EwkView):
  9310. (EwkView::webView):
  9311. * UIProcess/API/efl/ewk_view.cpp:
  9312. * UIProcess/efl/PageClientBase.cpp: Removed.
  9313. * UIProcess/efl/PageClientBase.h: Removed.
  9314. * UIProcess/efl/PageClientDefaultImpl.cpp: Removed.
  9315. * UIProcess/efl/PageClientDefaultImpl.h: Removed.
  9316. * UIProcess/efl/PageClientLegacyImpl.cpp: Removed.
  9317. * UIProcess/efl/PageClientLegacyImpl.h: Removed.
  9318. * UIProcess/efl/PageLoadClientEfl.cpp:
  9319. (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
  9320. * UIProcess/efl/PageViewportControllerClientEfl.h:
  9321. * UIProcess/efl/WebPageProxyEfl.cpp:
  9322. (WebKit::WebPageProxy::viewWidget):
  9323. * UIProcess/efl/WebView.cpp:
  9324. (WebKit::WebView::WebView):
  9325. (WebKit::WebView::~WebView):
  9326. (WebKit::WebView::initialize):
  9327. (WebKit):
  9328. (WebKit::WebView::evasObject):
  9329. (WebKit::WebView::setThemePath):
  9330. (WebKit::WebView::setDrawsBackground):
  9331. (WebKit::WebView::drawsBackground):
  9332. (WebKit::WebView::setDrawsTransparentBackground):
  9333. (WebKit::WebView::drawsTransparentBackground):
  9334. (WebKit::WebView::suspendActiveDOMObjectsAndAnimations):
  9335. (WebKit::WebView::resumeActiveDOMObjectsAndAnimations):
  9336. (WebKit::WebView::didCommitLoad):
  9337. (WebKit::WebView::updateViewportSize):
  9338. (WebKit::WebView::didChangeContentsSize):
  9339. (WebKit::WebView::createDrawingAreaProxy):
  9340. (WebKit::WebView::setViewNeedsDisplay):
  9341. (WebKit::WebView::displayView):
  9342. (WebKit::WebView::scrollView):
  9343. (WebKit::WebView::viewSize):
  9344. (WebKit::WebView::isViewWindowActive):
  9345. (WebKit::WebView::isViewFocused):
  9346. (WebKit::WebView::isViewVisible):
  9347. (WebKit::WebView::isViewInWindow):
  9348. (WebKit::WebView::processDidCrash):
  9349. (WebKit::WebView::didRelaunchProcess):
  9350. (WebKit::WebView::pageClosed):
  9351. (WebKit::WebView::toolTipChanged):
  9352. (WebKit::WebView::setCursor):
  9353. (WebKit::WebView::setCursorHiddenUntilMouseMoves):
  9354. (WebKit::WebView::registerEditCommand):
  9355. (WebKit::WebView::clearAllEditCommands):
  9356. (WebKit::WebView::canUndoRedo):
  9357. (WebKit::WebView::executeUndoRedo):
  9358. (WebKit::WebView::screenToWindow):
  9359. (WebKit::WebView::windowToScreen):
  9360. (WebKit::WebView::doneWithKeyEvent):
  9361. (WebKit::WebView::doneWithTouchEvent):
  9362. (WebKit::WebView::createPopupMenuProxy):
  9363. (WebKit::WebView::createContextMenuProxy):
  9364. (WebKit::WebView::createColorChooserProxy):
  9365. (WebKit::WebView::setFindIndicator):
  9366. (WebKit::WebView::enterAcceleratedCompositingMode):
  9367. (WebKit::WebView::exitAcceleratedCompositingMode):
  9368. (WebKit::WebView::updateAcceleratedCompositingMode):
  9369. (WebKit::WebView::didCommitLoadForMainFrame):
  9370. (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
  9371. (WebKit::WebView::customRepresentationZoomFactor):
  9372. (WebKit::WebView::setCustomRepresentationZoomFactor):
  9373. (WebKit::WebView::flashBackingStoreUpdates):
  9374. (WebKit::WebView::findStringInCustomRepresentation):
  9375. (WebKit::WebView::countStringMatchesInCustomRepresentation):
  9376. (WebKit::WebView::updateTextInputState):
  9377. (WebKit::WebView::handleDownloadRequest):
  9378. (WebKit::WebView::convertToDeviceSpace):
  9379. (WebKit::WebView::convertToUserSpace):
  9380. (WebKit::WebView::didChangeViewportProperties):
  9381. (WebKit::WebView::pageDidRequestScroll):
  9382. (WebKit::WebView::didRenderFrame):
  9383. (WebKit::WebView::pageTransitionViewportReady):
  9384. * UIProcess/efl/WebView.h:
  9385. (WebKit):
  9386. (WebView):
  9387. (WebKit::WebView::pageRef):
  9388. (WebKit::WebView::page):
  9389. (WebKit::WebView::canScrollView):
  9390. 2013-02-15 Milian Wolff <milian.wolff@kdab.com>
  9391. [Qt] Restore URL Scheme Delegates after QtWebProcess crash
  9392. https://bugs.webkit.org/show_bug.cgi?id=108808
  9393. When the QtWebProcess crashes, the registered URL Scheme
  9394. Delegates are not properly restored over IPC in the newly
  9395. launched process instance.
  9396. Reviewed by Simon Hausmann.
  9397. * UIProcess/API/qt/qquickwebview.cpp:
  9398. (QQuickWebViewPrivate::didRelaunchProcess):
  9399. (QQuickWebViewPrivate::updateSchemeDelegates):
  9400. * UIProcess/API/qt/qquickwebview_p_p.h:
  9401. (QQuickWebViewPrivate):
  9402. 2013-02-15 Allan Sandfeld Jensen <allan.jensen@digia.com>
  9403. Simplify hitTestResultAtPoint and nodesFromRect APIs
  9404. https://bugs.webkit.org/show_bug.cgi?id=95720
  9405. Reviewed by Julien Chaffraix and Maciej Stachowiak.
  9406. Update calls to new API and update exported symbols.
  9407. * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
  9408. (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
  9409. * WebProcess/WebPage/WebFrame.cpp:
  9410. (WebKit::WebFrame::hitTest):
  9411. * WebProcess/WebPage/WebPage.cpp:
  9412. (WebKit::handleContextMenuEvent):
  9413. (WebKit::WebPage::highlightPotentialActivation):
  9414. (WebKit::WebPage::findZoomableAreaForPoint):
  9415. * WebProcess/WebPage/mac/WebPageMac.mm:
  9416. (WebKit::WebPage::characterIndexForPoint):
  9417. (WebKit::WebPage::performDictionaryLookupAtLocation):
  9418. (WebKit::WebPage::shouldDelayWindowOrderingEvent):
  9419. (WebKit::WebPage::acceptsFirstMouse):
  9420. 2013-02-14 Huang Dongsung <luxtella@company100.net>
  9421. [WK2] Rename from scrollOffset to scrollDelta in WebChromeClient.
  9422. https://bugs.webkit.org/show_bug.cgi?id=109885
  9423. Reviewed by Simon Fraser.
  9424. Chrome sends a scroll delta to WebChromeClient but WebChromeClient names it
  9425. scrollOffset. So this patch corrects this misnaming.
  9426. In addition, all subclasses of LayerTreeHost don't use the misnamed
  9427. scrollOffset in scrollNonCompositedContents(), so this patch removes the
  9428. scrollOffset argument.
  9429. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  9430. (WebKit::WebChromeClient::scroll):
  9431. * WebProcess/WebCoreSupport/WebChromeClient.h:
  9432. (WebChromeClient):
  9433. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  9434. (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
  9435. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  9436. (CoordinatedLayerTreeHost):
  9437. * WebProcess/WebPage/DrawingArea.h:
  9438. (DrawingArea):
  9439. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  9440. (WebKit::DrawingAreaImpl::scroll):
  9441. * WebProcess/WebPage/DrawingAreaImpl.h:
  9442. (DrawingAreaImpl):
  9443. * WebProcess/WebPage/LayerTreeHost.h:
  9444. (LayerTreeHost):
  9445. * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
  9446. (WebKit::LayerTreeHostGtk::scrollNonCompositedContents):
  9447. * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
  9448. (LayerTreeHostGtk):
  9449. * WebProcess/WebPage/mac/LayerTreeHostMac.h:
  9450. (LayerTreeHostMac):
  9451. * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
  9452. (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
  9453. * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  9454. (RemoteLayerTreeDrawingArea):
  9455. * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
  9456. (WebKit::RemoteLayerTreeDrawingArea::scroll):
  9457. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  9458. (TiledCoreAnimationDrawingArea):
  9459. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  9460. (WebKit::TiledCoreAnimationDrawingArea::scroll):
  9461. 2013-02-14 Alexey Proskuryakov <ap@apple.com>
  9462. <rdar://problem/13161700> REGRESSION: Safari is unable to make SSL connections
  9463. when running from recovery partition
  9464. Reviewed by Sam Weinig.
  9465. * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  9466. * WebProcess/com.apple.WebProcess.sb.in:
  9467. Re-added /private/var/db/mds/system rules lost in r141445.
  9468. 2013-02-14 Anders Carlsson <andersca@apple.com>
  9469. Add WKContextIsPlugInUpdateAvailable
  9470. https://bugs.webkit.org/show_bug.cgi?id=109862
  9471. <rdar://problem/13173140>
  9472. Reviewed by Sam Weinig.
  9473. * UIProcess/API/C/mac/WKContextPrivateMac.h:
  9474. * UIProcess/API/C/mac/WKContextPrivateMac.mm: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.cpp.
  9475. (WKContextGetProcessSuppressionEnabled):
  9476. (WKContextSetProcessSuppressionEnabled):
  9477. (WKContextIsPlugInUpdateAvailable):
  9478. * WebKit2.xcodeproj/project.pbxproj:
  9479. 2013-02-14 Zan Dobersek <zdobersek@igalia.com>
  9480. [GTK] Errors when building WebKit2 with Clang
  9481. https://bugs.webkit.org/show_bug.cgi?id=109603
  9482. Reviewed by Alexey Proskuryakov.
  9483. * UIProcess/API/gtk/WebKitUIClient.cpp:
  9484. (setWindowFrame): Cast the position parameters to the integer type when constructing the GdkRectangle.
  9485. * UIProcess/Authentication/WebCredential.cpp: Add an empty implementation of the newly specified destructor.
  9486. * UIProcess/Authentication/WebCredential.h: Work around the incomplete WebCertificateInfo type errors thrown in the inline
  9487. RefPtr destructor of the m_certificateInfo class member by defining a destructor in the class.
  9488. * WebProcess/WebCoreSupport/WebEditorClient.h: The GTK-specific methods are not virtual and as such cannot be overriden.
  9489. The OVERRIDE keywords are thus unnecessary.
  9490. 2013-02-14 David Kilzer <ddkilzer@apple.com>
  9491. [Mac] Clean up WARNING_CFLAGS
  9492. <http://webkit.org/b/109747>
  9493. <rdar://problem/13208373>
  9494. Reviewed by Mark Rowe.
  9495. * Configurations/Base.xcconfig: Use
  9496. GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
  9497. -Wshorten-64-to-32 rather than WARNING_CFLAGS.
  9498. 2013-02-14 Sam Weinig <sam@webkit.org>
  9499. Add conversions between ObjC and C DOM wrappers
  9500. <rdar://problem/13205468>
  9501. https://bugs.webkit.org/show_bug.cgi?id=109851
  9502. Reviewed by Anders Carlsson.
  9503. * WebKit2.xcodeproj/project.pbxproj:
  9504. * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
  9505. (WKBundleRangeHandleCreate):
  9506. * WebProcess/InjectedBundle/API/c/WKBundleRangeHandlePrivate.h: Added.
  9507. * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
  9508. (-[WKDOMNode _copyBundleNodeHandleRef]):
  9509. * WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h: Added.
  9510. * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
  9511. (-[WKDOMRange _copyBundleRangeHandleRef]):
  9512. * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h: Added.
  9513. * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
  9514. (WebKit::InjectedBundleRangeHandle::getOrCreate):
  9515. * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
  9516. (InjectedBundleRangeHandle):
  9517. 2013-02-13 Anders Carlsson <andersca@apple.com>
  9518. Remove StringPairVector
  9519. https://bugs.webkit.org/show_bug.cgi?id=109778
  9520. Reviewed by Ryosuke Niwa.
  9521. Our message generation scripts can handle nested template parameter types now,
  9522. so we no longer need to use StringPairVector.
  9523. * Shared/StringPairVector.h: Removed.
  9524. * UIProcess/WebPageProxy.cpp:
  9525. (WebKit::WebPageProxy::willSubmitForm):
  9526. * UIProcess/WebPageProxy.h:
  9527. (WebPageProxy):
  9528. * UIProcess/WebPageProxy.messages.in:
  9529. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  9530. (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
  9531. 2013-02-13 Dean Jackson <dino@apple.com>
  9532. PlugIn Autostart should expire in 30 days, not half a day
  9533. https://bugs.webkit.org/show_bug.cgi?id=109767
  9534. Reviewed by Brian Weinstein.
  9535. We forgot to multiply by 60 seconds in a minute.
  9536. * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
  9537. 2013-02-13 Anders Carlsson <andersca@apple.com>
  9538. Message generation should handle nested templates
  9539. https://bugs.webkit.org/show_bug.cgi?id=109771
  9540. Reviewed by Ryosuke Niwa.
  9541. Make it possible to have nested class template types as message parameters and
  9542. correctly gather all the needed headers and argument coder headers.
  9543. * Scripts/webkit2/messages.py:
  9544. (class_template_headers):
  9545. Recursively figure out the types and template headers needed for a given type.
  9546. (argument_coder_headers_for_type):
  9547. (headers_for_type):
  9548. Call class_template_headers.
  9549. * Scripts/webkit2/messages_unittest.py:
  9550. (CoreIPC):
  9551. * Scripts/webkit2/parser.py:
  9552. (split_parameters_string):
  9553. (parse_parameters_string):
  9554. 2013-02-13 David Farler <dfarler@apple.com>
  9555. Make WebKit2 Derived Sources work with SDK identifiers too
  9556. https://bugs.webkit.org/show_bug.cgi?id=109763
  9557. Reviewed by David Kilzer.
  9558. * WebKit2.xcodeproj/project.pbxproj: Pass SDKROOT=${SDKROOT} to DerivedSources.make
  9559. 2013-02-13 Csaba Osztrogonác <ossy@webkit.org>
  9560. One more buildfix for !ENABLE(PLUGIN_PROCESS) platforms.
  9561. * WebProcess/WebProcess.cpp:
  9562. (WebKit::WebProcess::WebProcess):
  9563. 2013-02-13 Csaba Osztrogonác <ossy@webkit.org>
  9564. Unreviewed Qt-Mac and Qt-Win buildfix after r142768.
  9565. * WebProcess/WebProcess.h:
  9566. (WebKit):
  9567. 2013-02-13 Adam Barth <abarth@webkit.org>
  9568. Remove bogus ASSERT in WebFrameProxy::didStartProvisionalLoad
  9569. https://bugs.webkit.org/show_bug.cgi?id=109733
  9570. Reviewed by Sam Weinig.
  9571. After http://trac.webkit.org/changeset/142555, this ASSERT is
  9572. triggering on these tests:
  9573. fast/dom/window-load-crash.html
  9574. fast/frames/seamless/seamless-hyperlink-named.html
  9575. fast/frames/seamless/seamless-hyperlink.html
  9576. The ASSERT appears to be bogus. This patch removes it.
  9577. * UIProcess/WebFrameProxy.cpp:
  9578. (WebKit::WebFrameProxy::didStartProvisionalLoad):
  9579. 2013-02-13 Sam Weinig <sam@webkit.org>
  9580. Consolidate main functions in WebKit2 now that they are all identical
  9581. https://bugs.webkit.org/show_bug.cgi?id=109748
  9582. Reviewed by Anders Carlsson.
  9583. - Consolidates all the LegacyProcess main functions into ChildProcessMain.mm
  9584. - Consolidates all the XPCService main functions into XPCServiceMain.mm and XPCServiceMain.Development.mm
  9585. - Rename existing ChildProcessMain.h/mm to ChildProcessEntryPoint.h/mm to match the XPCService ones.
  9586. - Switch LegacyProcess to use the "entry point in the plist" idiom, instead of hard coding each one, again
  9587. matching the XPCService.
  9588. * Configurations/BaseLegacyProcess.xcconfig: Add base configuration to hold common legacy process options.
  9589. * Configurations/BaseXPCService.xcconfig:
  9590. * Configurations/NetworkProcess.xcconfig:
  9591. * Configurations/OfflineStorageProcess.xcconfig:
  9592. * Configurations/PluginProcess.xcconfig:
  9593. * Configurations/SharedWorkerProcess.xcconfig:
  9594. * Configurations/WebContentProcess.xcconfig: Renamed form WebProcess.xcconfig.
  9595. * NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  9596. * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm:
  9597. * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMainBootstrapper.cpp: Removed.
  9598. * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm: Removed.
  9599. * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm: Removed.
  9600. * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  9601. * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm:
  9602. * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMainBootstrapper.cpp: Removed.
  9603. * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/OfflineStorageServiceMain.Development.mm: Removed.
  9604. * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/OfflineStorageServiceMain.mm: Removed.
  9605. * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  9606. * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
  9607. * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMainBootstrapper.cpp: Removed.
  9608. * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm: Removed.
  9609. * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm: Removed.
  9610. * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
  9611. * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm:
  9612. * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h: Removed.
  9613. * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm: Replaced.
  9614. * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMainBootstrapper.h: Removed.
  9615. * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h: Removed.
  9616. * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h: Removed.
  9617. * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
  9618. * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
  9619. * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  9620. * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMain.mm:
  9621. * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMainBootstrapper.cpp: Removed.
  9622. * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  9623. * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
  9624. * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMainBootstrapper.cpp: Removed.
  9625. * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm: Removed.
  9626. * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm: Removed.
  9627. * WebKit2.xcodeproj/project.pbxproj:
  9628. 2013-02-13 Christophe Dumez <ch.dumez@sisa.samsung.com>
  9629. [EFL][WK2] Stop using WebString in ewk_cookie_manager, ewk_form_submission_request and ewk_text_checker
  9630. https://bugs.webkit.org/show_bug.cgi?id=108794
  9631. Reviewed by Alexey Proskuryakov.
  9632. Stop using WebString in ewk_cookie_manager, ewk_form_submission_request
  9633. and ewk_text_checker as it is internal C++ API. WKString and
  9634. WKEinaSharedString are used instead.
  9635. * UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
  9636. (WKEinaSharedString::leakString): Add leakString() method to
  9637. WKEinaSharedString so that we can conveniently convert a WKString to a
  9638. Eina shared string and take ownership of it.
  9639. * UIProcess/API/cpp/efl/WKEinaSharedString.h:
  9640. * UIProcess/API/efl/ewk_cookie_manager.cpp:
  9641. (getHostnamesWithCookiesCallback):
  9642. * UIProcess/API/efl/ewk_form_submission_request.cpp:
  9643. (EwkFormSubmissionRequest::copyFieldValue):
  9644. (ewk_form_submission_request_field_names_get):
  9645. (ewk_form_submission_request_field_value_get):
  9646. * UIProcess/API/efl/ewk_form_submission_request_private.h:
  9647. (EwkFormSubmissionRequest):
  9648. * UIProcess/API/efl/ewk_text_checker.cpp:
  9649. (checkSpellingOfString):
  9650. (guessesForWord):
  9651. (learnWord):
  9652. (ignoreWord):
  9653. * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
  9654. (TEST_F): Add API test for new WKEinaSharedString::leakString() method.
  9655. 2013-02-13 Anders Carlsson <andersca@apple.com>
  9656. Remove Connection::QueueClient
  9657. https://bugs.webkit.org/show_bug.cgi?id=109744
  9658. Reviewed by Sam Weinig.
  9659. * Platform/CoreIPC/Connection.cpp:
  9660. (CoreIPC::Connection::processIncomingMessage):
  9661. (CoreIPC::Connection::connectionDidClose):
  9662. * Platform/CoreIPC/Connection.h:
  9663. (Connection):
  9664. 2013-02-13 Anders Carlsson <andersca@apple.com>
  9665. Try to fix the Lion build.
  9666. * WebProcess/WebPage/EventDispatcher.h:
  9667. (EventDispatcher):
  9668. 2013-02-13 Anders Carlsson <andersca@apple.com>
  9669. Remove support for the DispatchOnConnectionQueue message attribute
  9670. https://bugs.webkit.org/show_bug.cgi?id=109743
  9671. Reviewed by Sam Weinig.
  9672. * Platform/CoreIPC/HandleMessage.h:
  9673. (CoreIPC):
  9674. * Scripts/webkit2/messages.py:
  9675. (handler_function):
  9676. (generate_message_handler):
  9677. * Scripts/webkit2/messages_unittest.py:
  9678. 2013-02-13 Anders Carlsson <andersca@apple.com>
  9679. StorageManager should be a WorkQueueMessageReceiver
  9680. https://bugs.webkit.org/show_bug.cgi?id=109741
  9681. Reviewed by Sam Weinig.
  9682. * UIProcess/Storage/StorageManager.cpp:
  9683. (WebKit::StorageManager::processWillOpenConnection):
  9684. (WebKit::StorageManager::processWillCloseConnection):
  9685. (WebKit::StorageManager::createStorageArea):
  9686. (WebKit::StorageManager::destroyStorageArea):
  9687. * UIProcess/Storage/StorageManager.h:
  9688. (StorageManager):
  9689. * UIProcess/Storage/StorageManager.messages.in:
  9690. 2013-02-13 Anders Carlsson <andersca@apple.com>
  9691. EventDispatcher should be a WorkQueueMessageReceiver
  9692. https://bugs.webkit.org/show_bug.cgi?id=109736
  9693. Reviewed by Andreas Kling.
  9694. * WebProcess/WebPage/EventDispatcher.cpp:
  9695. (WebKit::EventDispatcher::create):
  9696. (WebKit):
  9697. (WebKit::EventDispatcher::EventDispatcher):
  9698. (WebKit::EventDispatcher::initializeConnection):
  9699. (WebKit::EventDispatcher::wheelEvent):
  9700. (WebKit::EventDispatcher::gestureEvent):
  9701. * WebProcess/WebPage/EventDispatcher.h:
  9702. (EventDispatcher):
  9703. * WebProcess/WebPage/EventDispatcher.messages.in:
  9704. * WebProcess/WebProcess.cpp:
  9705. (WebKit::WebProcess::WebProcess):
  9706. (WebKit::WebProcess::initializeConnection):
  9707. * WebProcess/WebProcess.h:
  9708. (WebKit):
  9709. (WebKit::WebProcess::eventDispatcher):
  9710. (WebProcess):
  9711. 2013-02-13 Christophe Dumez <ch.dumez@sisa.samsung.com>
  9712. Unreviewed build fix after r142768.
  9713. r142768 broke the EFL WK2 build due to wrong member initialization
  9714. order in the WebProcess constructor initialization list.
  9715. * WebProcess/WebProcess.cpp:
  9716. (WebKit::WebProcess::WebProcess):
  9717. 2013-02-13 Anders Carlsson <andersca@apple.com>
  9718. Make PluginProcessConnectionManager a WorkQueueMessageReceiver
  9719. https://bugs.webkit.org/show_bug.cgi?id=109727
  9720. Reviewed by Andreas Kling.
  9721. * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
  9722. (WebKit::PluginProcessConnectionManager::create):
  9723. (WebKit):
  9724. (WebKit::PluginProcessConnectionManager::PluginProcessConnectionManager):
  9725. (WebKit::PluginProcessConnectionManager::initializeConnection):
  9726. (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
  9727. * WebProcess/Plugins/PluginProcessConnectionManager.h:
  9728. (PluginProcessConnectionManager):
  9729. * WebProcess/Plugins/PluginProcessConnectionManager.messages.in:
  9730. * WebProcess/WebProcess.cpp:
  9731. (WebKit::WebProcess::WebProcess):
  9732. (WebKit::WebProcess::initializeConnection):
  9733. (WebKit::WebProcess::pluginProcessConnectionManager):
  9734. * WebProcess/WebProcess.h:
  9735. (WebKit):
  9736. (WebProcess):
  9737. 2013-02-13 Anders Carlsson <andersca@apple.com>
  9738. Make SecItemShimProxy be a WorkQueueMessageReceiver
  9739. https://bugs.webkit.org/show_bug.cgi?id=109719
  9740. Reviewed by Sam Weinig.
  9741. This adds a WantsConnection message attribute to be used for messages whose handlers
  9742. should take the connection the message was delivered to.
  9743. * Platform/CoreIPC/HandleMessage.h:
  9744. (CoreIPC::handleMessage):
  9745. Add new handleMessage overload.
  9746. * Scripts/webkit2/messages.py:
  9747. (async_message_statement):
  9748. (generate_message_handler):
  9749. Handle the WantsMessage attribute.
  9750. * UIProcess/mac/SecItemShimProxy.cpp:
  9751. (WebKit::SecItemShimProxy::shared):
  9752. Use dispatch_once and adoptRef.
  9753. (WebKit::SecItemShimProxy::SecItemShimProxy):
  9754. Initialize the queue.
  9755. (WebKit::SecItemShimProxy::initializeConnection):
  9756. Add the proxy as a work queue message receiver.
  9757. (WebKit::SecItemShimProxy::secItemRequest):
  9758. This no longer needs to call out to a dispatch queue, it's already on a queue.
  9759. * UIProcess/mac/SecItemShimProxy.messages.in:
  9760. This doesn't need to be a legacy receiver. Also, add the WantsConnection message.
  9761. 2013-02-13 Sheriff Bot <webkit.review.bot@gmail.com>
  9762. Unreviewed, rolling out r142736.
  9763. http://trac.webkit.org/changeset/142736
  9764. https://bugs.webkit.org/show_bug.cgi?id=109716
  9765. Broke ABI, nightly builds crash on launch (Requested by ap on
  9766. #webkit).
  9767. * Shared/APIClientTraits.cpp:
  9768. (WebKit):
  9769. * Shared/APIClientTraits.h:
  9770. * UIProcess/API/C/WKPage.h:
  9771. * UIProcess/API/gtk/WebKitLoaderClient.cpp:
  9772. (attachLoaderClientToView):
  9773. * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  9774. * WebProcess/qt/QtBuiltinBundlePage.cpp:
  9775. (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
  9776. 2013-02-13 Kenneth Rohde Christiansen <kenneth@webkit.org>
  9777. [WK2][EFL] Cleanup of graphics related code in EwkView
  9778. https://bugs.webkit.org/show_bug.cgi?id=109377
  9779. Reviewed by Anders Carlsson.
  9780. * UIProcess/API/efl/EwkView.cpp:
  9781. (EwkView::EwkView):
  9782. Initialize the evasGL dependencies here and
  9783. set m_isAccelerated to false if this fails.
  9784. Set the coordinated graphics scene as active
  9785. when using fixed layout.
  9786. (EwkView::setSize):
  9787. Add a method to set the size and user-viewport
  9788. transform from the outside. The idea is moving
  9789. this to our pure WK C API in the future.
  9790. (EwkView::transformFromScene):
  9791. (EwkView::transformToScene):
  9792. Update the transform methods to use the user-
  9793. viewport transform.
  9794. (EwkView::paintToCurrentGLContext):
  9795. (EwkView::paintToCairoSurface):
  9796. Add methods to paint to either the current GL context
  9797. or to a given cairo_surface_t (for software fallback
  9798. cases).
  9799. (EwkView::displayTimerFired):
  9800. Clean up and use the two above methods.
  9801. (EwkView::scheduleUpdateDisplay):
  9802. Use the new size() methods instead of using the
  9803. smart-object data directly.
  9804. (EwkView::createGLSurface):
  9805. Make this method use size() to query the surface size
  9806. and avoid creating the context (done in ctor now).
  9807. Also avoid using the smart-object data directly.
  9808. (EwkView::enterAcceleratedCompositingMode):
  9809. (EwkView::exitAcceleratedCompositingMode):
  9810. Turn on/off the use of the coord. graphics scene.
  9811. (EwkView::handleEvasObjectCalculate):
  9812. Use the new setSize and setUserViewportTransform.
  9813. (EwkView::takeSnapshot):
  9814. * UIProcess/API/efl/EwkView.h:
  9815. (WebCore):
  9816. (EwkView):
  9817. (EwkView::size):
  9818. (EwkView::setUserViewportTransform):
  9819. (EwkView::userViewportTransform):
  9820. Add the new method definitions and rename isHardwareAccelerated
  9821. to isAccelerated which fits better with the naming in WebCore.
  9822. 2013-02-13 Christophe Dumez <ch.dumez@sisa.samsung.com>
  9823. [EFL][WK2] Introduce WKViewClient C API
  9824. https://bugs.webkit.org/show_bug.cgi?id=109559
  9825. Reviewed by Anders Carlsson.
  9826. This patch introduces the WKViewClient C API for EFL's WKView. The purpose of
  9827. this new C API is to eventually remove the interdependency between EFL's
  9828. PageClient and EwkView. When completed, PageClient should only interact with
  9829. WebView and not be aware of EwkView so that we have a clean separation between
  9830. internal WebKit2 classes and our EFL Ewk API implementation.
  9831. This patch is only a first step towards this goal as there is a lot of work
  9832. to do to achieve complete separation between EwkView and PageClient. The purpose
  9833. of this patch is to introduce the needed architecture which will later be
  9834. extended by introducing new WKViewClient callbacks.
  9835. * PlatformEfl.cmake: Add new ViewClientEfl.cpp and WebViewClient.cpp to EFL's CMake
  9836. configuration.
  9837. * UIProcess/API/C/efl/WKView.cpp:
  9838. (WKViewSetViewClient):
  9839. * UIProcess/API/C/efl/WKView.h: Introduce new WKViewClient C API.
  9840. * UIProcess/API/efl/EwkView.cpp:
  9841. (EwkView::EwkView): Initialize ViewClientEfl.
  9842. * UIProcess/API/efl/EwkView.h: Add new ViewClientEfl member.
  9843. (WebKit):
  9844. (EwkView):
  9845. * UIProcess/API/efl/EwkViewCallbacks.h: Update ContentsSizeChanged smart callback to
  9846. accept a WKSize in parameter instead of an IntRect.
  9847. * UIProcess/efl/PageClientBase.cpp: Start calling WKViewClient callbacks instead of
  9848. interacting directly with EwkView to avoid violating API layering.
  9849. (WebKit::PageClientBase::view):
  9850. (WebKit::PageClientBase::setViewNeedsDisplay):
  9851. * UIProcess/efl/PageClientBase.h:
  9852. (WebKit):
  9853. (PageClientBase):
  9854. * UIProcess/efl/PageClientDefaultImpl.cpp: Start calling WKViewClient callbacks instead of
  9855. interacting directly with EwkView to avoid violating API layering.
  9856. (WebKit::PageClientDefaultImpl::didChangeContentsSize):
  9857. * UIProcess/efl/PageClientLegacyImpl.cpp: Start calling WKViewClient callbacks instead of
  9858. interacting directly with EwkView to avoid violating API layering.
  9859. (WebKit::PageClientLegacyImpl::didChangeContentsSize):
  9860. * UIProcess/efl/ViewClientEfl.cpp:
  9861. (WebKit):
  9862. (WebKit::ViewClientEfl::toEwkView):
  9863. (WebKit::ViewClientEfl::viewNeedsDisplay):
  9864. (WebKit::ViewClientEfl::didChangeContentsSize):
  9865. (WebKit::ViewClientEfl::ViewClientEfl):
  9866. (WebKit::ViewClientEfl::~ViewClientEfl):
  9867. * UIProcess/efl/ViewClientEfl.h: Introduce new ViewClientEfl which handles WKViewClient callbacks
  9868. and interacts with EwkView.
  9869. (WebKit):
  9870. (ViewClientEfl):
  9871. (WebKit::ViewClientEfl::create):
  9872. * UIProcess/efl/WebView.cpp:
  9873. (WebKit::WebView::initializeClient):
  9874. (WebKit):
  9875. (WebKit::WebView::setViewNeedsDisplay):
  9876. (WebKit::WebView::didChangeContentsSize):
  9877. * UIProcess/efl/WebView.h: Add new WebViewClient member and corresponding methods to interact
  9878. with it.
  9879. (WebView):
  9880. * UIProcess/efl/WebViewClient.cpp:
  9881. (WebKit):
  9882. (WebKit::WebViewClient::viewNeedsDisplay):
  9883. (WebKit::WebViewClient::didChangeContentsSize):
  9884. * UIProcess/efl/WebViewClient.h: Add new WebViewClient APIClient for WKViewClient.
  9885. (WebCore):
  9886. (WebKit):
  9887. 2013-02-13 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  9888. [WK2][EFL][WTR] Regression(r141836): WTR crashes on exit
  9889. https://bugs.webkit.org/show_bug.cgi?id=109456
  9890. Reviewed by Anders Carlsson.
  9891. WebView destructor now considers the situation if its WebPageProxy
  9892. instance had been closed from outside the class (explicitly
  9893. by client code).
  9894. * UIProcess/efl/WebView.cpp:
  9895. (WebKit::WebView::~WebView):
  9896. 2013-02-13 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  9897. [WK2] Remove web intents callbacks
  9898. https://bugs.webkit.org/show_bug.cgi?id=109654
  9899. Reviewed by Benjamin Poulain.
  9900. Web intents was removed by r142549.
  9901. * Shared/APIClientTraits.cpp:
  9902. (WebKit):
  9903. * Shared/APIClientTraits.h:
  9904. * UIProcess/API/C/WKPage.h:
  9905. * UIProcess/API/gtk/WebKitLoaderClient.cpp:
  9906. (attachLoaderClientToView):
  9907. * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  9908. * WebProcess/qt/QtBuiltinBundlePage.cpp:
  9909. (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
  9910. 2013-02-12 Adenilson Cavalcanti <cavalcantii@gmail.com>
  9911. [WK2] Page reloading will crash UIProcess after WebProcess was killed
  9912. https://bugs.webkit.org/show_bug.cgi?id=109305
  9913. Reviewed by Benjamin Poulain.
  9914. Re-initialize the pointer to a WebInspectorProxy object before calling
  9915. initializeWebPage().
  9916. When the WebProcess crashes, WebPageProxy::processDidCrash() will
  9917. set WebInspectorProxy pointer to null, which later is accessed by
  9918. initializeWebPage(). This patch avoids a crash scenario where
  9919. calls into a null pointer would be made.
  9920. * UIProcess/WebPageProxy.cpp:
  9921. (WebKit::WebPageProxy::reattachToWebProcess):
  9922. 2013-02-12 Joseph Pecoraro <pecoraro@apple.com>
  9923. [iOS] Enable PAGE_VISIBILITY_API
  9924. https://bugs.webkit.org/show_bug.cgi?id=109399
  9925. Reviewed by David Kilzer.
  9926. * Configurations/FeatureDefines.xcconfig:
  9927. 2013-02-12 Brady Eidson <beidson@apple.com>
  9928. Update a comment in NetworkProcess to be more accurate.
  9929. Rubberstamped by Sam Weinig.
  9930. * NetworkProcess/NetworkProcess.cpp:
  9931. (WebKit::NetworkProcess::didClose):
  9932. 2013-02-12 Anders Carlsson <andersca@apple.com>
  9933. SecItemShim should be a WorkQueueMessageReceiver
  9934. https://bugs.webkit.org/show_bug.cgi?id=109636
  9935. Reviewed by Sam Weinig.
  9936. * Platform/CoreIPC/Connection.cpp:
  9937. (CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
  9938. Add a helper function for dispatching a work queue message receiver message.
  9939. (CoreIPC::Connection::processIncomingMessage):
  9940. Check if there are any work queue message receivers registered for this message.
  9941. * Shared/mac/SecItemShim.cpp:
  9942. (WebKit::SecItemShim::shared):
  9943. Use dispatch_once instead of the AtomicallyInitializedStatic macro.
  9944. (WebKit::SecItemShim::SecItemShim):
  9945. Initialize the queue.
  9946. (WebKit::SecItemShim::secItemResponse):
  9947. Remove the connection parameter.
  9948. (WebKit::SecItemShim::initializeConnection):
  9949. Register the shim object as a work queue message receiver.
  9950. * Shared/mac/SecItemShim.h:
  9951. Inherit from WorkQueueMessageReceiver.
  9952. * Shared/mac/SecItemShim.messages.in:
  9953. Remove LegacyReceiver and DispatchOnConnectionQueue.
  9954. 2013-02-12 Sam Weinig <sam@webkit.org>
  9955. Make Plug-in XPC services "join existing sessions"
  9956. <rdar://problem/13196448>
  9957. Reviewed by Mark Rowe.
  9958. * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist:
  9959. * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist:
  9960. * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
  9961. 2013-02-12 Sam Weinig <sam@webkit.org>
  9962. Add skeleton of the OfflineStorageProcess
  9963. https://bugs.webkit.org/show_bug.cgi?id=109615
  9964. Reviewed by Anders Carlsson.
  9965. This adds the skeleton of a new process to contain Database and Local Storage
  9966. backends in (hence, offline storage). We're adding a new process, rather than
  9967. using the Network or UIProcesses, to allow us to tightly sandbox these activities
  9968. away from networking and full filesystem access.
  9969. * Configurations/OfflineStorageProcess.xcconfig: Added.
  9970. * Configurations/OfflineStorageService.Development.xcconfig: Added.
  9971. * Configurations/OfflineStorageService.xcconfig: Added.
  9972. * DerivedSources.make:
  9973. * OfflineStorageProcess: Added.
  9974. * OfflineStorageProcess/EntryPoint: Added.
  9975. * OfflineStorageProcess/EntryPoint/mac: Added.
  9976. * OfflineStorageProcess/EntryPoint/mac/LegacyProcess: Added.
  9977. * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist: Added.
  9978. * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm: Added.
  9979. * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMainBootstrapper.cpp: Added.
  9980. * OfflineStorageProcess/EntryPoint/mac/XPCService: Added.
  9981. * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService: Added.
  9982. * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development: Added.
  9983. * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/Info.plist: Added.
  9984. * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/OfflineStorageServiceMain.Development.mm: Added.
  9985. * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/Info.plist: Added.
  9986. * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/OfflineStorageServiceMain.mm: Added.
  9987. * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageServiceEntryPoint.mm: Added.
  9988. * OfflineStorageProcess/OfflineStorageProcess.cpp: Added.
  9989. * OfflineStorageProcess/OfflineStorageProcess.h: Added.
  9990. * OfflineStorageProcess/OfflineStorageProcess.messages.in: Added.
  9991. * OfflineStorageProcess/mac: Added.
  9992. * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm: Added.
  9993. (WebKit::OfflineStorageProcess::initializeProcessName):
  9994. (WebKit::OfflineStorageProcess::initializeSandbox):
  9995. * OfflineStorageProcess/mac/com.apple.WebKit.OfflineStorage.sb: Added.
  9996. * Shared/OfflineStorage: Added.
  9997. * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.cpp: Added.
  9998. * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.h: Added.
  9999. * Scripts/webkit2/messages.py:
  10000. (struct_or_class):
  10001. Added OfflineStorageProcessCreationParameters.
  10002. * WebKit2.xcodeproj/project.pbxproj:
  10003. 2013-02-12 Jinwoo Song <jinwoo7.song@samsung.com>
  10004. [EFL][WK2] Fix build warning after r142579
  10005. https://bugs.webkit.org/show_bug.cgi?id=109547
  10006. Reviewed by Alexey Proskuryakov.
  10007. Use UNUSED_PARAM macro to fix -Wunused-parameter build warning.
  10008. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  10009. (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
  10010. 2013-02-12 Christophe Dumez <ch.dumez@sisa.samsung.com>
  10011. [EFL][WK2] Reenable ewk_auth_request API tests
  10012. https://bugs.webkit.org/show_bug.cgi?id=108451
  10013. Reviewed by Benjamin Poulain.
  10014. ewk_auth_request API tests were temporarily disabled after
  10015. the C API for resource loading was removed from WebKit2.
  10016. This patches updates the tests so that they no longer rely
  10017. on the resource loading events and renables them.
  10018. This patch also corrects the naming of the static variables
  10019. in the test to follow more closely the WebKit coding style.
  10020. * PlatformEfl.cmake:
  10021. * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
  10022. (serverCallback):
  10023. (TEST_F):
  10024. (onLoadFinished):
  10025. 2013-02-12 Anders Carlsson <andersca@apple.com>
  10026. Introduce a WorkQueueMessageReceiver class as a replacement for QueueClient
  10027. https://bugs.webkit.org/show_bug.cgi?id=109612
  10028. Reviewed by Andreas Kling.
  10029. * Platform/CoreIPC/Connection.cpp:
  10030. (CoreIPC::Connection::addWorkQueueMessageReceiver):
  10031. (CoreIPC):
  10032. (CoreIPC::Connection::removeWorkQueueMessageReceiver):
  10033. (CoreIPC::Connection::addWorkQueueMessageReceiverOnConnectionWorkQueue):
  10034. (CoreIPC::Connection::removeWorkQueueMessageReceiverOnConnectionWorkQueue):
  10035. * Platform/CoreIPC/Connection.h:
  10036. (Connection):
  10037. 2013-02-12 Csaba Osztrogonác <ossy@webkit.org>
  10038. Typo fix after r142663.
  10039. * GNUmakefile.list.am:
  10040. 2013-02-12 Csaba Osztrogonác <ossy@webkit.org>
  10041. [WK2] Unreviewed trivial buildfix after r142630 and r142651.
  10042. * CMakeLists.txt:
  10043. * GNUmakefile.list.am:
  10044. * Target.pri:
  10045. * UIProcess/Plugins/PluginProcessProxy.cpp:
  10046. (WebKit::PluginProcessProxy::didFinishLaunching):
  10047. * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
  10048. (WebKit::PluginProcessProxy::platformGetLaunchOptions):
  10049. * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
  10050. (WebKit::PluginProcessProxy::platformGetLaunchOptions):
  10051. 2013-02-12 Anders Carlsson <andersca@apple.com>
  10052. Change the queue client base class to be private everywhere
  10053. https://bugs.webkit.org/show_bug.cgi?id=109604
  10054. Reviewed by Andreas Kling.
  10055. Move connection queue client registration inside of the respective queue client classes.
  10056. Also, it's too late to add queue clients in ChildProcessProxy::didFinishLaunching, so do this in
  10057. ChildProcessProxy::connectionWillOpen instead.
  10058. Finally, assert that queue clients are only being added and removed from the client thread.
  10059. * NetworkProcess/NetworkProcess.cpp:
  10060. (WebKit::NetworkProcess::initializeConnection):
  10061. * Platform/CoreIPC/Connection.cpp:
  10062. (CoreIPC::Connection::addQueueClient):
  10063. (CoreIPC::Connection::removeQueueClient):
  10064. * Shared/mac/SecItemShim.cpp:
  10065. (WebKit::SecItemShim::initializeConnection):
  10066. (WebKit):
  10067. * Shared/mac/SecItemShim.h:
  10068. (SecItemShim):
  10069. * UIProcess/Network/NetworkProcessProxy.cpp:
  10070. (WebKit::NetworkProcessProxy::connectionWillOpen):
  10071. (WebKit):
  10072. (WebKit::NetworkProcessProxy::connectionWillClose):
  10073. (WebKit::NetworkProcessProxy::didFinishLaunching):
  10074. * UIProcess/Network/NetworkProcessProxy.h:
  10075. (NetworkProcessProxy):
  10076. * UIProcess/WebProcessProxy.cpp:
  10077. (WebKit::WebProcessProxy::connectionWillOpen):
  10078. (WebKit::WebProcessProxy::didFinishLaunching):
  10079. * UIProcess/mac/SecItemShimProxy.cpp:
  10080. (WebKit::SecItemShimProxy::initializeConnection):
  10081. (WebKit):
  10082. * UIProcess/mac/SecItemShimProxy.h:
  10083. (SecItemShimProxy):
  10084. * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
  10085. (WebKit::PluginProcessConnectionManager::initializeConnection):
  10086. (WebKit):
  10087. * WebProcess/Plugins/PluginProcessConnectionManager.h:
  10088. (PluginProcessConnectionManager):
  10089. * WebProcess/WebPage/EventDispatcher.cpp:
  10090. (WebKit::EventDispatcher::initializeConnection):
  10091. (WebKit):
  10092. * WebProcess/WebPage/EventDispatcher.h:
  10093. (EventDispatcher):
  10094. * WebProcess/WebProcess.cpp:
  10095. (WebKit::WebProcess::initializeConnection):
  10096. 2013-02-12 Brady Eidson <beidson@apple.com>
  10097. Add WKContext API to retrieve basic network process statistics
  10098. https://bugs.webkit.org/show_bug.cgi?id=109329
  10099. Reviewed by Sam Weinig.
  10100. This patch adds a WKContextGetStatisticsWithOptions which allows the client to ask for
  10101. certain types of statistics.
  10102. It also expands the "get statistics" callback mechanism to allow for a statistics request
  10103. to be answered by multiple child processes.
  10104. That mechanism still has some rough edges but will eventually allow for getting statistics
  10105. from multiple web processes, as well.
  10106. * NetworkProcess/HostRecord.cpp:
  10107. (WebKit::HostRecord::pendingRequestCount):
  10108. (WebKit::HostRecord::activeLoadCount):
  10109. * NetworkProcess/HostRecord.h:
  10110. * NetworkProcess/NetworkProcess.cpp:
  10111. (WebKit::NetworkProcess::getNetworkProcessStatistics):
  10112. * NetworkProcess/NetworkProcess.h:
  10113. * NetworkProcess/NetworkProcess.messages.in:
  10114. * NetworkProcess/NetworkResourceLoadScheduler.cpp:
  10115. (WebKit::NetworkResourceLoadScheduler::hostsPendingCount):
  10116. (WebKit::NetworkResourceLoadScheduler::loadsPendingCount):
  10117. (WebKit::NetworkResourceLoadScheduler::hostsActiveCount):
  10118. (WebKit::NetworkResourceLoadScheduler::loadsActiveCount):
  10119. * NetworkProcess/NetworkResourceLoadScheduler.h:
  10120. * Shared/Authentication/AuthenticationManager.h:
  10121. (WebKit::AuthenticationManager::outstandingAuthenticationChallengeCount):
  10122. * Shared/Downloads/DownloadManager.h:
  10123. * UIProcess/API/C/WKContext.cpp:
  10124. (WKContextGetStatistics):
  10125. (WKContextGetStatisticsWithOptions):
  10126. * UIProcess/API/C/WKContext.h:
  10127. * UIProcess/StatisticsRequest.cpp: Added.
  10128. (WebKit::StatisticsRequest::StatisticsRequest):
  10129. (WebKit::StatisticsRequest::~StatisticsRequest):
  10130. (WebKit::StatisticsRequest::addOutstandingRequest):
  10131. (WebKit::addToDictionaryFromHashMap):
  10132. (WebKit::createDictionaryFromHashMap):
  10133. (WebKit::StatisticsRequest::completedRequest):
  10134. * UIProcess/StatisticsRequest.h: Added.
  10135. (WebKit::StatisticsRequest::create):
  10136. * UIProcess/WebContext.cpp:
  10137. (WebKit::WebContext::networkingProcessConnection):
  10138. (WebKit::WebContext::getStatistics):
  10139. (WebKit::WebContext::requestWebContentStatistics):
  10140. (WebKit::WebContext::requestNetworkingStatistics):
  10141. (WebKit::WebContext::didGetStatistics):
  10142. * UIProcess/WebContext.h:
  10143. * UIProcess/WebContext.messages.in:
  10144. * WebProcess/WebProcess.cpp:
  10145. (WebKit::WebProcess::getWebCoreStatistics):
  10146. * WebKit2.xcodeproj/project.pbxproj:
  10147. 2013-02-12 Anders Carlsson <andersca@apple.com>
  10148. Build fix.
  10149. Add back the files to the Xcode project that were removed in r142580.
  10150. * WebKit2.xcodeproj/project.pbxproj:
  10151. * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
  10152. 2013-02-12 Jessie Berlin <jberlin@apple.com>
  10153. Build fix after r142540 and r142518
  10154. * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
  10155. (WebKit::PluginProcessConnectionManager::didReceivePluginProcessConnectionManagerMessageOnConnectionWorkQueue):
  10156. This function was added to the header in r142518 but not implemented in that revision.
  10157. It wasn't a problem until r142540 started using it.
  10158. Add a stub implementation for it.
  10159. 2013-02-11 Brady Eidson <beidson@apple.com>
  10160. Make PluginProcessProxy a ChildProcessProxy.
  10161. https://bugs.webkit.org/show_bug.cgi?id=109513
  10162. Reviewed by Anders Carlsson.
  10163. * Shared/ChildProcessProxy.h: Inherit from ThreadSafeRefCounted.
  10164. * UIProcess/Network/NetworkProcessProxy.h: Don't inherit from RefCounted.
  10165. * UIProcess/WebProcessProxy.h: Don't inherit from ThreadSafeRefCounted
  10166. * UIProcess/Plugins/PluginProcessProxy.h: Don't inherit from RefCounted, do inherit from ChildProcessProxy
  10167. Rely on ChildProcessProxy for process launcher management and launch options:
  10168. * UIProcess/Plugins/PluginProcessProxy.cpp:
  10169. (WebKit::PluginProcessProxy::PluginProcessProxy):
  10170. (WebKit::PluginProcessProxy::getLaunchOptions):
  10171. (WebKit::PluginProcessProxy::getPluginProcessConnection):
  10172. (WebKit::PluginProcessProxy::getSitesWithData):
  10173. (WebKit::PluginProcessProxy::clearSiteData):
  10174. * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
  10175. (WebKit::PluginProcessProxy::platformGetLaunchOptions):
  10176. (WebKit::PluginProcessProxy::getPluginProcessSerialNumber):
  10177. 2013-02-11 Alexey Proskuryakov <ap@apple.com>
  10178. <rdar://problem/13196331> NetworkProcess deny mach-lookup com.apple.PowerManagement.control
  10179. Reviewed by Sam Weinig.
  10180. * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  10181. 2013-02-11 Huang Dongsung <luxtella@company100.net>
  10182. Coordinated Graphics: Make CoordinatedGraphicsScene not know contents size.
  10183. https://bugs.webkit.org/show_bug.cgi?id=108922
  10184. Reviewed by Noam Rosenthal.
  10185. Signed off for WebKit2 by Benjamin Poulain.
  10186. Currently, CoordinatedGraphicsScene has two methods to know contents
  10187. size: setContentsSize() and setVisibleContentsRect(). Contents size is
  10188. used when adjusting a scroll position, but adjustment is not needed
  10189. because EFL and Qt platform code (currently PageViewportController)
  10190. already adjusts a scroll position, and it is natural for each platform
  10191. to be in charge of adjusting. So this patch makes CoordinatedGraphicsScene
  10192. not know contents size.
  10193. In addition, now DrawingAreaProxy::coordinatedLayerTreeHostProxy() is only used
  10194. to get CoordinatedGraphicsScene.
  10195. * UIProcess/API/qt/qquickwebpage.cpp:
  10196. (QQuickWebPagePrivate::updateSize):
  10197. * UIProcess/API/qt/raw/qrawwebview.cpp:
  10198. (QRawWebView::setSize):
  10199. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
  10200. (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
  10201. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  10202. (CoordinatedLayerTreeHostProxy):
  10203. * UIProcess/efl/PageClientLegacyImpl.cpp:
  10204. (WebKit::PageClientLegacyImpl::didChangeContentsSize):
  10205. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  10206. (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
  10207. 2013-02-11 Huang Dongsung <luxtella@company100.net>
  10208. Coordinated Graphics: remove the DidChangeScrollPosition message.
  10209. https://bugs.webkit.org/show_bug.cgi?id=108051
  10210. Reviewed by Noam Rosenthal.
  10211. Signed off for WebKit2 by Benjamin Poulain.
  10212. Currently, we use the DidChangeScrollPosition message to send the scroll
  10213. position that WebCore used in this frame to UI Process. We had to have
  10214. some member variables for the DidChangeScrollPosition message.
  10215. However, we can send a scroll position via the DidRenderFrame message,
  10216. because CoordinatedGraphicsScene::m_renderedContentsScrollPosition is
  10217. updated at the moment of flushing. So we can remove the
  10218. DidChangeScrollPosition message and some redundant member variables.
  10219. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
  10220. (WebKit::CoordinatedLayerTreeHostProxy::didRenderFrame):
  10221. (WebKit):
  10222. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  10223. (CoordinatedLayerTreeHostProxy):
  10224. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
  10225. Remove the DidChangeScrollPosition message.
  10226. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  10227. (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
  10228. (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
  10229. Send a scroll position via the DidChangeScrollPosition message.
  10230. (WebKit::CoordinatedLayerTreeHost::syncLayerState):
  10231. Don't send a scroll position because flushPendingLayerChanges() does
  10232. that. In addition, it is weird to check if we must send a scroll
  10233. position at the moment of sending the SyncLayerState message of every
  10234. layers.
  10235. (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
  10236. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  10237. 2013-02-11 Ryosuke Niwa <rniwa@webkit.org>
  10238. Disable delete button controller on non-Mac ports and delete EditorClient::shouldShowDeleteInterface
  10239. https://bugs.webkit.org/show_bug.cgi?id=109534
  10240. Reviewed by Anders Carlsson.
  10241. * WebProcess/WebCoreSupport/WebEditorClient.cpp:
  10242. (WebKit):
  10243. * WebProcess/WebCoreSupport/WebEditorClient.h:
  10244. 2013-02-11 Jae Hyun Park <jae.park@company100.net>
  10245. [EFL] Build fix
  10246. https://bugs.webkit.org/show_bug.cgi?id=109518
  10247. Reviewed by Laszlo Gombos.
  10248. Fix EFL build by including PluginProcessConnectionManager.messages.in in
  10249. CMakeLists.txt
  10250. * CMakeLists.txt:
  10251. 2013-02-11 Anders Carlsson <andersca@apple.com>
  10252. Fix build.
  10253. * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
  10254. (WebKit::PluginProcessConnectionManager::didReceiveMessageOnConnectionWorkQueue):
  10255. * WebProcess/WebProcess.cpp:
  10256. 2013-02-11 Seulgi Kim <seulgikim@company100.net>
  10257. [GTK] Build fix.
  10258. https://bugs.webkit.org/show_bug.cgi?id=109516
  10259. Reviewed by Csaba Osztrogonác.
  10260. PluginProcessConnectionManagerMessages are omitted from messages list.
  10261. * GNUmakefile.list.am:
  10262. 2013-02-11 Tim Horton <timothy_horton@apple.com>
  10263. [WK2] setMinimumLayoutWidth should bail if there's no WebProcess
  10264. https://bugs.webkit.org/show_bug.cgi?id=109512
  10265. <rdar://problem/13093627>
  10266. Reviewed by Anders Carlsson.
  10267. * UIProcess/WebPageProxy.cpp:
  10268. (WebKit::WebPageProxy::setMinimumLayoutWidth):
  10269. 2013-02-11 Anders Carlsson <andersca@apple.com>
  10270. PluginProcessConnectionManager should be a QueueClient
  10271. https://bugs.webkit.org/show_bug.cgi?id=109496
  10272. Reviewed by Andreas Kling.
  10273. * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
  10274. (WebKit::PluginProcessConnectionManager::didReceiveMessageOnConnectionWorkQueue):
  10275. (WebKit):
  10276. (WebKit::PluginProcessConnectionManager::didCloseOnConnectionWorkQueue):
  10277. * WebProcess/Plugins/PluginProcessConnectionManager.h:
  10278. (PluginProcessConnectionManager):
  10279. * WebProcess/WebProcess.cpp:
  10280. (WebKit::WebProcess::initializeConnection):
  10281. * WebProcess/WebProcess.h:
  10282. (WebProcess):
  10283. 2013-02-11 Csaba Osztrogonác <ossy@webkit.org>
  10284. Unreviewed WK2 buildfix after r142518.
  10285. * DerivedSources.pri:
  10286. 2013-02-11 Gavin Barraclough <barraclough@apple.com>
  10287. PluginProcess should quit immediately if idle in response to low-memory notifications
  10288. https://bugs.webkit.org/show_bug.cgi?id=109103
  10289. <rdar://problem/12679827>
  10290. Reviewed by Brady Eidson.
  10291. PluginProcess now installs a MemoryPressureHandler for the process, providing
  10292. a custom callback which will call terminate if appropriate (if the plugin is not
  10293. currently in use).
  10294. * PluginProcess/PluginProcess.cpp:
  10295. (WebKit::PluginProcess::lowMemoryHandler):
  10296. - Custom callback to terminate if appropriate.
  10297. (WebKit::PluginProcess::initializeProcess):
  10298. - Install the MemoryPressureHandler.
  10299. (WebKit::PluginProcess::shouldTerminate):
  10300. - This method now also needs to be callable in situations where it might return false.
  10301. * PluginProcess/PluginProcess.h:
  10302. (PluginProcess):
  10303. - Added declaration for lowMemoryHandler.
  10304. 2013-02-11 Anders Carlsson <andersca@apple.com>
  10305. Move the PluginProcessCrashed message to PluginProcessConnectionManager
  10306. https://bugs.webkit.org/show_bug.cgi?id=109493
  10307. Reviewed by Andreas Kling.
  10308. This is in preparation for making PluginProcessConnectionManager a connection queue client.
  10309. * DerivedSources.make:
  10310. * UIProcess/Plugins/PluginProcessProxy.cpp:
  10311. (WebKit::PluginProcessProxy::didClose):
  10312. * WebKit2.xcodeproj/project.pbxproj:
  10313. * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
  10314. (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
  10315. * WebProcess/Plugins/PluginProcessConnectionManager.h:
  10316. (PluginProcessConnectionManager):
  10317. * WebProcess/Plugins/PluginProcessConnectionManager.messages.in: Added.
  10318. * WebProcess/WebProcess.cpp:
  10319. (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
  10320. (WebKit::WebProcess::webResourceLoadScheduler):
  10321. * WebProcess/WebProcess.h:
  10322. (WebProcess):
  10323. * WebProcess/WebProcess.messages.in:
  10324. 2013-02-11 Benjamin Poulain <benjamin@webkit.org>
  10325. Kill TestRunner::setMinimumTimerInterval; implement the feature with InternalSettings
  10326. https://bugs.webkit.org/show_bug.cgi?id=109349
  10327. Reviewed by Sam Weinig.
  10328. * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
  10329. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  10330. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  10331. * WebProcess/InjectedBundle/InjectedBundle.h:
  10332. (InjectedBundle):
  10333. 2013-02-11 Dean Jackson <dino@apple.com>
  10334. Snapshotted plug-in should use shadow root
  10335. https://bugs.webkit.org/show_bug.cgi?id=108284
  10336. Reviewed by Simon Fraser.
  10337. Take three of this commit - after rollout in r142400 and r142405.
  10338. We no longer have any need for plugInStartLabelImage.
  10339. * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
  10340. * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Ditto.
  10341. * WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
  10342. * WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
  10343. 2013-02-11 Anders Carlsson <andersca@apple.com>
  10344. The plug-in process connection manager doesn't need to be heap allocated
  10345. https://bugs.webkit.org/show_bug.cgi?id=109479
  10346. Reviewed by Andreas Kling.
  10347. * WebProcess/WebProcess.cpp:
  10348. (WebKit::WebProcess::WebProcess):
  10349. (WebKit::WebProcess::pluginProcessConnectionManager):
  10350. (WebKit::WebProcess::pluginProcessCrashed):
  10351. * WebProcess/WebProcess.h:
  10352. (WebKit):
  10353. (WebProcess):
  10354. 2013-02-11 Tony Chang <tony@chromium.org>
  10355. Move setFrameFlatteningEnabled from layoutTestController to window.internals.settings
  10356. https://bugs.webkit.org/show_bug.cgi?id=87149
  10357. Reviewed by Simon Fraser.
  10358. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  10359. (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Add setFrameFlatteningEnabled to the list of overridable values.
  10360. 2013-02-11 Claudio Saavedra <csaavedra@igalia.com>
  10361. [WK2][Notifications] Missing early return in populateCopyOfNotificationPermissions
  10362. https://bugs.webkit.org/show_bug.cgi?id=108459
  10363. Reviewed by Alexey Proskuryakov.
  10364. * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
  10365. (WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions):
  10366. Providers might return 0 and we will end up with a null-pointer dereference.
  10367. Early check against this.
  10368. 2013-02-10 Sam Weinig <sam@webkit.org>
  10369. Make the Plug-in XPCService build work even when building in Xcode
  10370. <rdar://problem/13011186>
  10371. https://bugs.webkit.org/show_bug.cgi?id=109392
  10372. Reviewed by Anders Carlsson.
  10373. * Configurations/DebugRelease.xcconfig:
  10374. Add a DEBUG_OR_RELEASE variable to test against.
  10375. * Configurations/PluginService.32.xcconfig:
  10376. * Configurations/PluginService.64.xcconfig:
  10377. In non-production builds, don't link against WebKit2, so that we don't get warnings about WebKit2.framework
  10378. not containing the right architectures. This is ok, as these services are not used in non-production builds.
  10379. * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
  10380. * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm:
  10381. * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist:
  10382. * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm:
  10383. * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist:
  10384. * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm:
  10385. * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist:
  10386. * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm:
  10387. * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
  10388. * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm:
  10389. * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
  10390. * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm:
  10391. * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
  10392. * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm:
  10393. Switch off the the old idiom of defining a macro for the initializer function, and instead set
  10394. it in the Info.plist, so the XPCServiceBootstrapper can grab it.
  10395. * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h:
  10396. (WebKit::XPCServiceEventHandler):
  10397. * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h:
  10398. (WebKit::XPCServiceEventHandler):
  10399. Get the entry point from the bundle, rather than the macro. This is not only a bit less gross,
  10400. but also allows us to build without having linked against WebKit2.framework.
  10401. * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
  10402. (WebKit::shouldUseXPC):
  10403. Re-enable using XPC for plug-ins.
  10404. * WebKit2.xcodeproj/project.pbxproj:
  10405. Update project.
  10406. 2013-02-10 Anders Carlsson <andersca@apple.com>
  10407. Add back code that was accidentally removed when moving plug-in enumeration back to the main thread
  10408. https://bugs.webkit.org/show_bug.cgi?id=109379
  10409. Reviewed by Andreas Kling.
  10410. * UIProcess/WebProcessProxy.cpp:
  10411. (WebKit::WebProcessProxy::getPlugins):
  10412. 2013-02-10 Kent Tamura <tkent@chromium.org>
  10413. Unreviewed, rolling out r142347.
  10414. http://trac.webkit.org/changeset/142347
  10415. https://bugs.webkit.org/show_bug.cgi?id=108273
  10416. Because a depending change r142343 was rolled out.
  10417. * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  10418. * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
  10419. (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
  10420. (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
  10421. 2013-02-10 Kent Tamura <tkent@chromium.org>
  10422. Unreviewed, rolling out r142343.
  10423. http://trac.webkit.org/changeset/142343
  10424. https://bugs.webkit.org/show_bug.cgi?id=108284
  10425. It might make inspector/profiler/selector-profiler-url.html
  10426. crashy.
  10427. * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
  10428. (WebKit::InjectedBundlePageUIClient::plugInStartLabelImage):
  10429. (WebKit):
  10430. * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
  10431. (InjectedBundlePageUIClient):
  10432. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  10433. (WebKit::WebChromeClient::plugInStartLabelImage):
  10434. (WebKit):
  10435. * WebProcess/WebCoreSupport/WebChromeClient.h:
  10436. (WebChromeClient):
  10437. 2013-02-10 Zan Dobersek <zdobersek@igalia.com>
  10438. [WebKit2][Gtk] Remove the fullscreen manager proxy message receiver upon invalidating
  10439. https://bugs.webkit.org/show_bug.cgi?id=109352
  10440. Reviewed by Sam Weinig.
  10441. As added for the Mac port in r142160 due to the changes in the same revision, remove
  10442. the fullscreen manager proxy as a message receiver. Also fixes a failing unit test.
  10443. * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
  10444. (WebKit::WebFullScreenManagerProxy::invalidate):
  10445. 2013-02-10 Zoltan Arvai <zarvai@inf.u-szeged.hu>
  10446. [WK2] Fix build on PLUGIN_ARCHITECTURE(UNSUPPORTED) after r142314
  10447. https://bugs.webkit.org/show_bug.cgi?id=109364
  10448. Reviewed by Simon Hausmann.
  10449. void NetscapePlugin::platformPreInitialize() is need to be added to NetscapePluginNone.cpp.
  10450. * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
  10451. (WebKit::NetscapePlugin::platformPreInitialize):
  10452. (WebKit):
  10453. 2013-02-09 Sheriff Bot <webkit.review.bot@gmail.com>
  10454. Unreviewed, rolling out r137328.
  10455. http://trac.webkit.org/changeset/137328
  10456. https://bugs.webkit.org/show_bug.cgi?id=109367
  10457. causes memory usage to balloon if connection queue is filling
  10458. faster than sending (Requested by kling on #webkit).
  10459. * Platform/CoreIPC/ArgumentEncoder.cpp:
  10460. (CoreIPC::ArgumentEncoder::ArgumentEncoder):
  10461. (CoreIPC::ArgumentEncoder::grow):
  10462. * Platform/CoreIPC/ArgumentEncoder.h:
  10463. (CoreIPC::ArgumentEncoder::buffer):
  10464. (ArgumentEncoder):
  10465. 2013-02-08 Sam Weinig <sam@webkit.org>
  10466. Fix ASSERT when the Web Content Process crashes
  10467. https://bugs.webkit.org/show_bug.cgi?id=109346
  10468. Reviewed by Simon Fraser.
  10469. * UIProcess/WebPageProxy.cpp:
  10470. (WebKit::WebPageProxy::processDidCrash):
  10471. We need to remove ourselves as a message receiver before calling out to the client, as
  10472. the client might want to re-add us (as Safari does).
  10473. 2013-02-08 Benjamin Poulain <bpoulain@apple.com>
  10474. Move workerThreadCount from TestRunner to WebCore Internals
  10475. https://bugs.webkit.org/show_bug.cgi?id=109239
  10476. Reviewed by Darin Adler.
  10477. * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
  10478. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  10479. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  10480. * WebProcess/InjectedBundle/InjectedBundle.h:
  10481. (InjectedBundle):
  10482. * WebProcess/WebPage/WebFrame.cpp: Remove a useless #include.
  10483. 2013-02-08 Dean Jackson <dino@apple.com>
  10484. Remove use of plugInStartLabelImage
  10485. https://bugs.webkit.org/show_bug.cgi?id=108273
  10486. Reviewed by Simon Fraser.
  10487. Remove any use of plugInStartLabelImage. While there, implement plugInStartLabelTitle
  10488. and plugInStartLabelSubtitle to return the values from the client.
  10489. implement them.
  10490. * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Remove callback and entry from client structure.
  10491. * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
  10492. (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle): Ask the client bundle for value.
  10493. (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle): Ditto.
  10494. 2013-02-08 Dean Jackson <dino@apple.com>
  10495. Snapshotted plug-in should use shadow root
  10496. https://bugs.webkit.org/show_bug.cgi?id=108284
  10497. Reviewed by Simon Fraser.
  10498. Take two of this commit! We no longer have any need for plugInStartLabelImage.
  10499. * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
  10500. * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Ditto.
  10501. * WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
  10502. * WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
  10503. 2013-02-08 Dean Jackson <dino@apple.com>
  10504. Rolling out r142333 and r142337 which broke Mac Release builds.
  10505. 2013-02-08 Anders Carlsson <andersca@apple.com>
  10506. Move plug-in enumeration back to the main thread
  10507. https://bugs.webkit.org/show_bug.cgi?id=109337
  10508. <rdar://problem/12015046>
  10509. Reviewed by Andreas Kling.
  10510. Plug-in enumeration was moved to a separate work queue to improve responsiveness, but
  10511. doing so lead to crashes when WebKit1 would enumerate plug-ins on the main thread at the same time.
  10512. Bug <rdar://problem/13185819> tracks fixing the responsiveness issue by spawning a plug-in process
  10513. and have it do the enumeration.
  10514. * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
  10515. (WebKit::getPluginInfoFromCarbonResources):
  10516. * UIProcess/WebProcessProxy.cpp:
  10517. (WebKit::WebProcessProxy::connectionWillOpen):
  10518. (WebKit::WebProcessProxy::connectionWillClose):
  10519. (WebKit::WebProcessProxy::getPlugins):
  10520. * UIProcess/WebProcessProxy.h:
  10521. (WebCore):
  10522. (WebProcessProxy):
  10523. * UIProcess/WebProcessProxy.messages.in:
  10524. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  10525. (WebKit):
  10526. (WebKit::WebPlatformStrategies::populatePluginCache):
  10527. * WebProcess/WebProcess.cpp:
  10528. * WebProcess/WebProcess.h:
  10529. (WebProcess):
  10530. * WebProcess/WebProcess.messages.in:
  10531. 2013-02-08 Dean Jackson <dino@apple.com>
  10532. Snapshotted plug-in should use shadow root
  10533. https://bugs.webkit.org/show_bug.cgi?id=108284
  10534. Reviewed by Simon Fraser.
  10535. We no longer have any need for plugInStartLabelImage.
  10536. * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
  10537. * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Ditto.
  10538. * WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
  10539. * WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
  10540. 2013-02-08 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
  10541. [WK2] Fix the build on !Mac after r142314.
  10542. https://bugs.webkit.org/show_bug.cgi?id=109327
  10543. Reviewed by Benjamin Poulain.
  10544. * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
  10545. (WebKit::NetscapePlugin::platformPreInitialize): Add a stub for
  10546. the newly-added function.
  10547. * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
  10548. (WebKit::NetscapePlugin::platformPreInitialize):
  10549. (WebKit):
  10550. 2013-02-07 Anders Carlsson <andersca@apple.com>
  10551. Work around a bug in Flash where NSException objects can be released too early
  10552. https://bugs.webkit.org/show_bug.cgi?id=109242
  10553. <rdar://problem/13003470>
  10554. Reviewed by Darin Adler.
  10555. * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
  10556. (WebKit::NetscapePluginModule::determineQuirks):
  10557. Set the new plug-in quirk.
  10558. * Shared/Plugins/PluginQuirks.h:
  10559. Add a new plug-in quirk.
  10560. * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
  10561. (WebKit::NetscapePlugin::initialize):
  10562. Call platformPreInitialize.
  10563. * WebProcess/Plugins/Netscape/NetscapePlugin.h:
  10564. (NetscapePlugin):
  10565. Add platformPreInitialize.
  10566. * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
  10567. (WebKit::NSException_release):
  10568. Add new empty function.
  10569. (WebKit::NetscapePlugin::platformPreInitialize):
  10570. Patch -[NSException release] to be a no-op.
  10571. 2013-02-08 Dean Jackson <dino@apple.com>
  10572. Do not register autostart for plugins from file:// (or nowhere)
  10573. https://bugs.webkit.org/show_bug.cgi?id=108271
  10574. Reviewed by Tim Horton.
  10575. If the pageOrigin is the empty string don't add
  10576. it to the auto-start origin list for snapshotting.
  10577. * WebProcess/WebProcess.cpp:
  10578. (WebKit::WebProcess::addPlugInAutoStartOrigin):
  10579. 2013-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
  10580. Unreviewed, rolling out r142212.
  10581. http://trac.webkit.org/changeset/142212
  10582. https://bugs.webkit.org/show_bug.cgi?id=109255
  10583. Causes ASSERT(!m_installed) on launch (Requested by smfr on
  10584. #webkit).
  10585. * PluginProcess/PluginProcess.cpp:
  10586. (WebKit::PluginProcess::initializeProcess):
  10587. (WebKit::PluginProcess::shouldTerminate):
  10588. * PluginProcess/PluginProcess.h:
  10589. (PluginProcess):
  10590. * WebProcess/WebProcess.cpp:
  10591. (WebKit::WebProcess::initializeWebProcess):
  10592. 2013-02-07 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  10593. [EFL][WK2] Remove dead code after r142169
  10594. https://bugs.webkit.org/show_bug.cgi?id=109251
  10595. Reviewed by Benjamin Poulain.
  10596. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  10597. (WebKit::WebChromeClient::contentsSizeChanged):
  10598. 2013-02-06 Gavin Barraclough <barraclough@apple.com>
  10599. PluginProcess should quit immediately if idle in response to low-memory notifications
  10600. https://bugs.webkit.org/show_bug.cgi?id=109103
  10601. <rdar://problem/12679827>
  10602. Reviewed by Darin Adler.
  10603. PluginProcess now initializes a MemoryPressureHandler for the process, providing
  10604. a custom callback which will call terminate if appropriate (if the plugin is not
  10605. currently in use).
  10606. * PluginProcess/PluginProcess.cpp:
  10607. (WebKit::PluginProcess::lowMemoryHandler):
  10608. - Custom callback to terminate if appropriate.
  10609. (WebKit::PluginProcess::initializeProcess):
  10610. - Initialize the MemoryPressureHandler.
  10611. (WebKit::PluginProcess::shouldTerminate):
  10612. - This method now also needs to be callable in situations where it might return false.
  10613. * PluginProcess/PluginProcess.h:
  10614. (PluginProcess):
  10615. - Added declaration for lowMemoryHandler.
  10616. * WebProcess/WebProcess.cpp:
  10617. (WebKit::WebProcess::initializeWebProcess):
  10618. - MemoryPressureHandler::install is now called via MemoryPressureHandler::initialize.
  10619. 2013-02-07 KwangYong Choi <ky0.choi@samsung.com>
  10620. Fix build warning after r142017
  10621. https://bugs.webkit.org/show_bug.cgi?id=109119
  10622. Reviewed by Alexey Proskuryakov.
  10623. Use UNUSED_PARAM macro to fix -Wunused-parameter build warning.
  10624. * UIProcess/WebPageProxy.cpp:
  10625. (WebKit::WebPageProxy::getPluginPath):
  10626. 2013-02-07 Martin Robinson <mrobinson@igalia.com>
  10627. [GTK] Cleanup command-line defines
  10628. https://bugs.webkit.org/show_bug.cgi?id=109213
  10629. Reviewed by Xan Lopez.
  10630. * GNUmakefile.am: Remove references to flags that are now
  10631. provided by autotoolsconfig.h.
  10632. 2013-02-07 Benjamin Poulain <bpoulain@apple.com>
  10633. Move pauseAnimation/pauseTransition from TestRunner to Internals
  10634. https://bugs.webkit.org/show_bug.cgi?id=109107
  10635. Reviewed by Anders Carlsson.
  10636. * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
  10637. * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
  10638. * WebProcess/WebPage/WebFrame.cpp:
  10639. * WebProcess/WebPage/WebFrame.h:
  10640. (WebFrame):
  10641. 2013-02-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  10642. [WK2][EFL] Removal of non coordinated graphics code path from WK2 EFL
  10643. https://bugs.webkit.org/show_bug.cgi?id=109165
  10644. Reviewed by Anders Carlsson.
  10645. Removed non coordinated graphics code path from WK2 EFL as it was not used by
  10646. anyone and caused a lot of preprocessor macros in the code making it less readable.
  10647. * UIProcess/API/efl/EvasGLContext.cpp:
  10648. * UIProcess/API/efl/EvasGLContext.h:
  10649. (WebKit::EvasGLContext::context):
  10650. * UIProcess/API/efl/EvasGLSurface.cpp:
  10651. * UIProcess/API/efl/EvasGLSurface.h:
  10652. (WebKit::EvasGLSurface::surface):
  10653. Removed also 'inline' and 'const' keywords from functions declaration,
  10654. as both EvasGLContext::context() and EvasGLSurface::surface()
  10655. are defined inside their classes and return mutable pointer.
  10656. * UIProcess/API/efl/EwkView.cpp:
  10657. (EwkView::EwkView):
  10658. (EwkView::transformFromScene):
  10659. (EwkView::transformToScreen):
  10660. (EwkView::coordinatedGraphicsScene):
  10661. (EwkView::displayTimerFired):
  10662. (EwkView::scheduleUpdateDisplay): Renamed from EwkView::update().
  10663. (EwkView::exitAcceleratedCompositingMode):
  10664. (EwkView::handleEvasObjectCalculate):
  10665. (EwkView::takeSnapshot):
  10666. * UIProcess/API/efl/EwkView.h:
  10667. (WebCore):
  10668. (EwkView):
  10669. * UIProcess/API/efl/SnapshotImageGL.cpp:
  10670. (getImageSurfaceFromFrameBuffer):
  10671. * UIProcess/API/efl/SnapshotImageGL.h:
  10672. * UIProcess/API/efl/ewk_view.cpp:
  10673. * UIProcess/efl/PageClientBase.cpp:
  10674. (WebKit::PageClientBase::setViewNeedsDisplay):
  10675. (WebKit::PageClientBase::updateAcceleratedCompositingMode):
  10676. * UIProcess/efl/PageClientBase.h:
  10677. (PageClientBase):
  10678. * UIProcess/efl/PageClientDefaultImpl.cpp:
  10679. (WebKit::PageClientDefaultImpl::didCommitLoad):
  10680. (WebKit::PageClientDefaultImpl::updateViewportSize):
  10681. (WebKit::PageClientDefaultImpl::didChangeViewportProperties):
  10682. (WebKit::PageClientDefaultImpl::didChangeContentsSize):
  10683. (WebKit::PageClientDefaultImpl::pageTransitionViewportReady):
  10684. * UIProcess/efl/PageClientDefaultImpl.h:
  10685. (PageClientDefaultImpl):
  10686. * UIProcess/efl/PageClientLegacyImpl.cpp:
  10687. (WebKit::PageClientLegacyImpl::didCommitLoad):
  10688. (WebKit::PageClientLegacyImpl::updateViewportSize):
  10689. (WebKit::PageClientLegacyImpl::didChangeViewportProperties):
  10690. (WebKit::PageClientLegacyImpl::didChangeContentsSize):
  10691. (WebKit::PageClientLegacyImpl::pageDidRequestScroll):
  10692. (WebKit::PageClientLegacyImpl::didRenderFrame):
  10693. (WebKit::PageClientLegacyImpl::pageTransitionViewportReady):
  10694. * UIProcess/efl/PageClientLegacyImpl.h:
  10695. (PageClientLegacyImpl):
  10696. * UIProcess/efl/PageLoadClientEfl.cpp:
  10697. (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
  10698. (WebKit::PageLoadClientEfl::PageLoadClientEfl):
  10699. * UIProcess/efl/PageLoadClientEfl.h:
  10700. (PageLoadClientEfl):
  10701. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  10702. (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
  10703. (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
  10704. * UIProcess/efl/PageViewportControllerClientEfl.h:
  10705. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  10706. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  10707. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  10708. (WebKit::WebChromeClient::contentsSizeChanged):
  10709. 2013-02-06 Sam Weinig <sam@webkit.org>
  10710. Make WebPageProxy and sub-objects MessageReceivers
  10711. https://bugs.webkit.org/show_bug.cgi?id=108785
  10712. Reviewed by Anders Carlsson.
  10713. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
  10714. (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
  10715. (WebKit::CoordinatedLayerTreeHostProxy::~CoordinatedLayerTreeHostProxy):
  10716. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  10717. (CoordinatedLayerTreeHostProxy):
  10718. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
  10719. * UIProcess/DrawingAreaProxy.cpp:
  10720. (WebKit::DrawingAreaProxy::DrawingAreaProxy):
  10721. (WebKit::DrawingAreaProxy::~DrawingAreaProxy):
  10722. (WebKit::DrawingAreaProxy::contentsRect):
  10723. * UIProcess/DrawingAreaProxy.h:
  10724. (WebKit::DrawingAreaProxy::setVisibleContentsRect):
  10725. * UIProcess/DrawingAreaProxy.messages.in:
  10726. * UIProcess/DrawingAreaProxyImpl.cpp:
  10727. (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
  10728. * UIProcess/DrawingAreaProxyImpl.h:
  10729. * UIProcess/WebFullScreenManagerProxy.cpp:
  10730. (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
  10731. * UIProcess/WebFullScreenManagerProxy.h:
  10732. (WebFullScreenManagerProxy):
  10733. * UIProcess/WebFullScreenManagerProxy.messages.in:
  10734. * UIProcess/WebInspectorProxy.cpp:
  10735. (WebKit::WebInspectorProxy::WebInspectorProxy):
  10736. (WebKit::WebInspectorProxy::invalidate):
  10737. * UIProcess/WebInspectorProxy.h:
  10738. * UIProcess/WebInspectorProxy.messages.in:
  10739. * UIProcess/WebPageProxy.cpp:
  10740. (WebKit::WebPageProxy::WebPageProxy):
  10741. (WebKit::WebPageProxy::reattachToWebProcess):
  10742. (WebKit::WebPageProxy::close):
  10743. (WebKit::WebPageProxy::inspector):
  10744. (WebKit::WebPageProxy::fullScreenManager):
  10745. (WebKit::WebPageProxy::processDidCrash):
  10746. * UIProcess/WebPageProxy.h:
  10747. * UIProcess/WebPageProxy.messages.in:
  10748. * UIProcess/WebProcessProxy.cpp:
  10749. (WebKit::WebProcessProxy::didReceiveMessage):
  10750. (WebKit::WebProcessProxy::didReceiveSyncMessage):
  10751. * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
  10752. (WebKit::WebFullScreenManagerProxy::invalidate):
  10753. 2013-02-07 Zan Dobersek <zdobersek@igalia.com>
  10754. [Autotools] Remove uses of Automake FARSTREAM_(CFLAGS|LIBS) variables, USE_FARSTREAM conditional
  10755. https://bugs.webkit.org/show_bug.cgi?id=109198
  10756. Reviewed by Martin Robinson.
  10757. * GNUmakefile.am: Remove the FARSTREAM_(CFLAGS|LIBS) variables, they're
  10758. not set to anything.
  10759. 2013-02-07 Kenneth Rohde Christiansen <kenneth@webkit.org>
  10760. [WK2][EFL] Add WKView methods related to background drawing
  10761. https://bugs.webkit.org/show_bug.cgi?id=109159
  10762. Reviewed by Anders Carlsson.
  10763. * UIProcess/API/C/efl/WKView.cpp:
  10764. (WKViewSetDrawsBackground):
  10765. (WKViewGetDrawsBackground):
  10766. (WKViewSetDrawsTransparentBackground):
  10767. (WKViewGetDrawsTransparentBackground):
  10768. * UIProcess/efl/WebView.cpp:
  10769. (WebKit::WebView::setDrawsBackground):
  10770. (WebKit):
  10771. (WebKit::WebView::drawsBackground):
  10772. (WebKit::WebView::setDrawsTransparentBackground):
  10773. (WebKit::WebView::drawsTransparentBackground):
  10774. * UIProcess/efl/WebView.h:
  10775. (WebView):
  10776. * UIProcess/API/C/efl/WKView.h:
  10777. New methods added
  10778. * UIProcess/API/efl/EwkView.cpp:
  10779. (EwkView::EwkView):
  10780. (EwkView::displayTimerFired):
  10781. (EwkView::handleEvasObjectColorSet):
  10782. * UIProcess/API/efl/EwkView.h:
  10783. (EwkView):
  10784. * UIProcess/API/efl/ewk_view.cpp:
  10785. (ewk_view_draws_page_background_set):
  10786. Remove the unneeded m_setDrawsBackground and replace
  10787. it with the WKView setting.
  10788. 2013-02-07 Christophe Dumez <dchris@gmail.com>
  10789. [EFL][WK2] EWK2UnitTestBase.ewk_view_page_contents_get API test is sometimes failing
  10790. https://bugs.webkit.org/show_bug.cgi?id=108634
  10791. Reviewed by Alexey Proskuryakov.
  10792. Use more robust data validation in EWK2UnitTestBase.ewk_view_page_contents_get
  10793. so that the test passes consistently. The issue was that the header before the
  10794. data includes the current date. Depending on the date, the data may start at a
  10795. different index in the returned string. Instead of hardcoding the data start
  10796. index in the test, we now use String::contains().
  10797. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  10798. (PageContentsCallback):
  10799. (TEST_F):
  10800. 2013-02-07 Gavin Peters <gavinp@chromium.org>
  10801. Unreviewed, rolling out r142141.
  10802. http://trac.webkit.org/changeset/142141
  10803. https://bugs.webkit.org/show_bug.cgi?id=108990
  10804. Reland r142112, will update Chromium expectations and create a
  10805. Chromium bug instead for the crash.
  10806. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  10807. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  10808. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  10809. (WebKit::DrawingAreaImpl::DrawingAreaImpl):
  10810. 2013-02-07 Gavin Peters <gavinp@chromium.org>
  10811. Unreviewed, rolling out r142112.
  10812. http://trac.webkit.org/changeset/142112
  10813. https://bugs.webkit.org/show_bug.cgi?id=108990
  10814. The new test scrollingcoordinator/non-fast-scrollable-region-transformed- iframe.html crashes on Lion.
  10815. See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=scrollingcoordinator%2Fnon-fast-scrollable-region-transformed-iframe.html
  10816. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  10817. (WebKit::updateOffsetFromViewportForSelf):
  10818. (WebKit):
  10819. (WebKit::updateOffsetFromViewportForLayer):
  10820. (WebKit::CoordinatedLayerTreeHost::syncFixedLayers):
  10821. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  10822. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  10823. (WebKit::DrawingAreaImpl::DrawingAreaImpl):
  10824. 2013-02-07 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
  10825. [CoordinatedGraphics] Use ScrollingCoordinator to track fixed layers
  10826. https://bugs.webkit.org/show_bug.cgi?id=108990
  10827. Reviewed by Noam Rosenthal.
  10828. Signed off for WebKit2 by Simon Fraser.
  10829. WebCore keeps ScrollingCoordinator up-to-date about whether layers are fixed or not, so we
  10830. don't need to traverse the tree every frame to get this information.
  10831. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: remove
  10832. syncFixedLayers() and its helper functions. Those were used to identify the fixed layers
  10833. and are not needed anymore.
  10834. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  10835. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  10836. (WebKit::DrawingAreaImpl::DrawingAreaImpl): enable the scrolling coordinator usage for
  10837. Coordinated Graphics.
  10838. 2013-02-07 Michael Brüning <michael.bruning@digia.com>
  10839. [Qt][WK2] Fold QtWebPageLoadClient into QQuickWebViewPrivate and move to C API.
  10840. https://bugs.webkit.org/show_bug.cgi?id=108473
  10841. Reviewed by Simon Hausmann.
  10842. Signed off for WebKit2 by Benjamin Poulain.
  10843. This patch removes the QtWebPageLoadClient and moves the functionality into the
  10844. QQuickWebViewPrivate as most callback methods are calling the private webview
  10845. indirectly anyway.
  10846. The patch also moves as much of the functionality to the C API as is possible with
  10847. the current C API.
  10848. * Target.pri:
  10849. * UIProcess/API/qt/qquickwebview.cpp:
  10850. (QQuickWebViewPrivate::initialize):
  10851. (QQuickWebViewPrivate::didStartProvisionalLoadForFrame):
  10852. (QQuickWebViewPrivate::didReceiveServerRedirectForProvisionalLoadForFrame):
  10853. (QQuickWebViewPrivate::didFailLoad):
  10854. (QQuickWebViewPrivate::didCommitLoadForFrame):
  10855. (QQuickWebViewPrivate::didFinishLoadForFrame):
  10856. (QQuickWebViewPrivate::didSameDocumentNavigationForFrame):
  10857. (QQuickWebViewPrivate::didReceiveTitleForFrame):
  10858. (QQuickWebViewPrivate::didStartProgress):
  10859. (QQuickWebViewPrivate::didChangeProgress):
  10860. (QQuickWebViewPrivate::didFinishProgress):
  10861. (QQuickWebViewPrivate::didChangeBackForwardList):
  10862. (QQuickWebViewPrivate::setTransparentBackground):
  10863. (QQuickWebViewPrivate::transparentBackground):
  10864. (QQuickWebViewPrivate::loadProgressDidChange):
  10865. * UIProcess/API/qt/qquickwebview_p.h:
  10866. (WebKit):
  10867. * UIProcess/API/qt/qquickwebview_p_p.h:
  10868. (WebKit):
  10869. (QQuickWebViewPrivate):
  10870. * UIProcess/qt/QtWebError.cpp:
  10871. (WebKit::QtWebError::url):
  10872. * UIProcess/qt/QtWebPageLoadClient.cpp: Removed.
  10873. * UIProcess/qt/QtWebPageLoadClient.h: Removed.
  10874. 2013-02-05 Eunmi Lee <eunmi15.lee@samsung.com> and Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
  10875. [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
  10876. https://bugs.webkit.org/show_bug.cgi?id=97173
  10877. Reviewed by Kenneth Rohde Christiansen, signed-off by Benjamin Poulain.
  10878. Initialize and shutdown the EFL libraries in the ewk_main.cpp for
  10879. UIProcess and WebProcessMainEfl.cpp for WebProcess.
  10880. This allows us to shut down the libraries in a proper way, since
  10881. RunLoop persist until the process exits.
  10882. * UIProcess/API/efl/ewk_main.cpp:
  10883. (ewk_init):
  10884. (ewk_shutdown):
  10885. * WebProcess/efl/WebProcessMainEfl.cpp:
  10886. (WebKit::WebProcessMainEfl):
  10887. 2013-02-07 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  10888. Unreviewed build fix.
  10889. * UIProcess/Downloads/DownloadProxyMap.cpp:
  10890. (WebKit::DownloadProxyMap::processDidClose):
  10891. m_process can't be initialized nullptr yet. Use 0 instead of nullptr.
  10892. 2013-02-07 Simon Hausmann <simon.hausmann@digia.com>
  10893. [Qt][WK2] Fold QtWebPageFindClient into QQuickWebViewPrivate
  10894. https://bugs.webkit.org/show_bug.cgi?id=108920
  10895. Reviewed by Jocelyn Turcotte, signed off for WK2 by Benjamin.
  10896. Employ the pattern suggested by Jocelyn to simply implement the C
  10897. callbacks directly using static functions.
  10898. * Target.pri:
  10899. * UIProcess/API/qt/qquickwebview.cpp:
  10900. (toQQuickWebViewPrivate):
  10901. (QQuickWebViewPrivate::initialize):
  10902. (QQuickWebViewPrivate::didFindString):
  10903. (QQuickWebViewPrivate::didFailToFindString):
  10904. * UIProcess/API/qt/qquickwebview_p_p.h:
  10905. (QQuickWebViewPrivate):
  10906. * UIProcess/qt/QtWebPageFindClient.cpp: Removed.
  10907. * UIProcess/qt/QtWebPageFindClient.h: Removed.
  10908. 2013-02-03 Sam Weinig <sam@webkit.org>
  10909. Make CustomProtocolManagerProxy a MessageReceiver
  10910. https://bugs.webkit.org/show_bug.cgi?id=108787
  10911. Reviewed by Anders Carlsson.
  10912. * Shared/ChildProcessProxy.cpp:
  10913. (WebKit::ChildProcessProxy::addMessageReceiver):
  10914. (WebKit::ChildProcessProxy::removeMessageReceiver):
  10915. (WebKit::ChildProcessProxy::dispatchMessage):
  10916. (WebKit::ChildProcessProxy::dispatchSyncMessage):
  10917. * Shared/ChildProcessProxy.h:
  10918. Sink the MessageReceiverMap down into the ChildProcessProxy.
  10919. * UIProcess/Downloads/DownloadProxyMap.cpp:
  10920. (WebKit::DownloadProxyMap::DownloadProxyMap):
  10921. (WebKit::DownloadProxyMap::createDownloadProxy):
  10922. (WebKit::DownloadProxyMap::downloadFinished):
  10923. (WebKit::DownloadProxyMap::processDidClose):
  10924. * UIProcess/Downloads/DownloadProxyMap.h:
  10925. Pass the ChildProcessProxy rather than the MessageReceiverMap to the constructor.
  10926. * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
  10927. * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in:
  10928. * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
  10929. (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
  10930. Convert to a MessageReceiver.
  10931. * UIProcess/Network/NetworkProcessProxy.cpp:
  10932. (WebKit::NetworkProcessProxy::createDownloadProxy):
  10933. (WebKit::NetworkProcessProxy::didReceiveMessage):
  10934. (WebKit::NetworkProcessProxy::didReceiveSyncMessage):
  10935. * UIProcess/Network/NetworkProcessProxy.h:
  10936. * UIProcess/WebProcessProxy.cpp:
  10937. (WebKit::WebProcessProxy::didReceiveMessage):
  10938. (WebKit::WebProcessProxy::didReceiveSyncMessage):
  10939. (WebKit::WebProcessProxy::createDownloadProxy):
  10940. * UIProcess/WebProcessProxy.h:
  10941. (WebProcessProxy):
  10942. Remove direct chaining to CustomProtocolManagerProxy.
  10943. 2013-02-06 Enrica Casucci <enrica@apple.com>
  10944. ASSERT(!m_findPageOverlay) in FindController.cpp after r140769.
  10945. https://bugs.webkit.org/show_bug.cgi?id=109105.
  10946. Reviewed by Tim Horton.
  10947. In r140769 we changed the way the overlay is destroyed,
  10948. therefore the assert is no longer valid and should be removed.
  10949. * WebProcess/WebPage/FindController.cpp:
  10950. (WebKit::FindController::updateFindUIAfterPageScroll):
  10951. 2013-02-06 Anders Carlsson <andersca@apple.com>
  10952. Dispatch storage manager messages to the storage work queue
  10953. https://bugs.webkit.org/show_bug.cgi?id=109099
  10954. Reviewed by Andreas Kling.
  10955. * UIProcess/Storage/StorageManager.cpp:
  10956. (WebKit::StorageManager::didReceiveMessageOnConnectionWorkQueue):
  10957. (WebKit::StorageManager::dispatchMessageOnStorageManagerQueue):
  10958. (WebKit):
  10959. * UIProcess/Storage/StorageManager.h:
  10960. (StorageManager):
  10961. 2013-02-06 Anders Carlsson <andersca@apple.com>
  10962. Pass the document source URL to the pluginLoadPolicy callback
  10963. https://bugs.webkit.org/show_bug.cgi?id=109084
  10964. <rdar://problem/13154516>
  10965. Reviewed by Andreas Kling.
  10966. * UIProcess/API/C/WKPage.h:
  10967. * UIProcess/WebPageProxy.cpp:
  10968. (WebKit::WebPageProxy::getPluginPath):
  10969. * UIProcess/WebPageProxy.h:
  10970. (WebPageProxy):
  10971. * UIProcess/WebPageProxy.messages.in:
  10972. * UIProcess/WebUIClient.cpp:
  10973. (WebKit::WebUIClient::pluginLoadPolicy):
  10974. * UIProcess/WebUIClient.h:
  10975. (WebUIClient):
  10976. * WebProcess/WebPage/WebPage.cpp:
  10977. (WebKit::WebPage::createPlugin):
  10978. (WebKit::WebPage::canPluginHandleResponse):
  10979. 2013-02-06 Alexey Proskuryakov <ap@apple.com>
  10980. Get rid of unneeded writeable preferences.
  10981. Reviewed by Anders Carlsson.
  10982. com.apple.HIToolbox.plist and com.apple.WebProcess.plist were made writeable very
  10983. early in WebKit2 development, before we moved a lot of functionality to UI process.
  10984. They don't appear to be needed any more.
  10985. Note that we do not even need to allow reading for com.apple.WebProcess.plist -
  10986. it's read at process initialization before we enter the sandbox, and services
  10987. have a different plist anyway.
  10988. * WebProcess/com.apple.WebProcess.sb.in:
  10989. 2013-02-06 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  10990. [EFL][WK2] Assertion failure on MiniBrowser exit
  10991. https://bugs.webkit.org/show_bug.cgi?id=108932
  10992. Reviewed by Anders Carlsson.
  10993. WorkQueue is now refcounted after r141497, so increase ref
  10994. count when a new job is scheduled and unref it when it finishes.
  10995. * Platform/efl/WorkQueueEfl.cpp:
  10996. (WorkQueue::performWork):
  10997. (WorkQueue::performTimerWork):
  10998. (WorkQueue::dispatch):
  10999. (WorkQueue::dispatchAfterDelay):
  11000. 2013-02-06 Simon Hausmann <simon.hausmann@digia.com>, Zoltan Arvai <zarvai@inf.u-szeged.hu>
  11001. [WK2][Win] Fix build after MessageID.h related changes and after r141619.
  11002. https://bugs.webkit.org/show_bug.cgi?id=108612
  11003. Reviewed by Anders Carlsson.
  11004. * Platform/CoreIPC/win/ConnectionWin.cpp:
  11005. (CoreIPC::Connection::platformInvalidate):
  11006. (CoreIPC::Connection::readEventHandler):
  11007. (CoreIPC::Connection::open):
  11008. (CoreIPC::Connection::sendOutgoingMessage):
  11009. * Platform/WorkQueue.h:
  11010. (WorkQueue::WorkItemWin::queue):
  11011. (WorkItemWin):
  11012. * Platform/win/SharedMemoryWin.cpp:
  11013. (WebKit::SharedMemory::Handle::decode):
  11014. * Platform/win/WorkQueueWin.cpp:
  11015. (WorkQueue::handleCallback):
  11016. (WorkQueue::performWorkOnRegisteredWorkThread):
  11017. 2013-02-06 Mike West <mkwst@chromium.org>
  11018. Add an ENABLE_NOSNIFF feature flag.
  11019. https://bugs.webkit.org/show_bug.cgi?id=109029
  11020. Reviewed by Jochen Eisinger.
  11021. This new flag will control the behavior of 'X-Content-Type-Options: nosniff'
  11022. when processing script and other resource types.
  11023. * Configurations/FeatureDefines.xcconfig:
  11024. 2013-02-06 Marja Hölttä <marja@chromium.org>
  11025. Take referrer policy into account when clearing the referrer header
  11026. https://bugs.webkit.org/show_bug.cgi?id=86000
  11027. Reviewed by Alexey Proskuryakov.
  11028. The referrer should only be cleared when doing a https -> http redirect,
  11029. if the policy is "default". Otherwise the referrer should be left intact.
  11030. * NetworkProcess/NetworkResourceLoader.cpp:
  11031. (WebKit::NetworkResourceLoader::start):
  11032. * NetworkProcess/SchedulableLoader.cpp:
  11033. (WebKit::SchedulableLoader::SchedulableLoader):
  11034. * NetworkProcess/SchedulableLoader.h:
  11035. (WebKit::SchedulableLoader::shouldClearReferrerOnHTTPSToHTTPRedirect):
  11036. (SchedulableLoader):
  11037. * NetworkProcess/SyncNetworkResourceLoader.cpp:
  11038. (WebKit::SyncNetworkResourceLoader::start):
  11039. * NetworkProcess/mac/RemoteNetworkingContext.h:
  11040. (WebKit::RemoteNetworkingContext::create):
  11041. (RemoteNetworkingContext):
  11042. * NetworkProcess/mac/RemoteNetworkingContext.mm:
  11043. (WebKit::RemoteNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect):
  11044. (WebKit):
  11045. (WebKit::RemoteNetworkingContext::RemoteNetworkingContext):
  11046. * Shared/Network/NetworkResourceLoadParameters.cpp:
  11047. (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
  11048. (WebKit::NetworkResourceLoadParameters::encode):
  11049. (WebKit::NetworkResourceLoadParameters::decode):
  11050. * Shared/Network/NetworkResourceLoadParameters.h:
  11051. (NetworkResourceLoadParameters):
  11052. (WebKit::NetworkResourceLoadParameters::shouldClearReferrerOnHTTPSToHTTPRedirect):
  11053. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  11054. (WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
  11055. (WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
  11056. (WebKit::WebResourceLoadScheduler::scheduleLoad):
  11057. * WebProcess/Network/WebResourceLoadScheduler.h:
  11058. (WebResourceLoadScheduler):
  11059. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  11060. (WebKit::WebPlatformStrategies::loadResourceSynchronously):
  11061. 2013-02-06 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  11062. [EFL][WK2] Encapsulate Ewk View evas smart object code inside EwkView class
  11063. https://bugs.webkit.org/show_bug.cgi?id=108062
  11064. Reviewed by Kenneth Rohde Christiansen.
  11065. The Ewk View implementation is encapsulated within EwkView class.
  11066. Besides multiple refactoring of Ewk View evas smart object code was made.
  11067. * UIProcess/API/C/efl/WKView.cpp:
  11068. (createWKView):
  11069. Aux function to share WKView creation implementation.
  11070. * UIProcess/API/efl/EwkView.cpp:
  11071. (smartDataChanged):
  11072. (defaultSmartClassInstance):
  11073. (toSmartData):
  11074. (EwkView::initSmartClassInterface):
  11075. (EwkView::toEvasObject):
  11076. (EwkView::smartData):
  11077. Renamed and moved here from ewk_view.
  11078. (EwkViewEventHandler):
  11079. (EwkViewEventHandler::subscribe):
  11080. (EwkViewEventHandler::unsubscribe):
  11081. (::handleEvent):
  11082. Added a new template class to encapsulate Ewk View Evas events handling.
  11083. (EwkView::EwkView):
  11084. (EwkView::~EwkView):
  11085. Constructor and desctructor are private.
  11086. (EwkView::createEvasObject):
  11087. Added factory function for ewk view evas objects creation.
  11088. (EwkView::handleEvasObjectAdd):
  11089. (EwkView::handleEvasObjectDelete):
  11090. (EwkView::handleEvasObjectResize):
  11091. (EwkView::handleEvasObjectMove):
  11092. (EwkView::handleEvasObjectCalculate):
  11093. (EwkView::handleEvasObjectShow):
  11094. (EwkView::handleEvasObjectHide):
  11095. (EwkView::handleEvasObjectColorSet):
  11096. Evas_Smart_Class interface callbacks moved into the EwkView class.
  11097. (EwkView::handleEwkViewFocusIn):
  11098. (EwkView::handleEwkViewFocusOut):
  11099. (EwkView::handleEwkViewMouseWheel):
  11100. (EwkView::handleEwkViewMouseDown):
  11101. (EwkView::handleEwkViewMouseUp):
  11102. (EwkView::handleEwkViewMouseMove):
  11103. (EwkView::handleEwkViewKeyDown):
  11104. (EwkView::handleEwkViewKeyUp):
  11105. Ewk_View_Smart_Class interface callback moved into the EwkView class.
  11106. (EwkView::handleTouchDown):
  11107. (EwkView::handleTouchUp):
  11108. (EwkView::handleTouchMove):
  11109. Renamed.
  11110. (toEwkView):
  11111. Aux function to get the EwkView instance fromevas object.
  11112. (isViewEvasObject):
  11113. Aux function to check that given evas object is ewk view.
  11114. * UIProcess/API/efl/EwkView.h:
  11115. (EwkView::evasObject):
  11116. (EwkView):
  11117. * UIProcess/API/efl/ewk_view.cpp:
  11118. (ewk_view_smart_class_set):
  11119. (ewk_view_smart_add):
  11120. (ewk_view_add_with_context):
  11121. (ewk_view_feed_touch_event):
  11122. (Ewk_Page_Contents_Context):
  11123. * UIProcess/API/efl/ewk_view_private.h: Removed.
  11124. * UIProcess/API/C/efl/WKView.cpp:
  11125. (WKViewCreate):
  11126. (WKViewCreateWithFixedLayout):
  11127. (WKViewCreateSnapshot):
  11128. * UIProcess/cairo/BackingStoreCairo.cpp:
  11129. (WebKit::BackingStore::incorporateUpdate):
  11130. * UIProcess/efl/ContextHistoryClientEfl.cpp:
  11131. (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
  11132. (WebKit::ContextHistoryClientEfl::didPerformClientRedirect):
  11133. (WebKit::ContextHistoryClientEfl::didPerformServerRedirect):
  11134. (WebKit::ContextHistoryClientEfl::didUpdateHistoryTitle):
  11135. * UIProcess/efl/PageClientBase.cpp:
  11136. (WebKit::PageClientBase::processDidCrash):
  11137. * UIProcess/efl/PageLoadClientEfl.cpp:
  11138. (WebKit::PageLoadClientEfl::didChangeBackForwardList):
  11139. * UIProcess/efl/PageUIClientEfl.cpp:
  11140. (WebKit::PageUIClientEfl::takeFocus):
  11141. (WebKit::PageUIClientEfl::focus):
  11142. (WebKit::PageUIClientEfl::unfocus):
  11143. * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
  11144. (WebKit::WebFullScreenManagerProxy::enterFullScreen):
  11145. (WebKit::WebFullScreenManagerProxy::exitFullScreen):
  11146. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  11147. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  11148. * UIProcess/efl/WebPageProxyEfl.cpp:
  11149. (WebKit::WebPageProxy::viewWidget):
  11150. Updated due to changes in EwkView interface.
  11151. 2013-02-05 Tim Horton <timothy_horton@apple.com>
  11152. [wk2] TiledCoreAnimationDrawingArea has one more layer in its CAContext when we're in the background
  11153. https://bugs.webkit.org/show_bug.cgi?id=108992
  11154. <rdar://problem/13087365>
  11155. Reviewed by Anders Carlsson.
  11156. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  11157. (TiledCoreAnimationDrawingArea): Add storage for m_isInWindow.
  11158. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  11159. (WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext): Only set the root layer on our layer
  11160. hosting context if we're in the window when swapping out contexts.
  11161. (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): Update m_isInWindow, and set the root layer
  11162. of the layer hosting context (or unset it if we're out of the window).
  11163. 2013-02-05 Anders Carlsson <andersca@apple.com>
  11164. WebKit clients should be able to override loading of blocked plug-ins
  11165. https://bugs.webkit.org/show_bug.cgi?id=108968
  11166. <rdar://problem/13154516>
  11167. Reviewed by Sam Weinig.
  11168. Replace the shouldInstantiatePlugin callback with a new pluginLoadPolicy which is called regardless
  11169. of whether the plug-in is blocked or not. This lets clients override the plug-in load policy and
  11170. force loading of blacklisted plug-ins (and vice versa).
  11171. * UIProcess/API/C/WKPage.h:
  11172. * UIProcess/WebPageProxy.cpp:
  11173. (WebKit::WebPageProxy::getPluginPath):
  11174. * UIProcess/WebUIClient.cpp:
  11175. (WebKit::toWKPluginLoadPolicy):
  11176. (WebKit):
  11177. (WebKit::toPluginModuleLoadPolicy):
  11178. (WebKit::WebUIClient::pluginLoadPolicy):
  11179. * UIProcess/WebUIClient.h:
  11180. (WebUIClient):
  11181. 2013-02-05 Simon Hausmann <simon.hausmann@digia.com>
  11182. [Qt][WK2] Replace more uses of WebPageProxy with WKPage in QQuickWebView
  11183. https://bugs.webkit.org/show_bug.cgi?id=108826
  11184. Reviewed by Kenneth Rohde Christiansen and signed off for WK2 by
  11185. Benjamin Poulain.
  11186. This patch converts a few more usages of WebPageProxy to functions in
  11187. the WKPage API.
  11188. * UIProcess/API/qt/qquickwebview.cpp:
  11189. (QQuickWebViewPrivate::initialize):
  11190. (QQuickWebViewLegacyPrivate::zoomFactor):
  11191. (QQuickWebViewLegacyPrivate::setZoomFactor):
  11192. (QQuickWebViewExperimental::postMessage):
  11193. (QQuickWebViewExperimental::userAgent):
  11194. (QQuickWebViewExperimental::setUserAgent):
  11195. (QQuickWebViewExperimental::evaluateJavaScript):
  11196. (QQuickWebViewExperimental::findText):
  11197. (QQuickWebView::goBack):
  11198. (QQuickWebView::goForward):
  11199. (QQuickWebView::stop):
  11200. (QQuickWebView::reload):
  11201. (QQuickWebView::setUrl):
  11202. (QQuickWebView::canGoBack):
  11203. (QQuickWebView::canGoForward):
  11204. (QQuickWebView::loading):
  11205. (QQuickWebView::title):
  11206. (QQuickWebView::pageRef):
  11207. (QQuickWebView::loadHtml):
  11208. (QQuickWebView::runJavaScriptInMainFrame):
  11209. * UIProcess/API/qt/qquickwebview_p_p.h:
  11210. (QQuickWebViewPrivate):
  11211. 2013-02-04 Gwang Yoon Hwang <ryumiel@company100.net>
  11212. Coordinated Graphics : disconnectCustomFilterProgram does not do anything.
  11213. https://bugs.webkit.org/show_bug.cgi?id=108807
  11214. Reviewed by Anders Carlsson.
  11215. We need to add newly created WebCustomFilterProgramProxy to a hashset to
  11216. disconnect when CoordinatedLayerTreeHost gets destructed.
  11217. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  11218. (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
  11219. 2013-02-04 Benjamin Poulain <bpoulain@apple.com>
  11220. Kill suspendAnimation(), resumeAnimation() and numberOfActiveAnimations() from DRT/WTR; use Internals
  11221. https://bugs.webkit.org/show_bug.cgi?id=108741
  11222. Reviewed by Tony Chang.
  11223. Suspending and resuming application has been useless for a one. Someone just
  11224. "forgot" WebKit2.
  11225. * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
  11226. * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
  11227. * WebProcess/WebPage/WebFrame.cpp:
  11228. * WebProcess/WebPage/WebFrame.h:
  11229. (WebFrame):
  11230. 2013-02-04 Jaehun Lim <ljaehun.lim@samsung.com>
  11231. [EFL][WK2] Implement runBeforeUnloadConfirmPanel on EFL
  11232. https://bugs.webkit.org/show_bug.cgi?id=106979
  11233. Reviewed by Benjamin Poulain.
  11234. Implement runBeforeUnloadConfirmPanel() to support window.onbeforeunload.
  11235. We can show confirmation window when beforeunload event is fired.
  11236. * UIProcess/efl/PageUIClientEfl.cpp:
  11237. (WebKit::PageUIClientEfl::PageUIClientEfl):
  11238. (WebKit::PageUIClientEfl::runBeforeUnloadConfirmPanel):
  11239. (WebKit):
  11240. * UIProcess/efl/PageUIClientEfl.h:
  11241. (PageUIClientEfl):
  11242. 2013-02-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
  11243. [EFL][WK2] Introduce a WebView class as counterpart for WKViewRef
  11244. https://bugs.webkit.org/show_bug.cgi?id=107931
  11245. Reviewed by Anders Carlsson.
  11246. This is just one step of the new plan for the EFL API.
  11247. The plan is to move the public EFL-like API on top of the shared
  11248. WK2 C API, plus a few EFL extensions (WKView class mostly).
  11249. The EFL-like API can be seen as a convenience API which ties
  11250. well into EFL and which makes it easy to add web experiences
  11251. to existing and new EFL applications. It provides a smart object
  11252. like API and a Evas_Object based view.
  11253. For more advanced use cases, such as browser and runtime, it is
  11254. possible to use the WK* C API, which is gives more flexibility
  11255. while being more low level.
  11256. The idea is that the WKView class will not depend on Evas_Object
  11257. and X11 (future plan) unlike the current EFL-like API. This should
  11258. make it possible to use it for cases where none of these are
  11259. available.
  11260. This patch introduces the WebView class which serves as our
  11261. counterpart for the WKView class, and adds a few needed methods.
  11262. The EwkView owns the WebView class (and will be constructing it
  11263. in the near future when the EwkView class has been changed to
  11264. handle all smart object related code)
  11265. The clean up of the smart object related code as the proper
  11266. construction of EwkView and WebView will be done in follow-up
  11267. patches.
  11268. * UIProcess/API/C/efl/WKAPICastEfl.h:
  11269. (WebKit):
  11270. The WKView API is not based on WebView and not Evas_Object*
  11271. * UIProcess/API/C/efl/WKView.cpp:
  11272. (WKViewCreate):
  11273. (WKViewCreateWithFixedLayout):
  11274. (WKViewInitialize):
  11275. (WKViewGetPage):
  11276. (WKViewSetThemePath):
  11277. (WKViewSuspendActiveDOMObjectsAndAnimations):
  11278. (WKViewResumeActiveDOMObjectsAndAnimations):
  11279. (WKViewGetEvasObject):
  11280. (WKViewCreateSnapshot):
  11281. Add a few new WKView EFL C methods, and update existing
  11282. methods to reflect that the WKViewRef is now a WebView*
  11283. The construction methods will be rewritten when the smart
  11284. object construction has been solved.
  11285. * UIProcess/API/C/efl/WKView.h:
  11286. * UIProcess/efl/WebView.cpp: Added.
  11287. (WebKit):
  11288. (WebKit::WebView::WebView):
  11289. (WebKit::WebView::~WebView):
  11290. (WebKit::WebView::initialize):
  11291. (WebKit::WebView::setThemePath):
  11292. (WebKit::WebView::suspendActiveDOMObjectsAndAnimations):
  11293. (WebKit::WebView::resumeActiveDOMObjectsAndAnimations):
  11294. * UIProcess/efl/WebView.h: Added.
  11295. (WebKit):
  11296. (WebView):
  11297. (WebKit::WebView::pageRef):
  11298. (WebKit::WebView::evasObject):
  11299. (WebKit::WebView::page):
  11300. (WebKit::WebView::type):
  11301. Add a new WebKit::WebView class for EFL.
  11302. * UIProcess/API/efl/EwkView.cpp:
  11303. (EwkView::EwkView):
  11304. (EwkView::~EwkView):
  11305. (EwkView::wkPage):
  11306. (EwkView::setThemePath):
  11307. (EwkView::createGLSurface):
  11308. Base methods on C API instead of internal API as much
  11309. as currently possible.
  11310. * UIProcess/API/efl/EwkView.h:
  11311. (WebKit):
  11312. (WebView):
  11313. (EwkView):
  11314. (EwkView::wkView):
  11315. (EwkView::page):
  11316. * UIProcess/API/efl/ewk_view.cpp:
  11317. (createEwkView):
  11318. (ewk_view_base_add):
  11319. (ewk_view_smart_add):
  11320. Modify to return the EwkView class for now.
  11321. * UIProcess/API/efl/ewk_view_private.h:
  11322. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  11323. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  11324. Updated due to changed API.
  11325. 2013-02-04 Anders Carlsson <andersca@apple.com>
  11326. Set up the storage manager as a connection queue
  11327. https://bugs.webkit.org/show_bug.cgi?id=108879
  11328. Reviewed by Sam Weinig.
  11329. * UIProcess/Storage/StorageManager.cpp:
  11330. (WebKit::StorageManager::processWillOpenConnection):
  11331. Add the storage manager as a connection queue client.
  11332. (WebKit::StorageManager::processWillCloseConnection):
  11333. Remove the storage manager.
  11334. * UIProcess/WebContext.cpp:
  11335. (WebKit::WebContext::processWillOpenConnection):
  11336. Call the storage manager.
  11337. (WebKit::WebContext::processWillCloseConnection):
  11338. Call the storage manager.
  11339. * UIProcess/WebProcessProxy.cpp:
  11340. (WebKit::WebProcessProxy::connectionWillOpen):
  11341. Call the context.
  11342. (WebKit::WebProcessProxy::connectionWillClose):
  11343. Call the context.
  11344. (WebKit::WebProcessProxy::didFinishLaunching):
  11345. Remove a comment.
  11346. 2013-02-04 Anders Carlsson <andersca@apple.com>
  11347. Send message when creating and destroying StorageAreaProxy objects
  11348. https://bugs.webkit.org/show_bug.cgi?id=108874
  11349. Reviewed by Sam Weinig.
  11350. * Shared/SecurityOriginData.cpp:
  11351. (WebKit::SecurityOriginData::fromSecurityOrigin):
  11352. * Shared/SecurityOriginData.h:
  11353. (SecurityOriginData):
  11354. Add helper function for creating a SecurityOriginData object given a WebCore::SecurityOrigin object.
  11355. * WebProcess/Storage/StorageAreaProxy.cpp:
  11356. (WebKit::generateStorageAreaID):
  11357. New function to create a unique storage area ID.
  11358. (WebKit::StorageAreaProxy::StorageAreaProxy):
  11359. Send a CreateStorageArea message.
  11360. (WebKit::StorageAreaProxy::~StorageAreaProxy):
  11361. Send a DestroyStorageArea message.
  11362. (WebKit::StorageAreaProxy::contains):
  11363. Remove this assertion for now, it fires too often.
  11364. * WebProcess/Storage/StorageNamespaceProxy.h:
  11365. (WebKit::StorageNamespaceProxy::storageNamespaceID):
  11366. Add getter.
  11367. 2013-02-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
  11368. [EFL][WK2] Use C API inside EwkView
  11369. https://bugs.webkit.org/show_bug.cgi?id=108825
  11370. Reviewed by Anders Carlsson.
  11371. A straight-forward port towards the C API.
  11372. * UIProcess/API/efl/EwkView.cpp:
  11373. (EwkView::EwkView): Use C API for common default preferences.
  11374. (EwkView::wkPage): Make it const and remove useless comment.
  11375. (EwkView::deviceScaleFactor):
  11376. (EwkView::title):
  11377. (EwkView::customTextEncodingName):
  11378. (EwkView::setCustomTextEncodingName):
  11379. (EwkView::informURLChange):
  11380. * UIProcess/API/efl/EwkView.h:
  11381. (EwkView):
  11382. 2013-02-04 Alexey Proskuryakov <ap@apple.com>
  11383. Remove an unnecessary sandbox rule.
  11384. Reviewed by Sam Weinig.
  11385. * WebProcess/com.apple.WebProcess.sb.in: We already have a file-read rule for
  11386. /Library/Managed Preferences, no need for another rule for something inside it.
  11387. 2013-02-04 Brady Eidson <beidson@apple.com>
  11388. WebProcess crashes handling repeated NetworkProcess crashes.
  11389. <rdar://problem/13049867> and https://bugs.webkit.org/show_bug.cgi?id=108861
  11390. Reviewed by Alexey Proskuryakov.
  11391. - Rename the concept of "unschedulable loader" to "internally failed loader"
  11392. - When the NetworkProcess crashes, add all outstanding ResourceLoaders into the unschedulable pile.
  11393. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  11394. (WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler):
  11395. (WebKit::WebResourceLoadScheduler::scheduleLoad):
  11396. (WebKit::WebResourceLoadScheduler::scheduleInternallyFailedLoad):
  11397. (WebKit::WebResourceLoadScheduler::internallyFailedLoadTimerFired):
  11398. (WebKit::WebResourceLoadScheduler::remove): Also remove a non-helpful, out of date comment.
  11399. (WebKit::WebResourceLoadScheduler::networkProcessCrashed):
  11400. * WebProcess/Network/WebResourceLoadScheduler.h:
  11401. WebResourceLoader no longer responds to crashes directly, but now exposes its WebCore ResourceLoader:
  11402. * WebProcess/Network/WebResourceLoader.cpp:
  11403. * WebProcess/Network/WebResourceLoader.h:
  11404. (WebKit::WebResourceLoader::resourceLoader):
  11405. 2013-02-04 Anders Carlsson <andersca@apple.com>
  11406. Update message generation to use the new queue client semantics
  11407. https://bugs.webkit.org/show_bug.cgi?id=108865
  11408. Reviewed by Andreas Kling.
  11409. * Scripts/webkit2/messages.py:
  11410. (connection_work_queue_message_statement):
  11411. (async_message_statement):
  11412. (generate_message_handler):
  11413. * Scripts/webkit2/messages_unittest.py:
  11414. * Shared/mac/SecItemShim.cpp:
  11415. (WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
  11416. * Shared/mac/SecItemShim.h:
  11417. (SecItemShim):
  11418. * UIProcess/Storage/StorageManager.cpp:
  11419. (WebKit::StorageManager::didReceiveMessageOnConnectionWorkQueue):
  11420. * UIProcess/Storage/StorageManager.h:
  11421. (StorageManager):
  11422. * UIProcess/WebProcessProxy.cpp:
  11423. (WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
  11424. * UIProcess/WebProcessProxy.h:
  11425. (WebProcessProxy):
  11426. * UIProcess/mac/SecItemShimProxy.cpp:
  11427. (WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
  11428. * UIProcess/mac/SecItemShimProxy.h:
  11429. (SecItemShimProxy):
  11430. * WebKit2.xcodeproj/project.pbxproj:
  11431. * WebProcess/WebPage/EventDispatcher.cpp:
  11432. (WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
  11433. * WebProcess/WebPage/EventDispatcher.h:
  11434. (EventDispatcher):
  11435. * WebProcess/WebProcess.cpp:
  11436. (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
  11437. * WebProcess/WebProcess.h:
  11438. (WebProcess):
  11439. 2013-02-04 Abhishek Arya <inferno@chromium.org>
  11440. Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access
  11441. https://bugs.webkit.org/show_bug.cgi?id=108668
  11442. Reviewed by Eric Seidel.
  11443. * Shared/mac/SandboxExtensionMac.mm:
  11444. (WebKit::SandboxExtension::HandleArray::operator[]):
  11445. 2013-02-04 Anders Carlsson <andersca@apple.com>
  11446. Change didReceiveMessageOnConnectionWorkQueue semantics
  11447. https://bugs.webkit.org/show_bug.cgi?id=108859
  11448. Reviewed by Sam Weinig.
  11449. Change didReceiveMessageOnConnectionWorkQueue to take a reference to an
  11450. OwnPtr<MessageDecoder>. This lets queue clients handle a message later, on a different
  11451. work queue for example. Also, get rid of the didHandleMessage boolean, since taking ownership
  11452. of the decoder implicitly means that the message was handled.
  11453. * Platform/CoreIPC/Connection.cpp:
  11454. (CoreIPC::Connection::processIncomingMessage):
  11455. * Platform/CoreIPC/Connection.h:
  11456. (QueueClient):
  11457. * Shared/mac/SecItemShim.cpp:
  11458. (WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
  11459. * Shared/mac/SecItemShim.h:
  11460. (SecItemShim):
  11461. * UIProcess/Storage/StorageManager.cpp:
  11462. (WebKit::StorageManager::StorageManager):
  11463. (WebKit::StorageManager::didReceiveMessageOnConnectionWorkQueue):
  11464. * UIProcess/Storage/StorageManager.h:
  11465. (WebKit):
  11466. (StorageManager):
  11467. * UIProcess/WebProcessProxy.cpp:
  11468. (WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
  11469. * UIProcess/WebProcessProxy.h:
  11470. (WebProcessProxy):
  11471. * UIProcess/mac/SecItemShimProxy.cpp:
  11472. (WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
  11473. * UIProcess/mac/SecItemShimProxy.h:
  11474. (SecItemShimProxy):
  11475. * WebProcess/WebPage/EventDispatcher.cpp:
  11476. (WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
  11477. * WebProcess/WebPage/EventDispatcher.h:
  11478. (EventDispatcher):
  11479. * WebProcess/WebProcess.cpp:
  11480. (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
  11481. * WebProcess/WebProcess.h:
  11482. (WebProcess):
  11483. 2013-02-04 Alexey Proskuryakov <ap@apple.com>
  11484. <rdar://problem/12884778> Sandbox violation due to MediaAccessibility code trying to access ~/Library/Preferences/com.apple.mediaaccessibility.plist
  11485. Reviewed by Sam Weinig.
  11486. * WebProcess/com.apple.WebProcess.sb.in:
  11487. 2013-02-04 Anders Carlsson <andersca@apple.com>
  11488. Add didCloseOnConnectionWorkQueue to Connection::QueueClient
  11489. https://bugs.webkit.org/show_bug.cgi?id=108853
  11490. Reviewed by Andreas Kling.
  11491. * Platform/CoreIPC/Connection.cpp:
  11492. (CoreIPC::Connection::connectionDidClose):
  11493. * Platform/CoreIPC/Connection.h:
  11494. (QueueClient):
  11495. * Shared/mac/SecItemShim.cpp:
  11496. (WebKit::SecItemShim::didCloseOnConnectionWorkQueue):
  11497. * Shared/mac/SecItemShim.h:
  11498. (SecItemShim):
  11499. * UIProcess/Storage/StorageManager.cpp:
  11500. (WebKit::StorageManager::didCloseOnConnectionWorkQueue):
  11501. (WebKit):
  11502. * UIProcess/Storage/StorageManager.h:
  11503. (StorageManager):
  11504. * UIProcess/WebProcessProxy.cpp:
  11505. (WebKit::WebProcessProxy::didCloseOnConnectionWorkQueue):
  11506. (WebKit):
  11507. * UIProcess/WebProcessProxy.h:
  11508. (WebProcessProxy):
  11509. * UIProcess/mac/SecItemShimProxy.cpp:
  11510. (WebKit::SecItemShimProxy::didCloseOnConnectionWorkQueue):
  11511. * UIProcess/mac/SecItemShimProxy.h:
  11512. (SecItemShimProxy):
  11513. * WebProcess/WebPage/EventDispatcher.cpp:
  11514. (WebKit::EventDispatcher::didCloseOnConnectionWorkQueue):
  11515. (WebKit):
  11516. * WebProcess/WebPage/EventDispatcher.h:
  11517. (EventDispatcher):
  11518. * WebProcess/WebProcess.cpp:
  11519. (WebKit::WebProcess::didCloseOnConnectionWorkQueue):
  11520. (WebKit):
  11521. * WebProcess/WebProcess.h:
  11522. (WebProcess):
  11523. 2013-02-04 Martin Robinson <mrobinson@igalia.com>
  11524. Fix GTK+ 'make dist' in preparation for the 1.11.5 release.
  11525. * GNUmakefile.am:
  11526. * GNUmakefile.list.am:
  11527. 2013-02-04 Enrica Casucci <enrica@apple.com>
  11528. Add specific EditActions for Bold and Italic commands.
  11529. https://bugs.webkit.org/show_bug.cgi?id=108842.
  11530. <rdar://problem/13098252>
  11531. Reviewed by Ryosuke Niwa.
  11532. * UIProcess/WebEditCommandProxy.cpp:
  11533. (WebKit::WebEditCommandProxy::nameForEditAction):
  11534. 2013-02-04 Anders Carlsson <andersca@apple.com>
  11535. Use a separate queue for the connection watchdog callback in the web process
  11536. https://bugs.webkit.org/show_bug.cgi?id=108844
  11537. Reviewed by Andreas Kling.
  11538. Don't pass the connection work queue to the didCloseOnConnectionWorkQueue callback.
  11539. Instead, create a new, temporary work queue where the exit call will be dispatched to.
  11540. * Platform/CoreIPC/Connection.cpp:
  11541. (CoreIPC::Connection::connectionDidClose):
  11542. * Platform/CoreIPC/Connection.h:
  11543. (Connection):
  11544. * Shared/ChildProcess.cpp:
  11545. (WebKit::didCloseOnConnectionWorkQueue):
  11546. 2013-02-04 Tim Horton <timothy_horton@apple.com>
  11547. Allow TiledCoreAnimationDrawingArea overlay layers to become tiled
  11548. https://bugs.webkit.org/show_bug.cgi?id=108729
  11549. <rdar://problem/13047546>
  11550. Reviewed by Anders Carlsson.
  11551. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  11552. (TiledCoreAnimationDrawingArea): Add didCommitChangesForLayer and storage for the
  11553. current PlatformLayer corresponding to m_pageOverlayLayer.
  11554. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  11555. (WebKit::TiledCoreAnimationDrawingArea::flushLayers): Update the TileCache's visible rect.
  11556. (WebKit::TiledCoreAnimationDrawingArea::setExposedRect): Forward exposed rect changes to the page overlay layer, if it's tiled.
  11557. (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged): Forward scrollability changes to the page overlay layer, if it's tiled.
  11558. (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer): Allow the page overlay layer to become tiled. Update its exposed rect and whether or not it respects the exposed rect if it's tiled upon creation.
  11559. (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer): If a GraphicsLayer's platform layer changes (because it switched to or from a tiled layer), reparent it. If it's switching to a tiled layer, update the exposed rect and whether or not it should respect the exposed rect.
  11560. 2013-02-04 Anders Carlsson <andersca@apple.com>
  11561. Use UNUSED_PARAM instead of C style comments.
  11562. * UIProcess/Storage/StorageManager.cpp:
  11563. (WebKit::StorageManager::createStorageArea):
  11564. 2013-02-04 Christophe Dumez <dchris@gmail.com>
  11565. [EFL][WK2] Stop using libsoup in ewk_url_scheme_request
  11566. https://bugs.webkit.org/show_bug.cgi?id=108816
  11567. Reviewed by Anders Carlsson.
  11568. As we are trying to minimize use of external dependencies in our WK2 EFL
  11569. API implementation, we should stop using libsoup in
  11570. ewk_url_scheme_request and use the WK2 C API instead.
  11571. * UIProcess/API/efl/ewk_url_scheme_request.cpp:
  11572. (EwkUrlSchemeRequest::EwkUrlSchemeRequest):
  11573. 2013-02-04 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  11574. [WK2][EFL] Weird stripe at the end of the page
  11575. https://bugs.webkit.org/show_bug.cgi?id=108820
  11576. Reviewed by Noam Rosenthal.
  11577. The page scroll bound was artificially enlarged by one causing the artifact appearance.
  11578. * UIProcess/PageViewportController.cpp:
  11579. (WebKit::PageViewportController::boundContentsPositionAtScale):
  11580. 2013-02-04 David Kilzer <ddkilzer@apple.com>
  11581. Sort WebKit2 Xcode project file
  11582. * WebKit2.xcodeproj/project.pbxproj:
  11583. 2013-02-04 Simon Hausmann <simon.hausmann@digia.com>
  11584. [WK2][Qt] Replace WebPageGroup usage for user scripts with WKPageGroupRef
  11585. https://bugs.webkit.org/show_bug.cgi?id=108651
  11586. Reviewed by Sam Weinig.
  11587. It's straight-forward port towards the C API.
  11588. * UIProcess/API/qt/qquickwebview.cpp:
  11589. (QQuickWebViewPrivate::initialize):
  11590. (readUserScript):
  11591. (QQuickWebViewPrivate::updateUserScripts):
  11592. * UIProcess/API/qt/qquickwebview_p_p.h:
  11593. (QQuickWebViewPrivate):
  11594. 2013-02-04 Balazs Kelemen <kbalazs@webkit.org>
  11595. [Soup] Wrap SoupSession by NetworkStorageSession
  11596. https://bugs.webkit.org/show_bug.cgi?id=108615
  11597. Reviewed by Alexey Proskuryakov.
  11598. * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
  11599. (WebKit::WebFrameNetworkingContext::storageSession):
  11600. * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
  11601. (WebFrameNetworkingContext):
  11602. 2013-02-03 David Kilzer <ddkilzer@apple.com>
  11603. Upstream ENABLE_PDFKIT_PLUGIN settting
  11604. <http://webkit.org/b/108792>
  11605. Reviewed by Tim Horton.
  11606. * Configurations/FeatureDefines.xcconfig: Disable PDFKIT_PLUGIN
  11607. on iOS since PDFKit is a Mac-only framework.
  11608. 2013-02-01 Alexey Proskuryakov <ap@apple.com>
  11609. Silently block one more directory needed for NSApplication initialization.
  11610. Reviewed by Sam Weinig.
  11611. * WebProcess/com.apple.WebProcess.sb.in:
  11612. 2013-02-03 KwangYong Choi <ky0.choi@samsung.com>
  11613. Fix build warning after r141648
  11614. https://bugs.webkit.org/show_bug.cgi?id=108784
  11615. Reviewed by Kentaro Hara.
  11616. Fix -Wunused-parameter build warning.
  11617. * UIProcess/Storage/StorageManager.cpp:
  11618. (WebKit::StorageManager::createStorageArea):
  11619. (WebKit::StorageManager::destroyStorageArea):
  11620. 2013-02-03 Joanmarie Diggs <jdiggs@igalia.com>
  11621. [GTK] Make distcheck fails
  11622. https://bugs.webkit.org/show_bug.cgi?id=108756
  11623. Reviewed by Kentaro Hara.
  11624. * GNUmakefile.list.am: Remove header files which no longer exist
  11625. 2013-02-02 Sam Weinig <sam@webkit.org>
  11626. Remove more LegacyReceivers
  11627. https://bugs.webkit.org/show_bug.cgi?id=108758
  11628. Reviewed by Anders Carlsson.
  11629. * UIProcess/Downloads/DownloadProxy.cpp:
  11630. * UIProcess/Downloads/DownloadProxy.messages.in:
  11631. * UIProcess/WebApplicationCacheManagerProxy.cpp:
  11632. * UIProcess/WebApplicationCacheManagerProxy.h:
  11633. (WebApplicationCacheManagerProxy):
  11634. * UIProcess/WebApplicationCacheManagerProxy.messages.in:
  11635. * UIProcess/WebCookieManagerProxy.cpp:
  11636. * UIProcess/WebCookieManagerProxy.h:
  11637. (WebCookieManagerProxy):
  11638. * UIProcess/WebCookieManagerProxy.messages.in:
  11639. * UIProcess/WebDatabaseManagerProxy.cpp:
  11640. * UIProcess/WebDatabaseManagerProxy.h:
  11641. (WebDatabaseManagerProxy):
  11642. * UIProcess/WebDatabaseManagerProxy.messages.in:
  11643. * UIProcess/mac/RemoteLayerTreeHost.h:
  11644. (RemoteLayerTreeHost):
  11645. * UIProcess/mac/RemoteLayerTreeHost.messages.in:
  11646. * UIProcess/mac/RemoteLayerTreeHost.mm:
  11647. * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
  11648. * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
  11649. (WebApplicationCacheManager):
  11650. * WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in:
  11651. * WebProcess/Cookies/WebCookieManager.cpp:
  11652. * WebProcess/Cookies/WebCookieManager.h:
  11653. (WebCookieManager):
  11654. * WebProcess/Cookies/WebCookieManager.messages.in:
  11655. * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
  11656. * WebProcess/WebCoreSupport/WebDatabaseManager.h:
  11657. (WebDatabaseManager):
  11658. * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
  11659. 2013-02-02 Sam Weinig <sam@webkit.org>
  11660. Convert CustomProtocolManagerProxy, CustomProtocolManager and AuthenticationManager to be non-LegacyReceivers
  11661. https://bugs.webkit.org/show_bug.cgi?id=108757
  11662. Reviewed by Anders Carlsson.
  11663. * Shared/Authentication/AuthenticationManager.cpp:
  11664. * Shared/Authentication/AuthenticationManager.h:
  11665. (AuthenticationManager):
  11666. * Shared/Authentication/AuthenticationManager.messages.in:
  11667. * Shared/Network/CustomProtocols/CustomProtocolManager.h:
  11668. (CustomProtocolManager):
  11669. * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
  11670. * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
  11671. * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
  11672. (CustomProtocolManagerProxy):
  11673. * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in:
  11674. * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
  11675. 2013-02-02 Christophe Dumez <christophe.dumez@intel.com>
  11676. [EFL][WK2] Use C API inside ewk_file_chooser_request
  11677. https://bugs.webkit.org/show_bug.cgi?id=107811
  11678. Reviewed by Sam Weinig.
  11679. Use C API inside ewk_file_chooser_request instead of
  11680. accessing the internal C++ classes directly, to
  11681. avoid violating API layering.
  11682. * UIProcess/API/efl/ewk_file_chooser_request.cpp:
  11683. (EwkFileChooserRequest::EwkFileChooserRequest):
  11684. (EwkFileChooserRequest::~EwkFileChooserRequest):
  11685. (EwkFileChooserRequest::allowMultipleFiles):
  11686. (EwkFileChooserRequest::acceptedMIMETypes):
  11687. (EwkFileChooserRequest::cancel):
  11688. (EwkFileChooserRequest::chooseFiles):
  11689. (ewk_file_chooser_request_accepted_mimetypes_get):
  11690. (ewk_file_chooser_request_files_choose):
  11691. (ewk_file_chooser_request_file_choose):
  11692. * UIProcess/API/efl/ewk_file_chooser_request_private.h:
  11693. (EwkFileChooserRequest::create):
  11694. (EwkFileChooserRequest):
  11695. * UIProcess/efl/PageUIClientEfl.cpp:
  11696. (WebKit::PageUIClientEfl::runOpenPanel):
  11697. 2013-02-02 Sam Weinig <sam@webkit.org>
  11698. Stop keeping a frame tree in the UIProcess
  11699. https://bugs.webkit.org/show_bug.cgi?id=81728
  11700. Reviewed by Oliver Hunt.
  11701. This patch removes the parent/child relationships of WebFrameProxys
  11702. in the UIProcess
  11703. * UIProcess/API/C/WKFrame.cpp:
  11704. (WKFrameCopyChildFrames):
  11705. (WKFrameGetParentFrame):
  11706. * UIProcess/API/C/WKFrame.h:
  11707. Null out the implementations of WKFrameCopyChildFrames and WKFrameGetParentFrame,
  11708. but keep them around as their symbols are still needed for nightlies.
  11709. * UIProcess/WebFrameProxy.cpp:
  11710. (WebKit::WebFrameProxy::WebFrameProxy):
  11711. (WebKit::WebFrameProxy::disconnect):
  11712. * UIProcess/WebFrameProxy.h:
  11713. Remove parent/child connections.
  11714. * UIProcess/WebPageProxy.cpp:
  11715. (WebKit::WebPageProxy::didCreateSubframe):
  11716. (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
  11717. * UIProcess/WebPageProxy.h:
  11718. * UIProcess/WebPageProxy.messages.in:
  11719. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  11720. (WebKit::WebFrameLoaderClient::didSaveToPageCache):
  11721. (WebKit::WebFrameLoaderClient::didRestoreFromPageCache):
  11722. * WebProcess/WebPage/WebFrame.cpp:
  11723. (WebKit::WebFrame::createSubframe):
  11724. Remove/Update messages that only served to update the parent/child connection.
  11725. 2013-02-02 Sam Weinig <sam@webkit.org>
  11726. Make it possible to modify the connection from ChildProcessProxy subclasses.
  11727. Reviewed by Anders Carlsson.
  11728. * Shared/ChildProcessProxy.cpp:
  11729. (WebKit::ChildProcessProxy::ChildProcessProxy):
  11730. (WebKit::ChildProcessProxy::didFinishLaunching):
  11731. (WebKit::ChildProcessProxy::clearConnection):
  11732. (WebKit::ChildProcessProxy::connectionWillOpen):
  11733. (WebKit::ChildProcessProxy::connectionWillClose):
  11734. * Shared/ChildProcessProxy.h:
  11735. (ChildProcessProxy):
  11736. * UIProcess/WebProcessProxy.cpp:
  11737. (WebKit::WebProcessProxy::WebProcessProxy):
  11738. (WebKit::WebProcessProxy::connectionWillOpen):
  11739. (WebKit::WebProcessProxy::connectionWillClose):
  11740. * UIProcess/WebProcessProxy.h:
  11741. (WebProcessProxy):
  11742. 2013-02-02 David Kilzer <ddkilzer@apple.com>
  11743. Upstream iOS FeatureDefines
  11744. <http://webkit.org/b/108753>
  11745. Reviewed by Anders Carlsson.
  11746. * Configurations/FeatureDefines.xcconfig:
  11747. - ENABLE_DEVICE_ORIENTATION: Add iOS configurations.
  11748. - ENABLE_PLUGIN_PROXY_FOR_VIDEO: Ditto.
  11749. - FEATURE_DEFINES: Add ENABLE_PLUGIN_PROXY_FOR_VIDEO. Add
  11750. PLATFORM_NAME variant to reduce future merge conflicts.
  11751. 2013-02-02 Csaba Osztrogonác <ossy@webkit.org>
  11752. [Qt][WK2] Unreviewed buildfix after r141648.
  11753. * DerivedSources.pri:
  11754. 2013-02-02 Zan Dobersek <zdobersek@igalia.com>
  11755. Follow-up to r141682. Adding build targets for the files that should be generated from the new message.in file.
  11756. Unreviewed.
  11757. * GNUmakefile.list.am:
  11758. 2013-02-01 Zan Dobersek <zdobersek@igalia.com>
  11759. Unreviewed GTK build fix after r141648.
  11760. * GNUmakefile.am: Add UIProcess/Storage to the list of paths that
  11761. should be searched for *.messages.in files.
  11762. 2013-02-01 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  11763. Unreviewed build fix after r141648
  11764. Needs to add StorageManager.messages.in to CMakeLists.txt.
  11765. * CMakeLists.txt:
  11766. 2013-02-01 Benjamin Poulain <bpoulain@apple.com>
  11767. Build fix for CustomProtocolManagerMac after r141658.
  11768. * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
  11769. (WebKit::CustomProtocolManager::supplementName): I accidentally typed "const" twice twice.
  11770. 2013-02-01 Benjamin Poulain <bpoulain@apple.com>
  11771. [WK2] Use light supplement names instead of static AtomicStrings
  11772. https://bugs.webkit.org/show_bug.cgi?id=108570
  11773. Reviewed by Anders Carlsson.
  11774. Since all the supplement names are just string literals and are all different,
  11775. we can just use their pointer as the key in the supplement hashmaps.
  11776. This is lighter and faster than using AtomicString. WebCore already moved to this
  11777. in Supplementable.
  11778. * NetworkProcess/NetworkProcess.h:
  11779. (WebKit::NetworkProcess::addSupplement):
  11780. (NetworkProcess):
  11781. * Shared/Authentication/AuthenticationManager.cpp:
  11782. (WebKit::AuthenticationManager::supplementName):
  11783. * Shared/Authentication/AuthenticationManager.h:
  11784. (AuthenticationManager):
  11785. * Shared/Network/CustomProtocols/CustomProtocolManager.h:
  11786. (CustomProtocolManager):
  11787. * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
  11788. (WebKit::CustomProtocolManager::supplementName):
  11789. * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
  11790. (WebKit::WebNotificationManagerProxy::supplementName):
  11791. * UIProcess/Notifications/WebNotificationManagerProxy.h:
  11792. (WebNotificationManagerProxy):
  11793. * UIProcess/WebApplicationCacheManagerProxy.cpp:
  11794. (WebKit::WebApplicationCacheManagerProxy::supplementName):
  11795. * UIProcess/WebApplicationCacheManagerProxy.h:
  11796. (WebApplicationCacheManagerProxy):
  11797. * UIProcess/WebContext.h:
  11798. (WebContext):
  11799. * UIProcess/WebCookieManagerProxy.cpp:
  11800. (WebKit::WebCookieManagerProxy::supplementName):
  11801. * UIProcess/WebCookieManagerProxy.h:
  11802. (WebCookieManagerProxy):
  11803. * UIProcess/WebDatabaseManagerProxy.cpp:
  11804. (WebKit::WebDatabaseManagerProxy::supplementName):
  11805. * UIProcess/WebDatabaseManagerProxy.h:
  11806. (WebDatabaseManagerProxy):
  11807. * UIProcess/WebGeolocationManagerProxy.cpp:
  11808. (WebKit::WebGeolocationManagerProxy::supplementName):
  11809. * UIProcess/WebGeolocationManagerProxy.h:
  11810. (WebGeolocationManagerProxy):
  11811. * UIProcess/WebKeyValueStorageManagerProxy.cpp:
  11812. (WebKit::WebKeyValueStorageManagerProxy::supplementName):
  11813. * UIProcess/WebKeyValueStorageManagerProxy.h:
  11814. (WebKeyValueStorageManagerProxy):
  11815. * UIProcess/WebMediaCacheManagerProxy.cpp:
  11816. (WebKit::WebMediaCacheManagerProxy::supplementName):
  11817. * UIProcess/WebMediaCacheManagerProxy.h:
  11818. (WebMediaCacheManagerProxy):
  11819. * UIProcess/WebResourceCacheManagerProxy.cpp:
  11820. (WebKit::WebResourceCacheManagerProxy::supplementName):
  11821. * UIProcess/WebResourceCacheManagerProxy.h:
  11822. (WebResourceCacheManagerProxy):
  11823. * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
  11824. (WebKit::WebSoupRequestManagerProxy::supplementName):
  11825. * UIProcess/soup/WebSoupRequestManagerProxy.h:
  11826. (WebSoupRequestManagerProxy):
  11827. * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
  11828. (WebKit::WebApplicationCacheManager::supplementName):
  11829. * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
  11830. (WebApplicationCacheManager):
  11831. * WebProcess/Cookies/WebCookieManager.cpp:
  11832. (WebKit::WebCookieManager::supplementName):
  11833. * WebProcess/Cookies/WebCookieManager.h:
  11834. (WebCookieManager):
  11835. * WebProcess/Geolocation/WebGeolocationManager.cpp:
  11836. (WebKit::WebGeolocationManager::supplementName):
  11837. * WebProcess/Geolocation/WebGeolocationManager.h:
  11838. (WebGeolocationManager):
  11839. * WebProcess/MediaCache/WebMediaCacheManager.cpp:
  11840. (WebKit::WebMediaCacheManager::supplementName):
  11841. * WebProcess/MediaCache/WebMediaCacheManager.h:
  11842. (WebMediaCacheManager):
  11843. * WebProcess/Notifications/WebNotificationManager.cpp:
  11844. (WebKit::WebNotificationManager::supplementName):
  11845. * WebProcess/Notifications/WebNotificationManager.h:
  11846. (WebNotificationManager):
  11847. * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
  11848. (WebKit::WebResourceCacheManager::supplementName):
  11849. * WebProcess/ResourceCache/WebResourceCacheManager.h:
  11850. (WebResourceCacheManager):
  11851. * WebProcess/Storage/WebKeyValueStorageManager.cpp:
  11852. (WebKit::WebKeyValueStorageManager::supplementName):
  11853. * WebProcess/Storage/WebKeyValueStorageManager.h:
  11854. (WebKeyValueStorageManager):
  11855. * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
  11856. (WebKit::WebDatabaseManager::supplementName):
  11857. * WebProcess/WebCoreSupport/WebDatabaseManager.h:
  11858. (WebDatabaseManager):
  11859. * WebProcess/WebProcess.h:
  11860. (WebKit::WebProcess::addSupplement):
  11861. (WebProcess):
  11862. 2013-02-01 Benjamin Poulain <bpoulain@apple.com>
  11863. Clean the String->AtomicString conversion for AnimationController::pauseAnimationAtTime
  11864. https://bugs.webkit.org/show_bug.cgi?id=108558
  11865. Reviewed by Dean Jackson.
  11866. * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
  11867. (WKBundleFramePauseAnimationOnElementWithId):
  11868. * WebProcess/WebPage/WebFrame.cpp:
  11869. (WebKit::WebFrame::pauseAnimationOnElementWithId):
  11870. * WebProcess/WebPage/WebFrame.h:
  11871. (WebFrame):
  11872. 2013-02-01 Anders Carlsson <andersca@apple.com>
  11873. More work on UI side storage
  11874. https://bugs.webkit.org/show_bug.cgi?id=108700
  11875. Reviewed by Sam Weinig.
  11876. * DerivedSources.make:
  11877. Add StorageManager.messages.in.
  11878. * Platform/CoreIPC/HandleMessage.h:
  11879. (CoreIPC::callMemberFunction):
  11880. Add new overload.
  11881. * UIProcess/Storage/StorageManager.cpp:
  11882. (WebKit::StorageManager::didReceiveMessageOnConnectionWorkQueue):
  11883. Call the right function.
  11884. (WebKit::StorageManager::createStorageArea):
  11885. (WebKit::StorageManager::destroyStorageArea):
  11886. Add stubs.
  11887. * UIProcess/Storage/StorageManager.messages.in: Added.
  11888. Add new messages files.
  11889. * WebKit2.xcodeproj/project.pbxproj:
  11890. Add new files.
  11891. * WebProcess/Storage/StorageAreaProxy.cpp:
  11892. (WebKit::StorageAreaProxy::~StorageAreaProxy):
  11893. Add another FIXME.
  11894. (WebKit::StorageAreaProxy::canAccessStorage):
  11895. (WebKit::StorageAreaProxy::incrementAccessCount):
  11896. (WebKit::StorageAreaProxy::decrementAccessCount):
  11897. Implement these.
  11898. 2013-02-01 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
  11899. [Gtk] [WK2] Fix build after r141619
  11900. https://bugs.webkit.org/show_bug.cgi?id=108687
  11901. Reviewed by Benjamin Poulain.
  11902. Take a reference instead of a pointer for decoding functions.
  11903. * Platform/gtk/SharedMemoryGtk.cpp:
  11904. (WebKit::SharedMemory::Handle::decode):
  11905. * Shared/gtk/ArgumentCodersGtk.cpp:
  11906. (CoreIPC::decodeImage):
  11907. (CoreIPC::decodeDataObject):
  11908. (CoreIPC::::decode):
  11909. (CoreIPC::decodeGKeyFile):
  11910. (CoreIPC::decode):
  11911. * Shared/gtk/ArgumentCodersGtk.h:
  11912. * Shared/gtk/LayerTreeContextGtk.cpp:
  11913. (WebKit::LayerTreeContext::decode):
  11914. 2013-02-01 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
  11915. [EFL] [WK2] Fix build after r141619
  11916. https://bugs.webkit.org/show_bug.cgi?id=108683
  11917. Reviewed by Benjamin Poulain.
  11918. Take a reference instead of a pointer for decoding functions.
  11919. * Shared/WebBatteryStatus.cpp:
  11920. (WebKit::WebBatteryStatus::Data::decode):
  11921. * Shared/WebBatteryStatus.h:
  11922. (Data):
  11923. * Shared/WebNetworkInfo.cpp:
  11924. (WebKit::WebNetworkInfo::Data::decode):
  11925. * Shared/WebNetworkInfo.h:
  11926. (Data):
  11927. * Shared/cairo/LayerTreeContextCairo.cpp:
  11928. (WebKit::LayerTreeContext::decode):
  11929. * Shared/efl/LayerTreeContextEfl.cpp:
  11930. (WebKit::LayerTreeContext::decode):
  11931. * Shared/soup/PlatformCertificateInfo.cpp:
  11932. (WebKit::PlatformCertificateInfo::decode):
  11933. * Shared/soup/PlatformCertificateInfo.h:
  11934. (PlatformCertificateInfo):
  11935. * Shared/soup/WebCoreArgumentCodersSoup.cpp:
  11936. (CoreIPC::::decodePlatformData):
  11937. 2013-02-01 Brady Eidson <beidson@apple.com>
  11938. Clean up WebArchive loading with the NetworkProcess
  11939. <rdar://problem/12695840> and https://bugs.webkit.org/show_bug.cgi?id=108673
  11940. Reviewed by Alexey Proskuryakov.
  11941. * NetworkProcess/HostRecord.cpp:
  11942. (WebKit::HostRecord::servePendingRequestsForQueue): Add new logging.
  11943. (WebKit::HostRecord::servePendingRequests): Tweak existing logging.
  11944. * NetworkProcess/NetworkResourceLoadScheduler.cpp:
  11945. (WebKit::NetworkResourceLoadScheduler::servePendingRequests): Tweak existing logging.
  11946. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  11947. (WebKit::WebResourceLoadScheduler::scheduleLoad): Handle archive resource scheduling better,
  11948. and add new logging to better explore archive loading behavior in the future.
  11949. 2013-02-01 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
  11950. [Qt] [WK2] Fix build after r141619
  11951. https://bugs.webkit.org/show_bug.cgi?id=108680
  11952. Reviewed by Benjamin Poulain.
  11953. Take a reference instead of a pointer for decoding functions.
  11954. * Platform/unix/SharedMemoryUnix.cpp:
  11955. (WebKit::SharedMemory::Handle::decode):
  11956. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  11957. (CoreIPC::::decode):
  11958. (CoreIPC::decodeTimingFunction):
  11959. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
  11960. * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
  11961. (WebKit::WebCoordinatedSurface::Handle::decode):
  11962. * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
  11963. (Handle):
  11964. * Shared/qt/ArgumentCodersQt.cpp:
  11965. (CoreIPC::::decode):
  11966. * Shared/qt/ArgumentCodersQt.h:
  11967. (CoreIPC):
  11968. * Shared/qt/LayerTreeContextQt.cpp:
  11969. (WebKit::LayerTreeContext::decode):
  11970. * Shared/qt/PlatformCertificateInfo.h:
  11971. (WebKit::PlatformCertificateInfo::decode):
  11972. * Shared/qt/QtNetworkReplyData.cpp:
  11973. (WebKit::QtNetworkReplyData::decode):
  11974. * Shared/qt/QtNetworkReplyData.h:
  11975. (QtNetworkReplyData):
  11976. * Shared/qt/QtNetworkRequestData.cpp:
  11977. (WebKit::QtNetworkRequestData::decode):
  11978. * Shared/qt/QtNetworkRequestData.h:
  11979. (QtNetworkRequestData):
  11980. * Shared/qt/WebCoreArgumentCodersQt.cpp:
  11981. (CoreIPC::::decodePlatformData):
  11982. 2013-02-01 Anders Carlsson <andersca@apple.com>
  11983. Message decoding functions should take a MessageDecoder reference
  11984. https://bugs.webkit.org/show_bug.cgi?id=108669
  11985. Reviewed by Andreas Kling.
  11986. Message encoding functions already take a reference instead of a pointer, so
  11987. make the decoding functions take a reference as well.
  11988. * Platform/CoreIPC/ArgumentCoder.h:
  11989. (CoreIPC::ArgumentCoder::decode):
  11990. * Platform/CoreIPC/ArgumentCoders.cpp:
  11991. (CoreIPC::::decode):
  11992. (CoreIPC::decodeStringText):
  11993. * Platform/CoreIPC/ArgumentCoders.h:
  11994. (CoreIPC::SimpleArgumentCoder::decode):
  11995. * Platform/CoreIPC/ArgumentDecoder.h:
  11996. (CoreIPC::ArgumentDecoder::decode):
  11997. * Platform/CoreIPC/Arguments.h:
  11998. (CoreIPC::Arguments0::decode):
  11999. (CoreIPC::Arguments1::decode):
  12000. (CoreIPC::Arguments2::decode):
  12001. (CoreIPC::Arguments3::decode):
  12002. (CoreIPC::Arguments4::decode):
  12003. (CoreIPC::Arguments5::decode):
  12004. (CoreIPC::Arguments6::decode):
  12005. (CoreIPC::Arguments7::decode):
  12006. (CoreIPC::Arguments8::decode):
  12007. (CoreIPC::Arguments10::decode):
  12008. * Platform/CoreIPC/Attachment.cpp:
  12009. (CoreIPC::Attachment::decode):
  12010. * Platform/CoreIPC/Attachment.h:
  12011. (Attachment):
  12012. * Platform/CoreIPC/DataReference.cpp:
  12013. (CoreIPC::DataReference::decode):
  12014. * Platform/CoreIPC/DataReference.h:
  12015. (DataReference):
  12016. * Platform/CoreIPC/StringReference.cpp:
  12017. (CoreIPC::StringReference::decode):
  12018. * Platform/CoreIPC/StringReference.h:
  12019. (StringReference):
  12020. * Platform/CoreIPC/mac/MachPort.h:
  12021. (CoreIPC::MachPort::decode):
  12022. * Platform/SharedMemory.h:
  12023. (Handle):
  12024. * Platform/mac/SharedMemoryMac.cpp:
  12025. (WebKit::SharedMemory::Handle::decode):
  12026. * PluginProcess/PluginCreationParameters.cpp:
  12027. (WebKit::PluginCreationParameters::decode):
  12028. * PluginProcess/PluginCreationParameters.h:
  12029. (PluginCreationParameters):
  12030. * Shared/DictionaryPopupInfo.cpp:
  12031. (WebKit::DictionaryPopupInfo::decode):
  12032. * Shared/DictionaryPopupInfo.h:
  12033. (DictionaryPopupInfo):
  12034. * Shared/EditorState.cpp:
  12035. (WebKit::EditorState::decode):
  12036. * Shared/EditorState.h:
  12037. (EditorState):
  12038. * Shared/FontInfo.cpp:
  12039. (WebKit::FontInfo::decode):
  12040. * Shared/FontInfo.h:
  12041. (FontInfo):
  12042. * Shared/LayerTreeContext.h:
  12043. (LayerTreeContext):
  12044. * Shared/Network/NetworkProcessCreationParameters.cpp:
  12045. (WebKit::NetworkProcessCreationParameters::decode):
  12046. * Shared/Network/NetworkProcessCreationParameters.h:
  12047. (NetworkProcessCreationParameters):
  12048. * Shared/Network/NetworkResourceLoadParameters.cpp:
  12049. (WebKit::NetworkResourceLoadParameters::decode):
  12050. * Shared/Network/NetworkResourceLoadParameters.h:
  12051. (NetworkResourceLoadParameters):
  12052. * Shared/OriginAndDatabases.cpp:
  12053. (WebKit::OriginAndDatabases::decode):
  12054. * Shared/OriginAndDatabases.h:
  12055. (OriginAndDatabases):
  12056. * Shared/PlatformPopupMenuData.cpp:
  12057. (WebKit::PlatformPopupMenuData::decode):
  12058. * Shared/PlatformPopupMenuData.h:
  12059. (PlatformPopupMenuData):
  12060. * Shared/Plugins/NPIdentifierData.cpp:
  12061. (WebKit::NPIdentifierData::decode):
  12062. * Shared/Plugins/NPIdentifierData.h:
  12063. (NPIdentifierData):
  12064. * Shared/Plugins/NPVariantData.cpp:
  12065. (WebKit::NPVariantData::decode):
  12066. * Shared/Plugins/NPVariantData.h:
  12067. (NPVariantData):
  12068. * Shared/Plugins/PluginProcessCreationParameters.cpp:
  12069. (WebKit::PluginProcessCreationParameters::decode):
  12070. * Shared/Plugins/PluginProcessCreationParameters.h:
  12071. (PluginProcessCreationParameters):
  12072. * Shared/PrintInfo.cpp:
  12073. (WebKit::PrintInfo::decode):
  12074. * Shared/PrintInfo.h:
  12075. (PrintInfo):
  12076. * Shared/SandboxExtension.h:
  12077. (Handle):
  12078. (HandleArray):
  12079. (WebKit::SandboxExtension::Handle::decode):
  12080. (WebKit::SandboxExtension::HandleArray::decode):
  12081. * Shared/SecurityOriginData.cpp:
  12082. (WebKit::SecurityOriginData::decode):
  12083. * Shared/SecurityOriginData.h:
  12084. (SecurityOriginData):
  12085. * Shared/SessionState.cpp:
  12086. (WebKit::SessionState::decode):
  12087. * Shared/SessionState.h:
  12088. (SessionState):
  12089. * Shared/ShareableBitmap.cpp:
  12090. (WebKit::ShareableBitmap::Handle::decode):
  12091. * Shared/ShareableBitmap.h:
  12092. (Handle):
  12093. * Shared/ShareableResource.cpp:
  12094. (WebKit::ShareableResource::Handle::decode):
  12095. * Shared/ShareableResource.h:
  12096. (Handle):
  12097. * Shared/SharedWorkerProcessCreationParameters.cpp:
  12098. (WebKit::SharedWorkerProcessCreationParameters::decode):
  12099. * Shared/SharedWorkerProcessCreationParameters.h:
  12100. (SharedWorkerProcessCreationParameters):
  12101. * Shared/StatisticsData.cpp:
  12102. (WebKit::StatisticsData::decode):
  12103. * Shared/StatisticsData.h:
  12104. (StatisticsData):
  12105. * Shared/StringPairVector.h:
  12106. (WebKit::StringPairVector::decode):
  12107. * Shared/UpdateInfo.cpp:
  12108. (WebKit::UpdateInfo::decode):
  12109. * Shared/UpdateInfo.h:
  12110. (UpdateInfo):
  12111. * Shared/UserMessageCoders.h:
  12112. (WebKit::UserMessageDecoder::baseDecode):
  12113. * Shared/WebContextMenuItemData.cpp:
  12114. (WebKit::WebContextMenuItemData::decode):
  12115. * Shared/WebContextMenuItemData.h:
  12116. (WebContextMenuItemData):
  12117. * Shared/WebCoreArgumentCoders.cpp:
  12118. (CoreIPC::::decode):
  12119. (CoreIPC::decodeImage):
  12120. * Shared/WebCoreArgumentCoders.h:
  12121. * Shared/WebEvent.cpp:
  12122. (WebKit::WebEvent::decode):
  12123. * Shared/WebEvent.h:
  12124. (WebEvent):
  12125. (WebMouseEvent):
  12126. (WebWheelEvent):
  12127. (WebKeyboardEvent):
  12128. (WebGestureEvent):
  12129. (WebPlatformTouchPoint):
  12130. (WebTouchEvent):
  12131. * Shared/WebGeolocationPosition.cpp:
  12132. (WebKit::WebGeolocationPosition::Data::decode):
  12133. * Shared/WebGeolocationPosition.h:
  12134. (Data):
  12135. * Shared/WebGestureEvent.cpp:
  12136. (WebKit::WebGestureEvent::decode):
  12137. * Shared/WebHitTestResult.cpp:
  12138. (WebKit::WebHitTestResult::Data::decode):
  12139. * Shared/WebHitTestResult.h:
  12140. (Data):
  12141. * Shared/WebKeyboardEvent.cpp:
  12142. (WebKit::WebKeyboardEvent::decode):
  12143. * Shared/WebMouseEvent.cpp:
  12144. (WebKit::WebMouseEvent::decode):
  12145. * Shared/WebNavigationDataStore.h:
  12146. (WebKit::WebNavigationDataStore::decode):
  12147. * Shared/WebPageCreationParameters.cpp:
  12148. (WebKit::WebPageCreationParameters::decode):
  12149. * Shared/WebPageCreationParameters.h:
  12150. (WebPageCreationParameters):
  12151. * Shared/WebPageGroupData.cpp:
  12152. (WebKit::WebPageGroupData::decode):
  12153. * Shared/WebPageGroupData.h:
  12154. (WebPageGroupData):
  12155. * Shared/WebPlatformTouchPoint.cpp:
  12156. (WebKit::WebPlatformTouchPoint::decode):
  12157. * Shared/WebPopupItem.cpp:
  12158. (WebKit::WebPopupItem::decode):
  12159. * Shared/WebPopupItem.h:
  12160. * Shared/WebPreferencesStore.cpp:
  12161. (WebKit::WebPreferencesStore::decode):
  12162. * Shared/WebPreferencesStore.h:
  12163. (WebPreferencesStore):
  12164. * Shared/WebProcessCreationParameters.cpp:
  12165. (WebKit::WebProcessCreationParameters::decode):
  12166. * Shared/WebProcessCreationParameters.h:
  12167. (WebProcessCreationParameters):
  12168. * Shared/WebTouchEvent.cpp:
  12169. (WebKit::WebTouchEvent::decode):
  12170. * Shared/WebWheelEvent.cpp:
  12171. (WebKit::WebWheelEvent::decode):
  12172. * Shared/cf/ArgumentCodersCF.cpp:
  12173. (CoreIPC::decode):
  12174. * Shared/cf/ArgumentCodersCF.h:
  12175. (CoreIPC):
  12176. * Shared/mac/ArgumentCodersMac.h:
  12177. (CoreIPC):
  12178. * Shared/mac/ArgumentCodersMac.mm:
  12179. (CoreIPC::decode):
  12180. * Shared/mac/AttributedString.h:
  12181. (AttributedString):
  12182. * Shared/mac/AttributedString.mm:
  12183. (WebKit::AttributedString::decode):
  12184. * Shared/mac/ColorSpaceData.h:
  12185. (ColorSpaceData):
  12186. * Shared/mac/ColorSpaceData.mm:
  12187. (WebKit::ColorSpaceData::decode):
  12188. * Shared/mac/LayerTreeContextMac.mm:
  12189. (WebKit::LayerTreeContext::decode):
  12190. * Shared/mac/ObjCObjectGraphCoders.h:
  12191. (WebContextObjCObjectGraphDecoder):
  12192. (InjectedBundleObjCObjectGraphDecoder):
  12193. * Shared/mac/ObjCObjectGraphCoders.mm:
  12194. (WebKit::ObjCObjectGraphDecoder::baseDecode):
  12195. (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
  12196. (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
  12197. (WebKit::WebContextObjCObjectGraphDecoder::decode):
  12198. (WebKit::InjectedBundleObjCObjectGraphDecoder::decode):
  12199. * Shared/mac/PlatformCertificateInfo.h:
  12200. (PlatformCertificateInfo):
  12201. * Shared/mac/PlatformCertificateInfo.mm:
  12202. (WebKit::PlatformCertificateInfo::decode):
  12203. * Shared/mac/RemoteLayerTreeTransaction.h:
  12204. (LayerProperties):
  12205. (RemoteLayerTreeTransaction):
  12206. * Shared/mac/RemoteLayerTreeTransaction.mm:
  12207. (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
  12208. (WebKit::RemoteLayerTreeTransaction::decode):
  12209. * Shared/mac/SandboxExtensionMac.mm:
  12210. (WebKit::SandboxExtension::Handle::decode):
  12211. (WebKit::SandboxExtension::HandleArray::decode):
  12212. * Shared/mac/SecItemRequestData.cpp:
  12213. (WebKit::SecItemRequestData::decode):
  12214. * Shared/mac/SecItemRequestData.h:
  12215. * Shared/mac/SecItemResponseData.cpp:
  12216. (WebKit::SecItemResponseData::decode):
  12217. * Shared/mac/SecItemResponseData.h:
  12218. (SecItemResponseData):
  12219. * Shared/mac/WebCoreArgumentCodersMac.mm:
  12220. (CoreIPC::::decodePlatformData):
  12221. (CoreIPC::::decode):
  12222. * UIProcess/WebContextUserMessageCoders.h:
  12223. (WebKit::WebContextUserMessageDecoder::decode):
  12224. * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
  12225. (WebKit::InjectedBundleUserMessageDecoder::decode):
  12226. * WebProcess/Plugins/Plugin.cpp:
  12227. (WebKit::Plugin::Parameters::decode):
  12228. * WebProcess/Plugins/Plugin.h:
  12229. (Parameters):
  12230. 2013-02-01 Carlos Garcia Campos <cgarcia@igalia.com>
  12231. [GTK] Adapt WorkQueueGtk to the latest changes in WebKit2 after r141497
  12232. https://bugs.webkit.org/show_bug.cgi?id=108607
  12233. Reviewed by Anders Carlsson.
  12234. * Platform/gtk/WorkQueueGtk.cpp:
  12235. (WorkQueue::EventSource::executeEventSource): Remove the is valid
  12236. work queue check.
  12237. (WorkQueue::EventSource): WorkQueue is now refcounted, so keep a
  12238. reference when a new job is scheduled and unref it when it
  12239. finishes.
  12240. 2013-02-01 Sheriff Bot <webkit.review.bot@gmail.com>
  12241. Unreviewed, rolling out r141319.
  12242. http://trac.webkit.org/changeset/141319
  12243. https://bugs.webkit.org/show_bug.cgi?id=108629
  12244. This patch is causing the UIProcess to hang on GTK port when
  12245. loading plugins (Requested by chris-qBT_laptop on #webkit).
  12246. * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
  12247. (WebKit::PluginProcessProxy::scanPlugin):
  12248. 2013-02-01 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  12249. [EFL][WK2] EwkContext should be based on C WK2 API
  12250. https://bugs.webkit.org/show_bug.cgi?id=107666
  12251. Reviewed by Andreas Kling.
  12252. EwkContext should be based on C WK2 API so that API layering is not violated.
  12253. * UIProcess/API/efl/EwkView.cpp:
  12254. (EwkView::EwkView):
  12255. * UIProcess/API/efl/ewk_context.cpp:
  12256. (EwkContext::EwkContext):
  12257. (EwkContext::create):
  12258. (EwkContext::cookieManager):
  12259. (EwkContext::ensureFaviconDatabase):
  12260. (EwkContext::setFaviconDatabaseDirectoryPath):
  12261. (EwkContext::addVisitedLink):
  12262. (EwkContext::setCacheModel):
  12263. (EwkContext::cacheModel):
  12264. (EwkContext::setAdditionalPluginPath):
  12265. (EwkContext::clearResourceCache):
  12266. * UIProcess/API/efl/ewk_context_private.h:
  12267. (EwkContext):
  12268. * UIProcess/API/efl/ewk_view.cpp:
  12269. (ewk_view_base_add):
  12270. 2013-02-01 Christophe Dumez <christophe.dumez@intel.com>
  12271. [EFL][WK2] Use C API inside ewk_auth_request
  12272. https://bugs.webkit.org/show_bug.cgi?id=107806
  12273. Reviewed by Andreas Kling.
  12274. Use C API inside ewk_auth_request instead of accessing C++ internal
  12275. classes directly, to avoid violating layering.
  12276. * UIProcess/API/efl/ewk_auth_request.cpp:
  12277. (EwkAuthRequest::EwkAuthRequest):
  12278. (EwkAuthRequest::suggestedUsername):
  12279. (EwkAuthRequest::realm):
  12280. (EwkAuthRequest::host):
  12281. (EwkAuthRequest::continueWithoutCredential):
  12282. (EwkAuthRequest::authenticate):
  12283. (EwkAuthRequest::isRetrying):
  12284. (ewk_auth_request_authenticate):
  12285. * UIProcess/API/efl/ewk_auth_request_private.h:
  12286. (EwkAuthRequest::create):
  12287. (EwkAuthRequest):
  12288. * UIProcess/efl/PageLoadClientEfl.cpp:
  12289. (WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
  12290. 2013-02-01 Seulgi Kim <seulgikim@company100.net>
  12291. [Gtk][WK2] Fix build after recent WebKit2 changes
  12292. https://bugs.webkit.org/show_bug.cgi?id=108588
  12293. Reviewed by Andreas Kling.
  12294. Don't remove WorkQueue during execution.
  12295. Following the logic on https://bugs.webkit.org/show_bug.cgi?id=108544
  12296. * Platform/gtk/WorkQueueGtk.cpp:
  12297. (WorkQueue::EventSource::~EventSource):
  12298. (WorkQueue::EventSource::executeEventSource):
  12299. (WorkQueue::dispatch):
  12300. (WorkQueue::dispatchAfterDelay):
  12301. (WorkQueue::dispatchOnTermination):
  12302. 2013-02-01 Alexis Menard <alexis@webkit.org>
  12303. Enable unprefixed CSS transitions by default.
  12304. https://bugs.webkit.org/show_bug.cgi?id=108216
  12305. Reviewed by Dean Jackson.
  12306. Rename the flag CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
  12307. to CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED which will be used later to
  12308. guard the unprefixing work for CSS Transforms and animations.
  12309. * Configurations/FeatureDefines.xcconfig:
  12310. 2013-02-01 Jae Hyun Park <jae.park@company100.net>
  12311. Coordinated Graphics : Sort Target.pri and class declarations in alphabetical order.
  12312. https://bugs.webkit.org/show_bug.cgi?id=108590
  12313. Reviewed by Noam Rosenthal.
  12314. Sort class declarations in alphabetical order.
  12315. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
  12316. (WebCore):
  12317. 2013-02-01 Gwang Yoon Hwang <ryumiel@company100.net>
  12318. [EFL][WK2] MiniBrowser segfaults on loading google.com
  12319. https://bugs.webkit.org/show_bug.cgi?id=108597
  12320. Reviewed by Andreas Kling.
  12321. * Platform/CoreIPC/unix/ConnectionUnix.cpp:
  12322. (CoreIPC::Connection::processMessage):
  12323. oolMessageBody should be properly initialized before it is used.
  12324. This patch also adds omitted break statement.
  12325. 2013-01-31 Jae Hyun Park <jae.park@company100.net>
  12326. [Qt] Add MessageFlags.h in Target.pri
  12327. https://bugs.webkit.org/show_bug.cgi?id=108583
  12328. Reviewed by Kentaro Hara.
  12329. Since MessageDecoder and MessageEncoder include MessageFlags.h, it
  12330. should be included in Target.pri.
  12331. * Target.pri:
  12332. 2013-01-31 Jae Hyun Park <jae.park@company100.net>
  12333. Coordinated Graphics : Move CoordinatedGraphics related files to WebCore
  12334. https://bugs.webkit.org/show_bug.cgi?id=108149
  12335. Reviewed by Noam Rosenthal.
  12336. This patch moves Coordinated Graphics related code to WebCore. To
  12337. implement Threaded Coordinated Graphics, most of Coordianted Graphics
  12338. code should be shared. Therefore, they should reside in WebCore instead of
  12339. WebKit2.
  12340. When moving to WebCore, two renamings have been done.
  12341. 1. Rename LayerTreeRenderer to CoordinatedGraphicsScene.
  12342. 2. Rename WebCustomFilterProgram and WebCustomFilterOperation to
  12343. CoordinatedCustomFilterProgram and CoordinatedCustomFilterOperation,
  12344. respectively.
  12345. No new tests, covered by existing tests.
  12346. * CMakeLists.txt:
  12347. * Scripts/webkit2/messages.py:
  12348. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  12349. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
  12350. * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
  12351. * Target.pri:
  12352. * UIProcess/API/efl/EwkView.cpp:
  12353. * UIProcess/API/efl/EwkView.h:
  12354. * UIProcess/API/qt/qquickwebpage.cpp:
  12355. * UIProcess/API/qt/raw/qrawwebview.cpp:
  12356. * UIProcess/API/qt/raw/qrawwebview_p.h:
  12357. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
  12358. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  12359. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
  12360. * UIProcess/efl/PageClientBase.cpp:
  12361. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  12362. * UIProcess/qt/QtWebPageSGNode.cpp:
  12363. * UIProcess/qt/QtWebPageSGNode.h:
  12364. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  12365. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  12366. 2013-01-31 Rafael Brandao <rafael.lobo@openbossa.org>
  12367. [Qt][WK2] Another attempt to fix build after recent WebKit2 changes
  12368. https://bugs.webkit.org/show_bug.cgi?id=108548
  12369. Reviewed by Anders Carlsson.
  12370. * Platform/CoreIPC/unix/ConnectionUnix.cpp:
  12371. (CoreIPC::Connection::platformInvalidate):
  12372. (CoreIPC::Connection::processMessage): Change Deque to Vector and do similar
  12373. logic as on patch for https://bugs.webkit.org/show_bug.cgi?id=108517
  12374. (CoreIPC::Connection::open):
  12375. (CoreIPC::Connection::setShouldCloseConnectionOnProcessTermination):
  12376. * Platform/qt/WorkQueueQt.cpp: Reflect changes on Qt WorkQueue to increase ref
  12377. count when the execution is started and decrease it when the work item is deleted,
  12378. following the logic on https://bugs.webkit.org/show_bug.cgi?id=108544
  12379. (WorkQueue::WorkItemQt::~WorkItemQt):
  12380. (WorkQueue::WorkItemQt::execute):
  12381. (WorkQueue::dispatch):
  12382. (WorkQueue::dispatchAfterDelay):
  12383. * UIProcess/WebPageProxy.cpp:
  12384. (WebKit::WebPageProxy::getPluginPath): This function was moved from WebProcessProxy but
  12385. mac specific code was not protected properly: https://bugs.webkit.org/show_bug.cgi?id=108407
  12386. 2013-01-31 Changhun Kang <temoochin@company100.net>
  12387. Rename from parentOrHost* to parentOrShadowHost* in Node.h.
  12388. https://bugs.webkit.org/show_bug.cgi?id=108308
  12389. Reviewed by Dimitri Glazkov.
  12390. 2013-01-31 Anders Carlsson <andersca@apple.com>
  12391. StorageManager should be ref-counted
  12392. https://bugs.webkit.org/show_bug.cgi?id=108553
  12393. Reviewed by Beth Dakin.
  12394. It's likely we'd want to have the storage manager outlive its context at times, so make it
  12395. reference counted.
  12396. * UIProcess/Storage/StorageManager.cpp:
  12397. (WebKit::StorageManager::create):
  12398. (WebKit):
  12399. * UIProcess/Storage/StorageManager.h:
  12400. (StorageManager):
  12401. * UIProcess/WebContext.cpp:
  12402. (WebKit::WebContext::WebContext):
  12403. * UIProcess/WebContext.h:
  12404. (WebContext):
  12405. 2013-01-31 Anders Carlsson <andersca@apple.com>
  12406. WorkQueue should be a ref-counted class
  12407. https://bugs.webkit.org/show_bug.cgi?id=108544
  12408. Reviewed by Sam Weinig.
  12409. Make WorkQueue a ref-counted class that's implicitly ref()'d when dispatching a function to it, and then
  12410. implicitly deref()'d when the function is done executing. This matches the behavior of dispatch queues,
  12411. and ensures that the WorkQueue object won't go away while dispatched functions are running.
  12412. * Platform/CoreIPC/Connection.cpp:
  12413. (CoreIPC::Connection::Connection):
  12414. (CoreIPC::Connection::~Connection):
  12415. (CoreIPC::Connection::addQueueClient):
  12416. (CoreIPC::Connection::removeQueueClient):
  12417. (CoreIPC::Connection::invalidate):
  12418. (CoreIPC::Connection::sendMessage):
  12419. (CoreIPC::Connection::postConnectionDidCloseOnConnectionWorkQueue):
  12420. (CoreIPC::Connection::connectionDidClose):
  12421. * Platform/CoreIPC/Connection.h:
  12422. (Connection):
  12423. * Platform/CoreIPC/mac/ConnectionMac.cpp:
  12424. (CoreIPC::createDataAvailableSource):
  12425. (CoreIPC::Connection::open):
  12426. (CoreIPC::Connection::initializeDeadNameSource):
  12427. * Platform/WorkQueue.cpp:
  12428. (WorkQueue::create):
  12429. (WorkQueue::WorkQueue):
  12430. (WorkQueue::~WorkQueue):
  12431. * Platform/WorkQueue.h:
  12432. (WorkQueue):
  12433. * Platform/mac/WorkQueueMac.cpp:
  12434. (WorkQueue::dispatch):
  12435. (WorkQueue::dispatchAfterDelay):
  12436. * Shared/ChildProcess.cpp:
  12437. (WebKit::didCloseOnConnectionWorkQueue):
  12438. * UIProcess/Launcher/ProcessLauncher.cpp:
  12439. (WebKit::processLauncherWorkQueue):
  12440. (WebKit::ProcessLauncher::ProcessLauncher):
  12441. * UIProcess/WebProcessProxy.cpp:
  12442. (WebKit::pluginWorkQueue):
  12443. (WebKit::WebProcessProxy::getPlugins):
  12444. 2013-01-31 Rafael Brandao <rafael.lobo@openbossa.org>
  12445. [Qt][WK2] Fix build after removal of MessageID.h
  12446. https://bugs.webkit.org/show_bug.cgi?id=108534
  12447. Reviewed by Anders Carlsson.
  12448. * Platform/CoreIPC/unix/ConnectionUnix.cpp:
  12449. (CoreIPC::MessageInfo::MessageInfo):
  12450. (CoreIPC::MessageInfo::setMessageBodyIsOutOfLine):
  12451. (CoreIPC::MessageInfo::isMessageBodyIsOutOfLine):
  12452. (MessageInfo):
  12453. (CoreIPC::Connection::processMessage):
  12454. (CoreIPC::Connection::sendOutgoingMessage):
  12455. * Target.pri:
  12456. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  12457. * UIProcess/DrawingAreaProxy.cpp:
  12458. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  12459. * WebProcess/soup/WebSoupRequestManager.cpp:
  12460. 2013-01-31 Brady Eidson <beidson@apple.com>
  12461. Assertion failure in WebResourceLoadScheduler::remove when loading .webarchives
  12462. <rdar://problem/12888145> and https://bugs.webkit.org/show_bug.cgi?id=108520
  12463. Reviewed by Alexey Proskuryakov.
  12464. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  12465. (WebKit::WebResourceLoadScheduler::scheduleLoad): Even if it isn't to be scheduled with the
  12466. NetworkProcess, still add this ResourceLoader to the scheduler's records.
  12467. 2013-01-31 Simon Hausmann <simon.hausmann@digia.com>
  12468. Unreviewed trivial Unix build fix.
  12469. Use Vector<> instead of Deque<> when iterating
  12470. over m_attachments in the USE(UNIX_DOMAIN_SOCKETS)
  12471. case.
  12472. * Platform/CoreIPC/ArgumentDecoder.cpp:
  12473. 2013-01-30 Brian Weinstein <bweinstein@apple.com>
  12474. Add a call to the page UI client to determine if a plug-in should load
  12475. https://bugs.webkit.org/show_bug.cgi?id=108407
  12476. <rdar://problem/13066332>
  12477. Reviewed by Anders Carlsson.
  12478. This patch adds a client call to the WKPageUIClient to be called to determine
  12479. whether or not a plug-in should load.
  12480. * UIProcess/API/C/WKPage.h: Add shouldLoadPlugin.
  12481. * UIProcess/WebPageProxy.cpp:
  12482. (WebKit::WebPageProxy::getPluginPath): Moved from WebProcessProxy, and added a call to
  12483. m_uiClient.shouldInstantiatePlugin.
  12484. * UIProcess/WebPageProxy.h:
  12485. * UIProcss/WebPageProxy.messages.in: Moved GetPluginPath from WebProcessProxy to WebPageProxy.
  12486. * UIProcess/WebProcessProxy.cpp:
  12487. (WebKit::WebProcessProxy::getPluginPath): Moved to WebPageProxy.
  12488. * UIProcess/WebProcessProxy.h:
  12489. * UIProcess/WebUIClient.cpp:
  12490. (WebKit::WebUIClient::shouldInstantiatePlugin): Return that we should load the plug-in if
  12491. the client function isn't defined, and call the function if it is.
  12492. * UIProcess/WebUIClient.h:
  12493. * UIProcess/mac/WebInspectorProxyMac.mm:
  12494. (WebKit::WebInspectorProxy::platformCreateInspectorPage): Add an entry for the new
  12495. client function.
  12496. * WebProcess/WebPage/WebPage.cpp:
  12497. (WebKit::WebPage::createPlugin): Send the message to the WebPageProxy, not the WebProcessProxy.
  12498. (WebKit::WebPage::canPluginHandleResponse): Made a member function, so it can call sendSync, and
  12499. send the message to the WebPageProxy, not the WebProcessProxy.
  12500. * WebProcess/WebPage/WebPage.h:
  12501. 2013-01-31 Anders Carlsson <andersca@apple.com>
  12502. Use a Vector for IPC attachments
  12503. https://bugs.webkit.org/show_bug.cgi?id=108517
  12504. Reviewed by Sam Weinig.
  12505. We don't need to use a Deque for attachments - we can just deserialize the attachments backwards instead.
  12506. * Platform/CoreIPC/ArgumentDecoder.cpp:
  12507. (CoreIPC::ArgumentDecoder::create):
  12508. (CoreIPC::ArgumentDecoder::ArgumentDecoder):
  12509. (CoreIPC::ArgumentDecoder::removeAttachment):
  12510. * Platform/CoreIPC/ArgumentDecoder.h:
  12511. (ArgumentDecoder):
  12512. * Platform/CoreIPC/Connection.h:
  12513. * Platform/CoreIPC/MessageDecoder.cpp:
  12514. (CoreIPC::MessageDecoder::create):
  12515. (CoreIPC::MessageDecoder::MessageDecoder):
  12516. * Platform/CoreIPC/MessageDecoder.h:
  12517. (MessageDecoder):
  12518. * Platform/CoreIPC/mac/ConnectionMac.cpp:
  12519. (CoreIPC::createMessageDecoder):
  12520. 2013-01-31 Joseph Pecoraro <pecoraro@apple.com>
  12521. Disable ENABLE_FULLSCREEN_API on iOS
  12522. https://bugs.webkit.org/show_bug.cgi?id=108250
  12523. Reviewed by Benjamin Poulain.
  12524. * Configurations/FeatureDefines.xcconfig:
  12525. 2013-01-31 Enrica Casucci <enrica@apple.com>
  12526. WebKit2: provide new bundle APIs to allow bundle clients to be notified of pasteboard access.
  12527. https://bugs.webkit.org/show_bug.cgi?id=108396.
  12528. <rdar://problem/12920461>
  12529. Reviewed by Alexey Proskuryakov.
  12530. This patch adds new bundle client API to receive notifications
  12531. relative the pasteboard activity. There are 2 new API added to
  12532. InjectedBundleEditorClient, to receive notification before and
  12533. after the pasteboard content is added and one API to provide
  12534. additional content to add to the pasteboard.
  12535. In order to create content to add to the pasteboard, WKWebArchiveRef
  12536. and WKWebArchiveResourcesRef have been added to the set of API level
  12537. object.
  12538. This work is a joint effort with Sam Weinig who contributed the
  12539. support for WKWebArchiveRef, WKWebArchiveResourcesRef and related
  12540. files. Sam is the author of the first chunk of changes listed below.
  12541. * Shared/API/c/WKBase.h:
  12542. * Shared/API/c/WKSharedAPICast.h:
  12543. * Shared/API/c/mac/WKWebArchive.cpp: Added.
  12544. (WKWebArchiveGetTypeID):
  12545. (WKWebArchiveCreate):
  12546. (WKWebArchiveCreateWithData):
  12547. (WKWebArchiveCreateFromRange):
  12548. (WKWebArchiveCopyMainResource):
  12549. (WKWebArchiveCopySubresources):
  12550. (WKWebArchiveCopySubframeArchives):
  12551. (WKWebArchiveCopyData):
  12552. * Shared/API/c/mac/WKWebArchive.h: Added.
  12553. * Shared/API/c/mac/WKWebArchiveResource.cpp: Added.
  12554. (WKWebArchiveResourceGetTypeID):
  12555. (WKWebArchiveResourceCreate):
  12556. (WKWebArchiveResourceCopyData):
  12557. (WKWebArchiveResourceCopyURL):
  12558. (WKWebArchiveResourceCopyMIMEType):
  12559. (WKWebArchiveResourceCopyTextEncoding):
  12560. * Shared/API/c/mac/WKWebArchiveResource.h: Added.
  12561. * Shared/APIObject.h:
  12562. * Shared/WebArchive.cpp: Added.
  12563. (WebKit::WebArchive::create):
  12564. (WebKit::WebArchive::WebArchive):
  12565. (WebKit::WebArchive::~WebArchive):
  12566. (WebKit::WebArchive::mainResource):
  12567. (WebKit::WebArchive::subresources):
  12568. (WebKit::WebArchive::subframeArchives):
  12569. (WebKit::releaseCFData):
  12570. (WebKit::WebArchive::data):
  12571. (WebKit::WebArchive::coreLegacyWebArchive):
  12572. * Shared/WebArchive.h: Added.
  12573. (WebKit::WebArchive::type):
  12574. * Shared/WebArchiveResource.cpp: Added.
  12575. (WebKit::WebArchiveResource::create):
  12576. (WebKit::WebArchiveResource::WebArchiveResource):
  12577. (WebKit::WebArchiveResource::~WebArchiveResource):
  12578. (WebKit::releaseCFData):
  12579. (WebKit::WebArchiveResource::data):
  12580. (WebKit::WebArchiveResource::URL):
  12581. (WebKit::WebArchiveResource::MIMEType):
  12582. (WebKit::WebArchiveResource::textEncoding):
  12583. (WebKit::WebArchiveResource::coreArchiveResource):
  12584. * Shared/WebArchiveResource.h: Added.
  12585. (WebKit::WebArchiveResource::type):
  12586. * WebKit2.xcodeproj/project.pbxproj:
  12587. * Shared/APIClientTraits.cpp: Added versioning to InjectedBundlePageEditorClient.
  12588. * Shared/APIClientTraits.h:
  12589. * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  12590. * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
  12591. (WebKit::InjectedBundlePageEditorClient::willWriteToPasteboard): Added.
  12592. (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange): Added.
  12593. (WebKit::InjectedBundlePageEditorClient::didWriteToPasteboard): Added.
  12594. * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
  12595. * WebProcess/WebCoreSupport/WebEditorClient.cpp:
  12596. (WebKit::WebEditorClient::didWriteSelectionToPasteboard):
  12597. (WebKit::WebEditorClient::willWriteSelectionToPasteboard):
  12598. (WebKit::WebEditorClient::getClientPasteboardDataForRange):
  12599. * WebProcess/WebCoreSupport/WebEditorClient.h:
  12600. 2013-01-31 Anders Carlsson <andersca@apple.com>
  12601. Remove MessageID.h
  12602. https://bugs.webkit.org/show_bug.cgi?id=108516
  12603. Reviewed by Sam Weinig.
  12604. * Platform/CoreIPC/Connection.cpp:
  12605. (CoreIPC::Connection::processIncomingMessage):
  12606. (CoreIPC::Connection::sendOutgoingMessages):
  12607. (CoreIPC::Connection::dispatchSyncMessage):
  12608. (CoreIPC::Connection::dispatchMessage):
  12609. * Platform/CoreIPC/Connection.h:
  12610. (CoreIPC):
  12611. (Connection):
  12612. * Platform/CoreIPC/MessageID.h: Removed.
  12613. * Platform/CoreIPC/mac/ConnectionMac.cpp:
  12614. (CoreIPC::Connection::sendOutgoingMessage):
  12615. (CoreIPC::Connection::receiveSourceEventHandler):
  12616. * Shared/CoreIPCSupport/WebConnectionMessageKinds.h: Removed.
  12617. * Shared/CoreIPCSupport/WebContextMessageKinds.h:
  12618. * UIProcess/DrawingAreaProxy.h:
  12619. (CoreIPC):
  12620. * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
  12621. * UIProcess/WebApplicationCacheManagerProxy.h:
  12622. * UIProcess/WebContext.cpp:
  12623. (WebKit::WebContext::WebContext):
  12624. (WebKit::WebContext::didReceiveMessage):
  12625. (WebKit::WebContext::didReceiveSyncMessage):
  12626. * UIProcess/WebCookieManagerProxy.h:
  12627. * UIProcess/WebFrameProxy.h:
  12628. (CoreIPC):
  12629. * UIProcess/WebFullScreenManagerProxy.h:
  12630. (CoreIPC):
  12631. * UIProcess/WebIconDatabase.h:
  12632. (CoreIPC):
  12633. * UIProcess/WebPageProxy.cpp:
  12634. * UIProcess/WebPageProxy.h:
  12635. (CoreIPC):
  12636. * WebKit2.xcodeproj/project.pbxproj:
  12637. * WebProcess/FullScreen/WebFullScreenManager.cpp:
  12638. * WebProcess/FullScreen/WebFullScreenManager.h:
  12639. (CoreIPC):
  12640. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  12641. (WebKit::InjectedBundle::postMessage):
  12642. (WebKit::InjectedBundle::postSynchronousMessage):
  12643. * WebProcess/InjectedBundle/InjectedBundle.h:
  12644. (CoreIPC):
  12645. * WebProcess/WebPage/DrawingArea.h:
  12646. (CoreIPC):
  12647. * WebProcess/WebPage/LayerTreeHost.h:
  12648. (CoreIPC):
  12649. * WebProcess/WebPage/WebPage.cpp:
  12650. * WebProcess/WebPage/WebPage.h:
  12651. (CoreIPC):
  12652. * WebProcess/WebPage/WebPageGroupProxy.h:
  12653. (CoreIPC):
  12654. 2013-01-31 Mike West <mkwst@chromium.org>
  12655. Cleanup: Use ScriptExecutionContext::topOrigin when relevant.
  12656. https://bugs.webkit.org/show_bug.cgi?id=108476
  12657. Reviewed by Anders Carlsson.
  12658. * WebProcess/Plugins/PluginView.cpp:
  12659. (WebKit::PluginView::storageBlockingStateChanged):
  12660. (WebKit::PluginView::isPrivateBrowsingEnabled):
  12661. 2013-01-31 Anders Carlsson <andersca@apple.com>
  12662. Get rid of IncomingMessage
  12663. https://bugs.webkit.org/show_bug.cgi?id=108514
  12664. Reviewed by Sam Weinig.
  12665. * Platform/CoreIPC/Connection.cpp:
  12666. (Connection::SyncMessageState):
  12667. (ConnectionAndIncomingMessage):
  12668. (CoreIPC::Connection::SyncMessageState::~SyncMessageState):
  12669. (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
  12670. (CoreIPC::Connection::SyncMessageState::dispatchMessages):
  12671. (CoreIPC::Connection::waitForMessage):
  12672. (CoreIPC::Connection::processIncomingMessage):
  12673. (CoreIPC::Connection::enqueueIncomingMessage):
  12674. (CoreIPC::Connection::dispatchMessage):
  12675. (CoreIPC::Connection::dispatchOneMessage):
  12676. * Platform/CoreIPC/Connection.h:
  12677. (Connection):
  12678. 2013-01-31 Patrick Gansterer <paroga@webkit.org>
  12679. Remove PLATFORM(WIN_CAIRO) from NetscapePluginX11.cpp
  12680. https://bugs.webkit.org/show_bug.cgi?id=108439
  12681. Reviewed by Brent Fulgham.
  12682. PLATFORM(WIN_CAIRO) is Windows only, where no X11 exists.
  12683. * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
  12684. 2013-01-31 Simon Hausmann <simon.hausmann@digia.com>
  12685. Unreviewed build fix: Remove Web Intents files from
  12686. the Qt build system.
  12687. * Target.pri:
  12688. 2013-01-31 Zan Dobersek <zdobersek@igalia.com>
  12689. Unreviewed GTK build fix.
  12690. Removing build targets for Web Intents files that were removed in r141448.
  12691. * GNUmakefile.list.am:
  12692. 2013-01-31 Anders Carlsson <andersca@apple.com>
  12693. Remove Web Intents code from WebKit2
  12694. https://bugs.webkit.org/show_bug.cgi?id=108506
  12695. Reviewed by Simon Fraser.
  12696. Since nobody builds with Web Intents enabled anymore, and since the code is going to
  12697. be removed from WebCore, remove it from WebKit2.
  12698. * Shared/API/c/WKBase.h:
  12699. * Shared/APIClientTraits.cpp:
  12700. (WebKit):
  12701. * Shared/APIObject.h:
  12702. * Shared/IntentData.cpp: Removed.
  12703. * Shared/IntentData.h: Removed.
  12704. * Shared/IntentServiceInfo.cpp: Removed.
  12705. * Shared/IntentServiceInfo.h: Removed.
  12706. * Shared/WebIntentServiceInfo.cpp: Removed.
  12707. * Shared/WebIntentServiceInfo.h: Removed.
  12708. * UIProcess/API/C/WKAPICast.h:
  12709. (WebKit):
  12710. * UIProcess/API/C/WKIntentData.cpp: Removed.
  12711. * UIProcess/API/C/WKIntentData.h: Removed.
  12712. * UIProcess/API/C/WKIntentServiceInfo.cpp: Removed.
  12713. * UIProcess/API/C/WKIntentServiceInfo.h: Removed.
  12714. * UIProcess/API/C/WKPage.cpp:
  12715. * UIProcess/API/C/WKPage.h:
  12716. * UIProcess/WebIntentData.cpp: Removed.
  12717. * UIProcess/WebIntentData.h: Removed.
  12718. * UIProcess/WebLoaderClient.cpp:
  12719. * UIProcess/WebLoaderClient.h:
  12720. (WebKit):
  12721. (WebLoaderClient):
  12722. * UIProcess/WebPageProxy.cpp:
  12723. * UIProcess/WebPageProxy.h:
  12724. (WebKit):
  12725. (WebPageProxy):
  12726. * UIProcess/WebPageProxy.messages.in:
  12727. * UIProcess/WebProcessProxy.cpp:
  12728. * UIProcess/WebProcessProxy.h:
  12729. (WebProcessProxy):
  12730. * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
  12731. (WebKit):
  12732. * WebProcess/InjectedBundle/API/c/WKBundleIntent.cpp: Removed.
  12733. * WebProcess/InjectedBundle/API/c/WKBundleIntent.h: Removed.
  12734. * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.cpp: Removed.
  12735. * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.h: Removed.
  12736. * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  12737. * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  12738. * WebProcess/InjectedBundle/InjectedBundleIntent.cpp: Removed.
  12739. * WebProcess/InjectedBundle/InjectedBundleIntent.h: Removed.
  12740. * WebProcess/InjectedBundle/InjectedBundleIntentRequest.cpp: Removed.
  12741. * WebProcess/InjectedBundle/InjectedBundleIntentRequest.h: Removed.
  12742. * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
  12743. * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
  12744. (WebKit):
  12745. (InjectedBundlePageLoaderClient):
  12746. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  12747. (WebKit):
  12748. * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  12749. (WebFrameLoaderClient):
  12750. * WebProcess/WebPage/WebFrame.cpp:
  12751. * WebProcess/WebPage/WebFrame.h:
  12752. (WebCore):
  12753. (WebKit):
  12754. (WebFrame):
  12755. * WebProcess/WebPage/WebPage.cpp:
  12756. * WebProcess/WebPage/WebPage.h:
  12757. (WebCore):
  12758. (WebKit):
  12759. (WebPage):
  12760. * WebProcess/WebPage/WebPage.messages.in:
  12761. * WebProcess/WebProcess.cpp:
  12762. * WebProcess/WebProcess.h:
  12763. (WebCore):
  12764. (WebProcess):
  12765. * WebProcess/WebProcess.messages.in:
  12766. 2013-01-31 Brady Eidson <beidson@apple.com>
  12767. Lack of a log level string should not obliterate compiled in logging channel state.
  12768. https://bugs.webkit.org/show_bug.cgi?id=108502
  12769. Reviewed by Alexey Proskuryakov and Sam Weinig.
  12770. * Platform/mac/Logging.mac.mm:
  12771. (WebKit::initializeLogChannel): If there's no log level string, leave the channel state alone.
  12772. 2013-01-31 Alexey Proskuryakov <ap@apple.com>
  12773. WebProcess sandbox profile overhaul.
  12774. Reviewed by Sam Weinig.
  12775. Moves some rules together by susbystem for easier maintenance.
  12776. Addresses <rdar://problem/9276393>, <rdar://problem/10844321>, <rdar://problem/12408537>,
  12777. <rdar://problem/12558524>.
  12778. * WebProcess/com.apple.WebProcess.sb.in:
  12779. 2013-01-31 Simon Hausmann <simon.hausmann@digia.com>
  12780. Unreviewed trivial build fix: Pre C++11 the use of
  12781. >> in nested templates is ambiguous in the grammar and
  12782. requires the insertion of a space here. Since these files are
  12783. not Mac specific we don't require C++11 yet and a space
  12784. fixes the build.
  12785. * Platform/CoreIPC/Connection.h:
  12786. (Connection):
  12787. * Shared/ChildProcessProxy.h:
  12788. (ChildProcessProxy):
  12789. 2013-01-31 Christophe Dumez <dchris@gmail.com>
  12790. [EFL] Disable Web Intents
  12791. https://bugs.webkit.org/show_bug.cgi?id=108457
  12792. Reviewed by Alexey Proskuryakov.
  12793. Remove code related to Web Intents from EFL
  12794. WebKit2.
  12795. * CMakeLists.txt:
  12796. * PlatformEfl.cmake:
  12797. * UIProcess/API/efl/EWebKit2.h:
  12798. * UIProcess/API/efl/EwkViewCallbacks.h:
  12799. * UIProcess/API/efl/ewk_intent.cpp: Removed.
  12800. * UIProcess/API/efl/ewk_intent.h: Removed.
  12801. * UIProcess/API/efl/ewk_intent_private.h: Removed.
  12802. * UIProcess/API/efl/ewk_intent_service.cpp: Removed.
  12803. * UIProcess/API/efl/ewk_intent_service.h: Removed.
  12804. * UIProcess/API/efl/ewk_intent_service_private.h: Removed.
  12805. * UIProcess/API/efl/ewk_view.cpp:
  12806. * UIProcess/API/efl/ewk_view.h:
  12807. * UIProcess/API/efl/tests/resources/intent-request.html: Removed.
  12808. * UIProcess/API/efl/tests/resources/intent-service.html: Removed.
  12809. * UIProcess/API/efl/tests/test_ewk2_intents.cpp: Removed.
  12810. * UIProcess/efl/PageLoadClientEfl.cpp:
  12811. (WebKit::PageLoadClientEfl::PageLoadClientEfl):
  12812. * UIProcess/efl/PageLoadClientEfl.h:
  12813. (PageLoadClientEfl):
  12814. 2013-01-31 Alexey Proskuryakov <ap@apple.com>
  12815. <rdar://problem/12695827> PPT: Make loading file URLs work with a sandboxed NetworkProcess
  12816. Address review comments.
  12817. * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  12818. * WebProcess/com.apple.WebProcess.sb.in:
  12819. 2013-01-31 Anders Carlsson <andersca@apple.com>
  12820. Stop using OutgoingMessage
  12821. https://bugs.webkit.org/show_bug.cgi?id=108495
  12822. Reviewed by Sam Weinig.
  12823. * Platform/CoreIPC/Connection.cpp:
  12824. (CoreIPC::Connection::sendMessage):
  12825. (CoreIPC::Connection::sendOutgoingMessages):
  12826. * Platform/CoreIPC/Connection.h:
  12827. (Connection):
  12828. * Shared/ChildProcessProxy.cpp:
  12829. (WebKit::ChildProcessProxy::~ChildProcessProxy):
  12830. (WebKit::ChildProcessProxy::sendMessage):
  12831. (WebKit::ChildProcessProxy::didFinishLaunching):
  12832. * Shared/ChildProcessProxy.h:
  12833. (ChildProcessProxy):
  12834. 2013-01-31 Simon Hausmann <simon.hausmann@digia.com>
  12835. [Qt] Make it possible to compile WebKit2 Qt related files without access to internal WK2 C++ API
  12836. https://bugs.webkit.org/show_bug.cgi?id=108472
  12837. Reviewed by Andreas Kling.
  12838. Add a new module to the qmake build system that represents the part of the WebKit2 Qt integration
  12839. that doesn't depend on WebKit2 internals.
  12840. Changed qwebnavigationhistory.cpp to not use any internal headers and compile it as part of the
  12841. internals-free module.
  12842. * Target.pri:
  12843. * UIProcess/API/qt/qwebnavigationhistory.cpp:
  12844. * WebKit2.pro:
  12845. * WebKit2QML.pri: Added.
  12846. 2013-01-31 Simon Hausmann <simon.hausmann@digia.com>
  12847. Unreviewed trivial build fix: Add missing virtual destructor to
  12848. LayerTreeRendererClient. Otherwise the build with -Werror breaks, which
  12849. complains (rightly so) that we're deleting a sub-class where the super class
  12850. doesn't have a virtual destructor.
  12851. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  12852. (WebKit::LayerTreeRendererClient::~LayerTreeRendererClient):
  12853. 2013-01-31 Seulgi Kim <seulgikim@company100.net>
  12854. Coordinated Graphics: view the debug border/repaint count of the non composited layer.
  12855. https://bugs.webkit.org/show_bug.cgi?id=108401
  12856. Reviewed by Noam Rosenthal.
  12857. Make non-compositing layer draw debug border and show repaint counter
  12858. accroding to settings.
  12859. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  12860. (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
  12861. 2013-01-31 Paweł Forysiuk <tuxator@o2.pl>
  12862. InjectedBundle is being built even with --disable-webkit2
  12863. https://bugs.webkit.org/show_bug.cgi?id=108364
  12864. Reviewed by Gustavo Noronha Silva.
  12865. * GNUmakefile.am: Wrap Injected bundle with ENABLE_WEBKIT2 condition
  12866. 2013-01-31 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  12867. [EFL][WK2] RequestManagerClientEfl, DownloadManagerEfl and ContextHistoryClientEfl should be based on C API
  12868. https://bugs.webkit.org/show_bug.cgi?id=107685
  12869. Reviewed by Benjamin Poulain.
  12870. RequestManagerClientEfl, DownloadManagerEfl and ContextHistoryClientEfl
  12871. should be based on C API so that API layering is not violated.
  12872. * UIProcess/API/efl/ewk_context.cpp:
  12873. (EwkContext::EwkContext):
  12874. * UIProcess/efl/ContextHistoryClientEfl.cpp:
  12875. (WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
  12876. (WebKit::ContextHistoryClientEfl::~ContextHistoryClientEfl):
  12877. * UIProcess/efl/ContextHistoryClientEfl.h:
  12878. (WebKit::ContextHistoryClientEfl::create):
  12879. (ContextHistoryClientEfl):
  12880. * UIProcess/efl/DownloadManagerEfl.cpp:
  12881. (WebKit::DownloadManagerEfl::DownloadManagerEfl):
  12882. (WebKit::DownloadManagerEfl::~DownloadManagerEfl):
  12883. * UIProcess/efl/DownloadManagerEfl.h:
  12884. (WebKit::DownloadManagerEfl::create):
  12885. (DownloadManagerEfl):
  12886. * UIProcess/efl/RequestManagerClientEfl.cpp:
  12887. (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
  12888. * UIProcess/efl/RequestManagerClientEfl.h:
  12889. (WebKit::RequestManagerClientEfl::create):
  12890. (RequestManagerClientEfl):
  12891. 2013-01-31 Sheriff Bot <webkit.review.bot@gmail.com>
  12892. Unreviewed, rolling out r141110.
  12893. http://trac.webkit.org/changeset/141110
  12894. https://bugs.webkit.org/show_bug.cgi?id=108349
  12895. This patch broke WK2-EFL unit tests (Requested by grzegorz on
  12896. #webkit).
  12897. * UIProcess/efl/TextCheckerEfl.cpp:
  12898. * WebProcess/WebCoreSupport/WebEditorClient.h:
  12899. * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
  12900. 2013-01-31 Jae Hyun Park <jae.park@company100.net>
  12901. Coordinated Graphics : Remove WebCoordinatedSurface dependency from CoordinatedSurface
  12902. https://bugs.webkit.org/show_bug.cgi?id=108259
  12903. Reviewed by Noam Rosenthal.
  12904. This is a preparation patch for Threaded Coordinated Graphics.
  12905. WebCoordinatedSurface dependency should be removed from
  12906. CoordinatedSurface so as to share CoordinatedSurface between
  12907. WebCoordinatedSurface and CoordinatedSurface of WebKit1, which will be
  12908. implemented for Threaded Coordinated Graphics.
  12909. This patch introduces CoordinatedSurface::Factory, which is a function
  12910. pointer that creates CoordinatedSurfaces. CoordinatedLayerTreeHost sets
  12911. static CoordinatedSurface::Factory member variable. Classes that use
  12912. CoordinatedSurface, which are CoordinatedImageBacking and UpdateAtlas,
  12913. create CoordinatedSurfaces by calling CoordinatedSurface::create, which
  12914. will call the function set by CoordinatedLayerTreeHost.
  12915. This way, we can remove the WebCoordinatedSurface dependency from
  12916. CoordinatedSurface and be able to share the code in Threaded Coordinated
  12917. Graphics.
  12918. No new tests. No change in behavior.
  12919. * CMakeLists.txt:
  12920. * Shared/CoordinatedGraphics/CoordinatedSurface.cpp: Added.
  12921. (WebKit):
  12922. (WebKit::CoordinatedSurface::setFactory):
  12923. (WebKit::CoordinatedSurface::create):
  12924. * Shared/CoordinatedGraphics/CoordinatedSurface.h:
  12925. (CoordinatedSurface):
  12926. * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
  12927. * Target.pri:
  12928. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  12929. (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
  12930. (WebKit::CoordinatedLayerTreeHost::createCoordinatedSurface):
  12931. (WebKit):
  12932. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  12933. 2013-01-30 Tim Horton <timothy_horton@apple.com>
  12934. Unreviewed build fix after http://trac.webkit.org/changeset/141372.
  12935. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  12936. (WebKit::PDFPlugin::performDictionaryLookupAtLocation):
  12937. 2013-01-30 Jae Hyun Park <jae.park@company100.net>
  12938. Coordinated Graphics : Remove CoordinatedLayerTreeHostProxy dependency from LayerTreeRenderer
  12939. https://bugs.webkit.org/show_bug.cgi?id=108164
  12940. Reviewed by Benjamin Poulain.
  12941. This is a preparation patch for Threaded Coordinated Graphics.
  12942. LayerTreeRenderer should not depend on CoordinatedLayerTreeHostProxy so that it
  12943. can be moved to WebCore. This patch introduces LayerTreeRendererClient which
  12944. is implemented in CoordinatedLayerTreeHostProxy. LayerTreeRenderer uses this
  12945. client, instead of using CoordinatedLayerTreeHostProxy directly.
  12946. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  12947. (CoordinatedLayerTreeHostProxy):
  12948. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  12949. (WebKit::LayerTreeRenderer::LayerTreeRenderer):
  12950. (WebKit::LayerTreeRenderer::animationFrameReady):
  12951. (WebKit::LayerTreeRenderer::updateViewport):
  12952. (WebKit::LayerTreeRenderer::renderNextFrame):
  12953. (WebKit::LayerTreeRenderer::purgeBackingStores):
  12954. (WebKit::LayerTreeRenderer::detach):
  12955. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  12956. (WebKit):
  12957. (LayerTreeRendererClient):
  12958. (LayerTreeRenderer):
  12959. 2013-01-30 Tim Horton <timothy_horton@apple.com>
  12960. PDFPlugin: Should respond to three-finger tap for dictionary definitions
  12961. https://bugs.webkit.org/show_bug.cgi?id=108418
  12962. <rdar://problem/13121409>
  12963. Reviewed by Simon Fraser.
  12964. * WebProcess/Plugins/Netscape/NetscapePlugin.h: Add default implementation of performDictionaryLookupAtLocation.
  12965. * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add getSelectionForWordAtPoint and searchInDictionaryWithSelection.
  12966. * WebProcess/Plugins/PDF/PDFPlugin.h: Add performDictionaryLookupAtLocation.
  12967. * WebProcess/Plugins/PDF/PDFPlugin.mm: Grab a PDFSelection representing the word encompassing the given point, and
  12968. throw up a dictionary popover.
  12969. (WebKit::PDFPlugin::performDictionaryLookupAtLocation):
  12970. * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Add default implementation of performDictionaryLookupAtLocation.
  12971. * WebProcess/Plugins/Plugin.h: Add performDictionaryLookupAtLocation.
  12972. * WebProcess/Plugins/PluginProxy.h: Add default implementation of performDictionaryLookupAtLocation.
  12973. * WebProcess/Plugins/PluginView.cpp:
  12974. (WebKit::PluginView::performDictionaryLookupAtLocation): Forward performDictionaryLookupAtLocation to the plugin.
  12975. * WebProcess/Plugins/PluginView.h: Add performDictionaryLookupAtLocation.
  12976. * WebProcess/WebPage/mac/WebPageMac.mm:
  12977. (WebKit::WebPage::performDictionaryLookupAtLocation): Intercept performDictionaryLookupAtLocation, and give
  12978. the main-frame plugin (if it exists) a chance to handle it.
  12979. 2013-01-30 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  12980. [WK2] Cleanup MessageID parameter after r141332
  12981. https://bugs.webkit.org/show_bug.cgi?id=108419
  12982. Unreviewed to fix build breaks.
  12983. r141332 didn't remove MessageID parameter on some features.
  12984. (battery, vibration, coordinate graphics, network info and so on)
  12985. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  12986. (CoordinatedLayerTreeHostProxy):
  12987. * UIProcess/DrawingAreaProxyImpl.cpp:
  12988. (WebKit::DrawingAreaProxyImpl::didReceiveCoordinatedLayerTreeHostProxyMessage):
  12989. * UIProcess/WebBatteryManagerProxy.h:
  12990. (WebBatteryManagerProxy):
  12991. * UIProcess/WebNetworkInfoManagerProxy.h:
  12992. (WebNetworkInfoManagerProxy):
  12993. * UIProcess/WebPageProxy.cpp:
  12994. (WebKit::WebPageProxy::didReceiveMessage):
  12995. * UIProcess/WebVibrationProxy.h:
  12996. (WebVibrationProxy):
  12997. * UIProcess/soup/WebSoupRequestManagerProxy.h:
  12998. (WebSoupRequestManagerProxy):
  12999. * WebProcess/Battery/WebBatteryManager.h:
  13000. (WebBatteryManager):
  13001. * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
  13002. (WebNetworkInfoManager):
  13003. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  13004. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  13005. (WebKit::DrawingAreaImpl::didReceiveCoordinatedLayerTreeHostMessage):
  13006. * WebProcess/WebPage/WebPage.cpp:
  13007. (WebKit::WebPage::didReceiveMessage):
  13008. * WebProcess/soup/WebSoupRequestManager.h:
  13009. (WebSoupRequestManager):
  13010. 2013-01-30 Anders Carlsson <andersca@apple.com>
  13011. Remove MessageID from MessageSender
  13012. https://bugs.webkit.org/show_bug.cgi?id=108413
  13013. Reviewed by Andreas Kling.
  13014. This is another step towards eliminating MessageID.
  13015. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  13016. (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
  13017. (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
  13018. * NetworkProcess/NetworkConnectionToWebProcess.h:
  13019. (NetworkConnectionToWebProcess):
  13020. * NetworkProcess/NetworkProcess.cpp:
  13021. (WebKit::NetworkProcess::didReceiveMessage):
  13022. (WebKit::NetworkProcess::didReceiveSyncMessage):
  13023. * NetworkProcess/NetworkProcess.h:
  13024. (NetworkProcess):
  13025. * Platform/CoreIPC/Connection.cpp:
  13026. (CoreIPC::Connection::processIncomingMessage):
  13027. (CoreIPC::Connection::dispatchSyncMessage):
  13028. (CoreIPC::Connection::dispatchMessage):
  13029. * Platform/CoreIPC/Connection.h:
  13030. (QueueClient):
  13031. (CoreIPC::Connection::waitForAndDispatchImmediately):
  13032. * Platform/CoreIPC/MessageReceiver.h:
  13033. (MessageReceiver):
  13034. (CoreIPC::MessageReceiver::didReceiveSyncMessage):
  13035. * Platform/CoreIPC/MessageReceiverMap.cpp:
  13036. (CoreIPC::MessageReceiverMap::dispatchMessage):
  13037. (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
  13038. * Platform/CoreIPC/MessageReceiverMap.h:
  13039. (MessageReceiverMap):
  13040. * PluginProcess/PluginProcess.cpp:
  13041. (WebKit::PluginProcess::didReceiveMessage):
  13042. * PluginProcess/PluginProcess.h:
  13043. (PluginProcess):
  13044. * PluginProcess/WebProcessConnection.cpp:
  13045. (WebKit::WebProcessConnection::didReceiveMessage):
  13046. (WebKit::WebProcessConnection::didReceiveSyncMessage):
  13047. * PluginProcess/WebProcessConnection.h:
  13048. (WebProcessConnection):
  13049. * Scripts/webkit2/messages.py:
  13050. (forward_declarations_and_headers):
  13051. (generate_message_handler):
  13052. * Scripts/webkit2/messages_unittest.py:
  13053. * Shared/Authentication/AuthenticationManager.cpp:
  13054. (WebKit::AuthenticationManager::didReceiveMessage):
  13055. * Shared/Authentication/AuthenticationManager.h:
  13056. (AuthenticationManager):
  13057. * Shared/ChildProcessProxy.cpp:
  13058. (WebKit::ChildProcessProxy::sendMessage):
  13059. * Shared/ChildProcessProxy.h:
  13060. (ChildProcessProxy):
  13061. (WebKit::ChildProcessProxy::send):
  13062. * Shared/Network/CustomProtocols/CustomProtocolManager.h:
  13063. (CustomProtocolManager):
  13064. * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
  13065. (WebKit::CustomProtocolManager::didReceiveMessage):
  13066. * Shared/Plugins/NPRemoteObjectMap.cpp:
  13067. (WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
  13068. * Shared/Plugins/NPRemoteObjectMap.h:
  13069. (NPRemoteObjectMap):
  13070. * Shared/WebConnection.cpp:
  13071. (WebKit::WebConnection::didReceiveMessage):
  13072. * Shared/WebConnection.h:
  13073. (WebConnection):
  13074. * Shared/mac/SecItemShim.cpp:
  13075. (WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
  13076. * Shared/mac/SecItemShim.h:
  13077. (SecItemShim):
  13078. * SharedWorkerProcess/SharedWorkerProcess.cpp:
  13079. (WebKit::SharedWorkerProcess::didReceiveMessage):
  13080. * SharedWorkerProcess/SharedWorkerProcess.h:
  13081. (SharedWorkerProcess):
  13082. * UIProcess/Downloads/DownloadProxy.cpp:
  13083. (WebKit::DownloadProxy::didReceiveMessage):
  13084. (WebKit::DownloadProxy::didReceiveSyncMessage):
  13085. * UIProcess/Downloads/DownloadProxy.h:
  13086. (DownloadProxy):
  13087. * UIProcess/DrawingAreaProxy.cpp:
  13088. (WebKit::DrawingAreaProxy::didReceiveCoordinatedLayerTreeHostProxyMessage):
  13089. * UIProcess/DrawingAreaProxy.h:
  13090. (DrawingAreaProxy):
  13091. * UIProcess/DrawingAreaProxyImpl.cpp:
  13092. (WebKit::DrawingAreaProxyImpl::didReceiveCoordinatedLayerTreeHostProxyMessage):
  13093. * UIProcess/DrawingAreaProxyImpl.h:
  13094. * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
  13095. (CustomProtocolManagerProxy):
  13096. * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
  13097. (WebKit::CustomProtocolManagerProxy::didReceiveMessage):
  13098. * UIProcess/Network/NetworkProcessProxy.cpp:
  13099. (WebKit::NetworkProcessProxy::didReceiveMessage):
  13100. (WebKit::NetworkProcessProxy::didReceiveSyncMessage):
  13101. * UIProcess/Network/NetworkProcessProxy.h:
  13102. (NetworkProcessProxy):
  13103. * UIProcess/Notifications/WebNotificationManagerProxy.h:
  13104. (WebNotificationManagerProxy):
  13105. * UIProcess/Plugins/PluginProcessProxy.cpp:
  13106. (WebKit::PluginProcessProxy::didReceiveMessage):
  13107. * UIProcess/Plugins/PluginProcessProxy.h:
  13108. (PluginProcessProxy):
  13109. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
  13110. (WebKit::SharedWorkerProcessProxy::didReceiveMessage):
  13111. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
  13112. (SharedWorkerProcessProxy):
  13113. * UIProcess/WebApplicationCacheManagerProxy.cpp:
  13114. (WebKit::WebApplicationCacheManagerProxy::didReceiveMessage):
  13115. * UIProcess/WebApplicationCacheManagerProxy.h:
  13116. (WebApplicationCacheManagerProxy):
  13117. * UIProcess/WebContext.cpp:
  13118. (WebKit::WebContext::dispatchMessage):
  13119. (WebKit::WebContext::dispatchSyncMessage):
  13120. (WebKit::WebContext::didReceiveMessage):
  13121. (WebKit::WebContext::didReceiveSyncMessage):
  13122. * UIProcess/WebContext.h:
  13123. (WebContext):
  13124. * UIProcess/WebCookieManagerProxy.cpp:
  13125. (WebKit::WebCookieManagerProxy::didReceiveMessage):
  13126. * UIProcess/WebCookieManagerProxy.h:
  13127. (WebCookieManagerProxy):
  13128. * UIProcess/WebDatabaseManagerProxy.cpp:
  13129. (WebKit::WebDatabaseManagerProxy::didReceiveMessage):
  13130. * UIProcess/WebDatabaseManagerProxy.h:
  13131. (WebDatabaseManagerProxy):
  13132. * UIProcess/WebFullScreenManagerProxy.cpp:
  13133. (WebKit::WebFullScreenManagerProxy::didReceiveMessage):
  13134. (WebKit::WebFullScreenManagerProxy::didReceiveSyncMessage):
  13135. * UIProcess/WebFullScreenManagerProxy.h:
  13136. (WebFullScreenManagerProxy):
  13137. * UIProcess/WebGeolocationManagerProxy.h:
  13138. (WebGeolocationManagerProxy):
  13139. * UIProcess/WebIconDatabase.h:
  13140. (WebIconDatabase):
  13141. * UIProcess/WebKeyValueStorageManagerProxy.h:
  13142. (WebKeyValueStorageManagerProxy):
  13143. * UIProcess/WebMediaCacheManagerProxy.h:
  13144. (WebMediaCacheManagerProxy):
  13145. * UIProcess/WebPageProxy.cpp:
  13146. (WebKit::WebPageProxy::didReceiveMessage):
  13147. (WebKit::WebPageProxy::didReceiveSyncMessage):
  13148. * UIProcess/WebPageProxy.h:
  13149. (WebPageProxy):
  13150. * UIProcess/WebProcessProxy.cpp:
  13151. (WebKit::WebProcessProxy::didReceiveMessage):
  13152. (WebKit::WebProcessProxy::didReceiveSyncMessage):
  13153. (WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
  13154. * UIProcess/WebProcessProxy.h:
  13155. (WebProcessProxy):
  13156. * UIProcess/WebResourceCacheManagerProxy.h:
  13157. (WebResourceCacheManagerProxy):
  13158. * UIProcess/mac/RemoteLayerTreeHost.h:
  13159. (RemoteLayerTreeHost):
  13160. * UIProcess/mac/RemoteLayerTreeHost.mm:
  13161. (WebKit::RemoteLayerTreeHost::didReceiveMessage):
  13162. * UIProcess/mac/SecItemShimProxy.cpp:
  13163. (WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
  13164. * UIProcess/mac/SecItemShimProxy.h:
  13165. (SecItemShimProxy):
  13166. * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
  13167. (WebKit::WebApplicationCacheManager::didReceiveMessage):
  13168. * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
  13169. (WebApplicationCacheManager):
  13170. * WebProcess/Cookies/WebCookieManager.cpp:
  13171. (WebKit::WebCookieManager::didReceiveMessage):
  13172. * WebProcess/Cookies/WebCookieManager.h:
  13173. (WebCookieManager):
  13174. * WebProcess/FullScreen/WebFullScreenManager.cpp:
  13175. (WebKit::WebFullScreenManager::didReceiveMessage):
  13176. * WebProcess/FullScreen/WebFullScreenManager.h:
  13177. (WebFullScreenManager):
  13178. * WebProcess/Geolocation/WebGeolocationManager.h:
  13179. (WebGeolocationManager):
  13180. * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
  13181. (WebIconDatabaseProxy):
  13182. * WebProcess/MediaCache/WebMediaCacheManager.h:
  13183. (WebMediaCacheManager):
  13184. * WebProcess/Network/NetworkProcessConnection.cpp:
  13185. (WebKit::NetworkProcessConnection::didReceiveMessage):
  13186. (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
  13187. * WebProcess/Network/NetworkProcessConnection.h:
  13188. (NetworkProcessConnection):
  13189. * WebProcess/Notifications/WebNotificationManager.h:
  13190. (WebNotificationManager):
  13191. * WebProcess/Plugins/PluginProcessConnection.cpp:
  13192. (WebKit::PluginProcessConnection::didReceiveMessage):
  13193. (WebKit::PluginProcessConnection::didReceiveSyncMessage):
  13194. * WebProcess/Plugins/PluginProcessConnection.h:
  13195. (PluginProcessConnection):
  13196. * WebProcess/ResourceCache/WebResourceCacheManager.h:
  13197. (WebResourceCacheManager):
  13198. * WebProcess/Storage/WebKeyValueStorageManager.h:
  13199. (WebKeyValueStorageManager):
  13200. * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
  13201. (WebKit::WebDatabaseManager::didReceiveMessage):
  13202. * WebProcess/WebCoreSupport/WebDatabaseManager.h:
  13203. (WebDatabaseManager):
  13204. * WebProcess/WebPage/DrawingArea.h:
  13205. (DrawingArea):
  13206. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  13207. (WebKit::DrawingAreaImpl::didReceiveCoordinatedLayerTreeHostMessage):
  13208. * WebProcess/WebPage/DrawingAreaImpl.h:
  13209. (DrawingAreaImpl):
  13210. * WebProcess/WebPage/EventDispatcher.cpp:
  13211. (WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
  13212. * WebProcess/WebPage/EventDispatcher.h:
  13213. (EventDispatcher):
  13214. * WebProcess/WebPage/LayerTreeHost.h:
  13215. (LayerTreeHost):
  13216. * WebProcess/WebPage/WebPage.cpp:
  13217. (WebKit::WebPage::didReceiveMessage):
  13218. (WebKit::WebPage::didReceiveSyncMessage):
  13219. * WebProcess/WebPage/WebPage.h:
  13220. (WebPage):
  13221. * WebProcess/WebPage/WebPageGroupProxy.h:
  13222. (WebPageGroupProxy):
  13223. * WebProcess/WebProcess.cpp:
  13224. (WebKit::WebProcess::didReceiveSyncMessage):
  13225. (WebKit::WebProcess::didReceiveMessage):
  13226. (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
  13227. * WebProcess/WebProcess.h:
  13228. (WebProcess):
  13229. 2013-01-30 Tim Horton <timothy_horton@apple.com>
  13230. PDFPlugin: Update scrollbars if PDFLayerController's display mode changes
  13231. https://bugs.webkit.org/show_bug.cgi?id=108412
  13232. <rdar://problem/13002261>
  13233. Reviewed by Simon Fraser.
  13234. * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add pdfLayerController:didChangeDisplayMode:
  13235. * WebProcess/Plugins/PDF/PDFPlugin.h: Add notifyDisplayModeChanged().
  13236. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  13237. (-[WKPDFLayerControllerDelegate pdfLayerController:didChangeDisplayMode:]): Forward didChangeDisplayMode to notifyDisplayModeChanged.
  13238. (WebKit::PDFPlugin::notifyDisplayModeChanged): Update content size and scrollbar size when display mode changes.
  13239. 2013-01-30 Alexey Proskuryakov <ap@apple.com>
  13240. <rdar://problem/12695827> PPT: Make loading file URLs work with a sandboxed NetworkProcess
  13241. Reviewed by Sam Weinig.
  13242. * DerivedSources.make: Preprocess a .sb.in file to build the profile.
  13243. * NetworkProcess/mac/NetworkProcessMac.mm:
  13244. Don't prevent entering the sandbox. Override sandbox path, because service
  13245. gets a differnt one by default.
  13246. * WebKit2.xcodeproj/project.pbxproj:
  13247. * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: Added.
  13248. 2013-01-30 Huang Dongsung <luxtella@company100.net>
  13249. Coordinated Graphics: LayerTreeRenderer manages the surface of UpdateAtlas.
  13250. https://bugs.webkit.org/show_bug.cgi?id=107224
  13251. Reviewed by Benjamin Poulain.
  13252. Currently, CoordinatedLayerTreeHostProxy manages the surface of UpdateAtlas, but
  13253. all other resources are managed by LayerTreeRenderer. This patch matches the
  13254. surface of UpdateAtlas to other resources.
  13255. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
  13256. (WebKit::CoordinatedLayerTreeHostProxy::updateTileForLayer):
  13257. (WebKit::CoordinatedLayerTreeHostProxy::createUpdateAtlas):
  13258. (WebKit::CoordinatedLayerTreeHostProxy::removeUpdateAtlas):
  13259. (WebKit::CoordinatedLayerTreeHostProxy::purgeBackingStores):
  13260. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  13261. (CoordinatedLayerTreeHostProxy):
  13262. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  13263. (WebKit::LayerTreeRenderer::updateTile):
  13264. (WebKit::LayerTreeRenderer::createUpdateAtlas):
  13265. (WebKit):
  13266. (WebKit::LayerTreeRenderer::removeUpdateAtlas):
  13267. (WebKit::LayerTreeRenderer::purgeGLResources):
  13268. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  13269. (TileUpdate):
  13270. (WebKit::LayerTreeRenderer::TileUpdate::TileUpdate):
  13271. (LayerTreeRenderer):
  13272. 2013-01-30 Anders Carlsson <andersca@apple.com>
  13273. Remove MessageID parameter from generated message receivers
  13274. https://bugs.webkit.org/show_bug.cgi?id=108379
  13275. Reviewed by Beth Dakin.
  13276. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  13277. (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
  13278. (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
  13279. * NetworkProcess/NetworkConnectionToWebProcess.h:
  13280. (NetworkConnectionToWebProcess):
  13281. * NetworkProcess/NetworkProcess.cpp:
  13282. (WebKit::NetworkProcess::didReceiveMessage):
  13283. * NetworkProcess/NetworkProcess.h:
  13284. (NetworkProcess):
  13285. * PluginProcess/PluginControllerProxy.h:
  13286. (PluginControllerProxy):
  13287. * PluginProcess/PluginProcess.cpp:
  13288. (WebKit::PluginProcess::didReceiveMessage):
  13289. * PluginProcess/PluginProcess.h:
  13290. (PluginProcess):
  13291. * PluginProcess/WebProcessConnection.cpp:
  13292. (WebKit::WebProcessConnection::didReceiveMessage):
  13293. (WebKit::WebProcessConnection::didReceiveSyncMessage):
  13294. * PluginProcess/WebProcessConnection.h:
  13295. (WebProcessConnection):
  13296. * Scripts/webkit2/messages.py:
  13297. (generate_message_handler):
  13298. * Scripts/webkit2/messages_unittest.py:
  13299. * Shared/Authentication/AuthenticationManager.cpp:
  13300. (WebKit::AuthenticationManager::didReceiveMessage):
  13301. * Shared/Authentication/AuthenticationManager.h:
  13302. (AuthenticationManager):
  13303. * Shared/Network/CustomProtocols/CustomProtocolManager.h:
  13304. (CustomProtocolManager):
  13305. * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
  13306. (WebKit::CustomProtocolManager::didReceiveMessage):
  13307. * Shared/Plugins/NPObjectMessageReceiver.h:
  13308. (NPObjectMessageReceiver):
  13309. * Shared/Plugins/NPRemoteObjectMap.cpp:
  13310. (WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
  13311. * Shared/WebConnection.cpp:
  13312. (WebKit::WebConnection::didReceiveMessage):
  13313. * Shared/WebConnection.h:
  13314. (WebConnection):
  13315. * Shared/mac/SecItemShim.cpp:
  13316. (WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
  13317. * Shared/mac/SecItemShim.h:
  13318. (SecItemShim):
  13319. * SharedWorkerProcess/SharedWorkerProcess.cpp:
  13320. (WebKit::SharedWorkerProcess::didReceiveMessage):
  13321. * SharedWorkerProcess/SharedWorkerProcess.h:
  13322. (SharedWorkerProcess):
  13323. * UIProcess/Downloads/DownloadProxy.cpp:
  13324. (WebKit::DownloadProxy::didReceiveMessage):
  13325. (WebKit::DownloadProxy::didReceiveSyncMessage):
  13326. * UIProcess/Downloads/DownloadProxy.h:
  13327. (DownloadProxy):
  13328. * UIProcess/DrawingAreaProxy.h:
  13329. (DrawingAreaProxy):
  13330. * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
  13331. (CustomProtocolManagerProxy):
  13332. * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
  13333. (WebKit::CustomProtocolManagerProxy::didReceiveMessage):
  13334. * UIProcess/Network/NetworkProcessProxy.cpp:
  13335. (WebKit::NetworkProcessProxy::didReceiveMessage):
  13336. * UIProcess/Network/NetworkProcessProxy.h:
  13337. (NetworkProcessProxy):
  13338. * UIProcess/Plugins/PluginProcessProxy.cpp:
  13339. (WebKit::PluginProcessProxy::didReceiveMessage):
  13340. * UIProcess/Plugins/PluginProcessProxy.h:
  13341. (PluginProcessProxy):
  13342. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
  13343. (WebKit::SharedWorkerProcessProxy::didReceiveMessage):
  13344. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
  13345. (SharedWorkerProcessProxy):
  13346. * UIProcess/WebApplicationCacheManagerProxy.cpp:
  13347. (WebKit::WebApplicationCacheManagerProxy::didReceiveMessage):
  13348. * UIProcess/WebApplicationCacheManagerProxy.h:
  13349. (WebApplicationCacheManagerProxy):
  13350. * UIProcess/WebContext.cpp:
  13351. (WebKit::WebContext::didReceiveMessage):
  13352. (WebKit::WebContext::didReceiveSyncMessage):
  13353. * UIProcess/WebContext.h:
  13354. (WebContext):
  13355. * UIProcess/WebCookieManagerProxy.cpp:
  13356. (WebKit::WebCookieManagerProxy::didReceiveMessage):
  13357. * UIProcess/WebCookieManagerProxy.h:
  13358. (WebCookieManagerProxy):
  13359. * UIProcess/WebDatabaseManagerProxy.cpp:
  13360. (WebKit::WebDatabaseManagerProxy::didReceiveMessage):
  13361. * UIProcess/WebDatabaseManagerProxy.h:
  13362. (WebDatabaseManagerProxy):
  13363. * UIProcess/WebFullScreenManagerProxy.cpp:
  13364. (WebKit::WebFullScreenManagerProxy::didReceiveMessage):
  13365. (WebKit::WebFullScreenManagerProxy::didReceiveSyncMessage):
  13366. * UIProcess/WebFullScreenManagerProxy.h:
  13367. (WebFullScreenManagerProxy):
  13368. * UIProcess/WebInspectorProxy.h:
  13369. (WebInspectorProxy):
  13370. * UIProcess/WebPageProxy.cpp:
  13371. (WebKit::WebPageProxy::didReceiveMessage):
  13372. (WebKit::WebPageProxy::didReceiveSyncMessage):
  13373. * UIProcess/WebPageProxy.h:
  13374. (WebPageProxy):
  13375. * UIProcess/WebProcessProxy.cpp:
  13376. (WebKit::WebProcessProxy::didReceiveMessage):
  13377. (WebKit::WebProcessProxy::didReceiveSyncMessage):
  13378. (WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
  13379. * UIProcess/WebProcessProxy.h:
  13380. (WebProcessProxy):
  13381. * UIProcess/mac/RemoteLayerTreeHost.h:
  13382. (RemoteLayerTreeHost):
  13383. * UIProcess/mac/RemoteLayerTreeHost.mm:
  13384. (WebKit::RemoteLayerTreeHost::didReceiveMessage):
  13385. * UIProcess/mac/SecItemShimProxy.cpp:
  13386. (WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
  13387. * UIProcess/mac/SecItemShimProxy.h:
  13388. (SecItemShimProxy):
  13389. * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
  13390. (WebKit::WebApplicationCacheManager::didReceiveMessage):
  13391. * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
  13392. (WebApplicationCacheManager):
  13393. * WebProcess/Cookies/WebCookieManager.cpp:
  13394. (WebKit::WebCookieManager::didReceiveMessage):
  13395. * WebProcess/Cookies/WebCookieManager.h:
  13396. (WebCookieManager):
  13397. * WebProcess/FullScreen/WebFullScreenManager.cpp:
  13398. (WebKit::WebFullScreenManager::didReceiveMessage):
  13399. * WebProcess/FullScreen/WebFullScreenManager.h:
  13400. (WebFullScreenManager):
  13401. * WebProcess/Network/NetworkProcessConnection.cpp:
  13402. (WebKit::NetworkProcessConnection::didReceiveMessage):
  13403. (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
  13404. * WebProcess/Network/WebResourceLoader.h:
  13405. (WebResourceLoader):
  13406. * WebProcess/Plugins/PluginProcessConnection.cpp:
  13407. (WebKit::PluginProcessConnection::didReceiveMessage):
  13408. (WebKit::PluginProcessConnection::didReceiveSyncMessage):
  13409. * WebProcess/Plugins/PluginProcessConnection.h:
  13410. (PluginProcessConnection):
  13411. * WebProcess/Plugins/PluginProxy.h:
  13412. (PluginProxy):
  13413. * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
  13414. (WebKit::WebDatabaseManager::didReceiveMessage):
  13415. * WebProcess/WebCoreSupport/WebDatabaseManager.h:
  13416. (WebDatabaseManager):
  13417. * WebProcess/WebPage/DrawingArea.h:
  13418. (DrawingArea):
  13419. * WebProcess/WebPage/EventDispatcher.cpp:
  13420. (WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
  13421. * WebProcess/WebPage/EventDispatcher.h:
  13422. (EventDispatcher):
  13423. * WebProcess/WebPage/WebInspector.h:
  13424. (WebInspector):
  13425. * WebProcess/WebPage/WebPage.cpp:
  13426. (WebKit::WebPage::didReceiveMessage):
  13427. (WebKit::WebPage::didReceiveSyncMessage):
  13428. * WebProcess/WebPage/WebPage.h:
  13429. (WebPage):
  13430. * WebProcess/WebProcess.cpp:
  13431. (WebKit::WebProcess::didReceiveMessage):
  13432. (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
  13433. * WebProcess/WebProcess.h:
  13434. (WebProcess):
  13435. 2013-01-30 Christophe Dumez <dchris@gmail.com>
  13436. [WK2][UNIX] g_spawn_sync() generates warning in PluginProcessProxy::scanPlugin()
  13437. https://bugs.webkit.org/show_bug.cgi?id=108371
  13438. Reviewed by Martin Robinson.
  13439. g_spawn_sync() was sometimes displaying a warning about the SIGCHLD
  13440. signal disposition not being set to SIG_DFL, despite the fix in r133755.
  13441. The reason was that the code was only setting the disposition to SIG_DFL
  13442. if the previous disposition was SIG_IGN.
  13443. In this patch, we set the SIGCHLD signal disposition to SIG_DFL, no
  13444. matter what its previous disposition was. Also, the signal disposition
  13445. is now restored to its previous state after the call to g_spawn_sync()
  13446. to avoid side effects. Finally, we now use SIGCHLD instead of SIDCLD
  13447. since this is the more compatible POSIX name.
  13448. * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
  13449. (WebKit::spawnProcessSync):
  13450. (WebKit):
  13451. (WebKit::PluginProcessProxy::scanPlugin):
  13452. 2013-01-30 Huang Dongsung <luxtella@company100.net>
  13453. [EFL][Qt][WK2] We should consider a page scale factor in WebCore instead of our own scale factor.
  13454. https://bugs.webkit.org/show_bug.cgi?id=105978
  13455. Reviewed by Simon Fraser.
  13456. Currently, PageViewportController sends a page scale factor to Coordinated
  13457. Graphics System regardless of the page scale factor in WebCore. This patch makes
  13458. Coordinated Graphics System use the page scale factor in WebCore to match other
  13459. ports.
  13460. When it is needed to change a page scale, PageViewportController sends the scale
  13461. to Page in Web Process via WebPageProxy::scalePage. When the page scale in
  13462. WebCore is changed, CoordinatedGraphicsLayer gets notified via
  13463. deviceOrPageScaleFactorChanged callback. CoordinatedGraphicsLayer uses the page
  13464. scale factor like previous our own scale factor.
  13465. We set true to applyDeviceScaleFactorInCompositor and
  13466. ApplyPageScaleFactorInCompositor in Settings like chromium, because
  13467. TiledBackingStore that is a backing store of each GraphicsLayer applies the
  13468. scale to our raster graphics engines instead of applying the scale to the local
  13469. transform of each render object.
  13470. Thank Kenneth Rohde Christiansen for implementing the base patch of this patch.
  13471. No new tests. Covered by existing tests.
  13472. * UIProcess/API/qt/qquickwebview.cpp:
  13473. (QQuickWebViewLegacyPrivate::updateViewportSize):
  13474. * UIProcess/API/qt/raw/qrawwebview.cpp:
  13475. (QRawWebView::setSize):
  13476. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
  13477. (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
  13478. (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
  13479. Does not receive a pageScaleFactor argument because
  13480. PageViewportController sends a page scale factor to Page.
  13481. However, this method still receives a scroll position because we
  13482. enable delegates scrolling.
  13483. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  13484. (CoordinatedLayerTreeHostProxy):
  13485. * UIProcess/DrawingAreaProxy.h:
  13486. (WebKit::DrawingAreaProxy::setVisibleContentsRect):
  13487. * UIProcess/DrawingAreaProxyImpl.cpp:
  13488. (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
  13489. * UIProcess/DrawingAreaProxyImpl.h:
  13490. * UIProcess/PageViewportController.cpp:
  13491. (WebKit::PageViewportController::didRenderFrame):
  13492. (WebKit::PageViewportController::didChangeContentsVisibility):
  13493. (WebKit::PageViewportController::syncVisibleContents):
  13494. (WebKit::PageViewportController::applyScaleAfterRenderingContents):
  13495. (WebKit::PageViewportController::applyPositionAfterRenderingContents):
  13496. * UIProcess/efl/PageClientLegacyImpl.cpp:
  13497. (WebKit::PageClientLegacyImpl::updateViewportSize):
  13498. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  13499. (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
  13500. (WebCore::CoordinatedGraphicsLayer::deviceOrPageScaleFactorChanged):
  13501. (WebCore::CoordinatedGraphicsLayer::effectiveContentsScale):
  13502. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  13503. (CoordinatedGraphicsLayer):
  13504. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  13505. (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
  13506. (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
  13507. (WebKit::CoordinatedLayerTreeHost::deviceScaleFactor):
  13508. (WebKit):
  13509. (WebKit::CoordinatedLayerTreeHost::pageScaleFactor):
  13510. (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
  13511. (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
  13512. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  13513. (CoordinatedLayerTreeHost):
  13514. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
  13515. * WebProcess/WebPage/WebPage.cpp:
  13516. (WebKit::WebPage::setUseFixedLayout):
  13517. 2013-01-30 Zoltan Arvai <zarvai@inf.u-szeged.hu>
  13518. [Qt] Fix Win build after r141177
  13519. https://bugs.webkit.org/show_bug.cgi?id=108325
  13520. Reviewed by Anders Carlsson.
  13521. * Platform/CoreIPC/win/ConnectionWin.cpp:
  13522. (CoreIPC::Connection::readEventHandler):
  13523. (CoreIPC::Connection::sendOutgoingMessage):
  13524. 2013-01-30 Thiago Marcos P. Santos <thiago.santos@intel.com>
  13525. REGRESSION (r141051): Broke plugin support on non-Mac WebKit2 Ports
  13526. https://bugs.webkit.org/show_bug.cgi?id=108182
  13527. Reviewed by Sam Weinig.
  13528. Send the plugin path to the PluginProcess as a parameter.
  13529. * PluginProcess/qt/PluginProcessMainQt.cpp:
  13530. (WebKit::PluginProcessMain):
  13531. * PluginProcess/unix/PluginProcessMainUnix.cpp:
  13532. (WebKit::PluginProcessMainUnix):
  13533. * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
  13534. (WebKit::ProcessLauncher::launchProcess):
  13535. * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
  13536. (WebKit::ProcessLauncher::launchProcess):
  13537. * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
  13538. (WebKit::ProcessLauncher::launchProcess):
  13539. * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
  13540. (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
  13541. * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
  13542. (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
  13543. 2013-01-30 Christophe Dumez <christophe.dumez@intel.com>
  13544. [EFL][WK2] Use C API inside ewk_window_features
  13545. https://bugs.webkit.org/show_bug.cgi?id=107924
  13546. Reviewed by Sam Weinig.
  13547. Use C API inside ewk_window_features instead of accessing
  13548. internal C++ classes directly, to avoid violating API
  13549. layering.
  13550. * UIProcess/API/efl/EwkView.cpp:
  13551. (EwkView::createNewPage):
  13552. * UIProcess/API/efl/EwkView.h:
  13553. (EwkView):
  13554. * UIProcess/API/efl/ewk_window_features.cpp:
  13555. (EwkWindowFeatures::EwkWindowFeatures):
  13556. (getWindowFeatureValue):
  13557. (EwkWindowFeatures::getWindowFeatureBoolValue):
  13558. (EwkWindowFeatures::getWindowFeatureDoubleValue):
  13559. (ewk_window_features_geometry_get):
  13560. * UIProcess/API/efl/ewk_window_features_private.h:
  13561. (EwkWindowFeatures::create):
  13562. (EwkWindowFeatures::geometry):
  13563. (EwkWindowFeatures::setGeometry):
  13564. (EwkWindowFeatures):
  13565. * UIProcess/efl/PageUIClientEfl.cpp:
  13566. (WebKit::PageUIClientEfl::createNewPage):
  13567. 2013-01-30 Zeno Albisser <zeno@webkit.org>
  13568. [Qt] Fix Qt/Mac build after r141024 and r141037
  13569. https://bugs.webkit.org/show_bug.cgi?id=108318
  13570. Reviewed by Kentaro Hara.
  13571. * Platform/CoreIPC/mac/ConnectionMac.cpp:
  13572. (CoreIPC::Connection::platformInvalidate):
  13573. Replace nullptr with 0 to allow compiling without C++11 support.
  13574. 2013-01-30 Kondapally Kalyan <kalyan.kondapally@intel.com>
  13575. [EFL][Qt][WebGL] Avoid deleting an uncreated canvas.
  13576. https://bugs.webkit.org/show_bug.cgi?id=106878
  13577. Reviewed by Benjamin Poulain.
  13578. setContentsToCanvas is responsible for marking canvas for creation or deletion.
  13579. The issue here is that the canvas is marked for deletion even though it has not
  13580. been created. This causes an assert in LayerTreeRenderer::destroyCanvas.
  13581. This patch adds a seperate check to ensure that CoordinatedGraphicsLayer
  13582. tries to issue a request for canvas deletion only after request for canvas
  13583. creation has been handled.
  13584. New test: fast/canvas/webgl/canvas-resize-crash.html
  13585. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  13586. (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
  13587. (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
  13588. (WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
  13589. (WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
  13590. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  13591. (CoordinatedGraphicsLayer):
  13592. (WebCore::CoordinatedGraphicsLayer::fixedToViewport):
  13593. 2013-01-30 Zan Dobersek <zdobersek@igalia.com>
  13594. Unreviewed GTK build fix.
  13595. * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: Include GraphicsLayerTextureMapper.h
  13596. as a forwarding header from WebCore.
  13597. 2013-01-30 Huang Dongsung <luxtella@company100.net>
  13598. Coordinated Graphics: Remove m_pendingSyncBackingStores in LayerTreeRenderer.
  13599. https://bugs.webkit.org/show_bug.cgi?id=107099
  13600. Reviewed by Noam Rosenthal.
  13601. Instead of queuing the setting of backing stores in LayerTreeRenderer,
  13602. and then setting them directly to TextureMapperLayer, we allow
  13603. GraphicsLayerTextureMapper's existing queuing mechanism to handle that.
  13604. Instead of a m_pendingSyncBackingStores queue, we have a m_backingStores
  13605. queue which can be applied much more easily to the layer tree.
  13606. In addition, LayerTreeRenderer::purgeGLResources() does not call
  13607. TextureMapperLayer::clearBackingStoresRecursive() because
  13608. TextureMapperLayer will be destructed soon.
  13609. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  13610. (WebKit::LayerTreeRenderer::deleteLayer):
  13611. (WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
  13612. (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
  13613. (WebKit::LayerTreeRenderer::resetBackingStoreSizeToLayerSize):
  13614. (WebKit::LayerTreeRenderer::createTile):
  13615. (WebKit::LayerTreeRenderer::removeTile):
  13616. (WebKit::LayerTreeRenderer::updateTile):
  13617. (WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
  13618. (WebKit::LayerTreeRenderer::purgeGLResources):
  13619. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  13620. 2013-01-29 Anders Carlsson <andersca@apple.com>
  13621. Update the expected generated message results
  13622. https://bugs.webkit.org/show_bug.cgi?id=108293
  13623. Reviewed by Beth Dakin.
  13624. * Scripts/webkit2/messages.py:
  13625. (generate_messages_header):
  13626. * Scripts/webkit2/messages_unittest.py:
  13627. 2013-01-29 Sam Weinig <sam@webkit.org>
  13628. Replace unnecessary ArgumentDecoder member functions with decode overloads
  13629. https://bugs.webkit.org/show_bug.cgi?id=102013
  13630. Reviewed by Anders Carlsson.
  13631. * Platform/CoreIPC/ArgumentCoders.cpp:
  13632. (CoreIPC::::decode):
  13633. * Platform/CoreIPC/ArgumentCoders.h:
  13634. * Platform/CoreIPC/ArgumentDecoder.cpp:
  13635. (CoreIPC::ArgumentDecoder::decodeVariableLengthByteArray):
  13636. (CoreIPC::ArgumentDecoder::decode):
  13637. * Platform/CoreIPC/ArgumentDecoder.h:
  13638. (ArgumentDecoder):
  13639. (CoreIPC::ArgumentDecoder::decodeEnum):
  13640. (CoreIPC):
  13641. * Platform/CoreIPC/Connection.cpp:
  13642. (CoreIPC::Connection::dispatchSyncMessage):
  13643. * Platform/CoreIPC/MessageDecoder.cpp:
  13644. (CoreIPC::MessageDecoder::MessageDecoder):
  13645. * Platform/mac/SharedMemoryMac.cpp:
  13646. (WebKit::SharedMemory::Handle::decode):
  13647. * Platform/win/SharedMemoryWin.cpp:
  13648. (WebKit::SharedMemory::Handle::decode):
  13649. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  13650. (CoreIPC::::decode):
  13651. (CoreIPC::decodeTimingFunction):
  13652. * Shared/DictionaryPopupInfo.cpp:
  13653. (WebKit::DictionaryPopupInfo::decode):
  13654. * Shared/UserMessageCoders.h:
  13655. (WebKit::UserMessageDecoder::baseDecode):
  13656. * Shared/cf/ArgumentCodersCF.cpp:
  13657. (CoreIPC::decode):
  13658. * Shared/mac/ArgumentCodersMac.mm:
  13659. (CoreIPC::decode):
  13660. * Shared/mac/ObjCObjectGraphCoders.mm:
  13661. (WebKit::ObjCObjectGraphDecoder::baseDecode):
  13662. * Shared/mac/SandboxExtensionMac.mm:
  13663. (WebKit::SandboxExtension::HandleArray::decode):
  13664. * Shared/mac/SecItemRequestData.cpp:
  13665. (WebKit::SecItemRequestData::decode):
  13666. * Shared/mac/SecItemResponseData.cpp:
  13667. (WebKit::SecItemResponseData::decode):
  13668. * Shared/qt/ArgumentCodersQt.cpp:
  13669. (CoreIPC::::decode):
  13670. * Shared/qt/QtNetworkReplyData.cpp:
  13671. (WebKit::QtNetworkReplyData::decode):
  13672. * WebProcess/WebPage/DecoderAdapter.cpp:
  13673. (WebKit::DecoderAdapter::decodeBool):
  13674. (WebKit::DecoderAdapter::decodeUInt16):
  13675. (WebKit::DecoderAdapter::decodeUInt32):
  13676. (WebKit::DecoderAdapter::decodeUInt64):
  13677. (WebKit::DecoderAdapter::decodeInt32):
  13678. (WebKit::DecoderAdapter::decodeInt64):
  13679. (WebKit::DecoderAdapter::decodeFloat):
  13680. (WebKit::DecoderAdapter::decodeDouble):
  13681. 2013-01-29 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  13682. [WK2] Adjust missing MessageID removals to fix build breaks
  13683. https://bugs.webkit.org/show_bug.cgi?id=108276
  13684. Unreviewed to fix build breaks.
  13685. Some MessageID removals wasn't adjusted into ConnectionUnix.cpp and coordinated graphics.
  13686. * Platform/CoreIPC/unix/ConnectionUnix.cpp:
  13687. (CoreIPC::MessageInfo::MessageInfo):
  13688. (CoreIPC::MessageInfo::setMessageBodyIsOutOfLine):
  13689. (CoreIPC::MessageInfo::isMessageBodyIsOutOfLine):
  13690. (CoreIPC::Connection::processMessage):
  13691. (CoreIPC::Connection::sendOutgoingMessage):
  13692. * UIProcess/WebPageProxy.cpp:
  13693. (WebKit::WebPageProxy::didReceiveMessage):
  13694. * UIProcess/WebProcessProxy.cpp:
  13695. * WebProcess/WebPage/WebPage.cpp:
  13696. (WebKit::WebPage::didReceiveMessage):
  13697. 2013-01-29 Sheriff Bot <webkit.review.bot@gmail.com>
  13698. Unreviewed, rolling out r140983.
  13699. http://trac.webkit.org/changeset/140983
  13700. https://bugs.webkit.org/show_bug.cgi?id=108277
  13701. Unfortunately, this API has one last client (Requested by
  13702. abarth on #webkit).
  13703. * Configurations/FeatureDefines.xcconfig:
  13704. 2013-01-29 Anders Carlsson <andersca@apple.com>
  13705. Remove MessageID parameter from Connection::sendMessage
  13706. https://bugs.webkit.org/show_bug.cgi?id=108269
  13707. Reviewed by Sam Weinig.
  13708. * Platform/CoreIPC/Connection.cpp:
  13709. (CoreIPC::Connection::sendMessage):
  13710. (CoreIPC::Connection::sendSyncReply):
  13711. (CoreIPC::Connection::sendSyncMessage):
  13712. (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
  13713. * Platform/CoreIPC/Connection.h:
  13714. (Connection):
  13715. (CoreIPC::Connection::send):
  13716. (CoreIPC::Connection::sendSync):
  13717. * Platform/CoreIPC/MessageSender.h:
  13718. (CoreIPC::MessageSender::send):
  13719. (CoreIPC::MessageSender::sendMessage):
  13720. * Platform/CoreIPC/mac/ConnectionMac.cpp:
  13721. (CoreIPC::Connection::open):
  13722. * Shared/ChildProcessProxy.cpp:
  13723. (WebKit::ChildProcessProxy::sendMessage):
  13724. (WebKit::ChildProcessProxy::didFinishLaunching):
  13725. * Shared/WebConnection.cpp:
  13726. (WebKit::WebConnection::postMessage):
  13727. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  13728. (WebKit::InjectedBundle::postMessage):
  13729. (WebKit::InjectedBundle::postSynchronousMessage):
  13730. 2013-01-29 Anders Carlsson <andersca@apple.com>
  13731. Stop generating the message kind enum
  13732. https://bugs.webkit.org/show_bug.cgi?id=108258
  13733. Reviewed by Beth Dakin.
  13734. * Platform/CoreIPC/Connection.h:
  13735. (CoreIPC::Connection::send):
  13736. (CoreIPC::Connection::sendSync):
  13737. (CoreIPC::Connection::waitForAndDispatchImmediately):
  13738. * Platform/CoreIPC/MessageSender.h:
  13739. (CoreIPC::MessageSender::send):
  13740. * Scripts/webkit2/messages.py:
  13741. (surround_in_condition):
  13742. (message_to_struct_declaration):
  13743. (generate_messages_header):
  13744. * Scripts/webkit2/messages_unittest.py:
  13745. * Scripts/webkit2/model.py:
  13746. (Message.__init__):
  13747. * Shared/ChildProcessProxy.h:
  13748. (WebKit::ChildProcessProxy::send):
  13749. * Shared/WebConnection.cpp:
  13750. (WebKit::WebConnection::postMessage):
  13751. 2013-01-29 Kiran Muppala <cmuppala@apple.com>
  13752. Fix erroneous semicolon causing build failure: if statement has empty body [-Werror,-Wempty-body]
  13753. https://bugs.webkit.org/show_bug.cgi?id=108241
  13754. Reviewed by Anders Carlsson.
  13755. * UIProcess/WebProcessProxy.cpp:
  13756. (WebKit::WebProcessProxy::addExistingWebPage): Remove erroneous
  13757. semicolon following the if condition.
  13758. 2013-01-29 Anders Carlsson <andersca@apple.com>
  13759. Remove almost everything from MessageID
  13760. https://bugs.webkit.org/show_bug.cgi?id=108244
  13761. Reviewed by Beth Dakin.
  13762. * Platform/CoreIPC/MessageID.h:
  13763. (CoreIPC::MessageID::MessageID):
  13764. * Platform/CoreIPC/mac/ConnectionMac.cpp:
  13765. (CoreIPC):
  13766. (CoreIPC::Connection::sendOutgoingMessage):
  13767. (CoreIPC::createMessageDecoder):
  13768. (CoreIPC::Connection::receiveSourceEventHandler):
  13769. 2013-01-29 Anders Carlsson <andersca@apple.com>
  13770. Get rid of MessageID::is()
  13771. https://bugs.webkit.org/show_bug.cgi?id=108234
  13772. Reviewed by Beth Dakin.
  13773. Add explicit message receiver name equality checks instead of using MessageID::is.
  13774. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  13775. (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
  13776. (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
  13777. * Platform/CoreIPC/MessageID.h:
  13778. * PluginProcess/WebProcessConnection.cpp:
  13779. (WebKit::WebProcessConnection::didReceiveMessage):
  13780. (WebKit::WebProcessConnection::didReceiveSyncMessage):
  13781. * Shared/mac/SecItemShim.cpp:
  13782. (WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
  13783. * UIProcess/Network/NetworkProcessProxy.cpp:
  13784. (WebKit::NetworkProcessProxy::didReceiveMessage):
  13785. * UIProcess/WebContext.cpp:
  13786. (WebKit::WebContext::didReceiveMessage):
  13787. (WebKit::WebContext::didReceiveSyncMessage):
  13788. * UIProcess/WebPageProxy.cpp:
  13789. (WebKit::WebPageProxy::didReceiveMessage):
  13790. (WebKit::WebPageProxy::didReceiveSyncMessage):
  13791. * UIProcess/WebProcessProxy.cpp:
  13792. (WebKit::WebProcessProxy::didReceiveMessage):
  13793. (WebKit::WebProcessProxy::didReceiveSyncMessage):
  13794. (WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
  13795. * UIProcess/mac/SecItemShimProxy.cpp:
  13796. (WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
  13797. * WebProcess/Network/NetworkProcessConnection.cpp:
  13798. (WebKit::NetworkProcessConnection::didReceiveMessage):
  13799. (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
  13800. * WebProcess/Plugins/PluginProcessConnection.cpp:
  13801. (WebKit::PluginProcessConnection::didReceiveSyncMessage):
  13802. * WebProcess/WebPage/EventDispatcher.cpp:
  13803. (WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
  13804. * WebProcess/WebPage/WebPage.cpp:
  13805. (WebKit::WebPage::didReceiveMessage):
  13806. * WebProcess/WebProcess.cpp:
  13807. (WebKit::WebProcess::didReceiveMessage):
  13808. (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
  13809. 2012-11-28 Jer Noble <jer.noble@apple.com>
  13810. Allow clients to ask for the WebView/WKView placeholder view when in full screen mode.
  13811. https://bugs.webkit.org/show_bug.cgi?id=103558
  13812. <rdar://problem/12763112>
  13813. Reviewed by Benjamin Poulain.
  13814. Clients may want to behave differently when their WebView/WKView has been swapped out by a placeholder
  13815. view when in full screen mode. Add a simple accessor for the existing placeholder view to
  13816. WKFullScreenWindowController and WKView.
  13817. * UIProcess/API/mac/WKView.mm:
  13818. (-[WKView fullScreenPlaceholderView]): Added simple accessor.
  13819. * UIProcess/API/mac/WKViewPrivate.h:
  13820. * UIProcess/mac/WKFullScreenWindowController.h:
  13821. * UIProcess/mac/WKFullScreenWindowController.mm:
  13822. (-[WKFullScreenWindowController webViewPlaceholder]): Added simple accessor.
  13823. 2013-01-29 Huang Dongsung <luxtella@company100.net>
  13824. [WK2] Call LayerTreeHost::deviceOrPageScaleFactorChanged() when a device or page scale factor is changed.
  13825. https://bugs.webkit.org/show_bug.cgi?id=107802
  13826. Reviewed by Simon Fraser.
  13827. Currently, LayerTreeHostMac and *GTK call deviceOrPageScaleFactorChanged()
  13828. of the non compositing GraphicsLayer when a device scale factor is changed.
  13829. There are two problems.
  13830. 1. We don't notify LayerTreeHost when a page scale factor is changed.
  13831. 2. When using TiledCoreAnimationDrawingAreaProxy, LayerTreeHostMac does
  13832. not receive the device scale factor changed callback.
  13833. So this patch changes three points.
  13834. 1. Rename from deviceScaleFactorDidChange() to deviceOrPageScaleFactorChanged()
  13835. in LayerTreeHost.
  13836. 2. WebPage::setDeviceScaleFactor() calls LayerTreeHost::deviceScaleFactorDidChange()
  13837. because of dealing with TiledCoreAnimationDrawingAreaProxy.
  13838. 3. WebPage::pageScaleFactor() calls LayerTreeHost::deviceScaleFactorDidChange()
  13839. to call deviceOrPageScaleFactorChanged() of the non compositing GraphicsLayer.
  13840. Unfortunately, I couldn't think of a way to test this in an automated fashion.
  13841. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  13842. (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
  13843. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  13844. (WebKit::DrawingAreaImpl::updateBackingStoreState):
  13845. Don't call LayerTreeHost::deviceScaleFactorDidChange() because this
  13846. method calls WebPage::setDeviceScaleFactor() and then
  13847. LayerTreeHost::deviceScaleFactorDidChange() is called.
  13848. * WebProcess/WebPage/LayerTreeHost.h:
  13849. (LayerTreeHost):
  13850. * WebProcess/WebPage/WebPage.cpp:
  13851. (WebKit::WebPage::scalePage):
  13852. (WebKit::WebPage::setDeviceScaleFactor):
  13853. * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
  13854. (WebKit::LayerTreeHostGtk::deviceOrPageScaleFactorChanged):
  13855. * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
  13856. (LayerTreeHostGtk):
  13857. * WebProcess/WebPage/mac/LayerTreeHostMac.h:
  13858. (LayerTreeHostMac):
  13859. * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
  13860. (WebKit::LayerTreeHostMac::deviceOrPageScaleFactorChanged):
  13861. 2013-01-29 Anders Carlsson <andersca@apple.com>
  13862. Get rid of MessageID::get()
  13863. https://bugs.webkit.org/show_bug.cgi?id=108235
  13864. Reviewed by Beth Dakin.
  13865. Just check for the message receiver name and message name explicitly instead.
  13866. * Platform/CoreIPC/MessageID.h:
  13867. (CoreIPC::MessageID::is):
  13868. * Shared/CoreIPCSupport/WebContextMessageKinds.h:
  13869. (WebContextLegacyMessage::messageReceiverName):
  13870. (WebContextLegacyMessage):
  13871. (WebContextLegacyMessage::postMessageMessageName):
  13872. (WebContextLegacyMessage::postSynchronousMessageMessageName):
  13873. * UIProcess/WebContext.cpp:
  13874. (WebKit::WebContext::didReceiveMessage):
  13875. (WebKit::WebContext::didReceiveSyncMessage):
  13876. 2013-01-29 Kiran Muppala <cmuppala@apple.com>
  13877. Add support for enabling process suppression in WebProcesses with no visible pages
  13878. https://bugs.webkit.org/show_bug.cgi?id=108054
  13879. Reviewed by Anders Carlsson.
  13880. Provide a preference to enable process suppression in WebProcesses with
  13881. no visible pages even if the application is not completely occluded.
  13882. This provides more opportunities for process suppression to take effect.
  13883. Replace the messaging of application occlusion status from UI process to
  13884. ChildProcesses with messages that indicate the current required process
  13885. suppression state. WebProcessProxy should determine if the process is
  13886. eligible for process suppression based on both application occlusion
  13887. and page visibility. When either of these parameters changes,
  13888. the proxy should message the child process of the updated process
  13889. suppression state.
  13890. * NetworkProcess/NetworkProcess.messages.in: Rename
  13891. SetApplicationIsOccluded to SetProcessSuppressionEnabled.
  13892. * PluginProcess/PluginProcess.messages.in: Ditto.
  13893. * Shared/ChildProcess.h:
  13894. (WebKit::ChildProcess::processSuppressionEnabled): Rename
  13895. applicationIsOccluded.
  13896. * Shared/WebPreferencesStore.h: Add a new preference
  13897. pageVisibilityBasedProcessSuppressionEnabled, to enabled/disable
  13898. process suppression of WebProcesses when all pages are hidden.
  13899. * Shared/mac/ChildProcessMac.mm:
  13900. (WebKit::ChildProcess::setProcessSuppressionEnabled): Rename
  13901. setApplicationIsOccluded.
  13902. (WebKit::ChildProcess::platformInitialize): Replace call to
  13903. setApplicationIsOccluded with setProcessSuppressionEnabled.
  13904. * SharedWorkerProcess/SharedWorkerProcess.messages.in: Rename
  13905. SetApplicationIsOccluded to SetProcessSuppressionEnabled.
  13906. * UIProcess/API/C/WKPreferences.cpp:
  13907. (WKPreferencesSetPageVisibilityBasedProcessSuppressionEnabled):
  13908. (WKPreferencesGetPageVisibilityBasedProcessSuppressionEnabled):
  13909. * UIProcess/API/C/WKPreferencesPrivate.h:
  13910. * UIProcess/Network/NetworkProcessProxy.cpp:
  13911. (WebKit::NetworkProcessProxy::didFinishLaunching): Use setter
  13912. to update process suppression state instead of messaging directly.
  13913. Use WebContext::canEnableProcessSuppressionForNetworkProcess() helper
  13914. method to determine if process suppression should be enabled.
  13915. * UIProcess/Network/NetworkProcessProxy.h: Rename
  13916. setApplicationIsOccluded to setProcessSuppresionEnabled.
  13917. * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
  13918. (WebKit::NetworkProcessProxy::setProcessSuppressionEnabled): Ditto.
  13919. * UIProcess/Plugins/PluginProcessManager.h: Ditto.
  13920. * UIProcess/Plugins/PluginProcessProxy.cpp:
  13921. (WebKit::PluginProcessProxy::didFinishLaunching): Use setter
  13922. to update process suppression state instead of messaging directly.
  13923. Use WebContext::canEnableProcessSuppressionForGlobalChildProcesses()
  13924. helper method to determine if process suppression should be enabled.
  13925. * UIProcess/Plugins/PluginProcessProxy.h: Rename
  13926. setApplicationIsOccluded to setProcessSuppresionEnabled.
  13927. * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
  13928. (WebKit::PluginProcessManager::setProcessSuppressionEnabled): Ditto.
  13929. * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
  13930. (WebKit::PluginProcessProxy::setProcessSuppressionEnabled): Ditto.
  13931. * UIProcess/SharedWorkers/SharedWorkerProcessManager.h: Ditto.
  13932. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
  13933. (WebKit::SharedWorkerProcessProxy::didFinishLaunching): Use setter
  13934. to update process suppression state instead of messaging directly.
  13935. Use WebContext::canEnableProcessSuppressionForGlobalChildProcesses()
  13936. helper method to determine if process suppression should be enabled.
  13937. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h: Rename
  13938. setApplicationIsOccluded to setProcessSuppresionEnabled.
  13939. * UIProcess/SharedWorkers/mac/SharedWorkerProcessManagerMac.mm:
  13940. (WebKit::SharedWorkerProcessManager::setProcessSuppressionEnabled):
  13941. Ditto.
  13942. * UIProcess/SharedWorkers/mac/SharedWorkerProcessProxyMac.mm:
  13943. (WebKit::SharedWorkerProcessProxy::setProcessSuppressionEnabled): Ditto.
  13944. * UIProcess/WebContext.h: Replace applicationIsOccluded() getter with
  13945. helper methods to determine if a child process can have process
  13946. suppression enabled.
  13947. * UIProcess/WebPageProxy.cpp:
  13948. (WebKit::WebPageProxy::viewStateDidChange): Notify WebProcessProxy of
  13949. page visibility change.
  13950. (WebKit::WebPageProxy::preferencesDidChange): Notify WebProcessProxy of
  13951. change in preferences.
  13952. * UIProcess/WebProcessProxy.cpp:
  13953. (WebKit::WebProcessProxy::WebProcessProxy): Initialize member variable
  13954. tracking process suppression state to false.
  13955. (WebKit::WebProcessProxy::createWebPage): Update set of pages which can
  13956. be process suppressed and the resulting process suppression state for
  13957. the child process.
  13958. (WebKit::WebProcessProxy::addExistingWebPage): Ditto.
  13959. (WebKit::WebProcessProxy::removeWebPage): Ditto.
  13960. (WebKit::WebProcessProxy::pageVisibilityChanged): Ditto.
  13961. (WebKit::WebProcessProxy::pagePreferencesChanged): Ditto.
  13962. (WebKit::WebProcessProxy::didFinishLaunching): Call
  13963. updateProcessSuppressionState().
  13964. * UIProcess/WebProcessProxy.h:
  13965. * UIProcess/mac/WebContextMac.mm:
  13966. (WebKit::updateProcessSuppressionStateOfGlobalChildProcesses): Use new
  13967. helper method canEnableProcessSuppressionForGlobalChildProcesses() to
  13968. determine if process suppression should be enabled.
  13969. (WebKit::applicationOcclusionStateChanged): Update renamed methods
  13970. and variables.
  13971. (WebKit::enableOcclusionNotifications): Move OmitProcessSuppression
  13972. user default check into canEnableProcessSuppression methods.
  13973. (WebKit::omitProcessSuppression):
  13974. (WebKit::WebContext::updateProcessSuppressionStateOfChildProcesses):
  13975. Use new helper method canEnableProcessSuppressionForNetworkProcess() to
  13976. determine if process suppression should be enabled for NetworkProcess.
  13977. Let WebProcess update process suppression state based on application
  13978. occlusion state and page visibility.
  13979. (WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess):
  13980. (WebKit::WebContext::canEnableProcessSuppressionForWebProcess):
  13981. (WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses):
  13982. (WebKit::WebContext::processSuppressionEnabledChanged): Reevaluate if
  13983. process suppression is enabled for all contexts and update process
  13984. suppression state of global child processes.
  13985. * UIProcess/mac/WebProcessProxyMac.mm:
  13986. (WebKit::WebProcessProxy::pageIsProcessSuppressible):
  13987. (WebKit::WebProcessProxy::allPagesAreProcessSuppressible):
  13988. (WebKit::WebProcessProxy::updateProcessSuppressionState):
  13989. * WebProcess/WebProcess.messages.in:
  13990. 2013-01-29 Anders Carlsson <andersca@apple.com>
  13991. Start using the message flag in MessageEncoder/MessageDecoder
  13992. https://bugs.webkit.org/show_bug.cgi?id=108227
  13993. Reviewed by Beth Dakin.
  13994. Stop using the flags in MessageID and store the flags directly in the message instead.
  13995. This is another step towards eliminating MessageID.
  13996. * Platform/CoreIPC/Connection.cpp:
  13997. (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
  13998. (CoreIPC::Connection::createSyncMessageEncoder):
  13999. (CoreIPC::Connection::sendMessage):
  14000. (CoreIPC::Connection::sendSyncMessage):
  14001. (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
  14002. (CoreIPC::Connection::dispatchSyncMessage):
  14003. (CoreIPC::Connection::dispatchMessage):
  14004. * Platform/CoreIPC/Connection.h:
  14005. * Platform/CoreIPC/MessageDecoder.cpp:
  14006. (CoreIPC::MessageDecoder::MessageDecoder):
  14007. (CoreIPC::MessageDecoder::isSyncMessage):
  14008. (CoreIPC):
  14009. (CoreIPC::MessageDecoder::shouldDispatchMessageWhenWaitingForSyncReply):
  14010. * Platform/CoreIPC/MessageDecoder.h:
  14011. (MessageDecoder):
  14012. * Platform/CoreIPC/MessageEncoder.cpp:
  14013. (CoreIPC):
  14014. (CoreIPC::MessageEncoder::MessageEncoder):
  14015. (CoreIPC::MessageEncoder::~MessageEncoder):
  14016. (CoreIPC::MessageEncoder::setIsSyncMessage):
  14017. (CoreIPC::MessageEncoder::setShouldDispatchMessageWhenWaitingForSyncReply):
  14018. * Platform/CoreIPC/MessageEncoder.h:
  14019. (MessageEncoder):
  14020. * Platform/CoreIPC/MessageFlags.h: Copied from Source/WebKit2/Platform/CoreIPC/MessageEncoder.h.
  14021. (CoreIPC):
  14022. * Platform/CoreIPC/MessageID.h:
  14023. * WebKit2.xcodeproj/project.pbxproj:
  14024. 2013-01-29 Anders Carlsson <andersca@apple.com>
  14025. Encode/decode message send flags in the message
  14026. https://bugs.webkit.org/show_bug.cgi?id=108208
  14027. Reviewed by Beth Dakin.
  14028. This is another step towards getting rid of MessageID.
  14029. * Platform/CoreIPC/ArgumentDecoder.cpp:
  14030. (CoreIPC::ArgumentDecoder::decodeUInt8):
  14031. (CoreIPC):
  14032. * Platform/CoreIPC/ArgumentDecoder.h:
  14033. (ArgumentDecoder):
  14034. (CoreIPC::ArgumentDecoder::decode):
  14035. (CoreIPC):
  14036. * Platform/CoreIPC/ArgumentEncoder.cpp:
  14037. (CoreIPC::ArgumentEncoder::encode):
  14038. (CoreIPC):
  14039. * Platform/CoreIPC/ArgumentEncoder.h:
  14040. (ArgumentEncoder):
  14041. * Platform/CoreIPC/Connection.cpp:
  14042. (CoreIPC::Connection::sendMessage):
  14043. * Platform/CoreIPC/MessageDecoder.cpp:
  14044. (CoreIPC::MessageDecoder::MessageDecoder):
  14045. * Platform/CoreIPC/MessageDecoder.h:
  14046. (CoreIPC::MessageDecoder::messageSendFlags):
  14047. (MessageDecoder):
  14048. * Platform/CoreIPC/MessageEncoder.cpp:
  14049. (CoreIPC):
  14050. (CoreIPC::MessageEncoder::MessageEncoder):
  14051. (CoreIPC::MessageEncoder::~MessageEncoder):
  14052. (CoreIPC::MessageEncoder::setMessageSendFlags):
  14053. * Platform/CoreIPC/MessageEncoder.h:
  14054. (MessageEncoder):
  14055. * UIProcess/Authentication/AuthenticationChallengeProxy.h:
  14056. (CoreIPC):
  14057. 2013-01-29 Mario Sanchez Prada <mario.prada@samsung.com>
  14058. [GTK] Missing build flags when building with Harfbuzz
  14059. https://bugs.webkit.org/show_bug.cgi?id=108174
  14060. Reviewed by Martin Robinson.
  14061. Add FREETYPE_CFLAGS and FREETYPE_LIBS to makefiles so -lharfbuzz
  14062. parameter will be added to linking lines when needed.
  14063. * GNUmakefile.am: Added FREETYPE_CFLAGS and FREETYPE_LIBS.
  14064. * UIProcess/API/gtk/tests/GNUmakefile.am: Ditto.
  14065. 2013-01-29 Grzegorz Czajkowski <g.czajkowski@samsung.com>
  14066. [EFL] Unified text checker implementation.
  14067. https://bugs.webkit.org/show_bug.cgi?id=107682
  14068. Reviewed by Anders Carlsson.
  14069. * UIProcess/efl/TextCheckerEfl.cpp:
  14070. (WebKit):
  14071. (WebKit::TextChecker::checkTextOfParagraph):
  14072. Allow to check spelling for multiple words,
  14073. their misspelling location and length are saved to the vector.
  14074. * WebProcess/WebCoreSupport/WebEditorClient.h:
  14075. * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
  14076. (WebKit::WebEditorClient::checkTextOfParagraph):
  14077. (WebKit):
  14078. As spelling implementation is exposed to UIProcess,
  14079. send a meesage to UIProcess to call TextChecker::checkTextOfParagraph.
  14080. 2013-01-29 Carlos Garcia Campos <cgarcia@igalia.com>
  14081. [GTK] Add API to prefetch DNS of a given hostname to WebKit2 GTK+ API
  14082. https://bugs.webkit.org/show_bug.cgi?id=99695
  14083. Reviewed by Anders Carlsson.
  14084. * UIProcess/API/gtk/WebKitWebContext.cpp:
  14085. (webkit_web_context_prefetch_dns): Public method to resolve the
  14086. domain name in advance for the given hostname.
  14087. * UIProcess/API/gtk/WebKitWebContext.h:
  14088. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
  14089. webkit_web_context_prefetch_dns.
  14090. * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
  14091. (webkitWebExtensionDidReceiveMessage): Parse PrefetchDNS message
  14092. and call WebCore::prefetchDNS() with the given hostname.
  14093. (didReceiveMessage): Call webkitWebExtensionDidReceiveMessage().
  14094. (webkitWebExtensionCreate): Add implementation for
  14095. didReceiveMessage callback.
  14096. 2013-01-29 Carlos Garcia Campos <cgarcia@igalia.com>
  14097. [GTK] Implement resources API using injected bundle
  14098. https://bugs.webkit.org/show_bug.cgi?id=107457
  14099. Reviewed by Sam Weinig.
  14100. The ResourceLoaderClient was removed from the UI process in
  14101. r140285, and most of the GTK+ API depends on resources. This patch
  14102. implements the same API using the ResourceLoaderClient from
  14103. injected bundle. It fixes the resources unit tests, as well as
  14104. other 14 unit tests that are timing out because they depend on
  14105. resource API.
  14106. * GNUmakefile.list.am: Add new files to compilation.
  14107. * Shared/UserMessageCoders.h:
  14108. (WebKit::UserMessageEncoder::baseEncode): Add support for encoding
  14109. WebURLResponse and WebError objects in user messages.
  14110. (WebKit::UserMessageDecoder::baseDecode): Add support for decoding
  14111. WebURLResponse and WebError objects from user messages.
  14112. * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: Added.
  14113. (didReceiveWebViewMessageFromInjectedBundle): Handle messages sent
  14114. to the WebView. For now it hanldes all the sresource loader client
  14115. messages.
  14116. (didReceiveMessageFromInjectedBundle): Handle messages received
  14117. from injected bundle.
  14118. (attachInjectedBundleClientToContext): Initialize the injected
  14119. bundle client.
  14120. * UIProcess/API/gtk/WebKitInjectedBundleClient.h: Added.
  14121. * UIProcess/API/gtk/WebKitWebContext.cpp:
  14122. (_WebKitWebContextPrivate): Add a HashMap to map page IDs to
  14123. WebKitWebViews.
  14124. (createDefaultWebContext): Call
  14125. attachInjectedBundleClientToContext() to intialize the injected
  14126. bundle client.
  14127. (webkitWebContextCreatePageForWebView): Use
  14128. webkitWebViewBaseCreateWebPage() to create and initialize a new
  14129. WebPageProxy and map the newly created page with the given
  14130. WebKitWebView.
  14131. (webkitWebContextWebViewDestroyed): Called when the given
  14132. WebKitWebView is being destroyed to remove it from the views map.
  14133. (webkitWebContextGetWebViewForPage): Returns the WebKitWebView
  14134. associated to the given page ID.
  14135. * UIProcess/API/gtk/WebKitWebContextPrivate.h:
  14136. * UIProcess/API/gtk/WebKitWebView.cpp:
  14137. (webkitWebViewConstructed): Use
  14138. webkitWebContextCreatePageForWebView() instead of
  14139. webkitWebViewBaseCreateWebPage() directly.
  14140. (webkitWebViewDispose): Call webkitWebContextWebViewDestroyed() to
  14141. notify the context.
  14142. * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
  14143. (didInitiateLoadForResource): Send a message to the UI process
  14144. with the callback parameters encoded.
  14145. (willSendRequestForFrame): Ditto.
  14146. (didReceiveResponseForResource): Ditto.
  14147. (didReceiveContentLengthForResource): Ditto.
  14148. (didFinishLoadForResource): Ditto.
  14149. (didFailLoadForResource): Ditto.
  14150. (webkitWebPageCreate): Initialize the
  14151. WKBundlePageResourceLoadClient.
  14152. 2013-01-29 Laszlo Gombos <l.gombos@samsung.com>
  14153. [Qt] Remove misspelled ENABLE(SPEECH_INPUT) guard
  14154. https://bugs.webkit.org/show_bug.cgi?id=105683
  14155. Reviewed by Simon Hausmann.
  14156. The ENABLE(SPEECH_INPUT) guard is only used in one location
  14157. in the source tree and as such it is always 0.
  14158. I believe that this guard is a left over and is not needed any more
  14159. as the code guarded is not guarded anywhere else.
  14160. * WebProcess/qt/WebProcessQt.cpp:
  14161. (WebKit::WebProcess::platformInitializeWebProcess):
  14162. 2013-01-29 Zan Dobersek <zdobersek@igalia.com>
  14163. Unreviewed build fix after r141024.
  14164. Adding new files to the build.
  14165. * GNUmakefile.am:
  14166. * GNUmakefile.list.am:
  14167. 2013-01-29 Jinwoo Song <jinwoo7.song@samsung.com>
  14168. [WK2] Fix unused parameter build warning
  14169. https://bugs.webkit.org/show_bug.cgi?id=108156
  14170. Reviewed by Kentaro Hara.
  14171. Comment out the unused parameters to fix the build warnings.
  14172. * WebProcess/Plugins/Netscape/NetscapePlugin.h:
  14173. * WebProcess/Plugins/PluginProxy.h:
  14174. 2013-01-28 Jae Hyun Park <jae.park@company100.net>
  14175. [Qt] Build fix
  14176. https://bugs.webkit.org/show_bug.cgi?id=108142
  14177. Reviewed by Gyuyoung Kim.
  14178. Build fix. Though StorageManager was added to WK2 in r141024,
  14179. it is not added to Target.pri for qt port.
  14180. * Target.pri:
  14181. 2013-01-28 Huang Dongsung <luxtella@company100.net>
  14182. Coordinated Graphics: Refactor code related to debug border and repaint count.
  14183. https://bugs.webkit.org/show_bug.cgi?id=107910
  14184. Reviewed by Noam Rosenthal.
  14185. There are two big changes:
  14186. 1. CoordinatedGraphicsLayer sends debugging visuals to UI Process.
  14187. 2. When updating a backing store, increment a repaint count.
  14188. In addition, we don't use QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS
  14189. environment. EFL, GTK and QT will use WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS
  14190. after http://webkit.org/b/107198.
  14191. * Shared/CoordinatedGraphics/CoordinatedLayerInfo.h:
  14192. (WebKit::CoordinatedLayerInfo::CoordinatedLayerInfo):
  14193. (CoordinatedLayerInfo):
  14194. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  14195. (WebKit::CoordinatedBackingStore::removeAllTiles):
  14196. (WebKit::CoordinatedBackingStore::updateTile):
  14197. (WebKit::CoordinatedBackingStore::texture):
  14198. (WebKit::CoordinatedBackingStore::paintTilesToTextureMapper):
  14199. (WebKit::CoordinatedBackingStore::adjustedTransformForRect):
  14200. (WebKit::CoordinatedBackingStore::paintToTextureMapper):
  14201. (WebKit):
  14202. (WebKit::CoordinatedBackingStore::drawBorder):
  14203. Override TextureMapperPlatformLayer::drawBorder() to draw the border
  14204. for each tile.
  14205. (WebKit::CoordinatedBackingStore::drawRepaintCounter):
  14206. (WebKit::CoordinatedBackingStore::commitTileOperations):
  14207. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
  14208. (WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):
  14209. (CoordinatedBackingStoreTile):
  14210. (CoordinatedBackingStore):
  14211. (WebKit::CoordinatedBackingStore::rect):
  14212. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
  14213. (WebKit::CoordinatedLayerTreeHostProxy::setLayerRepaintCount):
  14214. (WebKit):
  14215. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  14216. (CoordinatedLayerTreeHostProxy):
  14217. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
  14218. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  14219. (WebKit::LayerTreeRenderer::setLayerRepaintCount):
  14220. (WebKit):
  14221. (WebKit::LayerTreeRenderer::setLayerState):
  14222. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  14223. (LayerTreeRenderer):
  14224. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  14225. (WebCore::CoordinatedGraphicsLayer::setShowDebugBorder):
  14226. (WebCore):
  14227. (WebCore::CoordinatedGraphicsLayer::setShowRepaintCounter):
  14228. (WebCore::CoordinatedGraphicsLayer::syncLayerState):
  14229. (WebCore::CoordinatedGraphicsLayer::setDebugBorder):
  14230. (WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd):
  14231. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  14232. (CoordinatedGraphicsLayerClient):
  14233. (CoordinatedGraphicsLayer):
  14234. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  14235. (WebKit::CoordinatedLayerTreeHost::setLayerRepaintCount):
  14236. (WebKit):
  14237. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  14238. 2013-01-28 Sam Weinig <sam@webkit.org>
  14239. Remove support from ArgumentEncoder for deprecated encode functions
  14240. https://bugs.webkit.org/show_bug.cgi?id=108155
  14241. Reviewed by Dan Bernstein.
  14242. * Platform/CoreIPC/ArgumentEncoder.h:
  14243. (CoreIPC::ArgumentEncoder::encode):
  14244. 2013-01-28 Sam Weinig <sam@webkit.org>
  14245. Disable default use of the Plug-in XPCService until we can
  14246. figure out how to deal with the 32-bit one.
  14247. * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
  14248. (WebKit::shouldUseXPC):
  14249. (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
  14250. 2013-01-28 Sam Weinig <sam@webkit.org>
  14251. Plug-ins should initialize their sandbox at creation time
  14252. https://bugs.webkit.org/show_bug.cgi?id=108098
  14253. Reviewed by Anders Carlsson.
  14254. Add the ability to add string key/value pairs to process creation parameters
  14255. to allow the plugin process to get passed the plugin path which in turn allows
  14256. the plugin to initialize its sandbox at the correct time.
  14257. * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm:
  14258. * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm:
  14259. * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
  14260. (NetworkServiceInitializer):
  14261. * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
  14262. (WebKit::PluginProcessMainDelegate::getExtraData):
  14263. (PluginProcessMainDelegate):
  14264. * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm:
  14265. * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm:
  14266. * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm:
  14267. * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
  14268. (WebKit):
  14269. (PluginServiceInitializerDelegate):
  14270. (WebKit::PluginServiceInitializerDelegate::PluginServiceInitializerDelegate):
  14271. (WebKit::PluginServiceInitializerDelegate::getExtraData):
  14272. (PluginServiceInitializer):
  14273. * PluginProcess/PluginProcess.cpp:
  14274. (WebKit::PluginProcess::initializeProcess):
  14275. (WebKit::PluginProcess::initializePluginProcess):
  14276. (WebKit::PluginProcess::initializeProcessName):
  14277. (WebKit::PluginProcess::initializeSandbox):
  14278. * PluginProcess/PluginProcess.h:
  14279. * PluginProcess/mac/PluginProcessMac.mm:
  14280. (WebKit::PluginProcess::platformInitializePluginProcess):
  14281. (WebKit::PluginProcess::platformInitializeProcess):
  14282. (WebKit::PluginProcess::initializeProcessName):
  14283. (WebKit::PluginProcess::initializeSandbox):
  14284. * Shared/ChildProcess.h:
  14285. (ChildProcessInitializationParameters):
  14286. * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h:
  14287. (ChildProcessMainDelegate):
  14288. (WebKit::ChildProcessMain):
  14289. * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:
  14290. (WebKit::ChildProcessMainDelegate::getExtraData):
  14291. * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h:
  14292. (WebKit::XPCServiceEventHandler):
  14293. * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h:
  14294. (WebKit::XPCServiceEventHandler):
  14295. * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h: Added.
  14296. (XPCServiceInitializerDelegate):
  14297. (WebKit::XPCServiceInitializerDelegate::XPCServiceInitializerDelegate):
  14298. (WebKit::XPCServiceInitializer):
  14299. * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm: Added.
  14300. (WebKit::XPCServiceInitializerDelegate::~XPCServiceInitializerDelegate):
  14301. (WebKit::XPCServiceInitializerDelegate::getConnectionIdentifier):
  14302. (WebKit::XPCServiceInitializerDelegate::getClientIdentifier):
  14303. (WebKit::XPCServiceInitializerDelegate::getClientProcessName):
  14304. (WebKit::XPCServiceInitializerDelegate::getExtraData):
  14305. * Shared/Plugins/PluginProcessCreationParameters.cpp:
  14306. (WebKit::PluginProcessCreationParameters::encode):
  14307. (WebKit::PluginProcessCreationParameters::decode):
  14308. * Shared/Plugins/PluginProcessCreationParameters.h:
  14309. (PluginProcessCreationParameters):
  14310. * UIProcess/Launcher/ProcessLauncher.h:
  14311. (LaunchOptions):
  14312. * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  14313. (WebKit::connectToService):
  14314. (WebKit::connectToReExecService):
  14315. (WebKit::createService):
  14316. (WebKit::createProcess):
  14317. (WebKit::ProcessLauncher::launchProcess):
  14318. * UIProcess/Plugins/PluginProcessProxy.cpp:
  14319. (WebKit::PluginProcessProxy::didFinishLaunching):
  14320. * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
  14321. (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
  14322. (WebKit::PluginProcessProxy::platformInitializePluginProcess):
  14323. * WebKit2.xcodeproj/project.pbxproj:
  14324. * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm:
  14325. * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm:
  14326. * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
  14327. (WebContentServiceInitializer):
  14328. 2013-01-28 Kiran Muppala <cmuppala@apple.com>
  14329. Add window occlusion criteria to determine page visibility on Mac
  14330. https://bugs.webkit.org/show_bug.cgi?id=107494
  14331. Reviewed by Simon Fraser.
  14332. * UIProcess/API/mac/PageClientImpl.mm:
  14333. (WebKit::PageClientImpl::isViewVisible): Add window occlusion check.
  14334. * UIProcess/API/mac/WKView.mm:
  14335. (-[WKView dealloc]): Remove self from the all views vector.
  14336. (-[WKView addWindowObserversForWindow:]): Register observer for
  14337. NSWindowWillOrderOffScreenNotification.
  14338. (-[WKView removeWindowObservers]): Unregister observer for
  14339. NSWindowWillOrderOffScreenNotification.
  14340. (-[WKView viewWillMoveToWindow:]): Disable occlusion notifications.
  14341. (-[WKView viewDidMoveToWindow]): Enable occlusion notifications.
  14342. (-[WKView _windowWillOrderOffScreen:]): Disable occlusion notifications.
  14343. (-[WKView _windowDidOrderOnScreen:]): Enable occlusion notifications.
  14344. This notification ensures that occlusion notifications are registered
  14345. correctly even if the NSWindow object is assigned a window number after
  14346. the viewDidMoveToWindow notification has been received. This occurs
  14347. for instance during application launch.
  14348. (-[WKView _setIsWindowOccluded:]):
  14349. (-[WKView _enableWindowOcclusionNotifications]):
  14350. (-[WKView _disableWindowOcclusionNotifications]):
  14351. (windowBecameVisible):
  14352. (windowBecameOccluded):
  14353. (+[WKView _registerWindowOcclusionNotificationHandlers]):
  14354. (+[WKView _unregisterWindowOcclusionNotificationHandlers]):
  14355. (+[WKView _allViews]):
  14356. (-[WKView _isWindowOccluded]):
  14357. (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Add
  14358. self to the all views vector.
  14359. * UIProcess/API/mac/WKViewInternal.h:
  14360. 2013-01-28 Huang Dongsung <luxtella@company100.net>
  14361. [TexMap] Enable debug borders and repaint counter via Settings.
  14362. https://bugs.webkit.org/show_bug.cgi?id=107198
  14363. Reviewed by Benjamin Poulain.
  14364. Currently, if the environment variable WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS
  14365. is set to 1, only CoordinatedBacking shows debug borders and repaint counter.
  14366. This patch makes the environment variable change Settings.
  14367. In addition, Qt uses WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS instead of
  14368. QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS from now.
  14369. After Bug 105787, all backing stores and platform layers in TextureMapper can
  14370. show debug borders and repaint counter.
  14371. * UIProcess/API/efl/EwkView.cpp:
  14372. (EwkView::EwkView):
  14373. * UIProcess/API/gtk/WebKitSettings.cpp:
  14374. (webKitSettingsSetProperty):
  14375. * UIProcess/API/qt/qquickwebview.cpp:
  14376. (QQuickWebViewPrivate::initialize):
  14377. 2013-01-28 Anders Carlsson <andersca@apple.com>
  14378. Move Mach port handling from WorkQueue to Connection
  14379. https://bugs.webkit.org/show_bug.cgi?id=108140
  14380. Reviewed by Sam Weinig.
  14381. Instead of having WorkQueue know about Mach port sources, just fold that
  14382. functionality directly into Connection. This lets us get rid of the generic source
  14383. handling from WorkQueue.
  14384. * Platform/CoreIPC/Connection.h:
  14385. (Connection):
  14386. * Platform/CoreIPC/mac/ConnectionMac.cpp:
  14387. (CoreIPC::Connection::platformInvalidate):
  14388. (CoreIPC::createDataAvailableSource):
  14389. (CoreIPC):
  14390. (CoreIPC::Connection::open):
  14391. (CoreIPC::Connection::initializeDeadNameSource):
  14392. * Platform/WorkQueue.h:
  14393. (WorkQueue::dispatchQueue):
  14394. (WorkQueue):
  14395. * Platform/mac/WorkQueueMac.cpp:
  14396. (WorkQueue::platformInvalidate):
  14397. 2013-01-28 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  14398. Add StorageManager class to cmake ports
  14399. Unreviewed build fix. Though StorageManager was added to WK2 in r141024,
  14400. it is not added to cmake ports(EFL).
  14401. * CMakeLists.txt:
  14402. * PlatformEfl.cmake:
  14403. 2013-01-28 Sam Weinig <sam@webkit.org>
  14404. <rdar://problem/13098777>
  14405. Add (allow mach-lookup (global-name "com.apple.tccd.system"))
  14406. Reviewed by Maciej Stachowiak.
  14407. * WebProcess/com.apple.WebProcess.sb.in:
  14408. 2013-01-28 Brady Eidson <beidson@apple.com>
  14409. WebKit2 should notify the client if the NetworkProcess crashes.
  14410. <rdar://problem/13090513> and https://bugs.webkit.org/show_bug.cgi?id=108126
  14411. Reviewed by Sam Weinig.
  14412. Add new client callback to the ContextClient:
  14413. * UIProcess/API/C/WKContext.h:
  14414. * UIProcess/WebContextClient.cpp:
  14415. (WebKit::WebContextClient::networkProcessDidCrash):
  14416. * UIProcess/WebContextClient.h:
  14417. Call out to the client when the NetworkProcess crashes:
  14418. * UIProcess/WebContext.cpp:
  14419. (WebKit::WebContext::networkProcessCrashed):
  14420. * UIProcess/WebContext.h:
  14421. * UIProcess/Network/NetworkProcessProxy.cpp:
  14422. (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
  14423. 2013-01-28 Pratik Solanki <psolanki@apple.com>
  14424. PLATFORM(IOS) should come before __MAC_OS_X_VERSION_MIN_REQUIRED
  14425. https://bugs.webkit.org/show_bug.cgi?id=108101
  14426. Reviewed by Benjamin Poulain.
  14427. Since iOS does not define __MAC_OS_X_VERSION_MIN_REQUIRED, any usage of
  14428. __MAC_OS_X_VERSION_MIN_REQUIRED should be after a PLATFORM(IOS) check.
  14429. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
  14430. (InitWebCoreSystemInterface):
  14431. 2013-01-28 Anders Carlsson <andersca@apple.com>
  14432. Add StorageManager class
  14433. https://bugs.webkit.org/show_bug.cgi?id=108127
  14434. Reviewed by Sam Weinig.
  14435. The StorageManager will be in charge of handling access to local and session storage
  14436. in the UI process.
  14437. * UIProcess/Storage/StorageManager.cpp: Added.
  14438. * UIProcess/Storage/StorageManager.h: Added.
  14439. * WebKit2.xcodeproj/project.pbxproj:
  14440. 2013-01-28 Anders Carlsson <andersca@apple.com>
  14441. More work on UI side local storage
  14442. https://bugs.webkit.org/show_bug.cgi?id=108119
  14443. Reviewed by Beth Dakin.
  14444. * WebKit2.xcodeproj/project.pbxproj:
  14445. * WebProcess/Storage/StorageNamespaceProxy.cpp:
  14446. (WebKit::StorageNamespaceProxy::createSessionStorageNamespace):
  14447. Rename create to createSessionStorageNamespace and make it take a WebPage.
  14448. (WebKit::StorageNamespaceProxy::StorageNamespaceProxy):
  14449. Add WebPage parameter.
  14450. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  14451. (WebKit::WebPlatformStrategies::sessionStorageNamespace):
  14452. Add an #ifdef for enabling UI side storage.
  14453. * WebProcess/WebPage/WebFrame.cpp:
  14454. (WebKit::WebFrame::page):
  14455. Call new WebPage::fromCorePage helper.
  14456. * WebProcess/WebPage/WebPage.cpp:
  14457. (WebKit::WebPage::fromCorePage):
  14458. Add new function for getting a WebPage from a WebCore::Page.
  14459. 2013-01-28 Joseph Pecoraro <pecoraro@apple.com>
  14460. Improve PageVisibility API with enums
  14461. https://bugs.webkit.org/show_bug.cgi?id=107364
  14462. Reviewed by Sam Weinig.
  14463. * Shared/API/c/WKPageVisibilityTypes.h: Added.
  14464. * Shared/API/c/WKSharedAPICast.h:
  14465. (WebKit::toPageVisibilityState):
  14466. Create an enum for page visibility APIs and a conversion function
  14467. for the WK2 values to WebCore values.
  14468. * Target.pri:
  14469. * GNUmakefile.list.am:
  14470. * WebKit2.xcodeproj/project.pbxproj:
  14471. Add WKPageVisibilityTypes.h to the build as a private export.
  14472. * UIProcess/API/C/WKPage.h:
  14473. * UIProcess/API/C/WKPage.cpp:
  14474. (WKPageSetVisibilityState):
  14475. * UIProcess/WebPageProxy.h:
  14476. * UIProcess/WebPageProxy.cpp:
  14477. (WebKit::WebPageProxy::setVisibilityState):
  14478. UIProcess API to set visibility state. WebPageProxy already
  14479. had m_visibilityState, so update that when setter is used.
  14480. * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
  14481. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  14482. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  14483. * WebProcess/InjectedBundle/InjectedBundle.h:
  14484. Remove the old SPI for WebKitTestRunner. Tests now use the C API.
  14485. * WebProcess/WebPage/WebPage.h:
  14486. * WebProcess/WebPage/WebPage.cpp:
  14487. (WebKit::WebPage::setVisibilityState):
  14488. * WebProcess/WebPage/WebPage.messages.in:
  14489. Update the existing WebPage API to use uint32_t, which matches
  14490. other enum message types.
  14491. 2013-01-28 Christophe Dumez <christophe.dumez@intel.com>
  14492. [EFL][WK2] Use C API inside ewk_download_job
  14493. https://bugs.webkit.org/show_bug.cgi?id=107810
  14494. Reviewed by Anders Carlsson.
  14495. Use C API inside ewk_download_job instead of accessing internal C++
  14496. classes directly, to avoid violating API layering.
  14497. * UIProcess/API/C/WKDownload.cpp:
  14498. (WKDownloadGetID): Add C API to get the download ID as we need it to
  14499. support our public API and it seems like a useful addition.
  14500. * UIProcess/API/C/WKDownload.h:
  14501. * UIProcess/API/efl/ewk_download_job.cpp:
  14502. (EwkDownloadJob::EwkDownloadJob):
  14503. (EwkDownloadJob::id):
  14504. (EwkDownloadJob::request):
  14505. (EwkDownloadJob::cancel):
  14506. * UIProcess/API/efl/ewk_download_job_private.h:
  14507. (EwkDownloadJob::create):
  14508. (EwkDownloadJob):
  14509. * UIProcess/efl/DownloadManagerEfl.cpp:
  14510. (WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
  14511. (WebKit::DownloadManagerEfl::didReceiveResponse):
  14512. (WebKit::DownloadManagerEfl::didCreateDestination):
  14513. (WebKit::DownloadManagerEfl::didReceiveData):
  14514. (WebKit::DownloadManagerEfl::didFail):
  14515. (WebKit::DownloadManagerEfl::didCancel):
  14516. (WebKit::DownloadManagerEfl::didFinish):
  14517. (WebKit::DownloadManagerEfl::registerDownloadJob): Rename
  14518. registerDownload() to registerDownloadJob() for consistency with
  14519. unregisterDownloadJob().
  14520. (WebKit::DownloadManagerEfl::ewkDownloadJob): Rename downloadJob() to
  14521. ewkDownloadJob() for clarity since it returns a EwkDownload object.
  14522. Also take a WKDownloadRef in argument instead of an identifier since
  14523. all the callers have a WKDownloadRef and it makes their code simpler.
  14524. Finally, make the getter non-const since it returns a non-const pointer.
  14525. (WebKit::DownloadManagerEfl::unregisterDownloadJob): Take a
  14526. WKDownloadRef in argument instead of an identifier since all the
  14527. callers have a WKDownloadRef and it makes their code simpler.
  14528. * UIProcess/efl/DownloadManagerEfl.h:
  14529. (DownloadManagerEfl):
  14530. * UIProcess/efl/PageClientBase.cpp:
  14531. (WebKit::PageClientBase::handleDownloadRequest):
  14532. 2013-01-28 Tim Horton <timothy_horton@apple.com>
  14533. PDFPlugin: getMainResourceDataOfFrame should return PDFPlugin's data so that Save... works
  14534. https://bugs.webkit.org/show_bug.cgi?id=108060
  14535. <rdar://problem/13075454>
  14536. Reviewed by Sam Weinig.
  14537. * WebProcess/Plugins/Netscape/NetscapePlugin.h: Implement getResourceData.
  14538. * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
  14539. * WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Implement getResourceData, returning the accumulated
  14540. data if it exists and has finished loading.
  14541. (WebKit::SimplePDFPlugin::getResourceData):
  14542. * WebProcess/Plugins/Plugin.h: Add getResourceData, which hands out a raw pointer/size pair
  14543. to the plugin's "main resource" data.
  14544. * WebProcess/Plugins/PluginProxy.h: Implement getResourceData.
  14545. * WebProcess/Plugins/PluginView.cpp:
  14546. (WebKit::PluginView::getResourceData): Forward getResourceData through to the plugin.
  14547. * WebProcess/Plugins/PluginView.h:
  14548. * WebProcess/WebPage/WebPage.cpp:
  14549. (WebKit::WebPage::getMainResourceDataOfFrame): If the requested frame is backed by a PluginDocument,
  14550. attempt to ask the PluginView for its resource data.
  14551. 2013-01-28 Tim Horton <timothy_horton@apple.com>
  14552. [wk2] WKView's intrinsicContentSize should only report a flexible width if the content width is less than the minimum width
  14553. https://bugs.webkit.org/show_bug.cgi?id=108056
  14554. Reviewed by Simon Fraser.
  14555. We're currently reporting a flexible width if the intrinsic
  14556. content size is less than *or equal* to the minimum layout
  14557. width. This is wrong and causes ping-ponging between flexible
  14558. and inflexible width in cases where autolayout fits our
  14559. view to exactly the intrinsic content size. It should be strictly
  14560. less than instead.
  14561. * UIProcess/API/mac/WKView.mm:
  14562. (-[WKView _setIntrinsicContentSize:]):
  14563. 2013-01-28 Anders Carlsson <andersca@apple.com>
  14564. Add StorageStrategy member functions to WebKit2
  14565. https://bugs.webkit.org/show_bug.cgi?id=108105
  14566. Reviewed by Tim Horton.
  14567. Add default implementations that just chain up to the base class for now.
  14568. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  14569. (WebKit::WebPlatformStrategies::localStorageNamespace):
  14570. (WebKit::WebPlatformStrategies::sessionStorageNamespace):
  14571. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  14572. (WebPlatformStrategies):
  14573. 2013-01-28 Adam Barth <abarth@webkit.org>
  14574. Remove webkitNotifications.createHTMLNotification
  14575. https://bugs.webkit.org/show_bug.cgi?id=107598
  14576. Reviewed by Benjamin Poulain.
  14577. * Configurations/FeatureDefines.xcconfig:
  14578. 2013-01-28 Andy Estes <aestes@apple.com>
  14579. Fix non-fat builds by excluding PluginService.32 as a target dependency for WebKit2.
  14580. * WebKit2.xcodeproj/project.pbxproj:
  14581. 2013-01-28 Renata Hodovan <reni@webkit.org>
  14582. [Qt][Win][WK2] Build fix after r140957.
  14583. Rubber-stamped by Csaba Osztrogonác.
  14584. <sys/wait.h> is only needed and available on linux therefore it's moved into an ifdef block.
  14585. * WebProcess/qt/WebProcessMainQt.cpp:
  14586. 2013-01-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
  14587. [EFL][WK2] Use C API inside ewk_url_response
  14588. https://bugs.webkit.org/show_bug.cgi?id=107826
  14589. Reviewed by Andreas Kling.
  14590. * Shared/API/c/WKURLResponse.cpp:
  14591. (WKURLResponseGetExpectedContentsLength):
  14592. * Shared/API/c/WKURLResponse.h:
  14593. Add new WK2 C API to get the expected contents length.
  14594. * UIProcess/API/efl/ewk_url_response.cpp:
  14595. (EwkUrlResponse::EwkUrlResponse):
  14596. (EwkUrlResponse::httpStatusCode):
  14597. (EwkUrlResponse::contentLength):
  14598. * UIProcess/API/efl/ewk_url_response_private.h:
  14599. (EwkUrlResponse::create):
  14600. (EwkUrlResponse):
  14601. Change the methods to not call WebCore methods.
  14602. 2013-01-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
  14603. [WK2][EFL] Remove unneeded private methods
  14604. https://bugs.webkit.org/show_bug.cgi?id=107693
  14605. Reviewed by Andreas Kling.
  14606. Care has been taken to verify that the wrappers can
  14607. never be null when called.
  14608. * UIProcess/API/efl/EwkViewImpl.cpp:
  14609. (EwkViewImpl::displayTimerFired):
  14610. (EwkViewImpl::createGLSurface):
  14611. * UIProcess/API/efl/EwkViewImpl.h:
  14612. (EwkViewImpl):
  14613. 2013-01-28 Renata Hodovan <reni@webkit.org>
  14614. [WK2] Putting QtWebProcess into a chrooted sandbox
  14615. https://bugs.webkit.org/show_bug.cgi?id=90005
  14616. Reviewed by Anders Carlsson and Zoltan Herczeg.
  14617. This new feature makes possible to run WebProcess inside a chroot. In this case UIProcess calls the
  14618. internal SandboxProcess binary what makes up an environment for WebProcess inside the sandbox and runs the WebProcess.
  14619. SandboxProcess first creates two needed device files (random and urandom), mounts filesystems (proc and shared memory),
  14620. then links run-time dependencies of WebProcess. After this, SandboxProcess moves to a new pid namespace (cloning with
  14621. CLONE_NEWPID flag). Then after an other cloning (with CLONE_FS flag) we share our filesystem with our children. This is
  14622. needed because we want to call chroot() function from here and jail our child (WebProcess) too. This will be performed
  14623. when WebProcess sends a request for it via an socketpair. If sandboxing is done, SandboxProcess exits.
  14624. Since chroot() system call needs sudoer rights SandboxProcess binary should have set its suid flag. However we can reduce
  14625. its capabilites. First we restrict the capabilities of the process and the number of its possible resources. Furthermore
  14626. we fallback to the nobody or the real user.
  14627. * Configurations/FeatureDefines.xcconfig:
  14628. * SandboxProcess.pro: Added.
  14629. * Shared/linux/SandboxProcess/SandboxEnvironmentLinux.cpp: Added.
  14630. (launchChangeRootHelper):
  14631. (setEnvironmentVariablesForChangeRootHelper):
  14632. (prepareAndStartChangeRootHelper):
  14633. (setCapabilities):
  14634. (dropPrivileges):
  14635. (fileExists):
  14636. (directoryPermissions):
  14637. (createDirectory):
  14638. (createDirectoryPath):
  14639. (createDeviceFiles):
  14640. (mountFileSystems):
  14641. (linkFile):
  14642. (linkDirectory):
  14643. (collectRunTimeDependencies):
  14644. (setupXauthorityForNobodyUser):
  14645. (initSandbox):
  14646. (restrictCapabilities):
  14647. (moveToNewPidNamespace):
  14648. (run):
  14649. (main):
  14650. * Shared/linux/SandboxProcess/SandboxEnvironmentLinux.h: Added.
  14651. * Shared/linux/SandboxProcess/StringOperations.cpp: Added.
  14652. (stringCopy):
  14653. (stringConcat):
  14654. (stringAppend):
  14655. * Shared/linux/SandboxProcess/StringOperations.h: Added.
  14656. * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
  14657. (WebKit::ProcessLauncher::launchProcess):
  14658. * WebKit2.pri:
  14659. * WebProcess.pro:
  14660. * WebProcess/qt/WebProcessMainQt.cpp:
  14661. (WebKit):
  14662. (WebKit::chrootMe):
  14663. (WebKit::WebProcessMainQt):
  14664. 2013-01-28 Christophe Dumez <christophe.dumez@intel.com>
  14665. [EFL][WK2] Rely more on C API in ewk_favicon_database
  14666. https://bugs.webkit.org/show_bug.cgi?id=108035
  14667. Reviewed by Benjamin Poulain.
  14668. Rely less on internal C++ API in ewk_favicon_database and use C API
  14669. instead of avoid breaking API layering.
  14670. * PlatformEfl.cmake:
  14671. * UIProcess/API/C/cairo/WKIconDatabaseCairo.cpp: Added.
  14672. (WKIconDatabaseTryGetCairoSurfaceForURL): Add C API for getting the
  14673. favicon for a given page URL as a cairo_surface_t*.
  14674. * UIProcess/API/C/cairo/WKIconDatabaseCairo.h: Added.
  14675. * UIProcess/API/efl/ewk_favicon_database.cpp:
  14676. (EwkFaviconDatabase::didChangeIconForPageURL):
  14677. (EwkFaviconDatabase::getIconSurfaceSynchronously):
  14678. (EwkFaviconDatabase::iconDataReadyForPageURL):
  14679. 2013-01-27 Alexey Proskuryakov <ap@apple.com>
  14680. Fix location of sandbox profiles in built products
  14681. https://bugs.webkit.org/show_bug.cgi?id=108026
  14682. Reviewed by Sam Weinig.
  14683. * WebKit2.xcodeproj/project.pbxproj: Sandbox profiles go into WebKit2 framework resources.
  14684. 2013-01-27 Zoltan Arvai <zarvai@inf.u-szeged.hu>
  14685. Fixing atomicIncrement implementation for Windows by dropping support before XP SP2.
  14686. https://bugs.webkit.org/show_bug.cgi?id=106740
  14687. Reviewed by Benjamin Poulain.
  14688. * config.h:
  14689. 2013-01-27 Sam Weinig <sam@webkit.org>
  14690. Add support for launching WebKit2 plugins using XPC
  14691. https://bugs.webkit.org/show_bug.cgi?id=108040
  14692. Reviewed by Dan Bernstein.
  14693. * Configurations/PluginService.32.xcconfig: Copied from Source/WebKit2/Configurations/WebContentService.xcconfig.
  14694. * Configurations/PluginService.64.xcconfig: Copied from Source/WebKit2/Configurations/WebContentService.xcconfig.
  14695. * Configurations/PluginService.Development.xcconfig: Copied from Source/WebKit2/Configurations/WebContentService.xcconfig.
  14696. Add configurations.
  14697. * PluginProcess/EntryPoint/mac/XPCService: Added.
  14698. * PluginProcess/EntryPoint/mac/XPCService/PluginService.32: Added.
  14699. * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist.
  14700. * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm.
  14701. * PluginProcess/EntryPoint/mac/XPCService/PluginService.64: Added.
  14702. * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist.
  14703. * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm.
  14704. * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development: Added.
  14705. * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist: Added.
  14706. * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm: Added.
  14707. (main):
  14708. * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm.
  14709. (initializePluginService):
  14710. Add entry points.
  14711. * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  14712. (WebKit::serviceName):
  14713. Add plugin process service names and move into correct #ifdef.
  14714. * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
  14715. (WebKit::shouldUseXPC):
  14716. (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
  14717. Opt into xpc using the same rules as the WebProcess.
  14718. * WebKit2.xcodeproj/project.pbxproj:
  14719. Add files.
  14720. 2013-01-26 Alexey Proskuryakov <ap@apple.com>
  14721. Use shared ChildProcess code to enter plug-in sandbox.
  14722. Reviewed by Sam Weinig.
  14723. There is one known behavior change from this refactoring: getpwuid_r is used
  14724. instead of NSHomeDirectory for home directory, mathcing other client processes.
  14725. * PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::enterSandbox):
  14726. * PluginProcess/PluginProcess.h:
  14727. PluginProcess prevents ChildProcess attempt to enter the sandbox immediately on
  14728. launch for now, because we don't have a sandbox profile directory path yet.
  14729. It now keeps a copy of ChildProcessInitializationParameters, so that
  14730. ChildProcess::initializeSandbox() could be called later.
  14731. * PluginProcess/mac/PluginProcessMac.mm:
  14732. (WebKit::PluginProcess::platformInitializeProcess): Store a copy of ChildProcessInitializationParameters
  14733. for later.
  14734. (WebKit::loadSandboxProfile): Build a sandbox profile from a common prefix and
  14735. a plugin-specific part.
  14736. (WebKit::PluginProcess::platformInitializePluginProcess): We can enter the sandbox now.
  14737. (WebKit::PluginProcess::enterSandbox): Prepare SandboxInitializationParameters,
  14738. and call ChildProcess::initializeSandbox().
  14739. * Shared/mac/ChildProcessMac.mm:
  14740. (WebKit::ChildProcess::initializeSandbox): Actually handle system directory suffix
  14741. from parameters.
  14742. * WebKit2.xcodeproj/project.pbxproj:
  14743. * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: Removed.
  14744. * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Removed.
  14745. 2013-01-26 Sam Weinig <sam@webkit.org>
  14746. Add support for running the networking process as an XPCService
  14747. https://bugs.webkit.org/show_bug.cgi?id=108025
  14748. Reviewed by Dan Bernstein.
  14749. * Configurations/NetworkService.Development.xcconfig: Copied from Source/WebKit2/Configurations/WebContentService.Development.xcconfig.
  14750. * Configurations/NetworkService.xcconfig: Copied from Source/WebKit2/Configurations/WebContentService.xcconfig.
  14751. Add configurations.
  14752. * NetworkProcess/EntryPoint/mac/XPCService: Added.
  14753. * NetworkProcess/EntryPoint/mac/XPCService/NetworkService: Added.
  14754. * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development: Added.
  14755. * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist: Copied from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist.
  14756. * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm: Copied from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm.
  14757. * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist: Copied from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist.
  14758. * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm: Copied from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm.
  14759. * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm: Copied from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm.
  14760. (initializeNetworkService):
  14761. Add entry points.
  14762. * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  14763. (WebKit::serviceName):
  14764. (WebKit::connectToServiceForDevelopment):
  14765. (WebKit::createServiceForDevelopment):
  14766. (WebKit::createService):
  14767. (WebKit::createProcess):
  14768. (WebKit::ProcessLauncher::launchProcess):
  14769. Rework service creation to work for arbitrary services.
  14770. * UIProcess/Network/NetworkProcessProxy.cpp:
  14771. (WebKit::NetworkProcessProxy::~NetworkProcessProxy):
  14772. (WebKit::NetworkProcessProxy::getLaunchOptions):
  14773. * UIProcess/Network/NetworkProcessProxy.h:
  14774. * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
  14775. (WebKit::shouldUseXPC):
  14776. (WebKit::NetworkProcessProxy::platformGetLaunchOptions):
  14777. Opt into xpc using the same rules as the WebProcess.
  14778. * WebKit2.xcodeproj/project.pbxproj:
  14779. Update files.
  14780. * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
  14781. (initializeWebContentService):
  14782. Fix the comment to refer to the shim correctly.
  14783. 2013-01-26 Sam Weinig <sam@webkit.org>
  14784. Simplify environment creation in XPC service re-exec
  14785. https://bugs.webkit.org/show_bug.cgi?id=108017
  14786. Reviewed by Dan Bernstein.
  14787. * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h:
  14788. (WebKit::XPCServiceEventHandler):
  14789. There is no need to copy these strings.
  14790. 2013-01-26 Alexey Proskuryakov <ap@apple.com>
  14791. Remove code for handling NetworkProcess authentication challenges in WebProcess
  14792. https://bugs.webkit.org/show_bug.cgi?id=108003
  14793. Reviewed by Sam Weinig.
  14794. * DerivedSources.make:
  14795. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  14796. (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
  14797. * WebKit2.xcodeproj/project.pbxproj:
  14798. * NetworkProcess/NetworkResourceLoader.messages.in: Removed. We no longer have
  14799. an messages to NetworkResourceLoader.
  14800. * Shared/WebCoreArgumentCoders.cpp:
  14801. (CoreIPC::::encode):
  14802. (CoreIPC::::decode):
  14803. There is no longer an identifier inside AuthenticationChallenge.
  14804. * NetworkProcess/NetworkResourceLoader.cpp:
  14805. (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
  14806. (WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge):
  14807. * NetworkProcess/NetworkResourceLoader.h:
  14808. Removed code for receiving authentication responses from WebProcess. Removed
  14809. m_currentAuthenticationChallenge - AuthenticationMAnager now keeps track of that.
  14810. * WebProcess/Network/WebResourceLoader.cpp:
  14811. * WebProcess/Network/WebResourceLoader.h:
  14812. * WebProcess/Network/WebResourceLoader.messages.in:
  14813. Removed code for handling authentication challenges. They are now sent directly to
  14814. UI Process. The only thing WebProcess still does is decide whether is can authenticate
  14815. against a particular authentication space.
  14816. 2013-01-26 Sam Weinig <sam@webkit.org>
  14817. Fix the development build.
  14818. * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h:
  14819. (WebKit::XPCServiceEventHandler):
  14820. Use the right stringizer.
  14821. 2013-01-26 Sam Weinig <sam@webkit.org>
  14822. Refactor XPCService initialization to make it easier to add more services
  14823. https://bugs.webkit.org/show_bug.cgi?id=108015
  14824. Reviewed by Dan Bernstein.
  14825. * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h: Added.
  14826. (WebKit::XPCServiceEventHandler):
  14827. * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h: Added.
  14828. (WebKit::XPCServiceEventHandler):
  14829. Move bootstrapping to Shared (like we have for the legacy process). For now, we use
  14830. a macro to define the actual initialization point function to use, in the future, we
  14831. could consider alternatives, such as getting the function name from the bundle.
  14832. * WebKit2.xcodeproj/project.pbxproj:
  14833. Update files.
  14834. * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm:
  14835. * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm:
  14836. Simplify to use the new XPCServiceBootstrapper.
  14837. * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessServiceEntryPoints.mm.
  14838. (initializeWebContentService):
  14839. * WebProcess/mac/WebProcessServiceEntryPoints.h: Removed.
  14840. * WebProcess/mac/WebProcessServiceEntryPoints.mm: Removed.
  14841. Move the entry point to where it belongs and extract the bootstrapping parts.
  14842. 2013-01-26 Adenilson Cavalcanti <cavalcantii@gmail.com>
  14843. [Qt]Qt build fix
  14844. https://bugs.webkit.org/show_bug.cgi?id=108013
  14845. Changes on process initialization classes broke webkit building with Qt5. This
  14846. patch fix it.
  14847. Reviewed by Sam Weinig.
  14848. * PluginProcess/qt/PluginProcessMainQt.cpp:
  14849. 2013-01-26 Sam Weinig <sam@webkit.org>
  14850. Hoist command line parsing into ChildProcessMain
  14851. https://bugs.webkit.org/show_bug.cgi?id=108010
  14852. Reviewed by Dan Bernstein.
  14853. * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm:
  14854. (NetworkProcessMain):
  14855. * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
  14856. (PluginProcessMain):
  14857. * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h:
  14858. (WebKit::ChildProcessMain):
  14859. * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMain.mm:
  14860. (SharedWorkerProcessMain):
  14861. * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
  14862. (WebContentProcessMain):
  14863. 2013-01-26 Sam Weinig <sam@webkit.org>
  14864. Move LegacyProcess entry points into new EntryPoint directories
  14865. https://bugs.webkit.org/show_bug.cgi?id=108008
  14866. Reviewed by Anders Carlsson.
  14867. Also refactors to remove the need for the overly general WebKitMain, by putting the
  14868. framework lazy loading into a helper function each legacy process can call (in ChildProcessMainBootstrapper.h)
  14869. * Configurations/NetworkProcess.xcconfig:
  14870. * Configurations/PluginProcess.xcconfig:
  14871. * Configurations/SharedWorkerProcess.xcconfig:
  14872. * Configurations/WebProcess.xcconfig:
  14873. * NetworkProcess/EntryPoint: Added.
  14874. * NetworkProcess/EntryPoint/mac: Added.
  14875. * NetworkProcess/EntryPoint/mac/LegacyProcess: Added.
  14876. * NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist: Copied from Source/WebKit2/NetworkProcess/Info.plist.
  14877. * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm: Copied from Source/WebKit2/NetworkProcess/mac/NetworkProcessMainMac.mm.
  14878. (NetworkProcessMain):
  14879. * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMainBootstrapper.cpp: Added.
  14880. (main):
  14881. * NetworkProcess/Info.plist: Removed.
  14882. * NetworkProcess/NetworkProcessMain.h: Removed.
  14883. * NetworkProcess/mac/NetworkProcessMainMac.mm: Removed.
  14884. * PluginProcess/EntryPoint: Added.
  14885. * PluginProcess/EntryPoint/mac: Added.
  14886. * PluginProcess/EntryPoint/mac/LegacyProcess: Added.
  14887. * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist: Copied from Source/WebKit2/PluginProcess/Info.plist.
  14888. * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm: Copied from Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm.
  14889. (PluginProcessMain):
  14890. * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMainBootstrapper.cpp: Added.
  14891. (main):
  14892. * PluginProcess/Info.plist: Removed.
  14893. * PluginProcess/PluginProcessMain.h: Removed.
  14894. * PluginProcess/mac/PluginProcessMainMac.mm: Removed.
  14895. * Shared/EntryPointUtilities: Added.
  14896. * Shared/EntryPointUtilities/mac: Added.
  14897. * Shared/EntryPointUtilities/mac/LegacyProcess: Added.
  14898. * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h: Copied from Source/WebKit2/Shared/mac/ChildProcessMain.h.
  14899. * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm: Copied from Source/WebKit2/Shared/mac/ChildProcessMain.mm.
  14900. * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMainBootstrapper.h: Added.
  14901. (closeUnusedFileDescriptors):
  14902. (getBootstrapMainFunction):
  14903. * Shared/EntryPointUtilities/mac/XPCService: Added.
  14904. * Shared/mac/ChildProcessMain.h: Removed.
  14905. * Shared/mac/ChildProcessMain.mm: Removed.
  14906. * SharedWorkerProcess/EntryPoint: Added.
  14907. * SharedWorkerProcess/EntryPoint/mac: Added.
  14908. * SharedWorkerProcess/EntryPoint/mac/LegacyProcess: Added.
  14909. * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/Info.plist: Copied from Source/WebKit2/SharedWorkerProcess/Info.plist.
  14910. * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMain.mm: Copied from Source/WebKit2/SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm.
  14911. (SharedWorkerProcessMain):
  14912. * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMainBootstrapper.cpp: Added.
  14913. (main):
  14914. * SharedWorkerProcess/Info.plist: Removed.
  14915. * SharedWorkerProcess/SharedWorkerProcessMain.h: Removed.
  14916. * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm: Removed.
  14917. * WebKit2.xcodeproj/project.pbxproj:
  14918. * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist: Copied from Source/WebKit2/WebProcess/Info.plist.
  14919. * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm.
  14920. (WebKit::WebContentProcessMainDelegate::WebContentProcessMainDelegate):
  14921. (WebKit):
  14922. (WebContentProcessMain):
  14923. * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMainBootstrapper.cpp: Added.
  14924. (main):
  14925. * WebProcess/Info.plist: Removed.
  14926. * WebProcess/WebKitMain.cpp: Removed.
  14927. * WebProcess/WebProcessMain.h: Removed.
  14928. * WebProcess/mac/WebProcessMainMac.mm: Removed.
  14929. * mac/MainMacProcess.cpp: Removed.
  14930. 2013-01-25 Christophe Dumez <christophe.dumez@intel.com>
  14931. [EFL][WK2] Use C API inside ewk_database_manager and ewk_storage_manager
  14932. https://bugs.webkit.org/show_bug.cgi?id=107920
  14933. Reviewed by Benjamin Poulain.
  14934. Use C API inside ewk_database_manager and ewk_storage_manager instead
  14935. of accessing internal C++ classes directly, to avoid violating API
  14936. layering.
  14937. * UIProcess/API/efl/ewk_context.cpp:
  14938. (EwkContext::EwkContext):
  14939. * UIProcess/API/efl/ewk_database_manager.cpp:
  14940. (EwkDatabaseManager::EwkDatabaseManager):
  14941. (EwkDatabaseManager::getDatabaseOrigins):
  14942. * UIProcess/API/efl/ewk_database_manager_private.h:
  14943. (EwkDatabaseManager::create):
  14944. (EwkDatabaseManager):
  14945. * UIProcess/API/efl/ewk_storage_manager.cpp:
  14946. (EwkStorageManager::EwkStorageManager):
  14947. (EwkStorageManager::getStorageOrigins):
  14948. * UIProcess/API/efl/ewk_storage_manager_private.h:
  14949. (EwkStorageManager::create):
  14950. (EwkStorageManager):
  14951. 2013-01-25 Andreas Kling <akling@apple.com>
  14952. [Mac] Defer loading the Web Inspector bundle until it's necessary.
  14953. <http://webkit.org/b/107999>
  14954. <rdar://problem/13091861>
  14955. Reviewed by Anders Carlsson.
  14956. Don't instantiate an NSBundle for the Web Inspector before it's needed.
  14957. 1.51MB progression on Membuster3.
  14958. * WebProcess/WebPage/WebInspector.cpp:
  14959. (WebKit::WebInspector::WebInspector):
  14960. * WebProcess/WebPage/WebInspector.h:
  14961. (WebInspector):
  14962. * WebProcess/WebPage/mac/WebInspectorMac.mm:
  14963. (WebKit::WebInspector::setInspectorUsesWebKitUserInterface):
  14964. (WebKit::WebInspector::localizedStringsURL):
  14965. 2013-01-25 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  14966. [EFL][WK2] Fix build break after r140891.
  14967. Unreviewed build fix. SerializedScriptValue needs to use PassRefPtr in WK2 as well.
  14968. * Shared/WebSerializedScriptValue.h:
  14969. (WebKit::WebSerializedScriptValue::create):
  14970. 2013-01-25 Mark Rowe <mrowe@apple.com>
  14971. Don't crash when the WKBundlePageUIClient doesn't implement createPlugInExtraStyleSheet.
  14972. Reviewed by Dean Jackson.
  14973. * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
  14974. (WebKit::InjectedBundlePageUIClient::plugInExtraStyleSheet): Check that createPlugInExtraStyleSheet
  14975. is provided before calling it.
  14976. 2013-01-25 Andy Estes <aestes@apple.com>
  14977. Wrap content filtering code in an object
  14978. https://bugs.webkit.org/show_bug.cgi?id=107914
  14979. Reviewed by Alexey Proskuryakov.
  14980. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
  14981. (InitWebCoreSystemInterface): Updated to reflect changes in WKSI.
  14982. 2013-01-25 Brady Eidson <beidson@apple.com>
  14983. HTTP Authentication should be directly between the NetworkProcess and the UIProcess
  14984. <rdar://problem/13074829> and https://bugs.webkit.org/show_bug.cgi?id=107974
  14985. Reviewed by Alexey Proskuryakov.
  14986. Some of this patch is refactoring to enable more flexibility in the authentication mechanism
  14987. and the rest is actually implementing Network->UI process authentication.
  14988. Expose the same AuthenticationManager to anyone in the NetworkProcess asking for it:
  14989. * NetworkProcess/NetworkProcess.cpp:
  14990. (WebKit::NetworkProcess::authenticationManager):
  14991. (WebKit::NetworkProcess::downloadsAuthenticationManager):
  14992. * NetworkProcess/NetworkProcess.h:
  14993. * NetworkProcess/NetworkResourceLoader.cpp:
  14994. (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge): Instead of messaging to
  14995. the WebProcess, tell the NetworkProcess AuthenticationManager.
  14996. Add WebPageID and WebFrameID members to SchedulableLoader that they receive from
  14997. * NetworkProcess/SchedulableLoader.cpp:
  14998. * NetworkProcess/SchedulableLoader.h:
  14999. (WebKit::SchedulableLoader::webPageID):
  15000. (WebKit::SchedulableLoader::webFrameID):
  15001. Add a 3rd form of "didReceiveAuthenticationChallenge" for NetworkProcess use:
  15002. * Shared/Authentication/AuthenticationManager.cpp:
  15003. (WebKit::AuthenticationManager::mapChallengeToIdentifier):
  15004. (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
  15005. * Shared/Authentication/AuthenticationManager.h:
  15006. * Shared/Authentication/mac/AuthenticationManager.mac.mm:
  15007. (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge): Remove a now obsolete comment
  15008. Include the WebPage and WebFrame ID for the originator of this request in case it results in a challenge:
  15009. * Shared/Network/NetworkResourceLoadParameters.cpp:
  15010. (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
  15011. (WebKit::NetworkResourceLoadParameters::encode):
  15012. (WebKit::NetworkResourceLoadParameters::decode):
  15013. * Shared/Network/NetworkResourceLoadParameters.h:
  15014. (WebKit::NetworkResourceLoadParameters::webPageID):
  15015. (WebKit::NetworkResourceLoadParameters::webFrameID):
  15016. Create a AuthenticationChallengeProxy pointing back to the NetworkProcess (instead of a WebProcess),
  15017. and send the challenge to the appropriate WebPageProxy:
  15018. * UIProcess/Network/NetworkProcessProxy.cpp:
  15019. (WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):
  15020. * UIProcess/Network/NetworkProcessProxy.h:
  15021. * UIProcess/Network/NetworkProcessProxy.messages.in:
  15022. Refactor didReceiveAuthenticationChallenge so an outsider can directly hand over an AuthenticationChallengeProxy:
  15023. * UIProcess/WebPageProxy.cpp:
  15024. (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
  15025. (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
  15026. * UIProcess/WebPageProxy.h:
  15027. Add a global WebPageID -> WebPageProxy map so parties with an ID don't need to know which process it belongs to:
  15028. * UIProcess/WebProcessProxy.cpp:
  15029. (WebKit::globalPageMap):
  15030. (WebKit::WebProcessProxy::webPage):
  15031. (WebKit::WebProcessProxy::createWebPage):
  15032. (WebKit::WebProcessProxy::addExistingWebPage):
  15033. (WebKit::WebProcessProxy::removeWebPage):
  15034. * UIProcess/WebProcessProxy.h:
  15035. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  15036. (WebKit::WebResourceLoadScheduler::scheduleLoad):
  15037. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  15038. (WebKit::WebPlatformStrategies::loadResourceSynchronously): Pass 0 for WebFrameID and WebPageID since synchronous
  15039. loads don't go through "normal" authentication channels and don't need them. Yet.
  15040. 2013-01-25 Alexey Proskuryakov <ap@apple.com>
  15041. <rdar://problem/13089261> Crash in WKSandboxExtensionGetSerializedFormat when opening Web Inspector
  15042. Reviewed by Brady Eidson.
  15043. * WebProcess/com.apple.WebProcess.sb.in: Should be able to issue extensions for
  15044. Inspector files.
  15045. 2013-01-25 Sam Weinig <sam@webkit.org>
  15046. Try to fix the debug build.
  15047. * WebKit2.xcodeproj/project.pbxproj:
  15048. 2013-01-25 Sam Weinig <sam@webkit.org>
  15049. Move the WebContentServices to WebProcess/EntryPoint/mac/XPCService/.
  15050. Reviewed by Anders Carlsson.
  15051. * Configurations/WebContentService.Development.xcconfig:
  15052. * Configurations/WebContentService.xcconfig:
  15053. * WebKit2.xcodeproj/project.pbxproj:
  15054. * WebProcess/EntryPoint: Added.
  15055. * WebProcess/EntryPoint/mac: Added.
  15056. * WebProcess/EntryPoint/mac/LegacyProcess: Added.
  15057. * WebProcess/EntryPoint/mac/XPCService: Added.
  15058. * WebProcess/EntryPoint/mac/XPCService/WebContentService: Copied from WebProcessService.
  15059. * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development: Copied from WebProcessServiceForWebKitDevelopment.
  15060. * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm: Copied from WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm.
  15061. * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebProcessServiceForWebKitDevelopmentMain.mm: Removed.
  15062. * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm: Copied from WebProcessService/WebProcessServiceMain.mm.
  15063. * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebProcessServiceMain.mm: Removed.
  15064. * WebProcessService: Removed.
  15065. * WebProcessService/Info.plist: Removed.
  15066. * WebProcessService/WebProcessServiceMain.mm: Removed.
  15067. * WebProcessServiceForWebKitDevelopment: Removed.
  15068. * WebProcessServiceForWebKitDevelopment/Info.plist: Removed.
  15069. * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm: Removed.
  15070. 2013-01-25 Ivan Krstić <ike@apple.com>
  15071. Prepend common plugin sandbox profile to specific per-plugin one.
  15072. <rdar://problem/13044349>
  15073. Reviewed by Alexey Proskuryakov.
  15074. * PluginProcess/mac/PluginProcessMac.mm:
  15075. (WebKit::initializeSandbox):
  15076. 2013-01-25 Dean Jackson <dino@apple.com>
  15077. Add a user agent stylesheet for plugins
  15078. https://bugs.webkit.org/show_bug.cgi?id=107890
  15079. Reviewed by Alexey Proskuryakov.
  15080. * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Rename client callbacks
  15081. to have a "create" prefix, making it clear that these generate new Strings.
  15082. * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Actually call into
  15083. the injected bundle to retrieve any custom stylesheet for plugins.
  15084. (WebKit::InjectedBundlePageUIClient::plugInExtraStyleSheet):
  15085. * WebProcess/WebCoreSupport/WebChromeClient.h:
  15086. (WebChromeClient): Add override keyword onto virtual functions now
  15087. that the base class has implementations.
  15088. 2013-01-25 Alexey Proskuryakov <ap@apple.com>
  15089. NetworkProcess cannot load files with non-ASCII names
  15090. https://bugs.webkit.org/show_bug.cgi?id=107977
  15091. Reviewed by Brady Eidson.
  15092. * Shared/Network/NetworkResourceLoadParameters.cpp:
  15093. (WebKit::NetworkResourceLoadParameters::encode): Use the correct path accessor.
  15094. 2013-01-25 Alexey Proskuryakov <ap@apple.com>
  15095. REGRESSION: System directory prefix doesn't have a "+"
  15096. https://bugs.webkit.org/show_bug.cgi?id=107971
  15097. Reviewed by Brady Eidson.
  15098. * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::initializeSandbox):
  15099. Re-added the "+".
  15100. 2013-01-25 Brady Eidson <beidson@apple.com>
  15101. New NetworkProcess can ASSERT after old NetworkProcess crashes
  15102. https://bugs.webkit.org/show_bug.cgi?id=107970
  15103. Reviewed by Alexey Proskuryakov.
  15104. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  15105. (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier): Don't tell the scheduler
  15106. to remove a loader that doesn't exist, as we might be recovering from a crash.
  15107. 2013-01-25 Alexey Proskuryakov <ap@apple.com>
  15108. Send sandbox extensions for local files to NetworkProcess
  15109. https://bugs.webkit.org/show_bug.cgi?id=107872
  15110. Reviewed by Brady Eidson.
  15111. Send sandbox extensions in NetworkResourceLoadParameters, and consume/invalidate
  15112. them during loading. Changed NetworkProcess code to only use that class for IPC,
  15113. not for actual implementation.
  15114. * NetworkProcess/HostRecord.cpp:
  15115. (WebKit::HostRecord::scheduleResourceLoader):
  15116. * NetworkProcess/NetworkResourceLoadScheduler.cpp:
  15117. (WebKit::NetworkResourceLoadScheduler::scheduleLoader):
  15118. (WebKit::NetworkResourceLoadScheduler::removeLoader):
  15119. (WebKit::NetworkResourceLoadScheduler::receivedRedirect):
  15120. * NetworkProcess/NetworkResourceLoader.cpp:
  15121. (WebKit::NetworkResourceLoader::destinationID):
  15122. (WebKit::NetworkResourceLoader::start):
  15123. (WebKit::NetworkResourceLoader::resourceHandleStopped):
  15124. (WebKit::NetworkResourceLoader::didReceiveResponse):
  15125. (WebKit::NetworkResourceLoader::didFinishLoading):
  15126. (WebKit::NetworkResourceLoader::didFail):
  15127. (WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
  15128. * NetworkProcess/SchedulableLoader.cpp:
  15129. (WebKit::SchedulableLoader::SchedulableLoader):
  15130. (WebKit::SchedulableLoader::consumeSandboxExtensions):
  15131. (WebKit::SchedulableLoader::invalidateSandboxExtensions):
  15132. * NetworkProcess/SchedulableLoader.h:
  15133. (WebKit::SchedulableLoader::identifier):
  15134. (WebKit::SchedulableLoader::request):
  15135. (WebKit::SchedulableLoader::priority):
  15136. (WebKit::SchedulableLoader::contentSniffingPolicy):
  15137. (WebKit::SchedulableLoader::allowStoredCredentials):
  15138. (WebKit::SchedulableLoader::inPrivateBrowsingMode):
  15139. (SchedulableLoader):
  15140. * NetworkProcess/SyncNetworkResourceLoader.cpp:
  15141. (WebKit::SyncNetworkResourceLoader::start):
  15142. * Shared/Network/NetworkResourceLoadParameters.cpp:
  15143. (WebKit::NetworkResourceLoadParameters::encode):
  15144. (WebKit::NetworkResourceLoadParameters::decode):
  15145. * Shared/Network/NetworkResourceLoadParameters.h:
  15146. (WebKit::NetworkResourceLoadParameters::requestBodyExtensions):
  15147. (WebKit::NetworkResourceLoadParameters::resourceSandboxExtension):
  15148. 2013-01-25 Claudio Saavedra <csaavedra@igalia.com>
  15149. Remove stale class include
  15150. https://bugs.webkit.org/show_bug.cgi?id=107945
  15151. Reviewed by Andreas Kling.
  15152. * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h:
  15153. GeolocationPermissionRequestProxy has nothing to do here.
  15154. 2013-01-25 Zan Dobersek <zdobersek@igalia.com>
  15155. Unreviewed.
  15156. Now searching for *.messages.in in Source/WebKit2/WebProcess/Storage
  15157. instead of Source/WebKit2/WebProcess/KeyValueStorage after the
  15158. WebKeyValueStorageManager.messages.in was moved there.
  15159. * GNUmakefile.am:
  15160. 2013-01-25 Zan Dobersek <zdobersek@igalia.com>
  15161. Unreviewed.
  15162. Reincluding the input file for WebKeyValueStorageManager IPC messages
  15163. into the extra distribution list after the file was moved.
  15164. * GNUmakefile.am:
  15165. 2013-01-25 Zan Dobersek <zdobersek@igalia.com>
  15166. Further GTK build fixing.
  15167. Adding Source/WebKit2/WebProcess/Storage to the list of directories
  15168. to be searched for header inclusion.
  15169. * GNUmakefile.am:
  15170. 2013-01-25 Zan Dobersek <zdobersek@igalia.com>
  15171. Unreviewed GTK build fix.
  15172. Adjusting the build targets after WebKeyValueStorageManager.cpp was moved
  15173. to a different directory.
  15174. * GNUmakefile.list.am:
  15175. 2013-01-25 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  15176. [WK2][EFL] PagePolicyClientEfl should be based on C WK2 API
  15177. https://bugs.webkit.org/show_bug.cgi?id=107854
  15178. Reviewed by Benjamin Poulain.
  15179. PagePolicyClientEfl should be based on C WK2 API in order not to
  15180. break API layering.
  15181. * UIProcess/efl/PagePolicyClientEfl.cpp:
  15182. (WebKit::PagePolicyClientEfl::decidePolicyForResponseCallback):
  15183. 2013-01-25 Huang Dongsung <luxtella@company100.net>
  15184. [Qt][Gtk] build fix after r140752.
  15185. https://bugs.webkit.org/show_bug.cgi?id=107908
  15186. Reviewed by Kentaro Hara.
  15187. Build break after r140752.
  15188. Move Authentication and Downloads to Shared.
  15189. * DerivedSources.pri:
  15190. * GNUmakefile.am:
  15191. * WebKit2.pri:
  15192. 2013-01-24 Tim Horton <timothy_horton@apple.com>
  15193. [wk2] Page overlays should do their own animation, instead of relying on implicit animation
  15194. https://bugs.webkit.org/show_bug.cgi?id=107896
  15195. <rdar://problem/12900058>
  15196. Reviewed by Sam Weinig.
  15197. Use PageOverlay's animation instead of CA implicit animations for uninstallPageOverlay.
  15198. Make WKBundlePageInstallPageOverlay/WKBundlePageUninstallPageOverlay default to no animation.
  15199. Add WKBundlePageInstallPageOverlayWithAnimation/WKBundlePageUninstallPageOverlayWithAnimation.
  15200. * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  15201. (WKBundlePageUninstallPageOverlay): The default for shouldFadeOut is now false, so we don't need to pass it.
  15202. (WKBundlePageInstallPageOverlayWithAnimation): Add a version of WKBundlePageInstallPageOverlay that fades in.
  15203. (WKBundlePageUninstallPageOverlayWithAnimation): Add a version of WKBundlePageUninstallPageOverlay that fades out.
  15204. * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  15205. * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
  15206. (WebKit::WebInspectorClient::highlight): installPageOverlay used to animate by default, now we need to ask for it.
  15207. (WebKit::WebInspectorClient::hideHighlight): uninstallPageOverlay used to implicitly animate accidentally, now we need to ask for it.
  15208. * WebProcess/WebPage/FindController.cpp:
  15209. (WebKit::FindController::updateFindUIAfterPageScroll): Ditto.
  15210. (WebKit::FindController::hideFindUI): Ditto.
  15211. * WebProcess/WebPage/WebPage.cpp:
  15212. (WebKit::WebPage::installPageOverlay): Add shouldFadeIn parameter.
  15213. (WebKit::WebPage::uninstallPageOverlay):
  15214. * WebProcess/WebPage/WebPage.h:
  15215. (WebPage): Add shouldFadeIn to installPageOverlay; make both it and uninstallPageOverlay's shouldFade out default to false.
  15216. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  15217. (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer): Disable implicit animations when removing a page overlay.
  15218. 2013-01-24 Huang Dongsung <luxtella@company100.net>
  15219. [EFL] Unreviewed build fix after r140752.
  15220. https://bugs.webkit.org/show_bug.cgi?id=107886
  15221. Build break after r140752.
  15222. * PlatformEfl.cmake: Move DownloadSoupErrorsEfl and DownloadSoup to Shared/Downloads.
  15223. 2013-01-24 Tim Horton <timothy_horton@apple.com>
  15224. Fix NetworkProcess loading after r140730.
  15225. Reviewed by Sam Weinig.
  15226. If a process' sandbox profile path is empty, don't try to initialize the sandbox.
  15227. * Shared/mac/ChildProcessMac.mm:
  15228. (WebKit::ChildProcess::initializeSandbox):
  15229. 2013-01-24 Ryosuke Niwa <rniwa@webkit.org>
  15230. Mac build fix after r140752.
  15231. * DerivedSources.make:
  15232. 2013-01-24 Jae Hyun Park <jae.park@company100.net>
  15233. Redundant LegacyReceiver attribute in WebPage.messages.in
  15234. https://bugs.webkit.org/show_bug.cgi?id=107875
  15235. Reviewed by Anders Carlsson.
  15236. To generate WebPageMessageReceiver with legacy, just one LegacyReceiver
  15237. attribute in WebPage.messages.in is enough. This patch removes this
  15238. redundant attribute.
  15239. * WebProcess/WebPage/WebPage.messages.in:
  15240. 2013-01-24 Anders Carlsson <andersca@apple.com>
  15241. Fix release build.
  15242. * WebProcess/Storage/StorageAreaProxy.cpp:
  15243. (WebKit::StorageAreaProxy::length):
  15244. 2013-01-24 Alexey Proskuryakov <ap@apple.com>
  15245. <rdar://problem/9971916> [WK2] Update sandbox extension usage
  15246. https://bugs.webkit.org/show_bug.cgi?id=107861
  15247. Reviewed by Sam Weinig.
  15248. * Shared/SandboxExtension.h:
  15249. * Shared/mac/SandboxExtensionMac.mm:
  15250. (WebKit::wkSandboxExtensionType):
  15251. * UIProcess/Downloads/DownloadProxy.cpp:
  15252. (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
  15253. * UIProcess/WebContext.cpp:
  15254. (WebKit::WebContext::createNewWebProcess):
  15255. (WebKit::WebContext::processDidFinishLaunching):
  15256. (WebKit::WebContext::startMemorySampler):
  15257. * WebProcess/com.apple.WebProcess.sb.in:
  15258. 2013-01-24 Brady Eidson <beidson@apple.com>
  15259. Move Authentication and Downloads from WebProcess to Shared.
  15260. https://bugs.webkit.org/show_bug.cgi?id=107879
  15261. Reviewed by Anders Carlsson.
  15262. * Shared/Authentication/AuthenticationManager.cpp: Renamed from Source/WebKit2/WebProcess/Authentication/AuthenticationManager.cpp.
  15263. * Shared/Authentication/AuthenticationManager.h: Renamed from Source/WebKit2/WebProcess/Authentication/AuthenticationManager.h.
  15264. * Shared/Authentication/AuthenticationManager.messages.in: Renamed from Source/WebKit2/WebProcess/Authentication/AuthenticationManager.messages.in.
  15265. * Shared/Authentication/mac/AuthenticationManager.mac.mm: Renamed from Source/WebKit2/WebProcess/Authentication/mac/AuthenticationManager.mac.mm.
  15266. * Shared/Downloads/Download.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/Download.cpp.
  15267. * Shared/Downloads/Download.h: Renamed from Source/WebKit2/WebProcess/Downloads/Download.h.
  15268. * Shared/Downloads/DownloadAuthenticationClient.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/DownloadAuthenticationClient.cpp.
  15269. * Shared/Downloads/DownloadAuthenticationClient.h: Renamed from Source/WebKit2/WebProcess/Downloads/DownloadAuthenticationClient.h.
  15270. * Shared/Downloads/DownloadManager.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/DownloadManager.cpp.
  15271. * Shared/Downloads/DownloadManager.h: Renamed from Source/WebKit2/WebProcess/Downloads/DownloadManager.h.
  15272. * Shared/Downloads/cfnet/DownloadCFNet.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/cfnet/DownloadCFNet.cpp.
  15273. * Shared/Downloads/curl/DownloadCurl.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/curl/DownloadCurl.cpp.
  15274. * Shared/Downloads/efl/DownloadSoupErrorsEfl.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/efl/DownloadSoupErrorsEfl.cpp.
  15275. * Shared/Downloads/gtk/DownloadSoupErrorsGtk.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/gtk/DownloadSoupErrorsGtk.cpp.
  15276. * Shared/Downloads/mac/DownloadMac.mm: Renamed from Source/WebKit2/WebProcess/Downloads/mac/DownloadMac.mm.
  15277. * Shared/Downloads/qt/DownloadQt.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/qt/DownloadQt.cpp.
  15278. * Shared/Downloads/qt/QtFileDownloader.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/qt/QtFileDownloader.cpp.
  15279. * Shared/Downloads/qt/QtFileDownloader.h: Renamed from Source/WebKit2/WebProcess/Downloads/qt/QtFileDownloader.h.
  15280. * Shared/Downloads/soup/DownloadSoup.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/soup/DownloadSoup.cpp.
  15281. * Shared/Downloads/soup/DownloadSoupErrors.h: Renamed from Source/WebKit2/WebProcess/Downloads/soup/DownloadSoupErrors.h.
  15282. * CMakeLists.txt:
  15283. * GNUmakefile.list.am:
  15284. * Target.pri:
  15285. * WebKit2.xcodeproj/project.pbxproj:
  15286. 2013-01-24 Seokju Kwon <seokju.kwon@gmail.com>
  15287. [EFL] Unreviewed build fix after r140711
  15288. https://bugs.webkit.org/show_bug.cgi?id=107873
  15289. Unreviewed build fix.
  15290. Build break after r140711.
  15291. * CMakeLists.txt: Move WebKeyValueStorageManager to WebProcess/Storage.
  15292. 2013-01-24 Jae Hyun Park <jae.park@company100.net>
  15293. Coordinated Graphics: remove SurfaceUpdateInfo::encode/decode
  15294. https://bugs.webkit.org/show_bug.cgi?id=107794
  15295. Reviewed by Anders Carlsson.
  15296. We want to remove the dependency on CoreIPC from SurfaceUpdateInfo
  15297. because we will extract Coordinated Graphics from WK2. Since
  15298. SurfaceUpdateInfo is only used in Coordinated Graphics, this patch
  15299. moves it to Shared/CoordinatedGraphics, and removes CoreIPC
  15300. dependency.
  15301. No new tests, no change in behavior.
  15302. * CMakeLists.txt:
  15303. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  15304. (CoreIPC::::encode):
  15305. (CoreIPC):
  15306. (CoreIPC::::decode):
  15307. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
  15308. (WebKit):
  15309. * Shared/CoordinatedGraphics/SurfaceUpdateInfo.h: Renamed from Source/WebKit2/Shared/SurfaceUpdateInfo.h.
  15310. (WebKit):
  15311. (SurfaceUpdateInfo):
  15312. (WebKit::SurfaceUpdateInfo::SurfaceUpdateInfo):
  15313. * Shared/SurfaceUpdateInfo.cpp: Removed.
  15314. * Target.pri:
  15315. 2013-01-24 Anders Carlsson <andersca@apple.com>
  15316. More StorageAreaProxy cleanup
  15317. https://bugs.webkit.org/show_bug.cgi?id=107870
  15318. Reviewed by Beth Dakin.
  15319. Remove some unnecessary 'WebCore::' qualifications,
  15320. and implement StorageNamespaceProxy::storageArea.
  15321. * WebProcess/Storage/StorageAreaProxy.cpp:
  15322. * WebProcess/Storage/StorageAreaProxy.h:
  15323. * WebProcess/Storage/StorageNamespaceProxy.cpp:
  15324. 2013-01-24 Sam Weinig <sam@webkit.org>
  15325. Cleanup sandbox initialization a bit
  15326. https://bugs.webkit.org/show_bug.cgi?id=107847
  15327. Reviewed by Alexey Proskuryakov.
  15328. * NetworkProcess/NetworkProcess.cpp:
  15329. (WebKit::NetworkProcess::initializeSandbox):
  15330. * NetworkProcess/NetworkProcess.h:
  15331. * NetworkProcess/mac/NetworkProcessMac.mm:
  15332. (WebKit::NetworkProcess::initializeSandbox):
  15333. * PluginProcess/PluginProcess.h:
  15334. * Shared/ChildProcess.cpp:
  15335. (WebKit::ChildProcess::initialize):
  15336. (WebKit::ChildProcess::initializeSandbox):
  15337. * Shared/ChildProcess.h:
  15338. (ChildProcess):
  15339. * Shared/SandboxInitializationParameters.h:
  15340. (SandboxInitializationParameters):
  15341. (WebKit::SandboxInitializationParameters::mode):
  15342. (WebKit::SandboxInitializationParameters::setOverrideSandboxProfilePath):
  15343. (WebKit::SandboxInitializationParameters::overrideSandboxProfilePath):
  15344. (WebKit::SandboxInitializationParameters::setSandboxProfile):
  15345. (WebKit::SandboxInitializationParameters::sandboxProfile):
  15346. (WebKit::SandboxInitializationParameters::SandboxInitializationParameters):
  15347. (WebKit::SandboxInitializationParameters::~SandboxInitializationParameters):
  15348. * Shared/mac/ChildProcessMac.mm:
  15349. (WebKit::ChildProcess::platformInitialize):
  15350. (WebKit::ChildProcess::initializeSandbox):
  15351. * Shared/mac/SandboxInitialiationParametersMac.mm:
  15352. (WebKit::SandboxInitializationParameters::SandboxInitializationParameters):
  15353. * WebProcess/WebProcess.cpp:
  15354. (WebKit::WebProcess::initializeSandbox):
  15355. * WebProcess/WebProcess.h:
  15356. * WebProcess/mac/WebProcessMac.mm:
  15357. (WebKit::ChildProcess::initializeSandbox):
  15358. 2013-01-24 Anders Carlsson <andersca@apple.com>
  15359. Add stubbed out StorageAreaProxy class
  15360. https://bugs.webkit.org/show_bug.cgi?id=107864
  15361. Reviewed by Beth Dakin.
  15362. * WebKit2.xcodeproj/project.pbxproj:
  15363. * WebProcess/Storage/StorageAreaProxy.cpp: Added.
  15364. * WebProcess/Storage/StorageAreaProxy.h: Added.
  15365. 2013-01-24 Csaba Osztrogonác <ossy@webkit.org>
  15366. Unreviewed trivial buildfix after r140711.
  15367. * DerivedSources.pri:
  15368. * Target.pri:
  15369. 2013-01-24 Mark Hahnenberg <mhahnenberg@apple.com>
  15370. Objective-C API: Rename JSValue.h/APIJSValue.h to JSCJSValue.h/JSValue.h
  15371. https://bugs.webkit.org/show_bug.cgi?id=107327
  15372. Reviewed by Filip Pizlo.
  15373. We're renaming these two files, so we have to replace the names everywhere.
  15374. * WebProcess/WebPage/WebPage.cpp:
  15375. 2013-01-24 Dean Jackson <dino@apple.com>
  15376. Allow some plugin snapshot UI content to come from Injected Bundle
  15377. https://bugs.webkit.org/show_bug.cgi?id=107852
  15378. Reviewed by Anders Carlsson.
  15379. Hook up three new methods: plugInStartLabelTitle, plugInStartLabelSubtitle and
  15380. plugInExtraStyleSheet to allow some custom styling and content to come
  15381. from the InjectedBundle.
  15382. * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Callbacks added to
  15383. WKBundlePageUIClient structure.
  15384. * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Stub implementations
  15385. of the three new methods.
  15386. (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
  15387. (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
  15388. (WebKit::InjectedBundlePageUIClient::plugInExtraStyleSheet):
  15389. * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
  15390. (InjectedBundlePageUIClient):
  15391. * WebProcess/WebCoreSupport/WebChromeClient.cpp: Call into the injected bundle
  15392. for each of these methods.
  15393. (WebKit::WebChromeClient::plugInStartLabelTitle):
  15394. (WebKit::WebChromeClient::plugInStartLabelSubtitle):
  15395. (WebKit::WebChromeClient::plugInExtraStyleSheet):
  15396. * WebProcess/WebCoreSupport/WebChromeClient.h:
  15397. (WebChromeClient): Declare the virtual methods in the Chrome
  15398. Client so that they can accessed from WebCore eventually.
  15399. 2013-01-24 Anders Carlsson <andersca@apple.com>
  15400. Add stubbed out StorageNamespaceProxy class
  15401. https://bugs.webkit.org/show_bug.cgi?id=107846
  15402. Reviewed by Sam Weinig.
  15403. Add new class.
  15404. * WebKit2.xcodeproj/project.pbxproj:
  15405. * WebProcess/Storage/StorageNamespaceProxy.cpp: Added.
  15406. * WebProcess/Storage/StorageNamespaceProxy.h: Added.
  15407. 2013-01-24 Anders Carlsson <andersca@apple.com>
  15408. Move WebKeyValueStorageManager to WebProcess/Storage.
  15409. Rubber-stamped by Sam Weinig.
  15410. Try this again, with DerivedSources.make correctly updated this time.
  15411. * DerivedSources.make:
  15412. * WebKit2.xcodeproj/project.pbxproj:
  15413. * WebProcess/Storage/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp.
  15414. * WebProcess/Storage/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.h.
  15415. * WebProcess/Storage/WebKeyValueStorageManager.messages.in: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in.
  15416. 2013-01-24 Christophe Dumez <christophe.dumez@intel.com>
  15417. [EFL][WK2] Use C API inside ewk_favicon_database
  15418. https://bugs.webkit.org/show_bug.cgi?id=107680
  15419. Reviewed by Kenneth Rohde Christiansen.
  15420. Use C API inside ewk_favicon_database instead of
  15421. accessible the C++ classes and violating layering.
  15422. We still rely on some C++ methods but this will be
  15423. addressed later since there is no equivalent in
  15424. the C API and it will require more refactoring.
  15425. * UIProcess/API/efl/ewk_context.cpp:
  15426. (EwkContext::ensureFaviconDatabase):
  15427. * UIProcess/API/efl/ewk_favicon_database.cpp:
  15428. (EwkFaviconDatabase::EwkFaviconDatabase):
  15429. (EwkFaviconDatabase::~EwkFaviconDatabase):
  15430. (EwkFaviconDatabase::iconURLForPageURL):
  15431. (EwkFaviconDatabase::iconForPageURL):
  15432. (EwkFaviconDatabase::getIconSurfaceSynchronously):
  15433. (EwkFaviconDatabase::iconDataReadyForPageURL):
  15434. (ewk_favicon_database_async_icon_get):
  15435. * UIProcess/API/efl/ewk_favicon_database_private.h:
  15436. (EwkFaviconDatabase::create):
  15437. (EwkFaviconDatabase):
  15438. 2013-01-24 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  15439. [EFL][WK2] Rename EwkViewImpl class to EwkView
  15440. https://bugs.webkit.org/show_bug.cgi?id=107719
  15441. Reviewed by Andreas Kling.
  15442. Rename EwkViewImpl class to EwkView, due to ewk view
  15443. refactoring plan (https://bugs.webkit.org/show_bug.cgi?id=107662#c1).
  15444. * PlatformEfl.cmake:
  15445. * UIProcess/API/C/efl/WKView.cpp:
  15446. (WKViewCreate):
  15447. (WKViewCreateWithFixedLayout):
  15448. (WKViewGetPage):
  15449. (WKViewCreateSnapshot):
  15450. * UIProcess/API/efl/EwkView.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/EwkViewImpl.cpp.
  15451. (pageViewMap):
  15452. (EwkView::addToPageViewMap):
  15453. (EwkView::removeFromPageViewMap):
  15454. (EwkView::viewFromPageViewMap):
  15455. (EwkView::EwkView):
  15456. (EwkView::~EwkView):
  15457. (EwkView::smartData):
  15458. (EwkView::fromEvasObject):
  15459. (EwkView::wkPage):
  15460. (EwkView::setCursor):
  15461. (EwkView::setDeviceScaleFactor):
  15462. (EwkView::deviceScaleFactor):
  15463. (EwkView::transformFromScene):
  15464. (EwkView::transformToScene):
  15465. (EwkView::transformToScreen):
  15466. (EwkView::layerTreeRenderer):
  15467. (EwkView::displayTimerFired):
  15468. (EwkView::update):
  15469. (EwkView::enterFullScreen):
  15470. (EwkView::exitFullScreen):
  15471. (EwkView::windowGeometry):
  15472. (EwkView::setWindowGeometry):
  15473. (EwkView::setImageData):
  15474. (EwkView::size):
  15475. (EwkView::isFocused):
  15476. (EwkView::isVisible):
  15477. (EwkView::title):
  15478. (EwkView::inputMethodContext):
  15479. (EwkView::themePath):
  15480. (EwkView::setThemePath):
  15481. (EwkView::customTextEncodingName):
  15482. (EwkView::setCustomTextEncodingName):
  15483. (EwkView::setMouseEventsEnabled):
  15484. (EwkView::setTouchEventsEnabled):
  15485. (EwkView::informIconChange):
  15486. (EwkView::createGLSurface):
  15487. (EwkView::enterAcceleratedCompositingMode):
  15488. (EwkView::exitAcceleratedCompositingMode):
  15489. (EwkView::requestColorPicker):
  15490. (EwkView::dismissColorPicker):
  15491. (EwkView::showContextMenu):
  15492. (EwkView::hideContextMenu):
  15493. (EwkView::requestPopupMenu):
  15494. (EwkView::closePopupMenu):
  15495. (EwkView::requestJSAlertPopup):
  15496. (EwkView::requestJSConfirmPopup):
  15497. (EwkView::requestJSPromptPopup):
  15498. (EwkView::informDatabaseQuotaReached):
  15499. (EwkView::informURLChange):
  15500. (EwkView::windowFeatures):
  15501. (EwkView::createNewPage):
  15502. (EwkView::close):
  15503. (EwkView::onMouseDown):
  15504. (EwkView::onMouseUp):
  15505. (EwkView::onMouseMove):
  15506. (EwkView::feedTouchEvents):
  15507. (EwkView::onTouchDown):
  15508. (EwkView::onTouchUp):
  15509. (EwkView::onTouchMove):
  15510. (EwkView::onFaviconChanged):
  15511. (EwkView::takeSnapshot):
  15512. * UIProcess/API/efl/EwkView.h: Renamed from Source/WebKit2/UIProcess/API/efl/EwkViewImpl.h.
  15513. (WebKit):
  15514. (WebCore):
  15515. (EwkView):
  15516. (EwkView::view):
  15517. (EwkView::page):
  15518. (EwkView::ewkContext):
  15519. (EwkView::settings):
  15520. (EwkView::backForwardList):
  15521. (EwkView::url):
  15522. (EwkView::faviconURL):
  15523. (EwkView::mouseEventsEnabled):
  15524. (EwkView::touchEventsEnabled):
  15525. (EwkView::setNeedsSurfaceResize):
  15526. (EwkView::smartCallback):
  15527. (EwkView::pageClient):
  15528. (EwkView::setPageScaleFactor):
  15529. (EwkView::pageScaleFactor):
  15530. (EwkView::setPagePosition):
  15531. (EwkView::pagePosition):
  15532. (EwkView::isHardwareAccelerated):
  15533. (EwkView::setDrawsBackground):
  15534. (EwkView::evasGLContext):
  15535. (EwkView::evasGLSurface):
  15536. * UIProcess/API/efl/ewk_context_menu.cpp:
  15537. (EwkContextMenu::EwkContextMenu):
  15538. * UIProcess/API/efl/ewk_context_menu_private.h:
  15539. (EwkContextMenu::create):
  15540. (EwkContextMenu):
  15541. * UIProcess/API/efl/ewk_download_job.cpp:
  15542. (EwkDownloadJob::EwkDownloadJob):
  15543. (EwkDownloadJob::view):
  15544. * UIProcess/API/efl/ewk_download_job_private.h:
  15545. (EwkDownloadJob::create):
  15546. (EwkDownloadJob):
  15547. * UIProcess/API/efl/ewk_popup_menu.cpp:
  15548. (EwkPopupMenu::EwkPopupMenu):
  15549. (EwkPopupMenu::close):
  15550. * UIProcess/API/efl/ewk_popup_menu_private.h:
  15551. (EwkPopupMenu::create):
  15552. (EwkPopupMenu):
  15553. * UIProcess/API/efl/ewk_settings.cpp:
  15554. (EwkSettings::preferences):
  15555. * UIProcess/API/efl/ewk_settings_private.h:
  15556. (EwkSettings::create):
  15557. (EwkSettings::EwkSettings):
  15558. (EwkSettings):
  15559. * UIProcess/API/efl/ewk_view.cpp:
  15560. (createEwkView):
  15561. (ewk_view_base_add):
  15562. * UIProcess/API/efl/ewk_view.h:
  15563. * UIProcess/API/efl/ewk_view_private.h:
  15564. * UIProcess/API/efl/ewk_window_features.cpp:
  15565. (EwkWindowFeatures::EwkWindowFeatures):
  15566. (EwkWindowFeatures::setToolbarVisible):
  15567. (EwkWindowFeatures::setStatusBarVisible):
  15568. (EwkWindowFeatures::setMenuBarVisible):
  15569. (EwkWindowFeatures::setResizable):
  15570. * UIProcess/API/efl/ewk_window_features_private.h:
  15571. (EwkWindowFeatures::create):
  15572. (EwkWindowFeatures):
  15573. * UIProcess/cairo/BackingStoreCairo.cpp:
  15574. (WebKit::BackingStore::incorporateUpdate):
  15575. * UIProcess/efl/ContextHistoryClientEfl.cpp:
  15576. (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
  15577. (WebKit::ContextHistoryClientEfl::didPerformClientRedirect):
  15578. (WebKit::ContextHistoryClientEfl::didPerformServerRedirect):
  15579. (WebKit::ContextHistoryClientEfl::didUpdateHistoryTitle):
  15580. * UIProcess/efl/ContextMenuClientEfl.cpp:
  15581. (ContextMenuClientEfl::ContextMenuClientEfl):
  15582. * UIProcess/efl/ContextMenuClientEfl.h:
  15583. (WebKit::ContextMenuClientEfl::create):
  15584. (ContextMenuClientEfl):
  15585. * UIProcess/efl/DownloadManagerEfl.cpp:
  15586. (WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
  15587. (WebKit::DownloadManagerEfl::didFail):
  15588. (WebKit::DownloadManagerEfl::didCancel):
  15589. (WebKit::DownloadManagerEfl::didFinish):
  15590. (WebKit::DownloadManagerEfl::registerDownload):
  15591. * UIProcess/efl/DownloadManagerEfl.h:
  15592. (DownloadManagerEfl):
  15593. * UIProcess/efl/FindClientEfl.cpp:
  15594. (WebKit::FindClientEfl::didFindString):
  15595. (WebKit::FindClientEfl::didFailToFindString):
  15596. (WebKit::FindClientEfl::FindClientEfl):
  15597. * UIProcess/efl/FindClientEfl.h:
  15598. (WebKit::FindClientEfl::create):
  15599. (FindClientEfl):
  15600. * UIProcess/efl/FormClientEfl.cpp:
  15601. (WebKit::FormClientEfl::willSubmitForm):
  15602. (WebKit::FormClientEfl::FormClientEfl):
  15603. * UIProcess/efl/FormClientEfl.h:
  15604. (WebKit::FormClientEfl::create):
  15605. (FormClientEfl):
  15606. * UIProcess/efl/InputMethodContextEfl.cpp:
  15607. (WebKit::InputMethodContextEfl::InputMethodContextEfl):
  15608. (WebKit::InputMethodContextEfl::onIMFInputSequenceComplete):
  15609. (WebKit::InputMethodContextEfl::onIMFPreeditSequenceChanged):
  15610. (WebKit::InputMethodContextEfl::updateTextInputState):
  15611. * UIProcess/efl/InputMethodContextEfl.h:
  15612. (WebKit::InputMethodContextEfl::create):
  15613. (InputMethodContextEfl):
  15614. * UIProcess/efl/PageClientBase.cpp:
  15615. (WebKit::PageClientBase::PageClientBase):
  15616. (WebKit::PageClientBase::view):
  15617. (WebKit::PageClientBase::createDrawingAreaProxy):
  15618. (WebKit::PageClientBase::setViewNeedsDisplay):
  15619. (WebKit::PageClientBase::viewSize):
  15620. (WebKit::PageClientBase::isViewFocused):
  15621. (WebKit::PageClientBase::isViewVisible):
  15622. (WebKit::PageClientBase::processDidCrash):
  15623. (WebKit::PageClientBase::didRelaunchProcess):
  15624. (WebKit::PageClientBase::toolTipChanged):
  15625. (WebKit::PageClientBase::setCursor):
  15626. (WebKit::PageClientBase::createPopupMenuProxy):
  15627. (WebKit::PageClientBase::createContextMenuProxy):
  15628. (WebKit::PageClientBase::enterAcceleratedCompositingMode):
  15629. (WebKit::PageClientBase::exitAcceleratedCompositingMode):
  15630. (WebKit::PageClientBase::updateTextInputState):
  15631. (WebKit::PageClientBase::handleDownloadRequest):
  15632. * UIProcess/efl/PageClientBase.h:
  15633. (PageClientBase):
  15634. * UIProcess/efl/PageClientDefaultImpl.cpp:
  15635. (WebKit::PageClientDefaultImpl::PageClientDefaultImpl):
  15636. (WebKit::PageClientDefaultImpl::updateViewportSize):
  15637. (WebKit::PageClientDefaultImpl::convertToDeviceSpace):
  15638. (WebKit::PageClientDefaultImpl::convertToUserSpace):
  15639. (WebKit::PageClientDefaultImpl::didChangeContentsSize):
  15640. * UIProcess/efl/PageClientDefaultImpl.h:
  15641. (WebKit::PageClientDefaultImpl::create):
  15642. (PageClientDefaultImpl):
  15643. * UIProcess/efl/PageClientLegacyImpl.cpp:
  15644. (WebKit::PageClientLegacyImpl::PageClientLegacyImpl):
  15645. (WebKit::PageClientLegacyImpl::didCommitLoad):
  15646. (WebKit::PageClientLegacyImpl::updateViewportSize):
  15647. (WebKit::PageClientLegacyImpl::didChangeViewportProperties):
  15648. (WebKit::PageClientLegacyImpl::didChangeContentsSize):
  15649. (WebKit::PageClientLegacyImpl::pageDidRequestScroll):
  15650. (WebKit::PageClientLegacyImpl::didRenderFrame):
  15651. (WebKit::PageClientLegacyImpl::pageTransitionViewportReady):
  15652. * UIProcess/efl/PageClientLegacyImpl.h:
  15653. (WebKit::PageClientLegacyImpl::create):
  15654. (PageClientLegacyImpl):
  15655. * UIProcess/efl/PageLoadClientEfl.cpp:
  15656. (WebKit::PageLoadClientEfl::didReceiveTitleForFrame):
  15657. (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
  15658. (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
  15659. (WebKit::PageLoadClientEfl::didChangeProgress):
  15660. (WebKit::PageLoadClientEfl::didFinishLoadForFrame):
  15661. (WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
  15662. (WebKit::PageLoadClientEfl::didStartProvisionalLoadForFrame):
  15663. (WebKit::PageLoadClientEfl::didReceiveServerRedirectForProvisionalLoadForFrame):
  15664. (WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
  15665. (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
  15666. (WebKit::PageLoadClientEfl::didChangeBackForwardList):
  15667. (WebKit::PageLoadClientEfl::didSameDocumentNavigationForFrame):
  15668. (WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
  15669. (WebKit::PageLoadClientEfl::PageLoadClientEfl):
  15670. * UIProcess/efl/PageLoadClientEfl.h:
  15671. (WebKit::PageLoadClientEfl::create):
  15672. (PageLoadClientEfl):
  15673. (WebKit::PageLoadClientEfl::view):
  15674. * UIProcess/efl/PagePolicyClientEfl.cpp:
  15675. (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
  15676. (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
  15677. (WebKit::PagePolicyClientEfl::PagePolicyClientEfl):
  15678. * UIProcess/efl/PagePolicyClientEfl.h:
  15679. (WebKit::PagePolicyClientEfl::create):
  15680. (PagePolicyClientEfl):
  15681. * UIProcess/efl/PageUIClientEfl.cpp:
  15682. (WebKit::PageUIClientEfl::PageUIClientEfl):
  15683. (WebKit::PageUIClientEfl::close):
  15684. (WebKit::PageUIClientEfl::takeFocus):
  15685. (WebKit::PageUIClientEfl::focus):
  15686. (WebKit::PageUIClientEfl::unfocus):
  15687. (WebKit::PageUIClientEfl::runJavaScriptAlert):
  15688. (WebKit::PageUIClientEfl::runJavaScriptConfirm):
  15689. (WebKit::PageUIClientEfl::runJavaScriptPrompt):
  15690. (WebKit::PageUIClientEfl::toolbarsAreVisible):
  15691. (WebKit::PageUIClientEfl::setToolbarsAreVisible):
  15692. (WebKit::PageUIClientEfl::menuBarIsVisible):
  15693. (WebKit::PageUIClientEfl::setMenuBarIsVisible):
  15694. (WebKit::PageUIClientEfl::statusBarIsVisible):
  15695. (WebKit::PageUIClientEfl::setStatusBarIsVisible):
  15696. (WebKit::PageUIClientEfl::isResizable):
  15697. (WebKit::PageUIClientEfl::setIsResizable):
  15698. (WebKit::PageUIClientEfl::getWindowFrame):
  15699. (WebKit::PageUIClientEfl::setWindowFrame):
  15700. (WebKit::PageUIClientEfl::exceededDatabaseQuota):
  15701. (WebKit::PageUIClientEfl::runOpenPanel):
  15702. (WebKit::PageUIClientEfl::createNewPage):
  15703. (WebKit::PageUIClientEfl::showColorPicker):
  15704. (WebKit::PageUIClientEfl::hideColorPicker):
  15705. * UIProcess/efl/PageUIClientEfl.h:
  15706. (WebKit::PageUIClientEfl::create):
  15707. (PageUIClientEfl):
  15708. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  15709. (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
  15710. (WebKit::PageViewportControllerClientEfl::drawingArea):
  15711. (WebKit::PageViewportControllerClientEfl::updateViewportSize):
  15712. (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
  15713. (WebKit::PageViewportControllerClientEfl::setViewportPosition):
  15714. (WebKit::PageViewportControllerClientEfl::setPageScaleFactor):
  15715. (WebKit::PageViewportControllerClientEfl::didResumeContent):
  15716. (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
  15717. * UIProcess/efl/PageViewportControllerClientEfl.h:
  15718. (WebKit::PageViewportControllerClientEfl::create):
  15719. (PageViewportControllerClientEfl):
  15720. * UIProcess/efl/VibrationClientEfl.cpp:
  15721. (VibrationClientEfl::vibrateCallback):
  15722. (VibrationClientEfl::cancelVibrationCallback):
  15723. (VibrationClientEfl::create):
  15724. (VibrationClientEfl::VibrationClientEfl):
  15725. (VibrationClientEfl::~VibrationClientEfl):
  15726. * UIProcess/efl/VibrationClientEfl.h:
  15727. (VibrationClientEfl):
  15728. * UIProcess/efl/WebContextMenuProxyEfl.cpp:
  15729. (WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl):
  15730. (WebKit::WebContextMenuProxyEfl::showContextMenu):
  15731. (WebKit::WebContextMenuProxyEfl::hideContextMenu):
  15732. * UIProcess/efl/WebContextMenuProxyEfl.h:
  15733. (WebKit::WebContextMenuProxyEfl::create):
  15734. (WebContextMenuProxyEfl):
  15735. * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
  15736. (WebKit::WebFullScreenManagerProxy::enterFullScreen):
  15737. (WebKit::WebFullScreenManagerProxy::exitFullScreen):
  15738. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  15739. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  15740. * UIProcess/efl/WebPageProxyEfl.cpp:
  15741. (WebKit::WebPageProxy::viewWidget):
  15742. * UIProcess/efl/WebPopupMenuProxyEfl.cpp:
  15743. (WebKit::WebPopupMenuProxyEfl::WebPopupMenuProxyEfl):
  15744. (WebKit::WebPopupMenuProxyEfl::showPopupMenu):
  15745. (WebKit::WebPopupMenuProxyEfl::hidePopupMenu):
  15746. * UIProcess/efl/WebPopupMenuProxyEfl.h:
  15747. (WebKit::WebPopupMenuProxyEfl::create):
  15748. (WebPopupMenuProxyEfl):
  15749. 2013-01-24 Andras Becsi <andras.becsi@digia.com>
  15750. Remove nonexistent header from WebKit2/Target.pri
  15751. Unreviewed cleanup after r139919.
  15752. * Target.pri:
  15753. 2013-01-24 Michael Brüning <michael.bruning@digia.com>
  15754. [Qt][WK2] Pages / resources cannot be loaded from qrc files.
  15755. https://bugs.webkit.org/show_bug.cgi?id=107031
  15756. Reviewed by Jocelyn Turcotte.
  15757. Enables WebKit2 Qt applications to load files from the bundled
  15758. qrc files. This is achieved by adding a url scheme handler for
  15759. the "qrc" scheme using the application scheme handler and ignoring
  15760. all handlers for the qrc application scheme that the application might
  15761. set.
  15762. * UIProcess/API/qt/qquickurlschemedelegate.cpp:
  15763. (QQuickQrcSchemeDelegate::QQuickQrcSchemeDelegate):
  15764. (QQuickQrcSchemeDelegate::readResourceAndSend):
  15765. * UIProcess/API/qt/qquickurlschemedelegate_p.h:
  15766. (QQuickQrcSchemeDelegate):
  15767. * UIProcess/API/qt/qquickwebview.cpp:
  15768. (QQuickWebViewPrivate::initialize):
  15769. (QQuickWebViewExperimental::schemeDelegates_Append):
  15770. (QQuickWebViewExperimental::invokeApplicationSchemeHandler):
  15771. * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
  15772. * UIProcess/API/qt/tests/qmltests/common/qrctest.html: Added.
  15773. * UIProcess/API/qt/tests/qmltests/resources.qrc:
  15774. 2013-01-24 Krzysztof Czech <k.czech@samsung.com>
  15775. [EFL][WK2] Expose accessibility hierarchy in WebKit2-EFL.
  15776. https://bugs.webkit.org/show_bug.cgi?id=106216
  15777. Reviewed by Andreas Kling.
  15778. Create WebPage's accessibility object on WebPage initialization.
  15779. Wrap around WebCore's accessibility objects.
  15780. Updating accessibility hierarchy. Expands accessibility implementation
  15781. of WebKit-GTK to be used in EFL.
  15782. * PlatformEfl.cmake:
  15783. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  15784. (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
  15785. * WebProcess/WebPage/WebPage.h:
  15786. (WebPage):
  15787. * WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp:
  15788. (webPageAccessibilityObjectGetIndexInParent):
  15789. (web_page_accessibility_object_init):
  15790. * WebProcess/WebPage/efl/WebPageEfl.cpp:
  15791. (WebKit::WebPage::platformInitialize):
  15792. (WebKit):
  15793. (WebKit::WebPage::updateAccessibilityTree):
  15794. 2013-01-23 Seokju Kwon <seokju.kwon@gmail.com>
  15795. [EFL] Unreviewed build fix after r140605
  15796. https://bugs.webkit.org/show_bug.cgi?id=107787
  15797. Unreviewed build fix.
  15798. Build break after r140605.
  15799. * UIProcess/WebBatteryManagerProxy.cpp:
  15800. * UIProcess/WebBatteryManagerProxy.h:
  15801. (WebBatteryManagerProxy):
  15802. * UIProcess/WebNetworkInfoManagerProxy.cpp:
  15803. * UIProcess/WebNetworkInfoManagerProxy.h:
  15804. (WebNetworkInfoManagerProxy):
  15805. * UIProcess/WebVibrationProxy.cpp:
  15806. * UIProcess/WebVibrationProxy.h:
  15807. (WebVibrationProxy):
  15808. * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
  15809. * UIProcess/soup/WebSoupRequestManagerProxy.h:
  15810. (WebSoupRequestManagerProxy):
  15811. * WebProcess/Battery/WebBatteryManager.cpp:
  15812. * WebProcess/Battery/WebBatteryManager.h:
  15813. (WebBatteryManager):
  15814. * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
  15815. * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
  15816. (WebNetworkInfoManager):
  15817. * WebProcess/soup/WebSoupRequestManager.cpp:
  15818. * WebProcess/soup/WebSoupRequestManager.h:
  15819. (WebSoupRequestManager):
  15820. 2013-01-23 Sam Weinig <sam@webkit.org>
  15821. Cleanup the names of the WebKit2 xpc services
  15822. https://bugs.webkit.org/show_bug.cgi?id=107759
  15823. Reviewed by Anders Carlsson.
  15824. Renames:
  15825. com.apple.WebKit2.WebProcessService -> com.apple.WebKit.WebContent
  15826. com.apple.WebKit2.WebProcessServiceForWebKitDevelopment -> com.apple.WebKit.WebContent.Development
  15827. * Configurations/BaseXPCService.xcconfig: Copied from Source/WebKit2/Configurations/WebProcessService.xcconfig.
  15828. * Configurations/WebContentService.xcconfig: Copied from Source/WebKit2/Configurations/WebProcessService.xcconfig.
  15829. * Configurations/WebContentServiceForDevelopment.xcconfig: Copied from Source/WebKit2/Configurations/WebProcessServiceForWebKitDevelopment.xcconfig.
  15830. * Configurations/WebProcessService.xcconfig: Removed.
  15831. * Configurations/WebProcessServiceForWebKitDevelopment.xcconfig: Removed.
  15832. Rename config files to match new service names and add base config.
  15833. * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  15834. (WebKit::connectToWebProcessServiceForWebKitDevelopment):
  15835. (WebKit::createWebProcessServiceForWebKitDevelopment):
  15836. (WebKit::createWebProcessService):
  15837. * WebKit2.xcodeproj/project.pbxproj:
  15838. * WebKit2Service: Removed.
  15839. * WebProcessService/Info.plist:
  15840. * WebProcessServiceForWebKitDevelopment/Info.plist:
  15841. Update for new names.
  15842. 2013-01-23 Seulgi Kim <seulgikim@company100.net>
  15843. Coordinated Graphics : Reduce the number of calls to Functional and number of IPC messages by sending the created/deleted layers in a vector.
  15844. https://bugs.webkit.org/show_bug.cgi?id=107625
  15845. Reviewed by Benjamin Poulain.
  15846. Currently, the number of messages sent by CoordinatedLayerTreeHost is
  15847. equal to the number of layers created/deleted even though they requested
  15848. in the same cycle.
  15849. It's not good since CoreIPC creates functional before sending messages,
  15850. and CoordinatedLayerTreeHostProxy creates functional before
  15851. create/delete layers.
  15852. This patch makes CoordinatedLayerTreeHost send just one
  15853. CreateCompositingLayers message and CoordinatedLayerTreeHostProxy create
  15854. just one functional in a cycle. The same work has been done with
  15855. DeleteCompositingLayers message.
  15856. This patch will reduce the number of calls to Functional and number of
  15857. IPC messages by sending the created/deleted layers in a vector.
  15858. No new tests, no change in behavior.
  15859. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
  15860. (WebKit::CoordinatedLayerTreeHostProxy::createCompositingLayers):
  15861. (WebKit::CoordinatedLayerTreeHostProxy::deleteCompositingLayers):
  15862. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  15863. (CoordinatedLayerTreeHostProxy):
  15864. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
  15865. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  15866. (WebKit::LayerTreeRenderer::createLayers):
  15867. (WebKit):
  15868. (WebKit::LayerTreeRenderer::deleteLayers):
  15869. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  15870. (LayerTreeRenderer):
  15871. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  15872. (WebKit::CoordinatedLayerTreeHost::createCompositingLayers):
  15873. (WebKit::CoordinatedLayerTreeHost::deleteCompositingLayers):
  15874. 2013-01-23 Huang Dongsung <luxtella@company100.net>
  15875. Coordinated Graphics: Add LegacyReceiver to messages.in files.
  15876. https://bugs.webkit.org/show_bug.cgi?id=107760
  15877. Reviewed by Anders Carlsson.
  15878. After r140605, LegacyReceiver attribute is needed to use recevier specific
  15879. memeber functions.
  15880. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
  15881. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
  15882. 2013-01-23 Sheriff Bot <webkit.review.bot@gmail.com>
  15883. Unreviewed, rolling out r140612.
  15884. http://trac.webkit.org/changeset/140612
  15885. https://bugs.webkit.org/show_bug.cgi?id=107768
  15886. broke the build (Requested by smfr on #webkit).
  15887. * WebKit2.xcodeproj/project.pbxproj:
  15888. * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/WebProcess/Storage/WebKeyValueStorageManager.cpp.
  15889. (WebKit):
  15890. (WebKit::WebKeyValueStorageManager::supplementName):
  15891. (WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager):
  15892. (WebKit::WebKeyValueStorageManager::initialize):
  15893. (WebKit::keyValueStorageOriginIdentifiers):
  15894. (WebKit::WebKeyValueStorageManager::dispatchDidGetKeyValueStorageOrigins):
  15895. (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
  15896. (WebKit::WebKeyValueStorageManager::didFinishLoadingOrigins):
  15897. (WebKit::WebKeyValueStorageManager::dispatchDidModifyOrigin):
  15898. (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
  15899. (WebKit::WebKeyValueStorageManager::deleteAllEntries):
  15900. * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/WebProcess/Storage/WebKeyValueStorageManager.h.
  15901. (WebKit):
  15902. (WebKeyValueStorageManager):
  15903. (WebKit::WebKeyValueStorageManager::localStorageDirectory):
  15904. (WebKit::WebKeyValueStorageManager::indexedDBDatabaseDirectory):
  15905. * WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in: Renamed from Source/WebKit2/WebProcess/Storage/WebKeyValueStorageManager.messages.in.
  15906. 2013-01-23 Ian Vollick <vollick@chromium.org>
  15907. Introduce the "stacking container" concept.
  15908. https://bugs.webkit.org/show_bug.cgi?id=107734
  15909. Reviewed by Simon Fraser.
  15910. A stacking container is treated just like a stacking context. That
  15911. is, it has z-order lists, it and its descendants are stacked as a
  15912. unit, and when the RenderLayerCompositor does its overlap testing,
  15913. the composited regions for all layer lists take effect only once the
  15914. stacking container is done being processed.
  15915. This patch also adds the function RenderLayer::isStackingContainer().
  15916. Currently, this is equivalent to RenderLayer::isStackingContext(),
  15917. but in future, the definition of stacking container will be broadened
  15918. to encompass more than just stacking contexts.
  15919. Other than the addition of this extra function, the patch is mostly
  15920. comprised of name changes. Any code that used to refer to the
  15921. stacking context concept, but didn't necessarily require a stacking
  15922. context in the strict, CSS-sense, was switched to refer to stacking
  15923. container. No functionality was changed.
  15924. No new tests, no change in functionality.
  15925. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  15926. (WebKit::updateOffsetFromViewportForSelf):
  15927. 2013-01-23 Anders Carlsson <andersca@apple.com>
  15928. Move Move WebKeyValueStorageManager to WebProcess/Storage.
  15929. Rubber-stamped by Sam Weinig.
  15930. * WebKit2.xcodeproj/project.pbxproj:
  15931. * WebProcess/Storage/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp.
  15932. * WebProcess/Storage/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.h.
  15933. * WebProcess/Storage/WebKeyValueStorageManager.messages.in: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in.
  15934. 2013-01-23 Anders Carlsson <andersca@apple.com>
  15935. Remove LegacyReceiver from a couple of .messages.in files
  15936. https://bugs.webkit.org/show_bug.cgi?id=107749
  15937. Reviewed by Beth Dakin.
  15938. * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
  15939. (WebKit):
  15940. * UIProcess/Notifications/WebNotificationManagerProxy.h:
  15941. (WebNotificationManagerProxy):
  15942. * UIProcess/Notifications/WebNotificationManagerProxy.messages.in:
  15943. * UIProcess/WebGeolocationManagerProxy.cpp:
  15944. * UIProcess/WebGeolocationManagerProxy.h:
  15945. (WebGeolocationManagerProxy):
  15946. * UIProcess/WebGeolocationManagerProxy.messages.in:
  15947. * UIProcess/WebIconDatabase.cpp:
  15948. * UIProcess/WebIconDatabase.h:
  15949. (WebIconDatabase):
  15950. * UIProcess/WebIconDatabase.messages.in:
  15951. * UIProcess/WebKeyValueStorageManagerProxy.cpp:
  15952. * UIProcess/WebKeyValueStorageManagerProxy.h:
  15953. (WebKeyValueStorageManagerProxy):
  15954. * UIProcess/WebKeyValueStorageManagerProxy.messages.in:
  15955. * UIProcess/WebMediaCacheManagerProxy.cpp:
  15956. * UIProcess/WebMediaCacheManagerProxy.h:
  15957. (WebMediaCacheManagerProxy):
  15958. * UIProcess/WebMediaCacheManagerProxy.messages.in:
  15959. * UIProcess/WebResourceCacheManagerProxy.cpp:
  15960. * UIProcess/WebResourceCacheManagerProxy.h:
  15961. (WebResourceCacheManagerProxy):
  15962. * UIProcess/WebResourceCacheManagerProxy.messages.in:
  15963. * WebProcess/Geolocation/WebGeolocationManager.cpp:
  15964. * WebProcess/Geolocation/WebGeolocationManager.h:
  15965. (WebGeolocationManager):
  15966. * WebProcess/Geolocation/WebGeolocationManager.messages.in:
  15967. * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
  15968. * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
  15969. (WebIconDatabaseProxy):
  15970. * WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in:
  15971. * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
  15972. * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
  15973. (WebKeyValueStorageManager):
  15974. * WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in:
  15975. * WebProcess/MediaCache/WebMediaCacheManager.cpp:
  15976. * WebProcess/MediaCache/WebMediaCacheManager.h:
  15977. (WebMediaCacheManager):
  15978. * WebProcess/MediaCache/WebMediaCacheManager.messages.in:
  15979. * WebProcess/Notifications/WebNotificationManager.cpp:
  15980. * WebProcess/Notifications/WebNotificationManager.h:
  15981. (WebNotificationManager):
  15982. * WebProcess/Notifications/WebNotificationManager.messages.in:
  15983. * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
  15984. * WebProcess/ResourceCache/WebResourceCacheManager.h:
  15985. (WebResourceCacheManager):
  15986. * WebProcess/ResourceCache/WebResourceCacheManager.messages.in:
  15987. * WebProcess/WebPage/WebPageGroupProxy.cpp:
  15988. (WebKit):
  15989. * WebProcess/WebPage/WebPageGroupProxy.h:
  15990. (WebPageGroupProxy):
  15991. * WebProcess/WebPage/WebPageGroupProxy.messages.in:
  15992. 2013-01-23 Anders Carlsson <andersca@apple.com>
  15993. Message receiver generation should work in terms of MessageReceiver objects
  15994. https://bugs.webkit.org/show_bug.cgi?id=107742
  15995. Reviewed by Beth Dakin.
  15996. The generated message receiver code should generate the MessageReceiver
  15997. member functions didReceiveMessage and didReceiveSyncMessage instead of
  15998. receiver specific member functions.
  15999. * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  16000. * NetworkProcess/NetworkProcess.messages.in:
  16001. * NetworkProcess/NetworkResourceLoader.messages.in:
  16002. * PluginProcess/PluginControllerProxy.messages.in:
  16003. * PluginProcess/PluginProcess.messages.in:
  16004. * PluginProcess/WebProcessConnection.messages.in:
  16005. * Scripts/webkit2/messages.py:
  16006. (generate_message_handler):
  16007. * Scripts/webkit2/messages_unittest.py:
  16008. * Scripts/webkit2/model.py:
  16009. (MessageReceiver.__init__):
  16010. (MessageReceiver.has_attribute):
  16011. * Scripts/webkit2/parser.py:
  16012. (parse):
  16013. * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
  16014. * Shared/Plugins/NPObjectMessageReceiver.messages.in:
  16015. * Shared/WebConnection.messages.in:
  16016. * Shared/mac/SecItemShim.messages.in:
  16017. * SharedWorkerProcess/SharedWorkerProcess.messages.in:
  16018. * UIProcess/Downloads/DownloadProxy.messages.in:
  16019. * UIProcess/DrawingAreaProxy.messages.in:
  16020. * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in:
  16021. * UIProcess/Network/NetworkProcessProxy.messages.in:
  16022. * UIProcess/Notifications/WebNotificationManagerProxy.messages.in:
  16023. * UIProcess/Plugins/PluginProcessProxy.messages.in:
  16024. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.messages.in:
  16025. * UIProcess/WebApplicationCacheManagerProxy.messages.in:
  16026. * UIProcess/WebContext.messages.in:
  16027. * UIProcess/WebCookieManagerProxy.messages.in:
  16028. * UIProcess/WebDatabaseManagerProxy.messages.in:
  16029. * UIProcess/WebFullScreenManagerProxy.messages.in:
  16030. * UIProcess/WebGeolocationManagerProxy.messages.in:
  16031. * UIProcess/WebIconDatabase.messages.in:
  16032. * UIProcess/WebInspectorProxy.messages.in:
  16033. * UIProcess/WebKeyValueStorageManagerProxy.messages.in:
  16034. * UIProcess/WebMediaCacheManagerProxy.messages.in:
  16035. * UIProcess/WebPageProxy.messages.in:
  16036. * UIProcess/WebProcessProxy.messages.in:
  16037. * UIProcess/WebResourceCacheManagerProxy.messages.in:
  16038. * UIProcess/mac/RemoteLayerTreeHost.messages.in:
  16039. * UIProcess/mac/SecItemShimProxy.messages.in:
  16040. * WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in:
  16041. * WebProcess/Authentication/AuthenticationManager.h:
  16042. * WebProcess/Authentication/AuthenticationManager.messages.in:
  16043. * WebProcess/Cookies/WebCookieManager.messages.in:
  16044. * WebProcess/FullScreen/WebFullScreenManager.messages.in:
  16045. * WebProcess/Geolocation/WebGeolocationManager.messages.in:
  16046. * WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in:
  16047. * WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in:
  16048. * WebProcess/MediaCache/WebMediaCacheManager.messages.in:
  16049. * WebProcess/Network/NetworkProcessConnection.messages.in:
  16050. * WebProcess/Network/WebResourceLoader.messages.in:
  16051. * WebProcess/Notifications/WebNotificationManager.messages.in:
  16052. * WebProcess/Plugins/PluginProcessConnection.messages.in:
  16053. * WebProcess/Plugins/PluginProxy.messages.in:
  16054. * WebProcess/ResourceCache/WebResourceCacheManager.messages.in:
  16055. * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
  16056. * WebProcess/WebPage/DrawingArea.messages.in:
  16057. * WebProcess/WebPage/EventDispatcher.messages.in:
  16058. * WebProcess/WebPage/WebInspector.messages.in:
  16059. * WebProcess/WebPage/WebPage.messages.in:
  16060. * WebProcess/WebPage/WebPageGroupProxy.messages.in:
  16061. * WebProcess/WebProcess.messages.in:
  16062. 2013-01-23 Huang Dongsung <luxtella@company100.net>
  16063. Coordinated Graphics: remove CoordinatedLayerInfo::encode/decode.
  16064. https://bugs.webkit.org/show_bug.cgi?id=107644
  16065. Reviewed by Anders Carlsson.
  16066. We want to remove the dependency on CoreIPC from CoordinatedLayerInfo because we
  16067. will extract Coordinated Graphics from WK2.
  16068. * CMakeLists.txt:
  16069. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  16070. (CoreIPC::::encode):
  16071. (CoreIPC):
  16072. (CoreIPC::::decode):
  16073. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
  16074. (WebKit):
  16075. * Shared/CoordinatedGraphics/CoordinatedLayerInfo.cpp: Removed.
  16076. * Shared/CoordinatedGraphics/CoordinatedLayerInfo.h:
  16077. * Target.pri:
  16078. 2013-01-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
  16079. [WK2] Replace some internal API usage in EwkView with C API
  16080. https://bugs.webkit.org/show_bug.cgi?id=107652
  16081. Reviewed by Benjamin Poulain.
  16082. * UIProcess/API/efl/ewk_view.cpp:
  16083. (ewk_view_url_set):
  16084. (ewk_view_reload):
  16085. (ewk_view_reload_bypass_cache):
  16086. (ewk_view_stop):
  16087. (ewk_view_load_progress_get):
  16088. (ewk_view_scale_set):
  16089. (ewk_view_scale_get):
  16090. (ewk_view_device_pixel_ratio_get):
  16091. (ewk_view_back):
  16092. (ewk_view_forward):
  16093. (ewk_view_back_possible):
  16094. (ewk_view_forward_possible):
  16095. (ewk_view_html_string_load):
  16096. (ewk_view_text_find):
  16097. (ewk_view_text_find_highlight_clear):
  16098. (ewk_view_text_matches_count):
  16099. (ewk_view_inspector_show):
  16100. (ewk_view_inspector_close):
  16101. 2013-01-23 Alexey Proskuryakov <ap@apple.com>
  16102. Build fix.
  16103. * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessage):
  16104. Copy/paste trouble fix.
  16105. 2013-01-23 Alexey Proskuryakov <ap@apple.com>
  16106. <rdar://problem/13064414> REGRESSION(r139514): didFailToSendSyncMessage is not called by Connection
  16107. https://bugs.webkit.org/show_bug.cgi?id=107715
  16108. Reviewed by Anders Carlsson.
  16109. * Platform/CoreIPC/Connection.cpp:
  16110. (CoreIPC::Connection::sendSyncMessage):
  16111. (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
  16112. Correcting a misapplied edit - didFailToSendSyncMessage should be kept in main
  16113. thread message sending, not in secondary thread.
  16114. 2013-01-23 Brady Eidson <beidson@apple.com>
  16115. Recursion handling cancelled authentication challenges in NetworkProcess
  16116. <rdar://problem/13024541> and https://bugs.webkit.org/show_bug.cgi?id=107702
  16117. Reviewed by Alexey Proskuryakov.
  16118. This turned in to both a bug fix with authentication and a minimal refactoring of NetworkResourceLoader.
  16119. - Rename ::stop to ::resourceHandleStopped
  16120. - Move all cleanup code to ::resourceHandleStopped
  16121. - Schedule a resourceHandleStopped call when an authentication cancellation occurs
  16122. - Tell the WebResourceLoader to cancel when an authentication cancellation occurs
  16123. * NetworkProcess/NetworkResourceLoader.cpp:
  16124. (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
  16125. (WebKit::NetworkResourceLoader::start):
  16126. (WebKit::NetworkResourceLoader::performStops):
  16127. (WebKit::NetworkResourceLoader::resourceHandleStopped):
  16128. (WebKit::NetworkResourceLoader::didFail):
  16129. (WebKit::NetworkResourceLoader::receivedAuthenticationCancellation):
  16130. * NetworkProcess/NetworkResourceLoader.h:
  16131. * WebProcess/Network/WebResourceLoader.cpp:
  16132. (WebKit::WebResourceLoader::cancelResourceLoader):
  16133. * WebProcess/Network/WebResourceLoader.h:
  16134. * WebProcess/Network/WebResourceLoader.messages.in:
  16135. 2013-01-23 Christophe Dumez <christophe.dumez@intel.com>
  16136. [EFL][WK2] Use C API inside ewk_cookie_manager
  16137. https://bugs.webkit.org/show_bug.cgi?id=107661
  16138. Reviewed by Alexey Proskuryakov.
  16139. Use C API inside ewk_cookie_manager instead of
  16140. accessing C++ classes directly and violating
  16141. layering.
  16142. * PlatformEfl.cmake:
  16143. * UIProcess/API/C/soup/WKCookieManagerSoup.cpp: Added.
  16144. (toSoupCookiePersistentStorageType):
  16145. (WKCookieManagerSetCookiePersistentStorage): Add C API for setting
  16146. the persistent storage path and type when using libsoup.
  16147. * UIProcess/API/C/soup/WKCookieManagerSoup.h: Added.
  16148. * UIProcess/API/efl/ewk_context.cpp:
  16149. (EwkContext::cookieManager):
  16150. * UIProcess/API/efl/ewk_cookie_manager.cpp:
  16151. (EwkCookieManager::EwkCookieManager):
  16152. (EwkCookieManager::~EwkCookieManager):
  16153. (EwkCookieManager::setPersistentStorage):
  16154. (EwkCookieManager::setHTTPAcceptPolicy):
  16155. (EwkCookieManager::clearHostnameCookies):
  16156. (EwkCookieManager::clearAllCookies):
  16157. (EwkCookieManager::watchChanges):
  16158. (EwkCookieManager::getHostNamesWithCookies):
  16159. (EwkCookieManager::getHTTPAcceptPolicy):
  16160. (ewk_cookie_manager_persistent_storage_set):
  16161. (ewk_cookie_manager_hostname_cookies_clear):
  16162. * UIProcess/API/efl/ewk_cookie_manager_private.h:
  16163. (EwkCookieManager::create):
  16164. (EwkCookieManager):
  16165. 2013-01-22 Anders Carlsson <andersca@apple.com>
  16166. Use a platforom strategy for local storage
  16167. https://bugs.webkit.org/show_bug.cgi?id=107600
  16168. Reviewed by Andreas Kling.
  16169. Update for new storage strategy.
  16170. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  16171. (WebKit::WebPlatformStrategies::createStorageStrategy):
  16172. (WebKit):
  16173. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  16174. (WebPlatformStrategies):
  16175. 2013-01-21 Kentaro Hara <haraken@chromium.org>
  16176. Implement UIEvent constructor
  16177. https://bugs.webkit.org/show_bug.cgi?id=107430
  16178. Reviewed by Adam Barth.
  16179. Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
  16180. UIEvent constructor is implemented under a DOM4_EVENTS_CONSTRUCTOR flag,
  16181. which is enabled on Safari and Chromium for now.
  16182. * Configurations/FeatureDefines.xcconfig:
  16183. 2013-01-22 Alexey Proskuryakov <ap@apple.com>
  16184. Move sandbox initialization to ChildProcess
  16185. https://bugs.webkit.org/show_bug.cgi?id=107486
  16186. Reviewed by Sam Weinig.
  16187. * NetworkProcess/NetworkProcess.h:
  16188. * NetworkProcess/NetworkProcess.cpp:
  16189. (WebKit::NetworkProcess::initializeSandbox): Removed. We no longer need this function
  16190. to be implemented in each process type.
  16191. * NetworkProcess/mac/NetworkProcessMac.mm:
  16192. (WebKit::initializeSandbox): Removed a custom (and incomplete) implementation.
  16193. (WebKit::NetworkProcess::processUpdateSandboxInitializationParameters): Clear
  16194. sandbox profile path in parameters, telling ChildProcess to not enter a sandbox.
  16195. * PluginProcess/PluginProcess.h:
  16196. * PluginProcess/mac/PluginProcessMac.mm:
  16197. Added FIXMEs, saying that we should switch to ChildProcess implementation.
  16198. * Shared/ChildProcess.cpp: Dummy implementations for other platforms.
  16199. * Shared/ChildProcess.h: Added processUpdateSandboxInitializationParameters, which
  16200. child processes will override to change sandbox initialization parameters.
  16201. * Shared/SandboxInitializationParameters.h: Added.
  16202. * Shared/mac/SandboxInitialiationParametersMac.mm: Added.
  16203. Abstracts out sandbox parameter vector for coding safety. Encapsulates other
  16204. things that subclasses will want to do differently.
  16205. * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::initializeSandbox):
  16206. Added a shared implementation, based largely on WebProcess version.
  16207. * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm: Removed custom sandboxing code.
  16208. * WebKit2.xcodeproj/project.pbxproj: Added SandboxInitializationParameters files.
  16209. * WebProcess/WebProcess.cpp:
  16210. * WebProcess/WebProcess.h:
  16211. Updated dummy implementations to match ChildProcess.
  16212. * WebProcess/mac/WebProcessMac.mm:
  16213. (WebKit): Moved sandboxing code to ChildProcess.
  16214. (WebKit::WebProcess::processUpdateSandboxInitializationParameters): Override
  16215. profile path, because default one doesn't work for WebProcessService.
  16216. 2013-01-22 Joseph Pecoraro <pecoraro@apple.com>
  16217. [Mac] Enable Page Visibility (PAGE_VISIBILITY_API)
  16218. https://bugs.webkit.org/show_bug.cgi?id=107230
  16219. Reviewed by David Kilzer.
  16220. * Configurations/FeatureDefines.xcconfig:
  16221. 2013-01-22 Joseph Pecoraro <pecoraro@apple.com>
  16222. Remove empty file WebPageProxyMessageKinds.h
  16223. https://bugs.webkit.org/show_bug.cgi?id=107335
  16224. Reviewed by Kentaro Hara.
  16225. * GNUmakefile.list.am:
  16226. * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Removed.
  16227. 2013-01-22 Tim Horton <timothy_horton@apple.com>
  16228. PDFPlugin: Build PDFPlugin everywhere, enable at runtime
  16229. https://bugs.webkit.org/show_bug.cgi?id=107117
  16230. Reviewed by Alexey Proskuryakov.
  16231. Since PDFLayerController SPI is all forward-declared, the plugin should build
  16232. on all Mac platforms, and can be enabled at runtime.
  16233. * Configurations/FeatureDefines.xcconfig:
  16234. 2013-01-21 Dirk Schulze <dschulze@adobe.com>
  16235. Add build flag for Canvas's Path object (disabled by default)
  16236. https://bugs.webkit.org/show_bug.cgi?id=107473
  16237. Reviewed by Dean Jackson.
  16238. Add CANVAS_PATH build flag to build systems.
  16239. * Configurations/FeatureDefines.xcconfig:
  16240. 2013-01-21 Jinwoo Song <jinwoo7.song@samsung.com>
  16241. [EFL][WK2] Add APIs to set/get view source mode
  16242. https://bugs.webkit.org/show_bug.cgi?id=106633
  16243. Reviewed by Gyuyoung Kim.
  16244. Added APIs to set/get view source mode for enabling to load
  16245. the source code of the web page.
  16246. * UIProcess/API/efl/ewk_view.cpp:
  16247. (ewk_view_source_mode_set):
  16248. (ewk_view_source_mode_get):
  16249. * UIProcess/API/efl/ewk_view.h:
  16250. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  16251. (TEST_F):
  16252. * UIProcess/WebPageProxy.cpp:
  16253. (WebKit::WebPageProxy::WebPageProxy):
  16254. (WebKit::WebPageProxy::setMainFrameInViewSourceMode):
  16255. * UIProcess/WebPageProxy.h:
  16256. (WebKit::WebPageProxy::mainFrameInViewSourceMode):
  16257. (WebPageProxy):
  16258. 2013-01-21 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  16259. [EFL][WK2] Implement WebInspector::localizedStringsURL() on EFL
  16260. https://bugs.webkit.org/show_bug.cgi?id=107363
  16261. Reviewed by Benjamin Poulain.
  16262. Implement WebInspector::localizedStringsURL() method to return the
  16263. file URL of the localizedStrings.js.
  16264. This prevents printing warnings about "Localized string not found" in
  16265. the console and fixes Web inspector related failing tests on the bots.
  16266. * WebProcess/WebPage/efl/WebInspectorEfl.cpp:
  16267. (WebKit::WebInspector::localizedStringsURL):
  16268. 2013-01-21 Kiran Muppala <cmuppala@apple.com>
  16269. Enable process suppression by default on Mac
  16270. https://bugs.webkit.org/show_bug.cgi?id=106804
  16271. Reviewed by Alexey Proskuryakov.
  16272. * UIProcess/WebContext.cpp:
  16273. (WebKit::WebContext::WebContext): Change initialized value of
  16274. m_processSuppressionEnabled from false to true.
  16275. * UIProcess/mac/WebContextMac.mm:
  16276. (WebKit::WebContext::platformInitialize): Since process suppression
  16277. is no longer disabled on construction, do not disable it for global
  16278. child processes either. Instead enable occlusion notifications as
  16279. they are needed to trigger process suppression.
  16280. 2013-01-17 Andy Estes <aestes@apple.com>
  16281. Add a USE() macro for content filtering code
  16282. https://bugs.webkit.org/show_bug.cgi?id=107098
  16283. Reviewed by Mark Rowe.
  16284. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
  16285. (InitWebCoreSystemInterface): Use USE(CONTENT_FILTERING).
  16286. 2013-01-21 Anders Carlsson <andersca@apple.com>
  16287. Don't null out the IPC connection in ChildProcess:terminate
  16288. https://bugs.webkit.org/show_bug.cgi?id=107469
  16289. <rdar://problem/13015294>
  16290. Reviewed by Dan Bernstein.
  16291. We already invalidate the connection, and Connection::sendMessage checks if a connection
  16292. is valid and bails if it isn't, so the only thing that nulling out the connection here does
  16293. is that it would force us to add random connection null checks everywhere.
  16294. * Shared/ChildProcess.cpp:
  16295. (WebKit::ChildProcess::terminate):
  16296. 2013-01-21 Joone Hur <joone.hur@intel.com>
  16297. [EFL] API unit tests are running extremely slow on the bots
  16298. https://bugs.webkit.org/show_bug.cgi?id=104665
  16299. Reviewed by Gyuyoung Kim.
  16300. Clear HTTP cache files before running the unit tests, which prevents
  16301. performance degradation due to so many cache files.
  16302. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
  16303. (EWK2UnitTest::EWK2UnitTestBase::SetUp):
  16304. 2013-01-21 Gustavo Noronha Silva <gns@gnome.org>
  16305. REGRESSION (r140285): GTK uses WKPageResourceLoadClient which was removed
  16306. https://bugs.webkit.org/show_bug.cgi?id=107421
  16307. Unreviewed buildfix.
  16308. * GNUmakefile.list.am:
  16309. * UIProcess/API/gtk/WebKitResourceLoadClient.cpp: Removed.
  16310. * UIProcess/API/gtk/WebKitResourceLoadClient.h: Removed.
  16311. * UIProcess/API/gtk/WebKitWebView.cpp: No longer attach unexisting ResourceLoadClient.
  16312. (webkitWebViewConstructed):
  16313. 2013-01-21 Sheriff Bot <webkit.review.bot@gmail.com>
  16314. Unreviewed, rolling out r139781.
  16315. http://trac.webkit.org/changeset/139781
  16316. https://bugs.webkit.org/show_bug.cgi?id=107443
  16317. This patch seems to cause flakiness on Qt (Requested by chris-
  16318. qBT_work on #webkit).
  16319. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  16320. (WebKit::CoordinatedLayerTreeHost::forceRepaintAsync):
  16321. 2013-01-21 Thiago Marcos P. Santos <thiago.santos@intel.com>
  16322. REGRESSION (r140285): EFL uses WKPageResourceLoadClient which was removed
  16323. https://bugs.webkit.org/show_bug.cgi?id=107417
  16324. Reviewed by Gyuyoung Kim.
  16325. We had no choice but remove the ResourceLoadClientEfl after r140285
  16326. and thus our public API signals depending on it. The test_ewk2_auth_request
  16327. unit test was skipped because it depends these signals and will be fixed in a
  16328. different patch.
  16329. * PlatformEfl.cmake:
  16330. * UIProcess/API/efl/EWebKit2.h:
  16331. * UIProcess/API/efl/EwkViewCallbacks.h:
  16332. * UIProcess/API/efl/EwkViewImpl.cpp:
  16333. (EwkViewImpl::EwkViewImpl):
  16334. * UIProcess/API/efl/EwkViewImpl.h:
  16335. (WebKit):
  16336. (EwkViewImpl):
  16337. * UIProcess/API/efl/ewk_resource.cpp: Removed.
  16338. * UIProcess/API/efl/ewk_resource.h: Removed.
  16339. * UIProcess/API/efl/ewk_resource_private.h: Removed.
  16340. * UIProcess/API/efl/ewk_view.cpp:
  16341. * UIProcess/API/efl/ewk_view.h:
  16342. * UIProcess/efl/ResourceLoadClientEfl.cpp: Removed.
  16343. * UIProcess/efl/ResourceLoadClientEfl.h: Removed.
  16344. 2013-01-20 Viatcheslav Ostapenko <sl.ostapenko@samsung.com>
  16345. Remove support getting per-resource callbacks in the UIProcess
  16346. https://bugs.webkit.org/show_bug.cgi?id=107405
  16347. Reviewed by Sam Weinig.
  16348. EFL, GTK and Qt WebKit2 build fixes after r140285.
  16349. Remove from build WebResourceLoadClient.{cpp,h} deleted by r140285.
  16350. * CMakeLists.txt:
  16351. * GNUmakefile.list.am:
  16352. * Target.pri:
  16353. 2013-01-20 Sam Weinig <sam@webkit.org>
  16354. Remove support getting per-resource callbacks in the UIProcess
  16355. https://bugs.webkit.org/show_bug.cgi?id=107405
  16356. Reviewed by Anders Carlsson.
  16357. Removes support for the WKPageResourceLoadClient. Access to per-resource
  16358. callbacks are still available in the bundle, and via the WebInspector.
  16359. * UIProcess/API/C/WKPage.cpp:
  16360. * UIProcess/API/C/WKPage.h:
  16361. * UIProcess/WebPageProxy.cpp:
  16362. * UIProcess/WebPageProxy.h:
  16363. * UIProcess/WebPageProxy.messages.in:
  16364. Stop handling per-resource messages and forwarding them to the API.
  16365. * UIProcess/WebResourceLoadClient.cpp: Removed.
  16366. * UIProcess/WebResourceLoadClient.h: Removed.
  16367. * WebKit2.xcodeproj/project.pbxproj:
  16368. Remove the files.
  16369. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  16370. (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
  16371. (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
  16372. (WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
  16373. (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
  16374. (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
  16375. (WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
  16376. Stop sending per-resource messages to the UIProcess.
  16377. 2013-01-20 Gustavo Noronha Silva <gns@gnome.org>
  16378. Unreviewed. Simple indentation fix.
  16379. * GNUmakefile.am:
  16380. 2013-01-20 Alexey Proskuryakov <ap@apple.com>
  16381. Remove obsolete plug-in sandboxing code.
  16382. https://bugs.webkit.org/show_bug.cgi?id=107362
  16383. Reviewed by Darin Adler.
  16384. * WebKit2.xcodeproj/project.pbxproj:
  16385. * DerivedSources.make:
  16386. * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Removed.
  16387. * PluginProcess/mac/PluginProcessMac.mm:
  16388. (WebKit::initializeSandbox): Fixed a memory leak in code that stays.
  16389. * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
  16390. (WebKit::NPN_GetValue):
  16391. * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h:
  16392. * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
  16393. Removed API related parts. Remaining code will move to a better place in a follow-up
  16394. patch, just keeping it here for easier reviewing.
  16395. (enterSandbox): Removed no longer used arguments.
  16396. 2013-01-17 Sam Weinig <sam@webkit.org>
  16397. Don't initialize AppKit for processes that don't use it
  16398. https://bugs.webkit.org/show_bug.cgi?id=107216
  16399. Reviewed by Alexey Proskuryakov.
  16400. * PluginProcess/mac/PluginProcessMainMac.mm:
  16401. (WebKit::PluginProcessMainDelegate::doPreInitializationWork):
  16402. * WebProcess/mac/WebProcessMainMac.mm:
  16403. (WebKit::WebProcessMainDelegate::doPreInitializationWork):
  16404. Move AppKit initialization to the two places it is used, the WebProcessMain and the PluginProcessMain.
  16405. * Shared/ChildProcess.cpp:
  16406. (WebKit::ChildProcess::initialize):
  16407. Remove redundant call to InitializeWebKit2().
  16408. * Shared/mac/ChildProcessMain.h:
  16409. (WebKit::ChildProcessMain):
  16410. Remove initialization of AppKit now that the delegate does it if necessary,
  16411. and move InitializeWebKit2() to after delegate.doPreInitializationWork(), so
  16412. the delegate has a chance to set things up it, in this case, calling
  16413. RunLoop::setUseApplicationRunLoopOnMainRunLoop if needed.
  16414. * PluginProcess/mac/PluginProcessMac.mm:
  16415. (WebKit::PluginProcess::platformInitializePluginProcess):
  16416. * WebProcess/mac/WebProcessMac.mm:
  16417. (WebKit::WebProcess::platformInitializeProcess):
  16418. Remove now redundant call to RunLoop::setUseApplicationRunLoopOnMainRunLoop().
  16419. * WebProcess/mac/WebProcessServiceEntryPoints.mm:
  16420. (WebKit::WebProcessServiceEventHandler):
  16421. (webProcessServiceMain):
  16422. (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
  16423. Call WebCore::RunLoop::setUseApplicationRunLoopOnMainRunLoop() and make call to InitializeWebKit2()
  16424. more consistent.
  16425. 2013-01-18 Tim Horton <timothy_horton@apple.com>
  16426. [wk2] Intrinsic content size should report a flexible width if the content is not wider than the minimum layout width
  16427. https://bugs.webkit.org/show_bug.cgi?id=107334
  16428. <rdar://problem/12960009>
  16429. Reviewed by Anders Carlsson.
  16430. * UIProcess/API/mac/WKView.mm:
  16431. (-[WKView _setIntrinsicContentSize:]): If the content is laid-out at or below the minimum layout width, it's flexible; otherwise, we need to inform autolayout that we require more space via our intrinsic content size.
  16432. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  16433. (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Allow auto-sizing to expand its width beyond the minimum if needed.
  16434. * WebProcess/WebPage/WebPage.cpp:
  16435. (WebKit::WebPage::setMinimumLayoutWidth): Allow auto-sizing to expand its width beyond the minimum if needed.
  16436. 2013-01-18 Alexey Proskuryakov <ap@apple.com>
  16437. <rdar://problem/13042826> REGRESSION (r139985): Full Screen Youtube loses keyboard and mouse control
  16438. https://bugs.webkit.org/show_bug.cgi?id=107191
  16439. Reviewed by Darin Adler.
  16440. Moved initialization from platformInitializePluginProcess to platformInitializeProcess,
  16441. because the former is called too late. In r139985, I used a correct location for
  16442. WebProcess, but not for PluginProcess.
  16443. * PluginProcess/mac/PluginProcessMac.mm:
  16444. (WebKit::PluginProcess::platformInitializeProcess):
  16445. (WebKit::PluginProcess::platformInitializePluginProcess):
  16446. 2013-01-18 Brady Eidson <beidson@apple.com>
  16447. Rework NetworkProcess resource load identifiers.
  16448. <rdar://problem/12934449> and https://bugs.webkit.org/show_bug.cgi?id=107192
  16449. Reviewed by Alexey Proskuryakov.
  16450. Having the NetworkProcess vend out identifiers to WebProcesses was a bad idea.
  16451. This patch reverts that so that WebProcesses are in control of their own unique identifiers.
  16452. The NetworkProcess doesn't need identifiers at all.
  16453. It can represent outstanding loads with the loaders themselves.
  16454. This patch adds a "SchedulableLoader" base class for normal and synchronous loaders.
  16455. It reworks each use of identifiers into using SchedulableLoaders instead.
  16456. This also gave an opportunity to move the serving of pending requests for a host into the
  16457. HostRecord itself which cleans certain things up nicely.
  16458. Change HostRecord to have queues of SchedulableLoaders instead of identifiers.
  16459. Make HostRecord responsible for actually starting the loaders in its queues:
  16460. * NetworkProcess/HostRecord.cpp:
  16461. (WebKit::HostRecord::~HostRecord):
  16462. (WebKit::HostRecord::scheduleResourceLoader):
  16463. (WebKit::HostRecord::addLoaderInProgress):
  16464. (WebKit::HostRecord::removeLoader):
  16465. (WebKit::HostRecord::hasRequests):
  16466. (WebKit::HostRecord::servePendingRequestsForQueue):
  16467. (WebKit::HostRecord::servePendingRequests):
  16468. (WebKit::HostRecord::limitsRequests):
  16469. * NetworkProcess/HostRecord.h:
  16470. (WebKit::HostRecord::create): HostRecord is now also RefCounted. new and delete are so 2004.
  16471. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  16472. (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad): Create the loader then schedule
  16473. it with the scheduler, instead of having the scheduler create it.
  16474. (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
  16475. (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
  16476. * NetworkProcess/NetworkConnectionToWebProcess.h:
  16477. * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  16478. Remove maps and sets of identifiers, replacing them with sets of SchedulableLoaders where needed.
  16479. Rely on HostRecords to actually manage sets of SchedulableLoaders.
  16480. Rely on HostRecord to do the actual serving of its pending requests:
  16481. * NetworkProcess/NetworkResourceLoadScheduler.cpp:
  16482. (WebKit::NetworkResourceLoadScheduler::NetworkResourceLoadScheduler):
  16483. (WebKit::NetworkResourceLoadScheduler::scheduleLoader):
  16484. (WebKit::NetworkResourceLoadScheduler::hostForURL):
  16485. (WebKit::NetworkResourceLoadScheduler::removeLoader):
  16486. (WebKit::NetworkResourceLoadScheduler::receivedRedirect):
  16487. (WebKit::NetworkResourceLoadScheduler::servePendingRequests):
  16488. (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
  16489. (WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoader):
  16490. * NetworkProcess/NetworkResourceLoadScheduler.h:
  16491. A new base class for all loaders that the scheduler and HostRecords might need to know about:
  16492. * NetworkProcess/SchedulableLoader.cpp:
  16493. (WebKit::SchedulableLoader::SchedulableLoader):
  16494. (WebKit::SchedulableLoader::~SchedulableLoader):
  16495. * NetworkProcess/SchedulableLoader.h:
  16496. (WebKit::SchedulableLoader::loadParameters):
  16497. (WebKit::SchedulableLoader::connectionToWebProcess):
  16498. (WebKit::SchedulableLoader::isSynchronous):
  16499. (WebKit::SchedulableLoader::setHostRecord):
  16500. (WebKit::SchedulableLoader::hostRecord):
  16501. Change to inherit from SchedulableLoader, removing some of the duplicated data and methods:
  16502. * NetworkProcess/NetworkResourceLoader.cpp:
  16503. (WebKit::NetworkResourceLoader::NetworkResourceLoader):
  16504. (WebKit::NetworkResourceLoader::connection):
  16505. (WebKit::NetworkResourceLoader::destinationID):
  16506. (WebKit::NetworkResourceLoader::start):
  16507. (WebKit::NetworkResourceLoader::stop):
  16508. (WebKit::NetworkResourceLoader::didReceiveResponse):
  16509. (WebKit::NetworkResourceLoader::didFail):
  16510. (WebKit::NetworkResourceLoader::willSendRequest):
  16511. (WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
  16512. * NetworkProcess/NetworkResourceLoader.h:
  16513. (WebKit::NetworkResourceLoader::create):
  16514. Change to inherit from SchedulableLoader, removing some of the duplicated data and methods:
  16515. * NetworkProcess/SyncNetworkResourceLoader.cpp:
  16516. (WebKit::SyncNetworkResourceLoader::SyncNetworkResourceLoader):
  16517. (WebKit::SyncNetworkResourceLoader::start):
  16518. * NetworkProcess/SyncNetworkResourceLoader.h:
  16519. (WebKit::SyncNetworkResourceLoader::create):
  16520. (WebKit::SyncNetworkResourceLoader::isSynchronous):
  16521. Fold the WebProcess resource load identifier in with the load parameters:
  16522. * Shared/Network/NetworkResourceLoadParameters.cpp:
  16523. (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
  16524. (WebKit::NetworkResourceLoadParameters::encode):
  16525. (WebKit::NetworkResourceLoadParameters::decode):
  16526. * Shared/Network/NetworkResourceLoadParameters.h:
  16527. (WebKit::NetworkResourceLoadParameters::identifier):
  16528. The identifier is preset in the WebProcess and doesn't come from the NetworkProcess,
  16529. so the message to schedule a load can now be asynchronous:
  16530. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  16531. (WebKit::WebResourceLoadScheduler::scheduleLoad):
  16532. Update to include a WebProcess generated identifier along with synchronous loads:
  16533. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  16534. (WebKit::WebPlatformStrategies::loadResourceSynchronously):
  16535. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  16536. * WebKit2.xcodeproj/project.pbxproj:
  16537. 2013-01-18 Huang Dongsung <luxtella@company100.net>
  16538. Coordinated Graphics: CoordinatedTile::updateBackBuffer() returns a dirty rect.
  16539. https://bugs.webkit.org/show_bug.cgi?id=107196
  16540. Reviewed by Kenneth Rohde Christiansen.
  16541. Currently, CoordinatedTile::updateBackBuffer() always returns an empty vector.
  16542. This patch makes CoordinatedTile::updateBackBuffer() return a correct dirty rect.
  16543. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
  16544. (WebKit::CoordinatedTile::updateBackBuffer):
  16545. 2013-01-17 Tim Horton <timothy_horton@apple.com>
  16546. [WK2] Minimum layout width auto-sizing should use FrameView::enableAutoSizeMode so that it can shrink the viewport
  16547. https://bugs.webkit.org/show_bug.cgi?id=107200
  16548. <rdar://problem/12849029>
  16549. Reviewed by Simon Fraser.
  16550. Make use of FrameView's auto-size mode to allow WKView's computed intrinsic content
  16551. size to shrink below the current viewport size.
  16552. * UIProcess/WebPageProxy.cpp:
  16553. (WebKit::WebPageProxy::setMinimumLayoutWidth): Forward minimumLayoutWidth changes to WebPage.
  16554. * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
  16555. (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry): Remove minimumLayoutWidth argument on updateGeometry.
  16556. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  16557. (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Enable auto-size mode on the new FrameView if needed.
  16558. * WebProcess/WebPage/DrawingArea.h:
  16559. (WebKit::DrawingArea::updateGeometry): Remove minimumLayoutWidth argument.
  16560. * WebProcess/WebPage/DrawingArea.messages.in: Remove minimumLayoutWidth argument on updateGeometry.
  16561. * WebProcess/WebPage/WebPage.cpp:
  16562. (WebKit::WebPage::WebPage): Initialize m_minimumLayoutWidth to 0.
  16563. (WebKit::WebPage::setMinimumLayoutWidth): Keep track of minimumLayoutWidth on WebPage. Update auto-sizing state if needed.
  16564. * WebProcess/WebPage/WebPage.h:
  16565. (WebKit::WebPage::minimumLayoutWidth):
  16566. * WebProcess/WebPage/WebPage.messages.in: Add SetMinimumLayoutWidth.
  16567. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  16568. (TiledCoreAnimationDrawingArea): Remove storage for m_minimumLayoutWidth. We can get it from WebPage instead.
  16569. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  16570. (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
  16571. (WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged): Grab minimumLayoutWidth from WebPage.
  16572. (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): Don't setSize() if auto-sizing is enabled; FrameView will do the right thing.
  16573. 2013-01-17 Jon Lee <jonlee@apple.com>
  16574. Do not track user interaction for plugins that are not snapshotted
  16575. https://bugs.webkit.org/show_bug.cgi?id=107211
  16576. <rdar://problem/12967277>
  16577. Reviewed by Dean Jackson.
  16578. When the user interacts with a snapshotted plug-in, we extend that plug-in origin's
  16579. expiration date. However, plug-ins may not be snapshotted for other reasons than the
  16580. user's initial opt-in. In this case, that plug-in's origin might be not be in the cached
  16581. table. This is an edge case that was not initially considered.
  16582. * WebProcess/WebProcess.cpp:
  16583. (WebKit::WebProcess::plugInDidReceiveUserInteraction): Convert the assertion to an if
  16584. check, and return early if the entry is not found in the cache table.
  16585. 2013-01-17 Alexey Proskuryakov <ap@apple.com>
  16586. REGRESSION (r139516): NetworkResourceLoadScheduler::receivedRedirect is not called.
  16587. Rubber-stamped by Brady Eidson.
  16588. * NetworkProcess/NetworkResourceLoader.cpp:
  16589. (WebKit::NetworkResourceLoader::willSendRequest): Reverted a small part of r139516.
  16590. 2013-01-17 Huang Dongsung <luxtella@company100.net>
  16591. Coordinated Graphics: Remove redundant behaviors in LayerTreeRenderer.
  16592. https://bugs.webkit.org/show_bug.cgi?id=107084
  16593. Reviewed by Noam Rosenthal.
  16594. There are two changes.
  16595. 1. It is redundant to call GraphicsLayer::removeFromParent() or
  16596. GraphicsLayer::removeAllChildren() before deleting GraphicsLayer, because the
  16597. destructor of GraphicsLayerTextureMapper removes a parent and all children.
  16598. 2. LayerTreeRenderer::setRootLayerID() does not need to remove all children of
  16599. rootLayer because this method can be called only once.
  16600. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  16601. (WebKit::LayerTreeRenderer::deleteLayer):
  16602. (WebKit::LayerTreeRenderer::setRootLayerID):
  16603. (WebKit::LayerTreeRenderer::purgeGLResources):
  16604. 2013-01-17 Timothy Hatcher <timothy@apple.com>
  16605. Make logging console messages to STDOUT work in WebKit2 via a new setting.
  16606. https://bugs.webkit.org/show_bug.cgi?id=107157
  16607. Reviewed by Joseph Pecoraro.
  16608. * Shared/WebPreferencesStore.h:
  16609. * UIProcess/API/C/WKPreferences.cpp:
  16610. (WKPreferencesSetLogsPageMessagesToSystemConsoleEnabled): Added.
  16611. (WKPreferencesGetLogsPageMessagesToSystemConsoleEnabled): Added.
  16612. * UIProcess/API/C/WKPreferencesPrivate.h:
  16613. * UIProcess/WebInspectorProxy.cpp:
  16614. (WebKit::createInspectorPageGroup): Enable logging in debug builds.
  16615. * WebProcess/WebPage/WebPage.cpp:
  16616. (WebKit::WebPage::updatePreferences): Set new setting in WebCore.
  16617. 2013-01-17 Brady Eidson <beidson@apple.com>
  16618. Each NetworkConnectionToWebProcess should keep its own map of NetworkResourceLoaders
  16619. https://bugs.webkit.org/show_bug.cgi?id=107166
  16620. Reviewed by Alexey Proskuryakov.
  16621. NetworkConnectionToWebProcess now keeps its own id->loader map so it can directly address them as needed:
  16622. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  16623. (WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
  16624. (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
  16625. (WebKit::NetworkConnectionToWebProcess::didClose):
  16626. (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
  16627. (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
  16628. * NetworkProcess/NetworkConnectionToWebProcess.h:
  16629. NetworkResourceLoadScheduler no longer keeps an identifier -> loader map:
  16630. * NetworkProcess/NetworkResourceLoadScheduler.cpp:
  16631. (WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
  16632. (WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
  16633. * NetworkProcess/NetworkResourceLoadScheduler.h:
  16634. There is no longer such a thing as NetworkConnectionToWebProcessObserver:
  16635. * NetworkProcess/NetworkResourceLoader.cpp:
  16636. (WebKit::NetworkResourceLoader::NetworkResourceLoader):
  16637. (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
  16638. (WebKit::NetworkResourceLoader::connectionToWebProcessDidClose):
  16639. * NetworkProcess/NetworkResourceLoader.h:
  16640. 2013-01-17 Tim Horton <timothy_horton@apple.com>
  16641. Remove an incorrect ASSERT() after r140002.
  16642. Reviewed by Simon Fraser.
  16643. setRootCompositingLayer(null) is valid now.
  16644. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  16645. (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
  16646. 2013-01-17 Poul Sysolyatin <psytonx@gmail.com>
  16647. 32-bit build for Qt5 on Mac OS fails.
  16648. https://bugs.webkit.org/show_bug.cgi?id=107094
  16649. We need to define NS_BUILD_32_LIKE_64 for 32-bit build for Mac OS.
  16650. Fixed 32-bit build detection for support Qt5.
  16651. Reviewed by Benjamin Poulain.
  16652. * Target.pri:
  16653. 2013-01-17 Martin Robinson <mrobinson@igalia.com>
  16654. [GTK] Build with LevelDB when IndexedDB is enabled
  16655. https://bugs.webkit.org/show_bug.cgi?id=103220
  16656. Reviewed by Gustavo Noronha Silva.
  16657. * GNUmakefile.am: When IndexedDatabase is enabled add the leveldb convenience
  16658. library to the shared library link phase.
  16659. 2013-01-17 Tim Horton <timothy_horton@apple.com>
  16660. [WK2] TiledCoreAnimationDrawingArea should unparent its layer tree when requested
  16661. https://bugs.webkit.org/show_bug.cgi?id=107108
  16662. <rdar://problem/12549879>
  16663. Reviewed by Darin Adler and Simon Fraser.
  16664. Currently, TiledCoreAnimationDrawingArea returns early if asked to unparent
  16665. its layer tree, to prevent flashing when switching tabs. We have new plans
  16666. to alleviate the flashing, but first, we should reinstate unparenting the root layer,
  16667. to allow underlying libraries to better manage the memory backing all compositing layers.
  16668. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  16669. (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
  16670. 2013-01-17 Tim Horton <timothy_horton@apple.com>
  16671. Fix the Mac build sans ENABLE(CSS_FILTERS)
  16672. Reviewed by Darin Adler.
  16673. Include FloatRect in RemoteGraphicsLayer.mm; it's included by chance currently,
  16674. via something that must be compiled out without CSS_FILTERS (or SVG, or shaders, or something).
  16675. * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
  16676. 2013-01-16 Alexey Proskuryakov <ap@apple.com>
  16677. Don't use NSApplication run loop in NetworkProcess
  16678. https://bugs.webkit.org/show_bug.cgi?id=107061
  16679. Reviewed by Anders Carlsson.
  16680. Only WebProcess and PluginProcess should use Cocoa APIs that require the run loop.
  16681. * PluginProcess/mac/PluginProcessMac.mm:
  16682. (WebKit::PluginProcess::platformInitializePluginProcess):
  16683. * WebProcess/mac/WebProcessMac.mm:
  16684. (WebKit::WebProcess::platformInitializeProcess):
  16685. 2013-01-16 Alexey Proskuryakov <ap@apple.com>
  16686. Update sandbox rules after r128003
  16687. https://bugs.webkit.org/show_bug.cgi?id=106840
  16688. Reviewed by Darin Adler.
  16689. * WebProcess/com.apple.WebProcess.sb.in: Additional Lion only fixes.
  16690. 2013-01-16 Sam Weinig <sam@webkit.org>
  16691. Make debug-safari --target-web-process work again
  16692. https://bugs.webkit.org/show_bug.cgi?id=107088
  16693. Reviewed by Anders Carlsson.
  16694. --target-web-process was made harder to use during recent refactoring
  16695. by requiring users to pass a -ui-process-name parameter in addition to
  16696. the -client-executable. Instead, we should conjure up that name from
  16697. the information we already have at our disposal.
  16698. * WebProcess/mac/WebProcessMainMac.mm:
  16699. (WebKit::WebProcessMainDelegate::getConnectionIdentifier):
  16700. Simplify by making the non-client-executable path use the base
  16701. class implementation.
  16702. (WebKit::WebProcessMainDelegate::getClientIdentifier):
  16703. Ditto.
  16704. (WebKit::WebProcessMainDelegate::getClientProcessName):
  16705. Added. Create a client process name (its actually not too important what it is, as it
  16706. is only used to show a name in Activity Monitor) from the passed in client executable
  16707. path.
  16708. 2013-01-16 Sam Weinig <sam@webkit.org>
  16709. Fix crashes on the bots.
  16710. The WebKit LoaderStrategy for loading synchronously was only implemented
  16711. for the case where you have a network process. When you don't, we should
  16712. be using the base implementation.
  16713. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  16714. (WebKit::WebPlatformStrategies::loadResourceSynchronously):
  16715. 2013-01-16 Sam Weinig <sam@webkit.org>
  16716. Update Owners file.
  16717. * Owners:
  16718. 2013-01-16 Sam Weinig <sam@webkit.org>
  16719. Remove unused AddLoadInProgress message
  16720. https://bugs.webkit.org/show_bug.cgi?id=107077
  16721. Reviewed by Dan Bernstein.
  16722. Dead code is dead.
  16723. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  16724. * NetworkProcess/NetworkConnectionToWebProcess.h:
  16725. * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  16726. 2013-01-16 Anders Carlsson <andersca@apple.com>
  16727. Fix crash when destroying a plug-in with pending URL requests
  16728. https://bugs.webkit.org/show_bug.cgi?id=107075
  16729. <rdar://problem/12513871>
  16730. Reviewed by Sam Weinig.
  16731. In PluginView::destroyPluginAndReset, make sure to cancel any outstanding URL requests since the PluginView
  16732. object will stay around and would otherwise start loading URLs from stopped plug-ins.
  16733. * WebProcess/Plugins/PluginView.cpp:
  16734. (WebKit::PluginView::Stream::start):
  16735. Assert that the plug-in is alive.
  16736. (WebKit::PluginView::destroyPluginAndReset):
  16737. Empty out the pending URL requests vector and stop the timer.
  16738. 2013-01-16 Jaehun Lim <ljaehun.lim@samsung.com>
  16739. [EFL][WK2] PageUIClientEfl should keep in sync with WKPageUIClient
  16740. https://bugs.webkit.org/show_bug.cgi?id=107060
  16741. Reviewed by Benjamin Poulain.
  16742. Rearrange the order of functions in PageUIClientEfl.
  16743. Rename closePage() to close().
  16744. * UIProcess/API/efl/EwkViewImpl.cpp:
  16745. (EwkViewImpl::close):
  16746. * UIProcess/API/efl/EwkViewImpl.h:
  16747. (EwkViewImpl):
  16748. * UIProcess/efl/PageUIClientEfl.cpp:
  16749. (WebKit::PageUIClientEfl::PageUIClientEfl):
  16750. (WebKit::PageUIClientEfl::close):
  16751. (WebKit::PageUIClientEfl::takeFocus):
  16752. (WebKit::PageUIClientEfl::focus):
  16753. (WebKit::PageUIClientEfl::unfocus):
  16754. (WebKit::PageUIClientEfl::getWindowFrame):
  16755. (WebKit::PageUIClientEfl::setWindowFrame):
  16756. (WebKit::PageUIClientEfl::createNewPage):
  16757. (WebKit::PageUIClientEfl::showColorPicker):
  16758. (WebKit::PageUIClientEfl::hideColorPicker):
  16759. * UIProcess/efl/PageUIClientEfl.h:
  16760. (PageUIClientEfl):
  16761. 2013-01-16 Brady Eidson <beidson@apple.com>
  16762. Synchronous XMLHTTPRequests need to go to the NetworkProcess.
  16763. <rdar://problem/12951765> and https://bugs.webkit.org/show_bug.cgi?id=106826
  16764. Reviewed by Sam Weinig and Alexey Proskuryakov.
  16765. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  16766. (WebKit::WebPlatformStrategies::loadResourceSynchronously): Entry point for WebCore to get
  16767. synchronous requests to the NetworkProcess.
  16768. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  16769. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  16770. (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad): Create a SyncNetworkResourceLoader
  16771. and schedule it.
  16772. * NetworkProcess/NetworkConnectionToWebProcess.h:
  16773. * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  16774. * NetworkProcess/NetworkResourceLoadScheduler.cpp:
  16775. (WebKit::NetworkResourceLoadScheduler::scheduleSyncNetworkResourceLoader):
  16776. (WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost): Serve synchronous loaders
  16777. before async loaders.
  16778. * NetworkProcess/NetworkResourceLoadScheduler.h:
  16779. A class that encapsulates a synchronous load request and the CoreIPC reply to be made once it is complete:
  16780. * NetworkProcess/SyncNetworkResourceLoader.cpp: Added.
  16781. (WebKit::SyncNetworkResourceLoader::SyncNetworkResourceLoader):
  16782. (WebKit::SyncNetworkResourceLoader::start):
  16783. * NetworkProcess/SyncNetworkResourceLoader.h: Copied from Source/WebKit2/NetworkProcess/HostRecord.h.
  16784. (WebKit::SyncNetworkResourceLoader::create):
  16785. (WebKit::SyncNetworkResourceLoader::setIdentifier):
  16786. (WebKit::SyncNetworkResourceLoader::identifier):
  16787. (WebKit::SyncNetworkResourceLoader::loadParameters):
  16788. Add a second queue of sync loaders:
  16789. * NetworkProcess/HostRecord.h:
  16790. (WebKit::HostRecord::syncLoadersPending):
  16791. Add comments to explicitly spell out the current reliance on some messages that are currently synchronous:
  16792. * NetworkProcess/NetworkResourceLoader.cpp:
  16793. (WebKit::NetworkResourceLoader::willSendRequest):
  16794. (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
  16795. * WebKit2.xcodeproj/project.pbxproj:
  16796. 2013-01-16 Alexey Proskuryakov <ap@apple.com>
  16797. WebProcess should not access ~/Library/Caches/com.apple.WebProcess
  16798. https://bugs.webkit.org/show_bug.cgi?id=107055
  16799. Reviewed by Anders Carlsson.
  16800. * WebProcess/com.apple.WebProcess.sb.in: Remove the rule allowing access.
  16801. * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::platformInitializeWebProcess):
  16802. Use a correct cache directory even if NetworkProcess is in use. Not all loading has
  16803. moved to this process yet.
  16804. 2013-01-16 Anders Carlsson <andersca@apple.com>
  16805. Remove CoreIPCMessageKinds.h
  16806. https://bugs.webkit.org/show_bug.cgi?id=107048
  16807. Reviewed by Beth Dakin.
  16808. Use named IPC messages instead.
  16809. * Platform/CoreIPC/Connection.cpp:
  16810. (CoreIPC::Connection::sendSyncReply):
  16811. (CoreIPC::Connection::processIncomingMessage):
  16812. (CoreIPC::Connection::dispatchSyncMessage):
  16813. * Platform/CoreIPC/CoreIPCMessageKinds.h: Removed.
  16814. * Platform/CoreIPC/MessageID.h:
  16815. (MessageID):
  16816. (CoreIPC::MessageID::stripMostSignificantBit):
  16817. (CoreIPC::MessageID::operator==):
  16818. * Platform/CoreIPC/mac/ConnectionMac.cpp:
  16819. (CoreIPC::Connection::open):
  16820. (CoreIPC::Connection::receiveSourceEventHandler):
  16821. * WebKit2.xcodeproj/project.pbxproj:
  16822. 2013-01-15 Jer Noble <jer.noble@apple.com>
  16823. Add a Setting to disable QTKit media engine.
  16824. https://bugs.webkit.org/show_bug.cgi?id=106972
  16825. Reviewed by Eric Carlson.
  16826. Add a WebKit2 API to access WebCore QTKitEnabled settings.
  16827. * Shared/WebPreferencesStore.h:
  16828. * UIProcess/API/C/WKPreferences.cpp:
  16829. (WKPreferencesSetQTKitEnabled): Pass through to WebCore.
  16830. (WKPreferencesGetQTKitEnabled): Ditto.
  16831. * UIProcess/API/C/WKPreferences.h:
  16832. * WebProcess/WebPage/WebPage.cpp:
  16833. (WebKit::WebPage::updatePreferences): Synchronize WebKit2/WebCore settings.
  16834. 2013-01-16 Kiran Muppala <cmuppala@apple.com>
  16835. Groundwork to enable process suppression by default on Mac
  16836. https://bugs.webkit.org/show_bug.cgi?id=106513
  16837. Reviewed by Alexey Proskuryakov.
  16838. Process suppression has so far been controlled by a user default and
  16839. disabled by default. This patch provides the groundwork to enable it by
  16840. default and adds a private API to enable/disable it on a per-context
  16841. basis.
  16842. * Shared/mac/ChildProcessMac.mm:
  16843. (WebKit::ChildProcess::platformInitialize): Add comment about
  16844. initilization of application occlusion state.
  16845. * UIProcess/API/C/mac/WKContextPrivateMac.cpp: Added.
  16846. (WKContextGetProcessSuppressionEnabled):
  16847. (WKContextSetProcessSuppressionEnabled):
  16848. Add private API to enable/disable process suppression on a per-context
  16849. basis.
  16850. * UIProcess/API/C/mac/WKContextPrivateMac.h: Added.
  16851. * UIProcess/Network/NetworkProcessProxy.cpp:
  16852. (WebKit::NetworkProcessProxy::didFinishLaunching): Check if owning
  16853. context has process suppression enabled before updating application
  16854. occlusion state.
  16855. * UIProcess/WebProcessProxy.cpp:
  16856. (WebKit::WebProcessProxy::didFinishLaunching): Ditto.
  16857. * UIProcess/Plugins/PluginProcessProxy.cpp:
  16858. (WebKit::PluginProcessProxy::didFinishLaunching): Check if
  16859. process suppression is enabled for global child processes before
  16860. updating application occlusion state.
  16861. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
  16862. (WebKit::SharedWorkerProcessProxy::didFinishLaunching): Ditto.
  16863. * UIProcess/WebContext.cpp:
  16864. (WebKit::WebContext::create): Remove call to
  16865. initializeProcessSuppressionSupport, since platformInitialize has been
  16866. modified to perform initialization.
  16867. (WebKit::WebContext::WebContext): Initialize new member variable
  16868. m_processSuppressionEnabled to false.
  16869. * UIProcess/WebContext.h:
  16870. (WebKit::WebContext::processSuppressionEnabled): Remove "Support"
  16871. from the method name.
  16872. * UIProcess/mac/WebContextMac.mm:
  16873. (WebKit::updateGlobalChildProcessesApplicationOcclusionState):
  16874. (WebKit::applicationOcclusionStateChanged): Update the application
  16875. occlusion state of child processes having process suppresion enabled.
  16876. (WebKit::applicationBecameVisible):
  16877. (WebKit::applicationBecameOccluded):
  16878. Simplify by moving code to applicationOcclusionStateChanged.
  16879. (WebKit::registerOcclusionNotificationHandlers): Fix typos.
  16880. (WebKit::unregisterOcclusionNotificationHandlers): Add
  16881. method to unregister occlusion notification handlers when no context
  16882. has process suppression enabled.
  16883. (WebKit::enableOcclusionNotifications):
  16884. (WebKit::disableOcclusionNotifications):
  16885. (WebKit::enableProcessSuppressionForGlobalChildProcesses):
  16886. (WebKit::disableProcessSuppressionForGlobalChildProcesses):
  16887. (WebKit::processSuppressionIsEnabledForAnyContext):
  16888. (WebKit::processSuppressionIsEnabledForAllContexts):
  16889. (WebKit::WebContext::platformInitialize): Disable process suppression
  16890. for global child processes since process suppression is disabled for a
  16891. context on construction.
  16892. (WebKit::WebContext::setProcessSuppressionEnabled):
  16893. (WebKit::WebContext::updateChildProcessesApplicationOcclusionState):
  16894. (WebKit::WebContext::applicationIsOccluded):
  16895. (WebKit::WebContext::processSuppressionEnabledForGlobalChildProcesses):
  16896. (WebKit::WebContext::processSuppressionEnabledChanged): Update child
  16897. processes application occlusion state, enable/disable occlusion
  16898. notifications and enable/disable process suppression for global child
  16899. processes.
  16900. * WebKit2.xcodeproj/project.pbxproj:
  16901. 2013-01-15 Anders Carlsson <andersca@apple.com>
  16902. Merge LayerTreeHostCA and LayerTreeHostMac
  16903. https://bugs.webkit.org/show_bug.cgi?id=106967
  16904. Reviewed by Sam Weinig.
  16905. There's no need to have a LayerTreeHostCA base class anymore, just merge it into LayerTreeHostMac.
  16906. * WebKit2.xcodeproj/project.pbxproj:
  16907. * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: Removed.
  16908. * WebProcess/WebPage/ca/LayerTreeHostCA.h: Removed.
  16909. * WebProcess/WebPage/mac/LayerTreeHostMac.h:
  16910. (LayerTreeHostMac):
  16911. * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
  16912. (WebKit::LayerTreeHostMac::LayerTreeHostMac):
  16913. (WebKit::LayerTreeHostMac::~LayerTreeHostMac):
  16914. (WebKit::LayerTreeHostMac::layerTreeContext):
  16915. (WebKit::LayerTreeHostMac::setShouldNotifyAfterNextScheduledLayerFlush):
  16916. (WebKit):
  16917. (WebKit::LayerTreeHostMac::setRootCompositingLayer):
  16918. (WebKit::LayerTreeHostMac::invalidate):
  16919. (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
  16920. (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
  16921. (WebKit::LayerTreeHostMac::forceRepaint):
  16922. (WebKit::LayerTreeHostMac::sizeDidChange):
  16923. (WebKit::LayerTreeHostMac::deviceScaleFactorDidChange):
  16924. (WebKit::LayerTreeHostMac::didInstallPageOverlay):
  16925. (WebKit::LayerTreeHostMac::didUninstallPageOverlay):
  16926. (WebKit::LayerTreeHostMac::setPageOverlayNeedsDisplay):
  16927. (WebKit::LayerTreeHostMac::pauseRendering):
  16928. (WebKit::LayerTreeHostMac::resumeRendering):
  16929. (WebKit::LayerTreeHostMac::setLayerHostingMode):
  16930. (WebKit::LayerTreeHostMac::notifyAnimationStarted):
  16931. (WebKit::LayerTreeHostMac::notifyFlushRequired):
  16932. (WebKit::LayerTreeHostMac::paintContents):
  16933. (WebKit::LayerTreeHostMac::deviceScaleFactor):
  16934. (WebKit::LayerTreeHostMac::flushLayers):
  16935. (WebKit::LayerTreeHostMac::initialize):
  16936. (WebKit::LayerTreeHostMac::performScheduledLayerFlush):
  16937. (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
  16938. (WebKit::LayerTreeHostMac::createPageOverlayLayer):
  16939. (WebKit::LayerTreeHostMac::destroyPageOverlayLayer):
  16940. 2013-01-15 Tim Horton <timothy_horton@apple.com>
  16941. Clamp TileCache visibleRect to WKView's visibleRect
  16942. https://bugs.webkit.org/show_bug.cgi?id=106601
  16943. <rdar://problem/12843164>
  16944. Reviewed by Simon Fraser.
  16945. Some clients expand the WKView to be much larger than what is visible on screen, and
  16946. control scrolling with their own view. Currently, we will create tiles for the entire
  16947. view, consuming a great deal of memory, and can sometimes factor scrollbars which can
  16948. never exist into layout. Piggyback on WKView SPI (the property minimumWidthForAutoLayout,
  16949. renamed from minimumLayoutWidth) to drop into a mode where we disable main frame scrolling
  16950. and respect the WKView's visibleRect when creating tiles.
  16951. * UIProcess/API/mac/WKView.mm:
  16952. (-[WKView setFrameSize:]): Update the page's viewExposedRect from our visibleRect.
  16953. (-[WKView _updateWindowAndViewFrames]): Update the page's viewExposedRect from our visibleRect.
  16954. (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): The main frame is scrollable by default.
  16955. (-[WKView enableFrameSizeUpdates]): If frame size updates become enabled, update the
  16956. page's viewExposedRect from our visibleRect.
  16957. (-[WKView setMinimumLayoutWidth:]): Rename minimumLayoutWidth property to minimumWidthForAutoLayout.
  16958. Warn once if the old one is used.
  16959. (-[WKView minimumWidthForAutoLayout]):
  16960. (-[WKView setMinimumWidthForAutoLayout:]): Adjust the minimum layout width, whether the main frame
  16961. is scrollable, and update the page's viewExposedRect if needed.
  16962. * UIProcess/API/mac/WKViewPrivate.h: Added minimumWidthForAutoLayout property.
  16963. * UIProcess/WebPageProxy.h:
  16964. (WebPageProxy): Add viewExposedRectChanged/setMainFrameIsScrollable.
  16965. * UIProcess/mac/WebPageProxyMac.mm:
  16966. (WebKit::WebPageProxy::viewExposedRectChanged): Forward viewExposedRectChanged to WebPage.
  16967. (WebKit::WebPageProxy::setMainFrameIsScrollable): Forward setMainFrameIsScrollable to WebPage.
  16968. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  16969. (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Disable scrollbars and scrolling if
  16970. main frame scrollability is disabled.
  16971. * WebProcess/WebPage/DrawingArea.h:
  16972. (WebKit::DrawingArea::setExposedRect): Added empty default implementation.
  16973. (WebKit::DrawingArea::mainFrameScrollabilityChanged): Added empty default implementation.
  16974. (DrawingArea):
  16975. * WebProcess/WebPage/WebPage.cpp:
  16976. (WebKit::WebPage::windowAndViewFramesChanged): We don't need the WebCore:: namespace.
  16977. (WebKit::WebPage::viewExposedRectChanged): Forward exposed rect changes to DrawingArea (only TiledCoreAnimationDrawingArea cares, for now).
  16978. (WebKit::WebPage::setMainFrameIsScrollable): Forward scrollability changes to DrawingArea and the main FrameView.
  16979. (WebKit::WebPage::drawRectToImage): We don't need the WebCore:: namespace.
  16980. * WebProcess/WebPage/WebPage.h:
  16981. (WebPage): Add mainFrameIsScrollable, viewExposedRectChanged, setMainFrameIsScrollable, and storage for m_mainFrameIsScrollable.
  16982. (WebKit::WebPage::mainFrameIsScrollable):
  16983. * WebProcess/WebPage/WebPage.messages.in: Add ViewExposedRectChanged and SetMainFrameIsScrollable messages.
  16984. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  16985. (TiledCoreAnimationDrawingArea):
  16986. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  16987. (WebKit::TiledCoreAnimationDrawingArea::setExposedRect): Forward new exposed rect to TiledBacking (only TileCache cares, for now).
  16988. (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged): Ask TiledBacking to clip to the exposedRect if main frame scrolling is disabled.
  16989. (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): Use size instead of viewSize in case we've changed it because of m_minimumLayoutWidth.
  16990. (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): Update exposedRect and clipsToExposedRect.
  16991. 2013-01-15 Enrica Casucci <enrica@apple.com>
  16992. Add a new set of WebKit2 APIs for text search and
  16993. search results management.
  16994. https://bugs.webkit.org/show_bug.cgi?id=106834.
  16995. <rdar://problem/12597159>
  16996. Reviewed by Simon Fraser.
  16997. Adding new API to perform text search in WebKit2 without using
  16998. the stock UI. The new interface provides all the information
  16999. necessary to write a custom UI for search. The main logic is
  17000. implemented in the new functions added to FindController.
  17001. Added new TextWebKitAPI test.
  17002. * UIProcess/API/C/WKPage.cpp:
  17003. (WKPageFindStringMatches): Added.
  17004. (WKPageGetImageForFindMatch): Added.
  17005. (WKPageSelectFindMatch): Added.
  17006. (WKPageSetPageFindMatchesClient): Added.
  17007. * UIProcess/API/C/WKPage.h: Added the new API definitions.
  17008. * UIProcess/WebFindClient.cpp: Added new client callbacks.
  17009. (WebKit::WebFindMatchesClient::didFindStringMatches):
  17010. (WebKit::WebFindMatchesClient::didGetImageForMatchResult):
  17011. * UIProcess/WebFindClient.h:
  17012. (WebFindMatchesClient): Added.
  17013. * UIProcess/WebPageProxy.cpp: Added proxy methods.
  17014. (WebKit::WebPageProxy::initializeFindMatchesClient):
  17015. (WebKit::WebPageProxy::findStringMatches):
  17016. (WebKit::WebPageProxy::getImageForFindMatch):
  17017. (WebKit::WebPageProxy::selectFindMatch):
  17018. (WebKit::WebPageProxy::didGetImageForFindMatch):
  17019. (WebKit::WebPageProxy::didFindStringMatches):
  17020. * UIProcess/WebPageProxy.h:
  17021. * UIProcess/WebPageProxy.messages.in:
  17022. * WebProcess/WebPage/FindController.cpp:
  17023. (WebKit::FindController::findStringMatches): Finds all the matching
  17024. text according to the find options. All the matching text ranges are
  17025. stored in a vector until the next call to findStringMatches or until
  17026. hideFindUI is called. The message that is sent back to the UI process
  17027. contains a vector containing an entry for each find match (i.e. for each
  17028. range) and each entry is represented by a vector of the corresponding
  17029. text rects. It also returns the index in the vector of matches corresponding
  17030. to the first match after the user selection.
  17031. If there is no selection the index is always 0 and if there are no
  17032. matches after the user selection, the index returned is -1.
  17033. (WebKit::FindController::getFindIndicatorBitmapAndRect): Helper function
  17034. to share code between updateFindIndicator and getImageForFindMatch.
  17035. (WebKit::FindController::getImageForFindMatch): Creates the image corresponding
  17036. to the text matched at the given match index.
  17037. (WebKit::FindController::selectFindMatch): creates a selection for the range
  17038. corresponding to the given match index.
  17039. (WebKit::FindController::hideFindUI): Added logic to clear the vector
  17040. of matched ranges.
  17041. (WebKit::FindController::updateFindIndicator): Updated to use the
  17042. new helper function getFindIndicatorBitmapAndRect.
  17043. * WebProcess/WebPage/FindController.h:
  17044. * WebProcess/WebPage/WebPage.cpp:
  17045. (WebKit::WebPage::findStringMatches):
  17046. (WebKit::WebPage::getImageForFindMatch):
  17047. (WebKit::WebPage::selectFindMatch):
  17048. * WebProcess/WebPage/WebPage.h:
  17049. * WebProcess/WebPage/WebPage.messages.in:
  17050. 2013-01-15 Anders Carlsson <andersca@apple.com>
  17051. Rename LayerTreeHostCAMac to LayerTreeHostMac.
  17052. Rubber-stamped by Deth Bakin.
  17053. * WebKit2.xcodeproj/project.pbxproj:
  17054. * WebProcess/WebPage/LayerTreeHost.cpp:
  17055. * WebProcess/WebPage/mac/LayerTreeHostMac.h: Renamed from Source/WebKit2/WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h.
  17056. * WebProcess/WebPage/mac/LayerTreeHostMac.mm: Renamed from Source/WebKit2/WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm.
  17057. 2013-01-15 Dominik Röttsches <dominik.rottsches@intel.com>
  17058. [CoordinatedGraphics] Deadlock when running abspos-child-container-changes-from-relative-to-static.html
  17059. https://bugs.webkit.org/show_bug.cgi?id=106884
  17060. Reviewed by Benjamin Poulain.
  17061. We need to return false if m_waitingForUIProcess is true since otherwise
  17062. we'll not really repaint in performScheduledLayerFlush() and the
  17063. UI process will wait forever. Returning false leads to executing the layer flush
  17064. synchronously and immediately, then acknowledging the
  17065. callback to the WebProcess - which resolves the deadlock.
  17066. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  17067. (WebKit::CoordinatedLayerTreeHost::forceRepaintAsync): Return false in order to trigger a synchronous repaint if m_waitingForUIProcess is true.
  17068. 2013-01-15 Simon Fraser <simon.fraser@apple.com>
  17069. Allow tiled WKViews to have transparent backgrounds
  17070. https://bugs.webkit.org/show_bug.cgi?id=106400
  17071. Reviewed by Anders Carlsson.
  17072. When WKViews were set to have transparent backgrounds, they still
  17073. obscured content behind the view, for several reasons.
  17074. First, when in tiled scrolling mode, WKView set the background
  17075. of its layer to opaque white. Fix by using the clearColor (effectively
  17076. removing the background color) if the view has a non-opaque background.
  17077. Second, RenderLayerBacking just looked at FrameViews's isTransparent()
  17078. when deciding to make TileCache tiles non-opaque, but it also needs to
  17079. consider FrameViews with a non-opaque base background color. The
  17080. same logic was necessary to avoid setting an opaque white background
  17081. color on the TileCache layer.
  17082. Finally, for views with non-opaque backgrounds, we don't want to display
  17083. linen, so RenderLayerCompositor::requiresOverhangAreasLayer() was changed
  17084. to return false in that case.
  17085. * UIProcess/API/mac/WKView.mm:
  17086. (-[WKView updateLayer]):
  17087. 2013-01-14 Dean Jackson <dino@apple.com>
  17088. [ANGLE] Update ANGLE in WebKit
  17089. https://bugs.webkit.org/show_bug.cgi?id=106274
  17090. Unreviewed attempted build fix.
  17091. The khrplatform.h file is now a public header without a directory
  17092. prefix. Update the include path to look in the right place.
  17093. * PlatformEfl.cmake:
  17094. 2013-01-14 Alexey Proskuryakov <ap@apple.com>
  17095. <rdar://problem/12524710> Update sandbox rules after r128003
  17096. https://bugs.webkit.org/show_bug.cgi?id=106840
  17097. Reviewed by Anders Carlsson.
  17098. * WebProcess/com.apple.WebProcess.sb.in:
  17099. 2013-01-14 Huang Dongsung <luxtella@company100.net>
  17100. [EFL] REGRESSION(r139189): MiniBrowser renders abnormally with -r option.
  17101. https://bugs.webkit.org/show_bug.cgi?id=106512
  17102. Reviewed by Kenneth Rohde Christiansen.
  17103. PageViewportController handles only pageScaleFactor after r139189. So
  17104. PageViewportControllerClientEFL calls EwkView::setScaleFactor() with
  17105. pageScaleFactor instead of pageScaleFactor * deviceScaleFactor.
  17106. This patch makes EwkView handle pageScaleFactor.
  17107. 1. EwkView uses pageScaleFactor * deviceScaleFactor when drawing in
  17108. the device unit.
  17109. 2. EwkView uses pageScaleFactor when notifying the scale to
  17110. PageViewportController.
  17111. * UIProcess/API/efl/EwkViewImpl.cpp:
  17112. (EwkViewImpl::EwkViewImpl):
  17113. (EwkViewImpl::deviceScaleFactor):
  17114. (EwkViewImpl::transformFromScene):
  17115. (EwkViewImpl::displayTimerFired):
  17116. * UIProcess/API/efl/EwkViewImpl.h:
  17117. (EwkViewImpl):
  17118. (EwkViewImpl::setPageScaleFactor):
  17119. (EwkViewImpl::pageScaleFactor):
  17120. * UIProcess/PageViewportController.cpp:
  17121. (WebKit::PageViewportController::didRenderFrame):
  17122. * UIProcess/PageViewportControllerClient.h:
  17123. (PageViewportControllerClient):
  17124. * UIProcess/efl/PageClientLegacyImpl.cpp:
  17125. (WebKit::PageClientLegacyImpl::updateViewportSize):
  17126. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  17127. (WebKit::PageViewportControllerClientEfl::setViewportPosition):
  17128. (WebKit::PageViewportControllerClientEfl::setPageScaleFactor):
  17129. (WebKit::PageViewportControllerClientEfl::didResumeContent):
  17130. * UIProcess/efl/PageViewportControllerClientEfl.h:
  17131. (PageViewportControllerClientEfl):
  17132. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  17133. (WebKit::PageViewportControllerClientQt::setPageScaleFactor):
  17134. * UIProcess/qt/PageViewportControllerClientQt.h:
  17135. (PageViewportControllerClientQt):
  17136. 2013-01-14 Max Vujovic <mvujovic@adobe.com>
  17137. [ANGLE] Update ANGLE in WebKit
  17138. https://bugs.webkit.org/show_bug.cgi?id=106274
  17139. Reviewed by Dean Jackson.
  17140. Update ANGLE to r1641.
  17141. * PlatformEfl.cmake: Add ANGLE/include to the include directories list because ShaderLang.h
  17142. now includes "KHR/khrplatform.h", which is located in ANGLE/include/KHR/khrplatform.h.
  17143. 2013-01-14 Alexey Proskuryakov <ap@apple.com>
  17144. NetworkProcess scheduler never resumes resource loads that were postponed
  17145. due to connection limit
  17146. https://bugs.webkit.org/show_bug.cgi?id=106821
  17147. Reviewed by Brady Eidson.
  17148. * NetworkProcess/NetworkResourceLoadScheduler.cpp:
  17149. (WebKit::NetworkResourceLoadScheduler::servePendingRequests):
  17150. * NetworkProcess/NetworkResourceLoadScheduler.h:
  17151. Remove an uninitialized variable that could prevent loading.
  17152. 2013-01-11 Balazs Kelemen <kbalazs@webkit.org>
  17153. [Qt][WK2] plugin tests assert in debug
  17154. https://bugs.webkit.org/show_bug.cgi?id=106659
  17155. Reviewed by Benjamin Poulain.
  17156. Fixed the misuse of String::split.
  17157. * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
  17158. (WebKit::truncateToSingleLine):
  17159. Add an assert to make sure this function works well. I just walked there
  17160. while debugging the bug, and although it was innocent, adding this assertion
  17161. is logical.
  17162. * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
  17163. (WebKit::PluginProcessProxy::scanPlugin):
  17164. The ASSERT was wrong. We have three lines, each ends in a newline, so split
  17165. with allowEmptyEntries=true will devide it to 4 substrings.
  17166. 2013-01-11 Filip Pizlo <fpizlo@apple.com>
  17167. JITThunks should not compile only because of luck
  17168. https://bugs.webkit.org/show_bug.cgi?id=105696
  17169. Rubber stamped by Sam Weinig.
  17170. * Shared/APIObject.cpp:
  17171. * Shared/linux/WebMemorySamplerLinux.cpp:
  17172. * UIProcess/WebContext.cpp:
  17173. * WebProcess/WebPage/WebPage.cpp:
  17174. * WebProcess/efl/WebProcessMainEfl.cpp:
  17175. 2013-01-11 Huang Dongsung <luxtella@company100.net>
  17176. Coordinated Graphics: Remove the dependency of WebCoordinatedSurface::Handle from Coordinated Graphics.
  17177. https://bugs.webkit.org/show_bug.cgi?id=104347
  17178. Reviewed by Noam Rosenthal.
  17179. It is a preparation patch for Threaded Coordinated Graphics on WK1.
  17180. Currently, UpdateAtlas and CoordinatedImageBacking use
  17181. WebCoordinatedSurface::Handle, but WebCoordinatedSurface::Handle can be
  17182. used only IPC-based Coordinated Graphics. So this patch removes the
  17183. dependency of WebCoordinatedSurface::Handle from UpdateAtlas and
  17184. CoordinatedImageBacking. Now CoordinatedLayerTreeHost converts the
  17185. handle to a WebCoordinatedSurface.
  17186. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp:
  17187. (WebKit::CoordinatedImageBacking::update):
  17188. (WebKit::CoordinatedImageBacking::releaseSurfaceIfNeeded):
  17189. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
  17190. (Coordinator):
  17191. (CoordinatedImageBacking):
  17192. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  17193. (WebKit::CoordinatedLayerTreeHost::updateImageBacking):
  17194. (WebKit::CoordinatedLayerTreeHost::createUpdateAtlas):
  17195. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  17196. (WebKit):
  17197. (CoordinatedLayerTreeHost):
  17198. * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp:
  17199. (WebKit::UpdateAtlas::UpdateAtlas):
  17200. (WebKit::UpdateAtlas::~UpdateAtlas):
  17201. (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
  17202. * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h:
  17203. (UpdateAtlasClient):
  17204. (UpdateAtlas):
  17205. 2013-01-11 Alexey Proskuryakov <ap@apple.com>
  17206. [WK2] Network process unblocks all waiting threads when any sync reply arrives
  17207. https://bugs.webkit.org/show_bug.cgi?id=106713
  17208. Reviewed by Brady Eidson.
  17209. Switch to sending sync CoreIPC messages, which is now possible.
  17210. * NetworkProcess/NetworkConnectionToWebProcess.h:
  17211. * NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::didClose):
  17212. We no longer have response maps.
  17213. * NetworkProcess/NetworkResourceLoader.cpp:
  17214. (WebKit::NetworkResourceLoader::willSendRequest): Just send a sync message.
  17215. (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace): Ditto.
  17216. (WebKit::NetworkResourceLoader::didReceiveDataArray): Added an unrelated assertion.
  17217. * NetworkProcess/NetworkResourceLoader.h:
  17218. * NetworkProcess/NetworkResourceLoader.messages.in:
  17219. Removed no longer used reply messages and their handlers.
  17220. * Shared/BlockingResponseMap.h: Removed a bool version, which was not perfectly
  17221. safe, and only used in NetworkProcess.
  17222. (BlockingResponseMap::didReceiveResponse): Updated a still valid FIXME to not refer
  17223. to network process.
  17224. (BlockingResponseMap::cancel): Ditto.
  17225. * WebProcess/Network/NetworkProcessConnection.h:
  17226. * WebProcess/Network/NetworkProcessConnection.cpp:
  17227. (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
  17228. Plumbing to handle sync messages.
  17229. * WebProcess/Network/WebResourceLoader.cpp:
  17230. (WebKit::WebResourceLoader::willSendRequest):
  17231. (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace):
  17232. * WebProcess/Network/WebResourceLoader.h:
  17233. * WebProcess/Network/WebResourceLoader.messages.in:
  17234. Updated (simplified) sync messages and their handlers.
  17235. 2013-01-11 Alexey Proskuryakov <ap@apple.com>
  17236. [WK2] Make it possible to send sync messages from secondary threads
  17237. https://bugs.webkit.org/show_bug.cgi?id=106708
  17238. Apply another review comment (overlooked a "ditto").
  17239. * Platform/CoreIPC/Connection.cpp:
  17240. (CoreIPC::Connection::sendSyncMessage):
  17241. 2013-01-11 Alexey Proskuryakov <ap@apple.com>
  17242. [WK2] Make it possible to send sync messages from secondary threads
  17243. https://bugs.webkit.org/show_bug.cgi?id=106708
  17244. Reviewed by Anders Carlsson.
  17245. It is hugely beneficial to implement sync messages at Connection level, because
  17246. ad hoc code that blocks a thread and wakes it up when a reply arrives on main
  17247. thread can't be made equally performant. A CoreOPC MessageDecoder can be moved across
  17248. threads, which can't be done with a decoded argument passed by reference to client code.
  17249. Sync messages from secondary threads are tracked in much simpler data structure
  17250. than client thread ones, because we don't need to be concerned with incoming messages.
  17251. * Platform/CoreIPC/Connection.cpp:
  17252. (Connection::SecondaryThreadPendingSyncReply):
  17253. (CoreIPC::Connection::SecondaryThreadPendingSyncReply::SecondaryThreadPendingSyncReply):
  17254. (CoreIPC::Connection::createSyncMessageEncoder):
  17255. (CoreIPC::Connection::sendSyncMessage):
  17256. (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
  17257. (CoreIPC::Connection::processIncomingSyncReply):
  17258. (CoreIPC::Connection::connectionDidClose):
  17259. * Platform/CoreIPC/Connection.h: Also corrected a misleading comment.
  17260. 2013-01-11 Dan Bernstein <mitz@apple.com>
  17261. Exclude unused resources.
  17262. Reviewed by Darin Adler.
  17263. * Configurations/WebKit2.xcconfig: Defined EXCLUDED_SOURCE_FILE_NAMES.
  17264. 2013-01-11 Anders Carlsson <andersca@apple.com>
  17265. Incoming synchronous messages can sometimes arrive out of order
  17266. https://bugs.webkit.org/show_bug.cgi?id=106677
  17267. <rdar://problem/12889499>
  17268. Reviewed by Andreas Kling.
  17269. In cases where synchronous messages come in more than one connection at the same time, we can sometimes deliver
  17270. the synchronous messages before any pending asynchronous messages on that connection. This breaks FIFO ordering.
  17271. Fix this by separating the "dispatch all incoming synchronous messages" phase out into multiple phases, so we'll
  17272. schedule one call per connection instead of one call for all connections.
  17273. * Platform/CoreIPC/Connection.cpp:
  17274. (Connection::SyncMessageState):
  17275. (CoreIPC::Connection::SyncMessageState::SyncMessageState):
  17276. (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
  17277. (CoreIPC::Connection::SyncMessageState::dispatchMessages):
  17278. (CoreIPC::Connection::SyncMessageState::dispatchMessageAndResetDidScheduleDispatchMessagesForConnection):
  17279. (CoreIPC::Connection::waitForSyncReply):
  17280. 2013-01-11 Zan Dobersek <zandobersek@gmail.com>
  17281. Unreviewed. Build fix for the GTK debug builds of WebKit2 after r139415.
  17282. * WebProcess/gtk/WebGtkExtensionManager.cpp:
  17283. 2013-01-11 Carlos Garcia Campos <cgarcia@igalia.com>
  17284. [GTK] Remove support for global extensions in WebKit2 GTK+
  17285. https://bugs.webkit.org/show_bug.cgi?id=106646
  17286. Reviewed by Xan Lopez.
  17287. We have now API to set the web extensions directory. A global web
  17288. estensions directory doesn't make sense anymore.
  17289. * WebProcess/gtk/WebGtkExtensionManager.cpp:
  17290. (WebKit::WebGtkExtensionManager::scanModules): Only scan the given
  17291. directory for modules.
  17292. (WebKit::WebGtkExtensionManager::initialize): Load modules found
  17293. in the given directory only.
  17294. * WebProcess/gtk/WebGtkExtensionManager.h:
  17295. (WebGtkExtensionManager): Remove appendModuleDirectories().
  17296. 2013-01-11 KwangYong Choi <ky0.choi@samsung.com>
  17297. [EFL][WK2] Add ewk_view_page_contents_get() API
  17298. https://bugs.webkit.org/show_bug.cgi?id=106440
  17299. Reviewed by Gyuyoung Kim.
  17300. Add ewk_view_page_contents_get() API for getting contents of the current page.
  17301. Currently, it supports only MHTML type.
  17302. * UIProcess/API/efl/ewk_view.cpp:
  17303. (Ewk_Page_Contents_Context):
  17304. (ewkViewPageContentsCallback):
  17305. (ewk_view_page_contents_get):
  17306. * UIProcess/API/efl/ewk_view.h:
  17307. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  17308. (PageContentsCallback):
  17309. (TEST_F):
  17310. 2013-01-11 Krzysztof Czech <k.czech@samsung.com>
  17311. [WK2] Missing HAVE(ACCESSIBILITY) guards to some atk/ accessibility files.
  17312. https://bugs.webkit.org/show_bug.cgi?id=106447
  17313. Reviewed by Andreas Kling.
  17314. Files do not have HAVE(ACCESSIBILITY) guards.
  17315. This is source of potential build breakes, when macro is not enabled.
  17316. * WebProcess/WebPage/atk/WebPageAccessibilityObject.h:
  17317. * WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp:
  17318. 2013-01-11 KwangYong Choi <ky0.choi@samsung.com>
  17319. [EFL] Fix unused parameter build error
  17320. https://bugs.webkit.org/show_bug.cgi?id=106639
  17321. Reviewed by Kentaro Hara.
  17322. Use UNUSED_PARAM macro to fix build error.
  17323. * UIProcess/API/efl/ewk_color_picker.cpp:
  17324. (ewk_color_picker_color_set):
  17325. (ewk_color_picker_color_get):
  17326. * UIProcess/API/efl/ewk_context.cpp:
  17327. (ewk_context_additional_plugin_path_set):
  17328. * UIProcess/API/efl/ewk_settings.cpp:
  17329. (ewk_settings_fullscreen_enabled_set):
  17330. (ewk_settings_fullscreen_enabled_get):
  17331. * UIProcess/API/efl/ewk_view.cpp:
  17332. (ewk_view_intent_deliver):
  17333. (ewk_view_feed_touch_event):
  17334. (ewk_view_touch_events_enabled_set):
  17335. (ewk_view_touch_events_enabled_get):
  17336. (ewk_view_fullscreen_exit):
  17337. 2013-01-10 Carlos Garcia Campos <cgarcia@igalia.com>
  17338. [GTK] Add API to set the web extensions directory to WebKit2 GTK+
  17339. https://bugs.webkit.org/show_bug.cgi?id=106462
  17340. Reviewed by Xan Lopez.
  17341. * UIProcess/API/gtk/WebKitWebContext.cpp:
  17342. (webkit_web_context_set_web_extensions_directory): Set
  17343. the given directory as injected bundle initialization user data.
  17344. * UIProcess/API/gtk/WebKitWebContext.h:
  17345. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
  17346. * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
  17347. (beforeAll): Update the test to use
  17348. webkit_web_context_set_web_extensions_directory()
  17349. instead of setting the WEBKIT_WEB_EXTENSIONS_PATH env var.
  17350. * WebProcess/gtk/WebGtkExtensionManager.cpp:
  17351. (WebKit::WebGtkExtensionManager::scanModules): Append the given
  17352. additional web extensions directory to the list of directories to
  17353. scan for modules.
  17354. (WebKit::WebGtkExtensionManager::initialize): Get the additional
  17355. web extensions directory from initialization user data and pass it
  17356. to scanModules().
  17357. * WebProcess/gtk/WebGtkExtensionManager.h:
  17358. (WebGtkExtensionManager): Add userData parameter.
  17359. * WebProcess/gtk/WebGtkInjectedBundleMain.cpp:
  17360. (WKBundleInitialize): Pass initialization user data to
  17361. WebGtkExtensionManager.
  17362. 2013-01-10 Huang Dongsung <luxtella@company100.net>
  17363. [Qt][EFL] Rename from xxxContentsScale() to xxxScale() in PageViewportController.
  17364. https://bugs.webkit.org/show_bug.cgi?id=106537
  17365. Reviewed by Kenneth Rohde Christiansen.
  17366. Rename 3 methods to match the terms of ViewportAttributes.
  17367. * UIProcess/API/qt/qwebkittest.cpp:
  17368. (QWebKitTest::viewport):
  17369. (QWebKitTest::contentsScale):
  17370. * UIProcess/PageViewportController.h:
  17371. (WebKit::PageViewportController::minimumScale):
  17372. (WebKit::PageViewportController::maximumScale):
  17373. (WebKit::PageViewportController::currentScale):
  17374. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  17375. (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
  17376. 2013-01-10 Michael Pruett <michael@68k.org>
  17377. [WK2] Set IndexedDB database path in WK2
  17378. https://bugs.webkit.org/show_bug.cgi?id=106257
  17379. Reviewed by Benjamin Poulain.
  17380. * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
  17381. (WebKit::WebKeyValueStorageManager::initialize):
  17382. * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
  17383. (WebKeyValueStorageManager):
  17384. (WebKit::WebKeyValueStorageManager::indexedDBDatabaseDirectory):
  17385. * WebProcess/WebPage/WebPageGroupProxy.cpp:
  17386. (WebKit::WebPageGroupProxy::WebPageGroupProxy):
  17387. 2013-01-10 Tim Horton <timothy_horton@apple.com>
  17388. Ensure that WebPageProxy's notion of pageScaleFactor is reset on didCommitLoad
  17389. https://bugs.webkit.org/show_bug.cgi?id=103290
  17390. <rdar://problem/12752467>
  17391. Reviewed by Darin Adler.
  17392. When a standard main frame load is committed, we reset the WebPage's
  17393. pageScaleFactor, if it's not the default. However, if the previous
  17394. page had a full-main-frame plugin that was handling page scaling itself,
  17395. WebPageProxy can have a cached pageScaleFactor != 1, while WebPage
  17396. now (since the plugin that was overriding (set)pageScaleFactor is gone)
  17397. has a pageScaleFactor of 1, causing us to skip the call to reset the
  17398. WebPage's pageScaleFactor.
  17399. Therefore, when WebPageProxy is notified that a standard main-frame load
  17400. is committed, reset its cached notion of the pageScaleFactor.
  17401. * UIProcess/WebPageProxy.cpp:
  17402. (WebKit::WebPageProxy::didCommitLoadForFrame): Add a parameter which corresponds to FrameLoadType, so we can
  17403. determine whether a frame load is of FrameLoadTypeStandard (which matches the check to reset page scale in
  17404. WebFrameLoaderClient::didCommitLoad), so we can reset m_pageScaleFactor.
  17405. * UIProcess/WebPageProxy.h:
  17406. (WebPageProxy): Add frameLoadType parameter to didCommitLoadForFrame.
  17407. * UIProcess/WebPageProxy.messages.in: Add frameLoadType parameter to didCommitLoadForFrame.
  17408. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  17409. (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): Pass frameLoadType parameter to didCommitLoadForFrame.
  17410. 2013-01-10 Tim Horton <timothy_horton@apple.com>
  17411. PDFPlugin: Cmd-/+ should affect PDF page scale
  17412. https://bugs.webkit.org/show_bug.cgi?id=103285
  17413. <rdar://problem/12710469>
  17414. Reviewed by Darin Adler.
  17415. Plugins which support handling page scale themselves should also handle
  17416. page zoom, as it is a very similar concept.
  17417. This patch disables text zoom in the case of a main-frame plugin which supports
  17418. page scale factor changes, as it is not needed in the PDFPlugin case
  17419. (we can't do text-only scale for PDF), but it could be added later if needed.
  17420. * UIProcess/WebPageProxy.cpp:
  17421. (WebKit::WebPageProxy::pageZoomFactorDidChange):
  17422. * UIProcess/WebPageProxy.h:
  17423. (WebPageProxy):
  17424. * UIProcess/WebPageProxy.messages.in:
  17425. Add WebPageProxy::pageZoomFactorDidChange, to notify WebPageProxy of
  17426. out-of-band page zoom factor changes (in this case, from PluginView).
  17427. * WebProcess/Plugins/PluginView.cpp:
  17428. (WebKit::PluginView::setPageScaleFactor):
  17429. Update WebPageProxy's notion of the current page zoom whenever PluginView
  17430. is notified of a page scale factor change.
  17431. * WebProcess/WebPage/WebPage.cpp:
  17432. (WebKit::WebPage::setTextZoomFactor): We don't support text zoom in plugins, but
  17433. we also don't want it to silently act on the Frame if we have a plugin that
  17434. purports to handle page scale itself. Return early if this is the case.
  17435. (WebKit::WebPage::pageZoomFactor): For plugins that support page scale factor,
  17436. we equate page scale and page zoom. Return the PluginView's page scale factor
  17437. in place of the Frame's page zoom factor.
  17438. (WebKit::WebPage::setPageZoomFactor): Make page zoom changes in the aforementioned
  17439. case affect the PluginView's page scale.
  17440. (WebKit::WebPage::setPageAndTextZoomFactors): Ditto.
  17441. 2013-01-10 Tim Horton <timothy_horton@apple.com>
  17442. PDFPlugin: Header cleanup
  17443. https://bugs.webkit.org/show_bug.cgi?id=106540
  17444. Reviewed by Andreas Kling.
  17445. * WebProcess/Plugins/PDF/PDFPlugin.mm: Remove some unneeded headers.
  17446. 2013-01-10 Zan Dobersek <zandobersek@gmail.com>
  17447. Remove the ENABLE_ANIMATION_API feature define occurences
  17448. https://bugs.webkit.org/show_bug.cgi?id=106544
  17449. Reviewed by Simon Fraser.
  17450. The Animation API code was removed in r137243. The ENABLE_ANIMATION_API
  17451. feature define handling still lingers in various build systems and configurations
  17452. but is of no use, so it should be removed.
  17453. * Configurations/FeatureDefines.xcconfig:
  17454. 2013-01-10 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  17455. [EFL][WK2] Contents gets blurry when page is scrolled down
  17456. https://bugs.webkit.org/show_bug.cgi?id=106545
  17457. Reviewed by Kenneth Rohde Christiansen.
  17458. The bound values for scrolling also should be pixel aligned, otherwise
  17459. it leads to page contents blurriness when the page is scrolled down.
  17460. * UIProcess/PageViewportController.cpp:
  17461. (WebKit::PageViewportController::pageDidRequestScroll):
  17462. 2013-01-10 Carlos Garcia Campos <cgarcia@igalia.com>
  17463. [GTK] Add support for loading web process extensions
  17464. https://bugs.webkit.org/show_bug.cgi?id=105631
  17465. Reviewed by Gustavo Noronha Silva.
  17466. * GNUmakefile.am: Link to libWebCoreDOM.la and build injected
  17467. bundle lib.
  17468. * GNUmakefile.list.am: Add new files to compilation.
  17469. * UIProcess/API/gtk/WebKitWebContext.cpp:
  17470. (injectedBundleDirectory): Helper funtion to get the injected
  17471. bundle directory.
  17472. (injectedBundleFilename): Helper funtion to get the injected undle
  17473. library full path.
  17474. (createDefaultWebContext): Create the WebContext with an injected
  17475. bundle path.
  17476. * UIProcess/API/gtk/WebKitWebView.cpp:
  17477. (webkit_web_view_get_page_id): Return the identifier of the web
  17478. page associated to the web view.
  17479. * UIProcess/API/gtk/WebKitWebView.h:
  17480. * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new chapter for
  17481. web extensions.
  17482. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
  17483. * UIProcess/API/gtk/docs/webkit2gtk.types: Add new types.
  17484. * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to compilation.
  17485. * UIProcess/API/gtk/tests/TestMain.cpp:
  17486. (main):
  17487. * UIProcess/API/gtk/tests/TestWebExtensions.cpp: Added.
  17488. (testWebExtension):
  17489. (beforeAll):
  17490. (afterAll):
  17491. * UIProcess/API/gtk/tests/WebExtensionTest.cpp: Added.
  17492. (methodCallCallback):
  17493. (webkit_web_extension_initialize):
  17494. * UIProcess/API/gtk/tests/WebKitTestBus.cpp: Added.
  17495. (WebKitTestBus::WebKitTestBus):
  17496. (WebKitTestBus::run):
  17497. (WebKitTestBus::~WebKitTestBus):
  17498. (WebKitTestBus::connection):
  17499. (onNameAppeared):
  17500. (WebKitTestBus::createProxy):
  17501. * UIProcess/API/gtk/tests/WebKitTestBus.h: Added.
  17502. (WebKitTestBus):
  17503. * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp: Added.
  17504. (_WebKitWebExtensionPrivate):
  17505. (webkitWebExtensionPageCreated): Create a WebKitWebPage for the
  17506. newly crated page and emit WebKitWebExtension::page-created
  17507. signals.
  17508. (webkitWebExtensionPageDestroy): Remove the page from the map.
  17509. (didCreatePage): Call webkitWebExtensionPageCreated().
  17510. (willDestroyPage): Call webkitWebExtensionPageDestroy().
  17511. (webkitWebExtensionCreate): Create a new WebKitWebExtension and
  17512. initialize the injected bundle client.
  17513. (webkit_web_extension_get_page): Return the WebKitWebPage for the
  17514. given page identifier.
  17515. * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.h: Added.
  17516. (_WebKitWebExtension):
  17517. (_WebKitWebExtensionClass):
  17518. * WebProcess/InjectedBundle/API/gtk/WebKitWebExtensionDefines.h: Added.
  17519. * WebProcess/InjectedBundle/API/gtk/WebKitWebExtensionPrivate.h: Added.
  17520. * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: Added.
  17521. (_WebKitWebPagePrivate):
  17522. (webkit_web_page_class_init):
  17523. (webkitWebPageCreate): Create a new WebKitWebPage.
  17524. (webkit_web_page_get_dom_document): Return the WebKitDOMDocument
  17525. loaded in the WebKitWebPage.
  17526. * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h: Added.
  17527. (_WebKitWebPage):
  17528. (_WebKitWebPageClass):
  17529. * WebProcess/InjectedBundle/API/gtk/WebKitWebPagePrivate.h: Added.
  17530. * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h: Added.
  17531. * WebProcess/gtk/WebGtkExtensionManager.cpp: Added.
  17532. (WebKit::WebGtkExtensionManager::shared): Return the global shared
  17533. instance.
  17534. (WebKit::WebGtkExtensionManager::WebGtkExtensionManager):
  17535. (WebKit::WebGtkExtensionManager::appendModuleDirectories): Add
  17536. directories to scan for modules.
  17537. (WebKit::WebGtkExtensionManager::scanModules): Scan for modules.
  17538. (WebKit::WebGtkExtensionManager::initialize): Load and initialize
  17539. the modules found.
  17540. * WebProcess/gtk/WebGtkExtensionManager.h: Added.
  17541. * WebProcess/gtk/WebGtkInjectedBundleMain.cpp: Added.
  17542. (WKBundleInitialize): Initialize WebGtkExtensionManager.
  17543. 2013-01-10 Huang Dongsung <luxtella@company100.net>
  17544. REGRESSION(r139189): pixel alignment must be performed in device units.
  17545. https://bugs.webkit.org/show_bug.cgi?id=106504
  17546. Reviewed by Kenneth Rohde Christiansen.
  17547. After r139189, pixel alignment is performed in UI units. If deviceScaleFactor is
  17548. fractional number, adjusted scroll position can blur non-composited layer.
  17549. * UIProcess/PageViewportController.cpp:
  17550. (WebKit::PageViewportController::pixelAlignedFloatPoint):
  17551. 2013-01-10 Arnaud Renevier <a.renevier@sisa.samsung.com>
  17552. [WK2] [Gtk] web inspector is not visible.
  17553. https://bugs.webkit.org/show_bug.cgi?id=106050
  17554. Reviewed by Carlos Garcia Campos.
  17555. Use webkitWebViewBaseAddWebInspector when adding web inspector to
  17556. webview in order to make webview aware of its existence.
  17557. Use gtk_container_add when adding web inspector wiew to its own window
  17558. because m_inspectorWindow is not a WebKitWebViewBase.
  17559. * UIProcess/gtk/WebInspectorProxyGtk.cpp:
  17560. (WebKit::WebInspectorProxy::createInspectorWindow):
  17561. (WebKit::WebInspectorProxy::platformAttach):
  17562. 2013-01-09 Seokju Kwon <seokju.kwon@gmail.com>
  17563. [WK2][EFL] Add guard around NativeWebTouchEvent
  17564. https://bugs.webkit.org/show_bug.cgi?id=105846
  17565. Reviewed by Benjamin Poulain.
  17566. Fix EFL build without TOUCH_EVENTS.
  17567. * Shared/efl/NativeWebTouchEventEfl.cpp: Add TOUCH_EVENTS guard.
  17568. 2013-01-09 Huang Dongsung <luxtella@company100.net>
  17569. Remove deviceScaleFactor argument in computeMinimumScaleFactorForContentContained().
  17570. https://bugs.webkit.org/show_bug.cgi?id=106500
  17571. Reviewed by Kenneth Rohde Christiansen.
  17572. deviceScaleFactor argument is not used after r139189.
  17573. * UIProcess/PageViewportController.cpp:
  17574. (WebKit::PageViewportController::updateMinimumScaleToFit):
  17575. 2013-01-09 Huang Dongsung <luxtella@company100.net>
  17576. [QT][EFL][WK2] Rename scale members in PageViewportController.
  17577. https://bugs.webkit.org/show_bug.cgi?id=106499
  17578. Reviewed by Kenneth Rohde Christiansen.
  17579. Rename from m_contentsScale to m_pageScaleFactor and from devicePixelRatio() to
  17580. deviceScaleFactor() to match terms of WebCore.
  17581. * UIProcess/API/qt/qwebkittest.cpp:
  17582. (QWebKitTest::devicePixelRatio):
  17583. * UIProcess/PageViewportController.cpp:
  17584. (WebKit::PageViewportController::PageViewportController):
  17585. (WebKit::PageViewportController::deviceScaleFactor):
  17586. (WebKit::PageViewportController::pixelAlignedFloatPoint):
  17587. (WebKit::PageViewportController::boundContentsPosition):
  17588. (WebKit::PageViewportController::didRenderFrame):
  17589. (WebKit::PageViewportController::didChangeContentsVisibility):
  17590. (WebKit::PageViewportController::syncVisibleContents):
  17591. (WebKit::PageViewportController::visibleContentsSize):
  17592. (WebKit::PageViewportController::applyScaleAfterRenderingContents):
  17593. (WebKit::PageViewportController::updateMinimumScaleToFit):
  17594. * UIProcess/PageViewportController.h:
  17595. (PageViewportController):
  17596. (WebKit::PageViewportController::currentContentsScale):
  17597. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  17598. (WebKit::PageViewportControllerClientEfl::updateViewportSize):
  17599. 2013-01-09 KyungTae Kim <ktf.kim@samsung.com>
  17600. [WK2][soup] Get rid of LocalTerminationDisabler
  17601. https://bugs.webkit.org/show_bug.cgi?id=106510
  17602. Unreviewed build fix.
  17603. With r139257(bug 106501), the LocalTerminationDisabler was removed from WebKit::ChildProcess.
  17604. So, it should be removed on setCookiePersistentStorage, too.
  17605. * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
  17606. (WebKit::WebCookieManager::setCookiePersistentStorage):
  17607. 2013-01-09 Alexey Proskuryakov <ap@apple.com>
  17608. [WK2] Get rid of LocalTerminationDisabler
  17609. https://bugs.webkit.org/show_bug.cgi?id=106501
  17610. Reviewed by Anders Carlsson.
  17611. LocalTerminationDisabler is no-op - termination timer can't fire inside its scope
  17612. even if not stopped.
  17613. * PluginProcess/PluginProcess.cpp:
  17614. (WebKit::PluginProcess::getSitesWithData):
  17615. (WebKit::PluginProcess::clearSiteData):
  17616. * Shared/ChildProcess.h:
  17617. * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
  17618. (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
  17619. (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
  17620. (WebKit::WebApplicationCacheManager::deleteAllEntries):
  17621. (WebKit::WebApplicationCacheManager::setAppCacheMaximumSize):
  17622. * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
  17623. (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
  17624. (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
  17625. (WebKit::WebKeyValueStorageManager::deleteAllEntries):
  17626. * WebProcess/MediaCache/WebMediaCacheManager.cpp:
  17627. (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache):
  17628. (WebKit::WebMediaCacheManager::clearCacheForHostname):
  17629. (WebKit::WebMediaCacheManager::clearCacheForAllHostnames):
  17630. * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
  17631. (WebKit::WebResourceCacheManager::getCacheOrigins):
  17632. (WebKit::WebResourceCacheManager::clearCacheForOrigin):
  17633. (WebKit::WebResourceCacheManager::clearCacheForAllOrigins):
  17634. * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
  17635. (WebKit::WebDatabaseManager::getDatabasesByOrigin):
  17636. (WebKit::WebDatabaseManager::getDatabaseOrigins):
  17637. (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
  17638. (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
  17639. (WebKit::WebDatabaseManager::deleteAllDatabases):
  17640. (WebKit::WebDatabaseManager::setQuotaForOrigin):
  17641. * WebProcess/WebProcess.cpp:
  17642. (WebKit::WebProcess::getSitesWithPluginData):
  17643. (WebKit::WebProcess::clearPluginSiteData):
  17644. 2013-01-09 Kiran Muppala <cmuppala@apple.com>
  17645. Add user defaults to override system proxy settings for NetworkProcess on Mac
  17646. https://bugs.webkit.org/show_bug.cgi?id=104197
  17647. Reviewed by Brady Eidson.
  17648. For internal testing and debugging, it is useful to have a defaults write to set the HTTP and HTTPS proxy specific to a
  17649. WebKit2 client application and not affect the system proxy settings on Mac.
  17650. * NetworkProcess/mac/NetworkProcessMac.mm:
  17651. (WebKit::overrideSystemProxies): Add helper method to parse proxy URLs and populate settings dictionary passed
  17652. to WKCFNetworkSetOverrideSystemProxySettings.
  17653. (WebKit::NetworkProcess::platformInitializeNetworkProcess): Call overrideSystemProxies if process creation parameters for
  17654. http proxy or https proxy is set.
  17655. * Shared/Network/NetworkProcessCreationParameters.cpp: Add httpProxy and httpsProxy process creation parameters on Mac.
  17656. (WebKit::NetworkProcessCreationParameters::encode):
  17657. (WebKit::NetworkProcessCreationParameters::decode):
  17658. * Shared/Network/NetworkProcessCreationParameters.h:
  17659. * UIProcess/mac/WebContextMac.mm:
  17660. (WebKit::WebContext::platformInitializeNetworkProcess): Initialize httpProxy and httpsProxy process creation parameters
  17661. based on the value of WebKit2HTTPProxyDefaultsKey and WebKit2HTTPSProxyDefaultsKey user default respectively.
  17662. 2013-01-09 Alexey Proskuryakov <ap@apple.com>
  17663. Local builds of NetworkProcess should have a process icon
  17664. https://bugs.webkit.org/show_bug.cgi?id=106489
  17665. Reviewed by Mark Rowe.
  17666. * Resources/WebKit.icns: Copied from Source/WebKit2/WebProcess/mac/WebKit.icns.
  17667. * WebProcess/mac/WebKit.icns: Removed.
  17668. Copied to a shared location. We don't have different icons, so just using WebKit one.
  17669. * Configurations/NetworkProcess.xcconfig:
  17670. * NetworkProcess/Info.plist:
  17671. * WebKit2.xcodeproj/project.pbxproj:
  17672. Same changes as for WebProcess.
  17673. 2013-01-09 Andras Becsi <andras.becsi@digia.com>
  17674. [Qt][WK2] Fix a typo in in the double-tap-to-zoom logic
  17675. Rubber-stamped by Csaba Osztrogonác.
  17676. The qMin for the upper boundary of the scale was accidentally
  17677. changed to qMax in r139189, change it back to fix the Qt API tests.
  17678. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  17679. (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
  17680. 2013-01-09 Andras Becsi <andras.becsi@digia.com>
  17681. [Qt][EFL][WK2] Remove redundant device pixel ratio adjustment from PageViewportController
  17682. https://bugs.webkit.org/show_bug.cgi?id=106355
  17683. Reviewed by Kenneth Rohde Christiansen.
  17684. Since r137597 Qt uses the device pixel ratio of the underlying
  17685. platform window as the device pixel ratio in WebCore.
  17686. The tiles are rendered with the effective scale (scale adjusted with
  17687. the device scale factor) and the projection matrix is also adjusted
  17688. with the device pixel ratio when painting.
  17689. As a result we can follow the same approach as QtQuick and all the
  17690. coordinates in PageViewportController need to be in device independent
  17691. pixels (UI pixels) thus we do no longer need to adjust with the device
  17692. pixel ratio when calculating the viewport attributes.
  17693. This simplifies the logic significantly and increases robustness,
  17694. but does not allow to set a custom device pixel ratio different from
  17695. the factor of the underlying platform (eg. for testing purposes).
  17696. This patch is conceptually a follow-up of r137597 and fixes layout
  17697. and canvas size on retina display.
  17698. * UIProcess/PageViewportController.cpp:
  17699. (WebKit::PageViewportController::PageViewportController):
  17700. (WebKit::PageViewportController::innerBoundedViewportScale):
  17701. (WebKit::PageViewportController::outerBoundedViewportScale):
  17702. (WebKit::PageViewportController::pixelAlignedFloatPoint):
  17703. (WebKit::PageViewportController::boundContentsPosition):
  17704. (WebKit::PageViewportController::didRenderFrame):
  17705. (WebKit::PageViewportController::pageTransitionViewportReady):
  17706. (WebKit::PageViewportController::didChangeContentsVisibility):
  17707. (WebKit::PageViewportController::syncVisibleContents):
  17708. (WebKit::PageViewportController::visibleContentsSize):
  17709. (WebKit::PageViewportController::applyScaleAfterRenderingContents):
  17710. (WebKit::PageViewportController::updateMinimumScaleToFit):
  17711. * UIProcess/PageViewportController.h:
  17712. (WebKit::PageViewportController::currentContentsScale):
  17713. (PageViewportController):
  17714. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  17715. (WebKit::PageViewportControllerClientEfl::updateViewportSize):
  17716. Adjust the viewport size with the device pixel ratio to keep previous
  17717. behaviour.
  17718. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  17719. (WebKit::PageViewportControllerClientQt::focusEditableArea):
  17720. (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
  17721. * UIProcess/qt/QtWebPageSGNode.cpp:
  17722. (WebKit::ContentsSGNode::clipRect):
  17723. * WebProcess/WebPage/WebPage.cpp:
  17724. (WebKit::WebPage::sendViewportAttributesChanged):
  17725. 2013-01-09 Carlos Garcia Campos <cgarcia@igalia.com>
  17726. Unreviewed. Fix make distcheck.
  17727. * GNUmakefile.list.am: Add missing headers.
  17728. 2013-01-08 Sam Weinig <sam@webkit.org>
  17729. Add Owners file.
  17730. * Owners: Added.
  17731. 2013-01-08 Anders Carlsson <andersca@apple.com>
  17732. Unbreak the world.
  17733. * WebProcess/com.apple.WebProcess.sb.in:
  17734. 2013-01-08 Anders Carlsson <andersca@apple.com>
  17735. Silence a sandbox violation
  17736. https://bugs.webkit.org/show_bug.cgi?id=106386
  17737. <rdar://problem/12976435>
  17738. Reviewed by Andreas Kling.
  17739. * WebProcess/com.apple.WebProcess.sb.in:
  17740. 2013-01-08 Sam Weinig <sam@webkit.org>
  17741. This should be camel case. Must remove to fix.
  17742. * OWNERS: Removed.
  17743. 2013-01-08 Alexey Proskuryakov <ap@apple.com>
  17744. <rdar://problem/12944813> Network process temporary and cache directories are not set correctly
  17745. Reviewed by Sam Weinig.
  17746. Set DIRHELPER_USER_DIR_SUFFIX, like we do for WebProcess. Also while in this function,
  17747. enabled sandbox-style file quarantine.
  17748. * NetworkProcess/mac/NetworkProcessMac.mm:
  17749. (WebKit::NetworkProcess::initializeSandbox):
  17750. 2013-01-08 Anders Carlsson <andersca@apple.com>
  17751. Use correct capitalization in service name
  17752. https://bugs.webkit.org/show_bug.cgi?id=106368
  17753. Reviewed by Andreas Kling.
  17754. * WebProcess/com.apple.WebProcess.sb.in:
  17755. 2013-01-08 Anders Carlsson <andersca@apple.com>
  17756. Tweak sandbox profile
  17757. https://bugs.webkit.org/show_bug.cgi?id=106362
  17758. <rdar://problem/12884745>
  17759. Reviewed by Sam Weinig.
  17760. * WebProcess/com.apple.WebProcess.sb.in:
  17761. Allow access to com.apple.CoreServices.launchservicesd.
  17762. 2013-01-08 Sam Weinig <sam@webkit.org>
  17763. Add OWNERS file.
  17764. * OWNERS: Added.
  17765. 2013-01-08 Mark Lam <mark.lam@apple.com>
  17766. Removed the need for the ProposedDatabase mechanism.
  17767. https://bugs.webkit.org/show_bug.cgi?id=106292.
  17768. Reviewed by Sam Weinig.
  17769. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  17770. (WebKit::WebChromeClient::exceededDatabaseQuota):
  17771. * WebProcess/WebCoreSupport/WebChromeClient.h:
  17772. (WebChromeClient):
  17773. 2013-01-08 Sam Weinig <sam@webkit.org>
  17774. Remove dead Connection members in ChildProcess subclasses (and their users)
  17775. https://bugs.webkit.org/show_bug.cgi?id=106347
  17776. <rdar://problem/12973955>
  17777. Reviewed by Alexey Proskuryakov.
  17778. This also fixes a crash when entering fullscreen with a plug-in.
  17779. * PluginProcess/PluginProcess.h:
  17780. Remove dead m_connection member.
  17781. * PluginProcess/mac/PluginProcessMac.mm:
  17782. (WebKit::PluginProcess::setModalWindowIsShowing):
  17783. (WebKit::PluginProcess::setFullscreenWindowIsShowing):
  17784. Replace use of m_connection, which is dead, with parentProcessConnection().
  17785. * SharedWorkerProcess/SharedWorkerProcess.h:
  17786. (SharedWorkerProcess):
  17787. Remove dead m_connection member.
  17788. * SharedWorkerProcess/SharedWorkerProcess.cpp:
  17789. (WebKit::SharedWorkerProcess::createWebProcessConnection):
  17790. Replace use of m_connection, which is dead, with parentProcessConnection().
  17791. 2013-01-07 Alexey Proskuryakov <ap@apple.com>
  17792. [WK2] NetworkProcess should have a Keychain shim
  17793. https://bugs.webkit.org/show_bug.cgi?id=106286
  17794. Reviewed by Sam Weinig.
  17795. Renamed WebProcessShim to SecItemShim. Use it with NetworkProcess, too.
  17796. * WebProcess/mac/SecItemShimLibrary.h: Copied from Source/WebKit2/WebProcess/mac/WebProcessShim.h.
  17797. * WebProcess/mac/SecItemShimLibrary.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessShim.mm.
  17798. This code lives in SecItemShim.dylib.
  17799. "Library" in the name is to avoid conflicting with SecItemShim class in WebKit2.
  17800. * Shared/mac/SecItemShim.cpp:
  17801. (WebKit::sendSecItemRequest):
  17802. (WebKit::SecItemShim::initialize):
  17803. * Shared/mac/SecItemShim.h:
  17804. Take a ChildProcess pointer at initialization instead of using using WebProcess::shared().
  17805. * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::addDYLDEnvironmentAdditions):
  17806. Use SecItemShim with NetworkProcess too.
  17807. * NetworkProcess/NetworkProcess.cpp:
  17808. (WebKit::NetworkProcess::initializeConnection):
  17809. * NetworkProcess/NetworkProcess.h:
  17810. * NetworkProcess/mac/NetworkProcessMac.mm:
  17811. (WebKit::NetworkProcess::platformInitializeNetworkProcess):
  17812. * UIProcess/Network/NetworkProcessProxy.cpp:
  17813. (WebKit::NetworkProcessProxy::didFinishLaunching):
  17814. * WebKit2.xcodeproj/project.pbxproj:
  17815. * WebProcess/WebProcess.cpp:
  17816. (WebKit::WebProcess::initializeConnection):
  17817. * WebProcess/mac/WebProcessMac.mm:
  17818. (WebKit::WebProcess::platformInitializeProcess):
  17819. * WebProcess/mac/WebProcessMainMac.mm:
  17820. (WebKit::WebProcessMainDelegate::doPreInitializationWork):
  17821. * WebProcess/mac/WebProcessServiceEntryPoints.mm:
  17822. (webProcessServiceMain):
  17823. (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
  17824. * WebProcess/mac/WebProcessShim.h: Removed.
  17825. * WebProcess/mac/WebProcessShim.mm: Removed.
  17826. * WebProcessService/Info.plist:
  17827. 2013-01-08 Kihong Kwon <kihong.kwon@samsung.com>
  17828. Add DeviceProximityController to support Device Proximity Events.
  17829. https://bugs.webkit.org/show_bug.cgi?id=97630
  17830. Reviewed by Hajime Morita.
  17831. Add initial WebDeviceProximityClient class which is inherited DeviceProximityClient.
  17832. But startUpdating and stopUpdating need to be implemented.
  17833. * CMakeLists.txt:
  17834. * WebProcess/WebCoreSupport/WebDeviceProximityClient.cpp: Added.
  17835. (WebKit):
  17836. (WebKit::WebDeviceProximityClient::WebDeviceProximityClient):
  17837. (WebKit::WebDeviceProximityClient::startUpdating):
  17838. (WebKit::WebDeviceProximityClient::stopUpdating):
  17839. (WebKit::WebDeviceProximityClient::hasLastData):
  17840. * WebProcess/WebCoreSupport/WebDeviceProximityClient.h: Added.
  17841. (WebKit):
  17842. (WebDeviceProximityClient):
  17843. (WebKit::WebDeviceProximityClient::~WebDeviceProximityClient):
  17844. * WebProcess/WebPage/WebPage.cpp:
  17845. (WebKit::WebPage::WebPage):
  17846. 2013-01-03 Sergio Villar Senin <svillar@igalia.com>
  17847. [GTK] Add WebP image support
  17848. https://bugs.webkit.org/show_bug.cgi?id=105915
  17849. Reviewed by Martin Robinson.
  17850. * GNUmakefile.am: link against WebP library.
  17851. 2013-01-08 Csaba Osztrogonác <ossy@webkit.org>
  17852. [Qt][Win] Unreviewed buildfix, partially revert
  17853. r139003, because Qt port still uses these files.
  17854. * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Added.
  17855. * Platform/CoreIPC/win/ConnectionWin.cpp: Added.
  17856. * Platform/win/SharedMemoryWin.cpp: Added.
  17857. * Platform/win/WorkQueueWin.cpp: Added.
  17858. 2013-01-07 Christophe Dumez <christophe.dumez@intel.com>
  17859. [CoordinatedGraphics] compositing/repaint/resize-repaint.html is failing
  17860. https://bugs.webkit.org/show_bug.cgi?id=104637
  17861. Reviewed by Noam Rosenthal.
  17862. r137526 attempted to fix excessive repainting when compositing layers
  17863. change size. However, the fix did not suffice for ports using Coordinated
  17864. Graphics because CoordinatedGraphicsLayer::setSize() was calling
  17865. setNeedsDisplay() causing a full repaint.
  17866. This patch removes the call to setNeedsDisplay() in
  17867. CoordinatedGraphicsLayer::setSize() so that we don't unconditionally
  17868. repaint CoordinatedGraphics layers when their size changes.
  17869. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  17870. (WebCore::CoordinatedGraphicsLayer::setSize):
  17871. 2013-01-07 Christophe Dumez <christophe.dumez@intel.com>
  17872. [CoordinatedGraphics] Support invalidation tracking for CoordinatedGraphicsLayer
  17873. https://bugs.webkit.org/show_bug.cgi?id=106002
  17874. Reviewed by Noam Rosenthal.
  17875. Add calls to addRepaintRect() to CoordinatedGraphicsLayer so that
  17876. we can track invalidation in the composited layer.
  17877. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  17878. (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
  17879. (WebCore::CoordinatedGraphicsLayer::setNeedsDisplay): Pass a FloatRect instead
  17880. of an IntRect to setNeedsDisplayInRect() since it is what it expects.
  17881. (WebCore::CoordinatedGraphicsLayer::setNeedsDisplayInRect):
  17882. 2013-01-07 Anders Carlsson <andersca@apple.com>
  17883. Remove PLATFORM(WIN) #ifdefs
  17884. https://bugs.webkit.org/show_bug.cgi?id=106279
  17885. Reviewed by Sam Weinig.
  17886. * Platform/CoreIPC/BinarySemaphore.cpp:
  17887. * Platform/CoreIPC/Connection.cpp:
  17888. (CoreIPC::Connection::waitForSyncReply):
  17889. * Platform/CoreIPC/Connection.h:
  17890. (Client):
  17891. * Platform/Module.cpp:
  17892. (WebKit::Module::Module):
  17893. * Platform/Module.h:
  17894. (Module):
  17895. * Platform/PlatformProcessIdentifier.h:
  17896. (WebKit):
  17897. * Shared/CommandLine.h:
  17898. (CommandLine):
  17899. * Shared/FontSmoothingLevel.h:
  17900. * Shared/LayerTreeContext.h:
  17901. (LayerTreeContext):
  17902. * Shared/NativeWebKeyboardEvent.h:
  17903. (NativeWebKeyboardEvent):
  17904. * Shared/NativeWebMouseEvent.h:
  17905. (NativeWebMouseEvent):
  17906. * Shared/NativeWebWheelEvent.h:
  17907. (NativeWebWheelEvent):
  17908. * Shared/PlatformPopupMenuData.cpp:
  17909. (WebKit::PlatformPopupMenuData::PlatformPopupMenuData):
  17910. (WebKit::PlatformPopupMenuData::encode):
  17911. (WebKit::PlatformPopupMenuData::decode):
  17912. * Shared/PlatformPopupMenuData.h:
  17913. (PlatformPopupMenuData):
  17914. * Shared/Plugins/PluginModuleInfo.h:
  17915. (PluginModuleInfo):
  17916. (WebKit::PluginModuleInfo::isolatedCopy):
  17917. * Shared/ShareableBitmap.h:
  17918. (ShareableBitmap):
  17919. * Shared/WebCoreArgumentCoders.h:
  17920. * Shared/WebEvent.h:
  17921. (WebMouseEvent):
  17922. * Shared/WebEventConversion.cpp:
  17923. (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
  17924. * Shared/WebMouseEvent.cpp:
  17925. (WebKit::WebMouseEvent::WebMouseEvent):
  17926. (WebKit::WebMouseEvent::encode):
  17927. (WebKit::WebMouseEvent::decode):
  17928. * Shared/WebPageCreationParameters.cpp:
  17929. (WebKit::WebPageCreationParameters::encode):
  17930. (WebKit::WebPageCreationParameters::decode):
  17931. * Shared/WebPageCreationParameters.h:
  17932. (WebPageCreationParameters):
  17933. * Shared/WebPreferencesStore.h:
  17934. (WebKit):
  17935. * Shared/WebProcessCreationParameters.cpp:
  17936. (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
  17937. (WebKit::WebProcessCreationParameters::encode):
  17938. (WebKit::WebProcessCreationParameters::decode):
  17939. * Shared/WebProcessCreationParameters.h:
  17940. (WebProcessCreationParameters):
  17941. * Shared/WebURLRequest.h:
  17942. * Shared/WebURLResponse.h:
  17943. * Shared/cg/ShareableBitmapCG.cpp:
  17944. (WebKit::ShareableBitmap::makeCGImageCopy):
  17945. * UIProcess/API/C/WKAPICast.h:
  17946. (WebKit::toFontSmoothingLevel):
  17947. (WebKit::toAPI):
  17948. * UIProcess/API/C/WKPage.cpp:
  17949. * UIProcess/BackingStore.h:
  17950. (BackingStore):
  17951. * UIProcess/PageClient.h:
  17952. (WebKit):
  17953. (PageClient):
  17954. * UIProcess/WebContext.cpp:
  17955. (WebKit::WebContext::WebContext):
  17956. * UIProcess/WebContext.h:
  17957. (WebContext):
  17958. * UIProcess/WebFullScreenManagerProxy.h:
  17959. (WebKit):
  17960. * UIProcess/WebInspectorProxy.cpp:
  17961. (WebKit::WebInspectorProxy::WebInspectorProxy):
  17962. * UIProcess/WebInspectorProxy.h:
  17963. (WebInspectorProxy):
  17964. * UIProcess/WebPageProxy.cpp:
  17965. (WebKit::WebPageProxy::performDragControllerAction):
  17966. (WebKit::WebPageProxy::didReceiveEvent):
  17967. (WebKit::WebPageProxy::creationParameters):
  17968. (WebKit):
  17969. * UIProcess/WebPageProxy.h:
  17970. (WebKit):
  17971. (WebPageProxy):
  17972. * UIProcess/WebPageProxy.messages.in:
  17973. * UIProcess/WebProcessProxy.h:
  17974. (WebProcessProxy):
  17975. * WebKit2Prefix.h:
  17976. * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
  17977. (WKBundleFrameCopyWebArchiveFilteringSubframes):
  17978. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  17979. (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
  17980. (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
  17981. * WebProcess/InjectedBundle/InjectedBundle.h:
  17982. (WebKit):
  17983. (InjectedBundle):
  17984. * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
  17985. (WebKit::NPN_GetValue):
  17986. * WebProcess/Plugins/Netscape/NetscapePlugin.h:
  17987. (NetscapePlugin):
  17988. * WebProcess/Plugins/PluginController.h:
  17989. (PluginController):
  17990. * WebProcess/Plugins/PluginView.cpp:
  17991. * WebProcess/Plugins/PluginView.h:
  17992. (PluginView):
  17993. * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
  17994. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  17995. (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
  17996. (WebKit::WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection):
  17997. (WebKit):
  17998. * WebProcess/WebCoreSupport/WebChromeClient.h:
  17999. (WebChromeClient):
  18000. * WebProcess/WebCoreSupport/WebDragClient.cpp:
  18001. (WebKit):
  18002. * WebProcess/WebCoreSupport/WebEditorClient.cpp:
  18003. (WebKit::WebEditorClient::respondToChangedSelection):
  18004. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  18005. (WebKit):
  18006. * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  18007. (WebFrameLoaderClient):
  18008. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  18009. * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
  18010. (WebKit::WebPopupMenu::updateFromElement):
  18011. * WebProcess/WebKitMain.cpp:
  18012. * WebProcess/WebPage/DrawingArea.h:
  18013. (WebKit):
  18014. (DrawingArea):
  18015. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  18016. (WebKit::DrawingAreaImpl::createGraphicsContext):
  18017. * WebProcess/WebPage/DrawingAreaImpl.h:
  18018. (DrawingAreaImpl):
  18019. * WebProcess/WebPage/LayerTreeHost.cpp:
  18020. (WebKit::LayerTreeHost::create):
  18021. * WebProcess/WebPage/LayerTreeHost.h:
  18022. (WebCore):
  18023. (WebKit):
  18024. (LayerTreeHost):
  18025. * WebProcess/WebPage/WebFrame.cpp:
  18026. (WebKit):
  18027. * WebProcess/WebPage/WebFrame.h:
  18028. (WebFrame):
  18029. * WebProcess/WebPage/WebPage.cpp:
  18030. (WebKit::WebPage::WebPage):
  18031. (WebKit::WebPage::installPageOverlay):
  18032. (WebKit::WebPage::uninstallPageOverlay):
  18033. (WebKit::WebPage::getWebArchiveOfFrame):
  18034. (WebKit):
  18035. * WebProcess/WebPage/WebPage.h:
  18036. (WebPage):
  18037. * WebProcess/WebPage/WebPage.messages.in:
  18038. * WebProcess/WebProcess.cpp:
  18039. (WebKit::WebProcess::initializeWebProcess):
  18040. (WebKit::WebProcess::ensurePrivateBrowsingSession):
  18041. (WebKit::WebProcess::destroyPrivateBrowsingSession):
  18042. * WebProcess/WebProcess.h:
  18043. (WebProcess):
  18044. * WebProcess/WebProcess.messages.in:
  18045. * config.h:
  18046. 2013-01-07 Alexey Proskuryakov <ap@apple.com>
  18047. [WK2] Delete more obsolete Keychain code
  18048. https://bugs.webkit.org/show_bug.cgi?id=106276
  18049. Reviewed by Sam Weinig.
  18050. Deleting dead code.
  18051. * Shared/mac/KeychainAttribute.cpp: Removed.
  18052. * Shared/mac/KeychainAttribute.h: Removed.
  18053. * WebKit2.xcodeproj/project.pbxproj:
  18054. 2013-01-07 Alexey Proskuryakov <ap@apple.com>
  18055. [WK2] Merge SecItemShimMethods files into SecItemShim
  18056. https://bugs.webkit.org/show_bug.cgi?id=106278
  18057. Reviewed by Anders Carlsson.
  18058. Now that we have a SecItemShim class, there is no reason to split implementation
  18059. into a separate file.
  18060. * Shared/mac/SecItemShim.cpp:
  18061. (WebKit::responseMap):
  18062. (WebKit::generateSecItemRequestID):
  18063. (WebKit::sendSecItemRequest):
  18064. (WebKit::webSecItemCopyMatching):
  18065. (WebKit::webSecItemAdd):
  18066. (WebKit::webSecItemUpdate):
  18067. (WebKit::webSecItemDelete):
  18068. (WebKit::SecItemShim::secItemResponse):
  18069. (WebKit::SecItemShim::install):
  18070. * WebKit2.xcodeproj/project.pbxproj:
  18071. * WebProcess/mac/SecItemShimMethods.h: Removed.
  18072. * WebProcess/mac/SecItemShimMethods.mm: Removed.
  18073. 2013-01-07 Ryosuke Niwa <rniwa@webkit.org>
  18074. Sorted the xcodeproj file.
  18075. * WebKit2.xcodeproj/project.pbxproj:
  18076. 2013-01-07 Alexey Proskuryakov <ap@apple.com>
  18077. [WK2] Make SecItemShim messages work with any process
  18078. https://bugs.webkit.org/show_bug.cgi?id=106269
  18079. Reviewed by Sam Weinig.
  18080. Add SecItemShim and SecItemShimProxy classes to manage message sending, and moved
  18081. relevant code from WebProcess(Proxy).
  18082. * DerivedSources.make:
  18083. * Platform/CoreIPC/MessageID.h:
  18084. * UIProcess/WebProcessProxy.cpp:
  18085. (WebKit::WebProcessProxy::didFinishLaunching):
  18086. * UIProcess/WebProcessProxy.h:
  18087. (WebProcessProxy):
  18088. * UIProcess/WebProcessProxy.messages.in:
  18089. * Shared/mac/SecItemShim.cpp: Added.
  18090. (WebKit::SecItemShim::shared):
  18091. (WebKit::SecItemShim::SecItemShim):
  18092. (WebKit::SecItemShim::secItemResponse):
  18093. (WebKit::SecItemShim::install):
  18094. (WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
  18095. * Shared/mac/SecItemShim.h: Added.
  18096. * Shared/mac/SecItemShim.messages.in: Added.
  18097. * UIProcess/mac/SecItemShimProxy.cpp: Added.
  18098. (WebKit::SecItemShimProxy::shared):
  18099. (WebKit::SecItemShimProxy::SecItemShimProxy):
  18100. (WebKit::handleSecItemRequest):
  18101. (WebKit::dispatchFunctionOnQueue):
  18102. (WebKit::SecItemShimProxy::secItemRequest):
  18103. (WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
  18104. * UIProcess/mac/SecItemShimProxy.h: Added.
  18105. * UIProcess/mac/SecItemShimProxy.messages.in: Added.
  18106. * UIProcess/mac/WebProcessProxyMac.mm:
  18107. * WebKit2.xcodeproj/project.pbxproj:
  18108. * WebProcess/WebProcess.cpp:
  18109. (WebKit::WebProcess::initializeConnection):
  18110. * WebProcess/WebProcess.h:
  18111. * WebProcess/WebProcess.messages.in:
  18112. * WebProcess/mac/SecItemShimMethods.mm:
  18113. (WebKit::sendSeqItemRequest):
  18114. * WebProcess/mac/WebProcessMac.mm:
  18115. (WebKit::WebProcess::platformInitializeProcess):
  18116. 2013-01-07 Anders Carlsson <andersca@apple.com>
  18117. Remove Windows files from WebKit2
  18118. https://bugs.webkit.org/show_bug.cgi?id=106264
  18119. Reviewed by Sam Weinig.
  18120. * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Removed.
  18121. * Platform/CoreIPC/win/ConnectionWin.cpp: Removed.
  18122. * Platform/win/ModuleWin.cpp: Removed.
  18123. * Platform/win/SharedMemoryWin.cpp: Removed.
  18124. * Platform/win/WorkQueueWin.cpp: Removed.
  18125. * Shared/API/c/win/WKBaseWin.h: Removed.
  18126. * Shared/API/c/win/WKCertificateInfoWin.cpp: Removed.
  18127. * Shared/API/c/win/WKCertificateInfoWin.h: Removed.
  18128. * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Removed.
  18129. * Shared/cg/win/ShareableBitmapCGWin.cpp: Removed.
  18130. * Shared/win/CoalescedWindowGeometriesUpdater.cpp: Removed.
  18131. * Shared/win/CoalescedWindowGeometriesUpdater.h: Removed.
  18132. * Shared/win/CommandLineWin.cpp: Removed.
  18133. * Shared/win/LayerTreeContextWin.cpp: Removed.
  18134. * Shared/win/NativeWebKeyboardEventWin.cpp: Removed.
  18135. * Shared/win/NativeWebMouseEventWin.cpp: Removed.
  18136. * Shared/win/NativeWebWheelEventWin.cpp: Removed.
  18137. * Shared/win/PlatformCertificateInfo.cpp: Removed.
  18138. * Shared/win/PlatformCertificateInfo.h: Removed.
  18139. * Shared/win/ShareableBitmapWin.cpp: Removed.
  18140. * Shared/win/WebCoreArgumentCodersWin.cpp: Removed.
  18141. * Shared/win/WebEventFactory.cpp: Removed.
  18142. * Shared/win/WebEventFactory.h: Removed.
  18143. * Shared/win/WebKitBundle.cpp: Removed.
  18144. * Shared/win/WebKitBundle.h: Removed.
  18145. * Shared/win/WebURLRequestWin.cpp: Removed.
  18146. * Shared/win/WebURLResponseWin.cpp: Removed.
  18147. * Shared/win/WindowGeometry.cpp: Removed.
  18148. * Shared/win/WindowGeometry.h: Removed.
  18149. * UIProcess/API/C/win/WKAPICastWin.h: Removed.
  18150. * UIProcess/API/C/win/WKContextPrivateWin.h: Removed.
  18151. * UIProcess/API/C/win/WKContextWin.cpp: Removed.
  18152. * UIProcess/API/C/win/WKView.cpp: Removed.
  18153. * UIProcess/API/C/win/WKView.h: Removed.
  18154. * UIProcess/API/C/win/WKViewPrivate.cpp: Removed.
  18155. * UIProcess/API/C/win/WKViewPrivate.h: Removed.
  18156. * UIProcess/Launcher/win/ProcessLauncherWin.cpp: Removed.
  18157. * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: Removed.
  18158. * UIProcess/win/BackingStoreWin.cpp: Removed.
  18159. * UIProcess/win/TextCheckerWin.cpp: Removed.
  18160. * UIProcess/win/WebContextMenuProxyWin.cpp: Removed.
  18161. * UIProcess/win/WebContextMenuProxyWin.h: Removed.
  18162. * UIProcess/win/WebContextWin.cpp: Removed.
  18163. * UIProcess/win/WebFullScreenManagerProxyWin.cpp: Removed.
  18164. * UIProcess/win/WebInspectorProxyWin.cpp: Removed.
  18165. * UIProcess/win/WebPageProxyWin.cpp: Removed.
  18166. * UIProcess/win/WebPopupMenuProxyWin.cpp: Removed.
  18167. * UIProcess/win/WebPopupMenuProxyWin.h: Removed.
  18168. * UIProcess/win/WebProcessProxyWin.cpp: Removed.
  18169. * UIProcess/win/WebUndoClient.cpp: Removed.
  18170. * UIProcess/win/WebUndoClient.h: Removed.
  18171. * UIProcess/win/WebView.cpp: Removed.
  18172. * UIProcess/win/WebView.h: Removed.
  18173. * WebProcess/Downloads/cf/win/DownloadCFWin.cpp: Removed.
  18174. * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.cpp: Removed.
  18175. * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.h: Removed.
  18176. * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: Removed.
  18177. * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: Removed.
  18178. * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp: Removed.
  18179. * WebProcess/WebCoreSupport/win/WebDragClientWin.cpp: Removed.
  18180. * WebProcess/WebCoreSupport/win/WebDragSource.cpp: Removed.
  18181. * WebProcess/WebCoreSupport/win/WebDragSource.h: Removed.
  18182. * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: Removed.
  18183. * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp: Removed.
  18184. * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h: Removed.
  18185. * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Removed.
  18186. * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp: Removed.
  18187. * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Removed.
  18188. * WebProcess/WebPage/ca/win/WKCACFViewWindow.cpp: Removed.
  18189. * WebProcess/WebPage/ca/win/WKCACFViewWindow.h: Removed.
  18190. * WebProcess/WebPage/win/DrawingAreaImplWin.cpp: Removed.
  18191. * WebProcess/WebPage/win/LayerTreeHostWin.cpp: Removed.
  18192. * WebProcess/WebPage/win/WebInspectorWin.cpp: Removed.
  18193. * WebProcess/WebPage/win/WebPageWin.cpp: Removed.
  18194. * WebProcess/win/WebProcessMainWin.cpp: Removed.
  18195. * WebProcess/win/WebProcessWin.cpp: Removed.
  18196. 2013-01-07 Xianzhu Wang <wangxianzhu@chromium.org>
  18197. Add window.internals.nonFastScrollableRects for testing scrollable areas in fast/slow paths
  18198. https://bugs.webkit.org/show_bug.cgi?id=105546
  18199. Reviewed by James Robinson.
  18200. Export the new symbol.
  18201. * win/WebKit2.def.in:
  18202. 2013-01-07 Mike West <mkwst@chromium.org>
  18203. Make the IFRAME_SEAMLESS flag runtime-enabled.
  18204. https://bugs.webkit.org/show_bug.cgi?id=106213
  18205. Reviewed by Ojan Vafai.
  18206. * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
  18207. (WKBundleSetSeamlessIFramesEnabled):
  18208. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  18209. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  18210. (WebKit::InjectedBundle::setSeamlessIFramesEnabled):
  18211. (WebKit):
  18212. * WebProcess/InjectedBundle/InjectedBundle.h:
  18213. (InjectedBundle):
  18214. Add a toggle for seamless IFrames to InjectedBundle, and set it to
  18215. true when beginning testing.
  18216. 2013-01-07 Alexey Proskuryakov <ap@apple.com>
  18217. [WK2] Remove more obsolete shim code
  18218. https://bugs.webkit.org/show_bug.cgi?id=106248
  18219. Reviewed by Anders Carlsson.
  18220. Removing KeychainItemShimCallbacks, and SecItemRequestData::CopyContent, which was
  18221. only needed for that obsolete version of shim.
  18222. We now use WebProcessSecItemShimCallbacks.
  18223. * Shared/mac/SecItemRequestData.h:
  18224. * UIProcess/mac/WebProcessProxyMac.mm:
  18225. (WebKit::handleSecItemRequest):
  18226. * WebProcess/mac/WebProcessShim.h:
  18227. 2013-01-05 Sam Weinig <sam@webkit.org>
  18228. Merge child process main functions as much as possible
  18229. https://bugs.webkit.org/show_bug.cgi?id=106192
  18230. Reviewed by Anders Carlsson.
  18231. To reduce copied code, this merges the Mac main functions for the WebProcess,
  18232. NetworkProcess, PluginProcess, and SharedWorkerProcess. Since slight variations
  18233. are needed, it adds a delegate class for hooks into the main function that each
  18234. process can override if necessary.
  18235. * NetworkProcess/mac/NetworkProcessMainMac.mm:
  18236. (WebKit::NetworkProcessMain):
  18237. Remove almost everything with a call to ChildProcessMain with the default delegate.
  18238. * PluginProcess/mac/PluginProcessMac.mm:
  18239. (WebKit::PluginProcess::platformInitializeProcess):
  18240. Move defaults registration here from PluginProcessMainMac.
  18241. * PluginProcess/mac/PluginProcessMainMac.mm:
  18242. (PluginProcessMainDelegate):
  18243. Add a delegate for the new shared main function that does does PluginProcess
  18244. specific work.
  18245. (WebKit::PluginProcessMainDelegate::doPreInitializationWork):
  18246. Move DYLD_INSERT_LIBRARIES removal and createPluginMIMETypesPreferences special mode
  18247. to this pre-initialization hook.
  18248. (WebKit::PluginProcessMainDelegate::doPostRunWork):
  18249. Move private temporary and cache directories clean up to this post run hook.
  18250. (WebKit::PluginProcessMain):
  18251. Call the ChildProcessMain shared main function with the PluginProcess as the process
  18252. to initialize and PluginProcessMainDelegate as the main delegate.
  18253. * Shared/mac/ChildProcessMain.h: Added.
  18254. (ChildProcessMainDelegate):
  18255. ChildProcessMainDelegate is a helper class that process can subclass to hook into
  18256. the main function.
  18257. (WebKit::ChildProcessMain):
  18258. Add a single version of the "main" function that uses the ChildProcessMainDelegate to
  18259. allow processes to hook into it.
  18260. * Shared/mac/ChildProcessMain.mm:
  18261. (WebKit::ChildProcessMainDelegate::~ChildProcessMainDelegate):
  18262. (WebKit::ChildProcessMainDelegate::installSignalHandlers):
  18263. (WebKit::ChildProcessMainDelegate::doPreInitializationWork):
  18264. (WebKit::ChildProcessMainDelegate::getConnectionIdentifier):
  18265. (WebKit::ChildProcessMainDelegate::getClientIdentifier):
  18266. (WebKit::ChildProcessMainDelegate::getClientProcessName):
  18267. (WebKit::ChildProcessMainDelegate::doPostRunWork):
  18268. Add default implementations of the delegate hooks, most processes should be able to
  18269. use the defaults.
  18270. * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
  18271. (WebKit::SharedWorkerProcessMain):
  18272. Remove almost everything with a call to ChildProcessMain with the default delegate.
  18273. * WebKit2.xcodeproj/project.pbxproj:
  18274. Add new files.
  18275. * WebProcess/mac/WebProcessMainMac.mm:
  18276. (WebProcessMainDelegate):
  18277. Add a delegate for the new shared main function that does does WebProcess
  18278. specific work.
  18279. (WebKit::WebProcessMainDelegate::doPreInitializationWork):
  18280. Move DYLD_INSERT_LIBRARIES removal to this this pre-initialization hook.
  18281. (WebKit::WebProcessMainDelegate::getConnectionIdentifier):
  18282. A custom getConnectionIdentifier is necessary for the WebProcess to keep support for having the WebProcess
  18283. be able to launch the UIProcess (for debugging purposes).
  18284. (WebKit::WebProcessMainDelegate::getClientIdentifier):
  18285. For the same reasons as about, a custom getClientIdentifier is needed.
  18286. (WebKit::WebProcessMain):
  18287. Call the ChildProcessMain shared main function with the WebProcess as the process
  18288. to initialize and WebProcessMainDelegate as the main delegate.
  18289. 2013-01-07 Simon Fraser <simon.fraser@apple.com>
  18290. Make WKViews work when layer-backed
  18291. https://bugs.webkit.org/show_bug.cgi?id=106166
  18292. Reviewed by Sam Weinig.
  18293. When not in TileCache mode, WebKit2 views had redraw problems on scrolling,
  18294. if layer-backed.
  18295. The issue is that the DrawingAreaProxy code tries to optimize scrolling by
  18296. calling -scrollRect:by: on the WKView (an NSView) to copy bits, rather than
  18297. repainting the entire view. However, -scrollRect:by: does nothing for NSViews
  18298. that have layers.
  18299. Fix by plumbing through a canScrollView() function which PageClientImpl()
  18300. implements, returning true if the view does not have layer backing.
  18301. When canScrollView() is false, DrawingAreaProxyImpl::incorporateUpdate()
  18302. dirties the entire view.
  18303. * UIProcess/API/gtk/PageClientImpl.h:
  18304. (WebKit::PageClientImpl::canScrollView):
  18305. * UIProcess/API/mac/PageClientImpl.h:
  18306. (PageClientImpl):
  18307. * UIProcess/API/mac/PageClientImpl.mm:
  18308. (WebKit::PageClientImpl::canScrollView):
  18309. * UIProcess/API/qt/raw/qrawwebview_p_p.h:
  18310. (QRawWebViewPrivate::canScrollView):
  18311. * UIProcess/DrawingAreaProxyImpl.cpp:
  18312. (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
  18313. * UIProcess/PageClient.h:
  18314. * UIProcess/WebPageProxy.cpp:
  18315. (WebKit::WebPageProxy::canScrollView):
  18316. * UIProcess/WebPageProxy.h:
  18317. * UIProcess/efl/PageClientBase.h:
  18318. (WebKit::PageClientBase::canScrollView):
  18319. * UIProcess/qt/QtPageClient.h:
  18320. (WebKit::QtPageClient::canScrollView):
  18321. * UIProcess/win/WebView.h:
  18322. (WebKit::WebView::canScrollView):
  18323. 2013-01-04 Sam Weinig <sam@webkit.org>
  18324. Remove WebProcessInitialization and NetworkProcessInitialization by putting the rest of initialization in ChildProcess derived classes
  18325. https://bugs.webkit.org/show_bug.cgi?id=106163
  18326. Reviewed by Darin Adler.
  18327. Adds ChildProcess::initializeProcessName() and the catchall ChildProcess::initializeProcess()
  18328. as the last pieces to have all the initialization from WebProcessInitialization and NetworkProcessInitialization
  18329. captured in ChildProcess and derived classes.
  18330. * NetworkProcess/NetworkProcess.cpp:
  18331. (WebKit::NetworkProcess::initializeProcessName):
  18332. (WebKit::NetworkProcess::initializeSandbox):
  18333. * NetworkProcess/NetworkProcess.h:
  18334. (NetworkProcess):
  18335. * NetworkProcess/mac/NetworkProcessInitialization.h: Removed.
  18336. * NetworkProcess/mac/NetworkProcessInitialization.mm: Removed.
  18337. * NetworkProcess/mac/NetworkProcessMac.mm:
  18338. (WebKit::NetworkProcess::initializeProcessName):
  18339. (WebKit::NetworkProcess::initializeSandbox):
  18340. * NetworkProcess/mac/NetworkProcessMainMac.mm:
  18341. (WebKit::NetworkProcessMain):
  18342. * PluginProcess/PluginProcess.cpp:
  18343. (WebKit::PluginProcess::initializeProcess):
  18344. * PluginProcess/PluginProcess.h:
  18345. (PluginProcess):
  18346. * PluginProcess/mac/PluginProcessMac.mm:
  18347. (WebKit::PluginProcess::platformInitializeProcess):
  18348. * PluginProcess/mac/PluginProcessMainMac.mm:
  18349. (WebKit::PluginProcessMain):
  18350. * PluginProcess/qt/PluginProcessQt.cpp:
  18351. (WebKit::PluginProcess::platformInitializeProcess):
  18352. (WebKit::PluginProcess::platformInitializePluginProcess):
  18353. * PluginProcess/unix/PluginProcessUnix.cpp:
  18354. (WebKit::PluginProcess::platformInitializeProcess):
  18355. * Shared/ChildProcess.cpp:
  18356. (WebKit::ChildProcess::initialize):
  18357. (WebKit::ChildProcess::initializeProcess):
  18358. (WebKit::ChildProcess::initializeProcessName):
  18359. (WebKit::ChildProcess::initializeSandbox):
  18360. (WebKit::ChildProcess::initializeConnection):
  18361. * Shared/ChildProcess.h:
  18362. (ChildProcess):
  18363. * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
  18364. (WebKit::SharedWorkerProcessMain):
  18365. * WebKit2.xcodeproj/project.pbxproj:
  18366. * WebProcess/WebProcess.cpp:
  18367. (WebKit::WebProcess::initializeProcess):
  18368. (WebKit::WebProcess::initializeProcessName):
  18369. (WebKit::WebProcess::initializeSandbox):
  18370. * WebProcess/WebProcess.h:
  18371. (WebProcess):
  18372. * WebProcess/mac/WebProcessInitialization.h: Removed.
  18373. * WebProcess/mac/WebProcessInitialization.mm: Removed.
  18374. * WebProcess/mac/WebProcessMac.mm:
  18375. (WebKit::WebProcess::initializeSandbox):
  18376. (WebKit::WebProcess::initializeProcessName):
  18377. (WebKit::WebProcess::platformInitializeProcess):
  18378. * WebProcess/mac/WebProcessMainMac.mm:
  18379. (WebKit::WebProcessMain):
  18380. * WebProcess/mac/WebProcessServiceEntryPoints.mm:
  18381. (WebKit::WebProcessServiceEventHandler):
  18382. (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
  18383. 2013-01-04 Sam Weinig <sam@webkit.org>
  18384. Fix failing API test.
  18385. * WebProcess/WebProcess.cpp:
  18386. (WebKit::WebProcess::initializeConnection):
  18387. (WebKit::WebProcess::initializeWebProcess):
  18388. The WebConnectionToUIProcess needs to be initialized before the injected bundle is,
  18389. so that if the user tries to use it, its there.
  18390. 2013-01-04 Sam Weinig <sam@webkit.org>
  18391. Consolidate all the one time initialization functions into a single InitializeWebKit2() super function
  18392. https://bugs.webkit.org/show_bug.cgi?id=106161
  18393. Reviewed by Simon Fraser.
  18394. Adds InitializeWebKit2 and uses it.
  18395. * CMakeLists.txt:
  18396. * GNUmakefile.list.am:
  18397. * NetworkProcess/NetworkProcess.cpp:
  18398. (WebKit::NetworkProcess::initializeNetworkProcess):
  18399. * NetworkProcess/mac/NetworkProcessInitialization.mm:
  18400. (WebKit::initializeNetworkProcess):
  18401. * PluginProcess/mac/PluginProcessMainMac.mm:
  18402. (WebKit::PluginProcessMain):
  18403. * Shared/WebKit2Initialize.cpp: Copied from Source/WebKit2/NetworkProcess/mac/NetworkProcessInitialization.mm.
  18404. (WebKit::InitializeWebKit2):
  18405. * Shared/WebKit2Initialize.h: Copied from Source/WebKit2/NetworkProcess/mac/NetworkProcessInitialization.mm.
  18406. (WebKit):
  18407. * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
  18408. (WebKit::SharedWorkerProcessMain):
  18409. * Target.pri:
  18410. * WebKit2.xcodeproj/project.pbxproj:
  18411. * WebProcess/WebProcess.cpp:
  18412. (WebKit::WebProcess::WebProcess):
  18413. * WebProcess/mac/WebProcessInitialization.mm:
  18414. (WebKit::initializeWebProcess):
  18415. 2013-01-04 Sam Weinig <sam@webkit.org>
  18416. Follow up to https://bugs.webkit.org/show_bug.cgi?id=106144, fixing some
  18417. of Alexey's review comments.
  18418. * NetworkProcess/NetworkProcess.cpp:
  18419. (WebKit::NetworkProcess::downloadProxyConnection):
  18420. (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
  18421. * PluginProcess/PluginProcess.cpp:
  18422. (WebKit::PluginProcess::createWebProcessConnection):
  18423. (WebKit::PluginProcess::getSitesWithData):
  18424. (WebKit::PluginProcess::clearSiteData):
  18425. * Shared/ChildProcess.h:
  18426. (WebKit::ChildProcess::parentProcessConnection):
  18427. * SharedWorkerProcess/SharedWorkerProcess.h:
  18428. * WebProcess/WebProcess.cpp:
  18429. (WebKit::WebProcess::downloadProxyConnection):
  18430. (WebKit::WebProcess::addVisitedLink):
  18431. (WebKit::WebProcess::removeWebFrame):
  18432. (WebKit::WebProcess::getSitesWithPluginData):
  18433. (WebKit::WebProcess::clearPluginSiteData):
  18434. (WebKit::WebProcess::addPlugInAutoStartOrigin):
  18435. (WebKit::WebProcess::plugInDidReceiveUserInteraction):
  18436. (WebKit::WebProcess::getWebCoreStatistics):
  18437. 2013-01-04 Sam Weinig <sam@webkit.org>
  18438. Consolidate process initialization in ChildProcess
  18439. https://bugs.webkit.org/show_bug.cgi?id=106144
  18440. Reviewed by Alexey Proskuryakov.
  18441. Consolidate more functionality down into ChildProcess.
  18442. * NetworkProcess/NetworkProcess.cpp:
  18443. (WebKit::NetworkProcess::didReceiveMessage):
  18444. (WebKit::NetworkProcess::didReceiveSyncMessage):
  18445. (WebKit::NetworkProcess::downloadProxyConnection):
  18446. (WebKit::NetworkProcess::initializeNetworkProcess):
  18447. (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
  18448. (WebKit::NetworkProcess::initializeSandbox):
  18449. * NetworkProcess/NetworkProcess.h:
  18450. * NetworkProcess/mac/NetworkProcessInitialization.h:
  18451. * NetworkProcess/mac/NetworkProcessInitialization.mm:
  18452. (WebKit::initializeNetworkProcess):
  18453. * NetworkProcess/mac/NetworkProcessMac.mm:
  18454. (WebKit::NetworkProcess::platformInitializeNetworkProcess):
  18455. * NetworkProcess/mac/NetworkProcessMainMac.mm:
  18456. (WebKit::NetworkProcessMain):
  18457. * PluginProcess/PluginProcess.cpp:
  18458. (WebKit::PluginProcess::PluginProcess):
  18459. (WebKit::PluginProcess::initializePluginProcess):
  18460. (WebKit::PluginProcess::createWebProcessConnection):
  18461. (WebKit::PluginProcess::getSitesWithData):
  18462. (WebKit::PluginProcess::clearSiteData):
  18463. * PluginProcess/PluginProcess.h:
  18464. (PluginProcess):
  18465. * PluginProcess/mac/PluginProcessMac.mm:
  18466. (WebKit::initializeShim):
  18467. (WebKit::initializeCocoaOverrides):
  18468. (WebKit::PluginProcess::platformInitialize):
  18469. (WebKit::PluginProcess::platformInitializePluginProcess):
  18470. * PluginProcess/mac/PluginProcessMainMac.mm:
  18471. (WebKit::PluginProcessMain):
  18472. * PluginProcess/qt/PluginProcessMainQt.cpp:
  18473. (WebKit::PluginProcessMain):
  18474. * PluginProcess/qt/PluginProcessQt.cpp:
  18475. (WebKit::PluginProcess::platformInitializePluginProcess):
  18476. * PluginProcess/unix/PluginProcessMainUnix.cpp:
  18477. (WebKit::PluginProcessMainUnix):
  18478. * PluginProcess/unix/PluginProcessUnix.cpp:
  18479. (WebKit::PluginProcess::platformInitializePluginProcess):
  18480. * Shared/ChildProcess.cpp:
  18481. (WebKit::ChildProcess::ChildProcess):
  18482. (WebKit::watchdogCallback):
  18483. (WebKit::didCloseOnConnectionWorkQueue):
  18484. (WebKit::ChildProcess::initialize):
  18485. (WebKit::ChildProcess::initializeConnection):
  18486. (WebKit::ChildProcess::initializeSandbox):
  18487. (WebKit::ChildProcess::terminate):
  18488. * Shared/ChildProcess.h:
  18489. (ChildProcessInitializationParameters):
  18490. (ChildProcess):
  18491. (WebKit::ChildProcess::connection):
  18492. (WebKit::ChildProcess::destinationID):
  18493. (WebKit::ChildProcess::messageReceiverMap):
  18494. * SharedWorkerProcess/SharedWorkerProcess.cpp:
  18495. (WebKit::SharedWorkerProcess::initializeSharedWorkerProcess):
  18496. * SharedWorkerProcess/SharedWorkerProcess.h:
  18497. (SharedWorkerProcess):
  18498. * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
  18499. (WebKit::SharedWorkerProcess::platformInitializeSharedWorkerProcess):
  18500. * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
  18501. (WebKit::SharedWorkerProcessMain):
  18502. * WebProcess/WebProcess.cpp:
  18503. (WebKit::WebProcess::initializeConnection):
  18504. (WebKit::WebProcess::downloadProxyConnection):
  18505. (WebKit::WebProcess::initializeWebProcess):
  18506. (WebKit::WebProcess::terminate):
  18507. (WebKit::WebProcess::didReceiveSyncMessage):
  18508. (WebKit::WebProcess::didReceiveMessage):
  18509. (WebKit::WebProcess::removeWebFrame):
  18510. (WebKit::WebProcess::initializeSandbox):
  18511. * WebProcess/WebProcess.h:
  18512. * WebProcess/efl/WebProcessMainEfl.cpp:
  18513. (WebKit::WebProcessMainEfl):
  18514. * WebProcess/gtk/WebProcessMainGtk.cpp:
  18515. (WebKit::WebProcessMainGtk):
  18516. * WebProcess/mac/WebProcessInitialization.h:
  18517. * WebProcess/mac/WebProcessInitialization.mm:
  18518. (WebKit::initializeWebProcess):
  18519. * WebProcess/mac/WebProcessMac.mm:
  18520. (WebKit::WebProcess::platformInitialize):
  18521. * WebProcess/mac/WebProcessMainMac.mm:
  18522. (WebKit::WebProcessMain):
  18523. * WebProcess/mac/WebProcessServiceEntryPoints.mm:
  18524. (WebKit::WebProcessServiceEventHandler):
  18525. (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
  18526. * WebProcess/qt/WebProcessMainQt.cpp:
  18527. (WebKit::WebProcessMainQt):
  18528. 2013-01-04 Tim Horton <timothy_horton@apple.com>
  18529. [wk2] Remove non-visible tiles from the layer tree
  18530. https://bugs.webkit.org/show_bug.cgi?id=106061
  18531. <rdar://problem/12761821>
  18532. Reviewed by Simon Fraser.
  18533. Add a setting to enable aggressive retention of TileCache tiles. If enabled,
  18534. TileCache will generally try to keep around all tiles. This setting is off by default.
  18535. * Shared/WebPreferencesStore.h:
  18536. * UIProcess/API/C/WKPreferences.cpp:
  18537. (WKPreferencesSetAggressiveTileRetentionEnabled):
  18538. (WKPreferencesGetAggressiveTileRetentionEnabled):
  18539. * UIProcess/API/C/WKPreferencesPrivate.h:
  18540. * WebProcess/WebPage/WebPage.cpp:
  18541. (WebKit::WebPage::updatePreferences):
  18542. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  18543. (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Forward the setting to the TiledBacking.
  18544. 2013-01-04 Sam Weinig <sam@webkit.org>
  18545. Make process initialization more uniform by renaming initialization methods and removing extraneous parameters
  18546. https://bugs.webkit.org/show_bug.cgi?id=106120
  18547. Reviewed by Brady Eidson.
  18548. Rename FooProcess::initialize() -> FooProcess::initializeConnection() and removes
  18549. the RunLoop parameter since it is always the same the as RunLoop::main().
  18550. * NetworkProcess/NetworkProcess.cpp:
  18551. (WebKit::NetworkProcess::initializeConnection):
  18552. * NetworkProcess/NetworkProcess.h:
  18553. (NetworkProcess):
  18554. * NetworkProcess/mac/NetworkProcessInitialization.mm:
  18555. (WebKit::initializeNetworkProcess):
  18556. * PluginProcess/PluginProcess.cpp:
  18557. (WebKit::PluginProcess::initializeConnection):
  18558. * PluginProcess/PluginProcess.h:
  18559. * PluginProcess/mac/PluginProcessMainMac.mm:
  18560. (WebKit::PluginProcessMain):
  18561. * PluginProcess/qt/PluginProcessMainQt.cpp:
  18562. (WebKit::PluginProcessMain):
  18563. * PluginProcess/unix/PluginProcessMainUnix.cpp:
  18564. (WebKit::PluginProcessMainUnix):
  18565. * SharedWorkerProcess/SharedWorkerProcess.cpp:
  18566. (WebKit::SharedWorkerProcess::initializeConnection):
  18567. * SharedWorkerProcess/SharedWorkerProcess.h:
  18568. (SharedWorkerProcess):
  18569. * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
  18570. (WebKit::SharedWorkerProcessMain):
  18571. 2013-01-04 Adam Klein <adamk@chromium.org>
  18572. Remove ENABLE_MUTATION_OBSERVERS #define
  18573. https://bugs.webkit.org/show_bug.cgi?id=105459
  18574. Reviewed by Ryosuke Niwa.
  18575. * Configurations/FeatureDefines.xcconfig:
  18576. 2013-01-04 Carlos Garcia Campos <cgarcia@igalia.com>
  18577. [WK2] [Gtk] crash when web inspector is attached, and window height is reduced.
  18578. https://bugs.webkit.org/show_bug.cgi?id=106052
  18579. Reviewed by Martin Robinson.
  18580. Do not allocate more size for the inspector view than its parent
  18581. size. Also make sure that the view size is always at least 1.
  18582. * UIProcess/API/gtk/WebKitWebViewBase.cpp:
  18583. (resizeWebKitWebViewBaseFromAllocation):
  18584. 2013-01-04 Carlos Garcia Campos <cgarcia@igalia.com>
  18585. [GTK][Qt] Make compositing messages async again
  18586. https://bugs.webkit.org/show_bug.cgi?id=106082
  18587. Reviewed by Simon Hausmann.
  18588. * UIProcess/WebPageProxy.cpp:
  18589. (WebKit::WebPageProxy::setComposition):
  18590. (WebKit::WebPageProxy::confirmComposition):
  18591. (WebKit::WebPageProxy::cancelComposition):
  18592. * WebProcess/WebPage/WebPage.cpp:
  18593. (WebKit::WebPage::confirmComposition):
  18594. (WebKit::WebPage::setComposition):
  18595. (WebKit::WebPage::cancelComposition):
  18596. * WebProcess/WebPage/WebPage.h:
  18597. (WebPage):
  18598. * WebProcess/WebPage/WebPage.messages.in:
  18599. 2013-01-04 Christophe Dumez <christophe.dumez@intel.com>
  18600. Regression(r138728): Causes crashes on the build bots
  18601. https://bugs.webkit.org/show_bug.cgi?id=106083
  18602. Reviewed by Simon Hausmann.
  18603. Update encodeTimingFunction() to encode the x/y members only
  18604. if the bezierPreset is set to custom. This is needed because
  18605. decodeTimingFunction() only decodes x/y members if the
  18606. bezierPreset is set to custom.
  18607. This fixes assertion hits on the debug build bots.
  18608. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  18609. (CoreIPC::encodeTimingFunction):
  18610. 2013-01-04 Carlos Garcia Campos <cgarcia@igalia.com>
  18611. [SOUP] Convert WebSoupRequestManagerProxy to be WebContextSupplement
  18612. https://bugs.webkit.org/show_bug.cgi?id=106012
  18613. Reviewed by Martin Robinson.
  18614. * UIProcess/API/C/soup/WKContextSoup.cpp:
  18615. (WKContextGetSoupRequestManager):
  18616. * UIProcess/API/gtk/WebKitWebContext.cpp:
  18617. (createDefaultWebContext):
  18618. * UIProcess/WebContext.cpp:
  18619. (WebKit::WebContext::WebContext):
  18620. (WebKit::WebContext::~WebContext):
  18621. (WebKit::WebContext::disconnectProcess):
  18622. * UIProcess/WebContext.h:
  18623. (WebKit):
  18624. (WebContext):
  18625. * UIProcess/WebPageProxy.cpp:
  18626. (WebKit::WebPageProxy::didReceiveURIRequest):
  18627. * UIProcess/efl/WebContextEfl.cpp:
  18628. (WebKit::WebContext::platformInitializeWebProcess):
  18629. * UIProcess/gtk/WebContextGtk.cpp:
  18630. (WebKit::WebContext::platformInitializeWebProcess):
  18631. * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
  18632. (WebKit::WebSoupRequestManagerProxy::supplementName):
  18633. (WebKit):
  18634. (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
  18635. (WebKit::WebSoupRequestManagerProxy::initializeClient):
  18636. (WebKit::WebSoupRequestManagerProxy::contextDestroyed):
  18637. (WebKit::WebSoupRequestManagerProxy::processDidClose):
  18638. (WebKit::WebSoupRequestManagerProxy::refWebContextSupplement):
  18639. (WebKit::WebSoupRequestManagerProxy::derefWebContextSupplement):
  18640. (WebKit::WebSoupRequestManagerProxy::registerURIScheme):
  18641. (WebKit::WebSoupRequestManagerProxy::didHandleURIRequest):
  18642. (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):
  18643. * UIProcess/soup/WebSoupRequestManagerProxy.h:
  18644. (WebSoupRequestManagerProxy):
  18645. 2013-01-04 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  18646. [EFL][WK2] Remove unneeded EwkViewImpl::informLoadCommitted()
  18647. https://bugs.webkit.org/show_bug.cgi?id=106010
  18648. Reviewed by Gyuyoung Kim.
  18649. Removed EwkViewImpl::informLoadCommitted() method to simplify the code.
  18650. * UIProcess/API/efl/EwkViewImpl.cpp:
  18651. * UIProcess/API/efl/EwkViewImpl.h:
  18652. * UIProcess/efl/PageClientBase.h:
  18653. (PageClientBase):
  18654. * UIProcess/efl/PageLoadClientEfl.cpp:
  18655. (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
  18656. 2013-01-03 Jon Lee <jonlee@apple.com>
  18657. REGRESSION(r138729): crash and assertion failures in WebKit::WebProcess::plugInDidReceiveUserInteraction
  18658. https://bugs.webkit.org/show_bug.cgi?id=106042
  18659. <rdar://problem/12953469>
  18660. Reviewed by Brady Eidson.
  18661. The assertion is hit if plugin snapshotting is disabled, and the user interacts with a plug-in that
  18662. comes from an origin not found in the cached dictionary. The proper fix is to check for whether the
  18663. setting is enabled. Otherwise, that origin should be in the dictionary since the plugin is running.
  18664. * WebProcess/Plugins/PluginView.cpp:
  18665. (WebKit::PluginView::pluginDidReceiveUserInteraction): Check for the setting, and avoid the whole code
  18666. path if snapshotting is disabled.
  18667. 2013-01-03 Roger Fong <roger_fong@apple.com>
  18668. Remove all traces of Windows from WebKit2 folder.
  18669. https://bugs.webkit.org/show_bug.cgi?id=105585.
  18670. Reviewed by Sam Weinig.
  18671. * win: Removed.
  18672. * win/MainWin.cpp: Removed.
  18673. * win/WebKit2.def.in: Removed.
  18674. * win/WebKit2.make: Removed.
  18675. * win/WebKit2.rc: Removed.
  18676. * win/WebKit2.submit.sln: Removed.
  18677. * win/WebKit2.vcproj: Removed.
  18678. * win/WebKit2Apple.vsprops: Removed.
  18679. * win/WebKit2CFLite.vsprops: Removed.
  18680. * win/WebKit2Common.vsprops: Removed.
  18681. * win/WebKit2Debug.vsprops: Removed.
  18682. * win/WebKit2DebugAll.vsprops: Removed.
  18683. * win/WebKit2DebugCairoCFLite.vsprops: Removed.
  18684. * win/WebKit2DirectX.vsprops: Removed.
  18685. * win/WebKit2ExportGenerator.vcproj: Removed.
  18686. * win/WebKit2ExportGeneratorBuildCmd.cmd: Removed.
  18687. * win/WebKit2ExportGeneratorCommon.vsprops: Removed.
  18688. * win/WebKit2ExportGeneratorDebug.vsprops: Removed.
  18689. * win/WebKit2ExportGeneratorDebugAll.vsprops: Removed.
  18690. * win/WebKit2ExportGeneratorDebugCairoCFLite.vsprops: Removed.
  18691. * win/WebKit2ExportGeneratorPostBuild.cmd: Removed.
  18692. * win/WebKit2ExportGeneratorPreBuild.cmd: Removed.
  18693. * win/WebKit2ExportGeneratorProduction.vsprops: Removed.
  18694. * win/WebKit2ExportGeneratorRelease.vsprops: Removed.
  18695. * win/WebKit2ExportGeneratorReleaseCairoCFLite.vsprops: Removed.
  18696. * win/WebKit2Generated.make: Removed.
  18697. * win/WebKit2Generated.vcproj: Removed.
  18698. * win/WebKit2GeneratedCommon.vsprops: Removed.
  18699. * win/WebKit2Production.vsprops: Removed.
  18700. * win/WebKit2Release.vsprops: Removed.
  18701. * win/WebKit2ReleaseCairoCFLite.vsprops: Removed.
  18702. * win/WebKit2WebProcess.resources: Removed.
  18703. * win/WebKit2WebProcess.resources/Info.plist: Removed.
  18704. * win/WebKit2WebProcess.vcproj: Removed.
  18705. * win/WebKit2WebProcessCommon.vsprops: Removed.
  18706. * win/WebKit2WebProcessDebug.vsprops: Removed.
  18707. * win/WebKit2WebProcessDebugAll.vsprops: Removed.
  18708. * win/WebKit2WebProcessDebugCairoCFLite.vsprops: Removed.
  18709. * win/WebKit2WebProcessPostBuild.cmd: Removed.
  18710. * win/WebKit2WebProcessPreBuild.cmd: Removed.
  18711. * win/WebKit2WebProcessProduction.vsprops: Removed.
  18712. * win/WebKit2WebProcessRelease.vsprops: Removed.
  18713. * win/WebKit2WebProcessReleaseCairoCFLite.vsprops: Removed.
  18714. * win/WebKitPostBuild.cmd: Removed.
  18715. * win/WebKitPreBuild.cmd: Removed.
  18716. * win/WebKitPreLink.cmd: Removed.
  18717. * win/build-generated-files.sh: Removed.
  18718. * win/deleteButton.png: Removed.
  18719. * win/deleteButtonPressed.png: Removed.
  18720. * win/fsVideoAudioVolumeHigh.png: Removed.
  18721. * win/fsVideoAudioVolumeLow.png: Removed.
  18722. * win/fsVideoExitFullscreen.png: Removed.
  18723. * win/fsVideoPause.png: Removed.
  18724. * win/fsVideoPlay.png: Removed.
  18725. * win/missingImage.png: Removed.
  18726. * win/nullplugin.png: Removed.
  18727. * win/panEastCursor.png: Removed.
  18728. * win/panIcon.png: Removed.
  18729. * win/panNorthCursor.png: Removed.
  18730. * win/panNorthEastCursor.png: Removed.
  18731. * win/panNorthWestCursor.png: Removed.
  18732. * win/panSouthCursor.png: Removed.
  18733. * win/panSouthEastCursor.png: Removed.
  18734. * win/panSouthWestCursor.png: Removed.
  18735. * win/panWestCursor.png: Removed.
  18736. * win/resource.h: Removed.
  18737. * win/searchCancel.png: Removed.
  18738. * win/searchCancelPressed.png: Removed.
  18739. * win/searchMagnifier.png: Removed.
  18740. * win/searchMagnifierResults.png: Removed.
  18741. * win/textAreaResizeCorner.png: Removed.
  18742. * win/verticalTextCursor.png: Removed.
  18743. * win/xcopy.excludes: Removed.
  18744. * win/zoomInCursor.png: Removed.
  18745. * win/zoomOutCursor.png: Removed.
  18746. 2013-01-03 Kiran Muppala <cmuppala@apple.com>
  18747. Ensure autorelease pool exists when calling WKNSProcessInfoProcessAssertionWithTypes on Mac
  18748. https://bugs.webkit.org/show_bug.cgi?id=105674
  18749. Reviewed by Sam Weinig.
  18750. The function WKNSProcessInfoProcessAssertionWithTypes returns a autoreleased object and since,
  18751. it is called during process initialization prior to the runloop being started in PluginProcess
  18752. and SharedWorkerProcess, an autorelease pool must be explictly created.
  18753. * PluginProcess/mac/PluginProcessMainMac.mm:
  18754. (WebKit::PluginProcessMain): Enclose process initialization code in an @autoreleasepool block.
  18755. * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
  18756. (WebKit::SharedWorkerProcessMain): Ditto.
  18757. 2013-01-03 Csaba Osztrogonác <ossy@webkit.org>
  18758. [Qt] Unreviewed debug buildfix after r138723.
  18759. * WebProcess/qt/QtBuiltinBundle.cpp:
  18760. 2013-01-02 Jon Lee <jonlee@apple.com>
  18761. Revert auto-start plugins to snapshotted plugins after a period of inactivity
  18762. https://bugs.webkit.org/show_bug.cgi?id=105973
  18763. <rdar://problem/12947865>
  18764. Reviewed by Brady Eidson.
  18765. Change the set of origin hashes maintained by the web process to a hash map that associates
  18766. a timestamp for each hash. If the plug-in's origin is marked for auto-start, we also check
  18767. it against the timestamp. If the time is later, then we consider the entry stale, and snapshot
  18768. the plug-in instead.
  18769. But, if the user interacts with the plug-in, we delay that expiration timestamp out, so that
  18770. it expires a month from first interaction. To avoid too much chatter between the web processes
  18771. and UI process, we only update the timestamp if a day a passed since the last change to the
  18772. timestamp.
  18773. * WebProcess/Plugins/PluginView.h:
  18774. (PluginView): Add a member variable to flag whether the user had interacted with the plug-in.
  18775. * WebProcess/Plugins/PluginView.cpp:
  18776. (WebKit::PluginView::PluginView): Initialize the flag to false.
  18777. (WebKit::PluginView::handleEvent): We consider mouse down, up, wheel, context menu, and keyboard
  18778. events as user interaction. Do not consider mouse enter, leave, and move events as user
  18779. interaction. Also, remove unneeded comments.
  18780. (WebKit::PluginView::pluginDidReceiveUserInteraction): If this is the first time the function is
  18781. called, tell the web process, so that the expiration timestamp can be updated.
  18782. * WebProcess/WebProcess.messages.in: Update the messages to include the expiration time.
  18783. * WebProcess/WebProcess.h:
  18784. (WebProcess): Update the cached copy of the auto-start origins to include their expiration
  18785. timestamps. Update the message signatures. Add a function to update the expiration timestamp
  18786. for a specific origin. Rename plugInAutoStartOriginsChanged to resetPlugInAutoStartOrigins.
  18787. * WebProcess/WebProcess.cpp:
  18788. (WebKit::WebProcess::initializeWebProcess): Instead of individually adding the origins in the
  18789. provided vector, just call resetPlugInAutoStartOrigins().
  18790. (WebKit::WebProcess::isPlugInAutoStartOrigin): Check to see if the origin is in the table, and if
  18791. so, check the current time against the expiration time.
  18792. (WebKit::WebProcess::didAddPlugInAutoStartOrigin): Update the cached table.
  18793. (WebKit::WebProcess::resetPlugInAutoStartOrigins): Swap the tables between the provided parameter
  18794. and the member variable. We can safely do this because the function is called in two cases where
  18795. the parameter is afterwards thrown away: when a new web process is created, and when it is called
  18796. through an IPC message.
  18797. (WebKit::WebProcess::plugInDidReceiveUserInteraction): When invoked, we tell the UI process to
  18798. update the expiration time for the given origin if the time difference between the expiration
  18799. time and the current time is less than the threshold plugInAutoStartExpirationTimeUpdateThreshold.
  18800. * UIProcess/WebContext.messages.in: Add message that is called when the web process wants to
  18801. update the expiration timestamp for the plug-in origin.
  18802. * UIProcess/WebContext.cpp:
  18803. (WebKit::WebContext::plugInDidReceiveUserInteraction): Forward to the provider.
  18804. * UIProcess/WebContext.h:
  18805. * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
  18806. (WebKit::expirationTimeFromNow): Returns a new time based on the current time + 1 month.
  18807. (WebKit::PlugInAutoStartProvider::addAutoStartOrigin): Refactor. Set the expiration time for the
  18808. added origin.
  18809. (WebKit::PlugInAutoStartProvider::autoStartOriginsCopy): Refactor.
  18810. (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy): Refactor to include the expiration
  18811. times. Also, check the current time against the expiration time. If we are past the time, remove
  18812. the entry from the copy.
  18813. (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): Refactor to extract and duplicate
  18814. the provided map of origins and expiration timestamps.
  18815. (WebKit::PlugInAutoStartProvider::didReceiveUserInteraction): Look for the origin hash. If found,
  18816. update the expiration time. Update all existing web processes with the new expiration time, and
  18817. tell the context client that the hashes have changed.
  18818. * UIProcess/Plugins/PlugInAutoStartProvider.h:
  18819. (PlugInAutoStartProvider): Change the m_autoStartHashes variable to a map of a hash to its domain
  18820. entry in the auto-start table. It is used to cross-reference the auto-start table and update
  18821. the origin's expiration time.
  18822. * Shared/WebProcessCreationParameters.h:
  18823. (WebProcessCreationParameters): Switch the creation parameter to seed the origin table to a map.
  18824. 2013-01-03 Alexis Menard <alexis@webkit.org>
  18825. Querying transition-timing-function value on the computed style does not return keywords when it should.
  18826. https://bugs.webkit.org/show_bug.cgi?id=105442
  18827. Reviewed by Simon Fraser.
  18828. Update the code to pass the animations from one process to another as
  18829. the constructor of TimingFunction changed to take an extra parameter
  18830. holding the type of the cubic-bezier form.
  18831. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  18832. (CoreIPC::encodeTimingFunction):
  18833. (CoreIPC::decodeTimingFunction):
  18834. 2013-01-03 Rik Cabanier <cabanier@adobe.com>
  18835. Canvas blending tests fail on Mac WK2
  18836. https://bugs.webkit.org/show_bug.cgi?id=105943
  18837. Reviewed by Simon Fraser.
  18838. CanvasUsesAcceleratedDrawing preference was not passed to the WebProcess.
  18839. * WebProcess/InjectedBundle/InjectedBundle.cpp: Adds support for CanvasUsesAcceleratedDrawing to WK2
  18840. (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
  18841. 2013-01-02 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
  18842. [Qt] Use WebPageProxy::postMessageToInjectedBundle when passing messages to a specific page in the builtin bundle
  18843. https://bugs.webkit.org/show_bug.cgi?id=105928
  18844. Reviewed by Simon Hausmann.
  18845. Simplify the code since we now can send the contents as is, instead of packaging it inside
  18846. an array that also contained the reference for the page. This was made possible after
  18847. r126311.
  18848. * UIProcess/API/qt/qquickwebview.cpp:
  18849. (QQuickWebViewPrivate::setNavigatorQtObjectEnabled):
  18850. (QQuickWebViewExperimental::postMessage):
  18851. Built the messages and used WebPageProxy::postMessageToInjectedBundle() directly.
  18852. * UIProcess/qt/QtWebContext.cpp: Removed functions that now are simpler and were inlined in
  18853. qquickwebview.cpp.
  18854. * UIProcess/qt/QtWebContext.h: Ditto.
  18855. * WebProcess/qt/QtBuiltinBundle.cpp:
  18856. (WebKit::QtBuiltinBundle::initialize): Used the callback that gets messages for specific
  18857. pages. Also changed the way we create the bundle client: now we fill the struct with zeros,
  18858. and then set the fields we care about. This way if another field is added to that client,
  18859. this code doesn't need to be changed.
  18860. (WebKit::QtBuiltinBundle::didReceiveMessageToPage):
  18861. (WebKit::QtBuiltinBundle::handleMessageToNavigatorQtObject): Changed to not read the page
  18862. reference from the message, since we get it in the callback already.
  18863. (WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled): Ditto.
  18864. * WebProcess/qt/QtBuiltinBundle.h:
  18865. (QtBuiltinBundle):
  18866. 2013-01-03 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  18867. [Qt] Fix a crash when the QQuickWebPage is destroyed between the scene graph sync and render.
  18868. https://bugs.webkit.org/show_bug.cgi?id=106018
  18869. Reviewed by Simon Hausmann.
  18870. The main and rendering threads are only guaranteed to be synchronised in
  18871. the updatePaintNode call. In every other cases, QQuickItems cannot be
  18872. safely accessed from the rendering thread.
  18873. Do as the first patch version in
  18874. https://bugs.webkit.org/show_bug.cgi?id=104574 was doing and copy the
  18875. ratio value directly to fix the issue.
  18876. Also add a note about the threading issue in QQuickWebPage::updatePaintNode.
  18877. * UIProcess/API/qt/qquickwebpage.cpp:
  18878. (QQuickWebPage::updatePaintNode):
  18879. * UIProcess/qt/QtWebPageSGNode.cpp:
  18880. (WebKit::QtWebPageSGNode::QtWebPageSGNode):
  18881. * UIProcess/qt/QtWebPageSGNode.h:
  18882. (QtWebPageSGNode):
  18883. (WebKit::QtWebPageSGNode::devicePixelRatio):
  18884. (WebKit::QtWebPageSGNode::setDevicePixelRatio):
  18885. 2013-01-02 Sam Weinig <sam@webkit.org>
  18886. Stop pretending its possible to run the WebProcess in threaded mode
  18887. https://bugs.webkit.org/show_bug.cgi?id=105969
  18888. Reviewed by Alexey Proskuryakov.
  18889. - Removes WebProcess::isSeparateProcess()
  18890. - Stop storing a RunLoop on the WebProcess and just use RunLoop::main().
  18891. * WebProcess/Network/NetworkProcessConnection.cpp:
  18892. (WebKit::NetworkProcessConnection::NetworkProcessConnection):
  18893. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
  18894. (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
  18895. * WebProcess/Plugins/PluginProcessConnection.cpp:
  18896. (WebKit::PluginProcessConnection::PluginProcessConnection):
  18897. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  18898. (WebKit::DrawingAreaImpl::DrawingAreaImpl):
  18899. * WebProcess/WebPage/PageOverlay.cpp:
  18900. (WebKit::PageOverlay::PageOverlay):
  18901. * WebProcess/WebPage/WebPage.cpp:
  18902. (WebKit::WebPage::WebPage):
  18903. (WebKit::WebPage::close):
  18904. * WebProcess/WebProcess.cpp:
  18905. (WebKit::WebProcess::initializeConnection):
  18906. (WebKit::WebProcess::shouldTerminate):
  18907. (WebKit::WebProcess::terminate):
  18908. (WebKit::WebProcess::didClose):
  18909. * WebProcess/WebProcess.h:
  18910. (WebProcess):
  18911. * WebProcess/efl/WebProcessMainEfl.cpp:
  18912. (WebKit::WebProcessMainEfl):
  18913. * WebProcess/gtk/WebProcessMainGtk.cpp:
  18914. (WebKit::WebProcessMainGtk):
  18915. * WebProcess/mac/WebProcessInitialization.mm:
  18916. (WebKit::initializeWebProcess):
  18917. * WebProcess/qt/WebProcessMainQt.cpp:
  18918. (WebKit::WebProcessMainQt):
  18919. * WebProcess/win/WebProcessMainWin.cpp:
  18920. (WebKit::WebProcessMain):
  18921. 2013-01-02 Sam Weinig <sam@webkit.org>
  18922. Factor out NetworkProcess initialization into its own function in preparation of adding a NetworkProcess service
  18923. https://bugs.webkit.org/show_bug.cgi?id=105946
  18924. Reviewed by Brady Eidson.
  18925. * NetworkProcess/NetworkProcess.h:
  18926. * NetworkProcess/mac/NetworkProcessInitialization.h: Added.
  18927. (NetworkProcessInitializationParameters):
  18928. * NetworkProcess/mac/NetworkProcessInitialization.mm: Added.
  18929. (WebKit::initializeNetworkProcess):
  18930. * NetworkProcess/mac/NetworkProcessMac.mm:
  18931. (WebKit::NetworkProcess::initializeSandbox):
  18932. (WebKit::NetworkProcess::platformInitialize):
  18933. * NetworkProcess/mac/NetworkProcessMainMac.mm:
  18934. (WebKit::NetworkProcessMain):
  18935. * WebKit2.xcodeproj/project.pbxproj:
  18936. 2013-01-02 Sheriff Bot <webkit.review.bot@gmail.com>
  18937. Unreviewed, rolling out r138403.
  18938. http://trac.webkit.org/changeset/138403
  18939. https://bugs.webkit.org/show_bug.cgi?id=105950
  18940. Fixing e138331 which was rolled out in r138403 (Requested by
  18941. rfong on #webkit).
  18942. * win/WebKit2.def.in:
  18943. 2013-01-02 Ryosuke Niwa <rniwa@webkit.org>
  18944. Yet another Windows build fix attempt. Try exporting more symbols.
  18945. * win/WebKit2.def.in:
  18946. 2013-01-02 Alexey Proskuryakov <ap@apple.com>
  18947. REGRESSION (r138464): Safari hangs when opening Privacy preferences
  18948. https://bugs.webkit.org/show_bug.cgi?id=105933
  18949. Reviewed by Sam Weinig.
  18950. Quick and dirty fix - added a special case for main thread. But I'm not sure if
  18951. dispatch_sync on main queue is really the best idiom here.
  18952. * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
  18953. (WebKit::getPluginInfoFromCarbonResources):
  18954. 2013-01-02 Ryosuke Niwa <rniwa@webkit.org>
  18955. Don't include a header that has been removed in r138413.
  18956. * WebProcess/win/WebProcessWin.cpp:
  18957. 2013-01-02 Carlos Garcia Campos <cgarcia@igalia.com>
  18958. [WK2] Rename SetFrameInViewSourceMode to SetMainFrameInViewSourceMode
  18959. https://bugs.webkit.org/show_bug.cgi?id=105885
  18960. Reviewed by Martin Robinson.
  18961. This way we don't depend on a WebFrameProxy and
  18962. webkit_web_view_set_view_mode() works even if the main frame proxy
  18963. hasn't been created yet.
  18964. * UIProcess/API/gtk/WebKitWebView.cpp:
  18965. (webkit_web_view_set_view_mode): Call
  18966. WebPageProxy::setMainFrameInViewSourceMode() directly.
  18967. * UIProcess/WebFrameProxy.cpp:
  18968. (WebKit::WebFrameProxy::WebFrameProxy): Remove
  18969. setInViewSourceMode().
  18970. * UIProcess/WebFrameProxy.h:
  18971. (WebFrameProxy):
  18972. * UIProcess/WebPageProxy.cpp:
  18973. (WebKit::WebPageProxy::setMainFrameInViewSourceMode):
  18974. * UIProcess/WebPageProxy.h:
  18975. (WebPageProxy):
  18976. * WebProcess/WebPage/WebPage.cpp:
  18977. (WebKit::WebPage::setMainFrameInViewSourceMode):
  18978. * WebProcess/WebPage/WebPage.h:
  18979. (WebPage):
  18980. * WebProcess/WebPage/WebPage.messages.in:
  18981. 2013-01-02 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
  18982. [Qt] Use WebPageGroup to create user scripts instead of Qt-specific function in WebPage
  18983. https://bugs.webkit.org/show_bug.cgi?id=105921
  18984. Reviewed by Simon Hausmann.
  18985. After r131281 the WebPageGroup.h (in UIProcess) exposes a way to add user scripts, so we can
  18986. use this directly to implement the user script functionality in Qt. The previous solution was
  18987. a Qt-port specific function in WebPage that can be removed now.
  18988. * UIProcess/API/qt/qquickwebview.cpp:
  18989. (QQuickWebViewPrivate::updateUserScripts): Use WebPageGroup functions to manipulate user scripts directly.
  18990. * UIProcess/WebPageProxy.h:
  18991. (WebPageProxy): Remove now unused function.
  18992. * UIProcess/qt/WebPageProxyQt.cpp: Ditto.
  18993. * WebProcess/WebPage/WebPage.messages.in: Ditto.
  18994. * WebProcess/WebPage/qt/WebPageQt.cpp: Remove now unused function and headers.
  18995. 2013-01-02 Heikki Paajanen <heikki.paajanen@palm.com>
  18996. [Qt][WK2] Add experimental API to find text from page
  18997. https://bugs.webkit.org/show_bug.cgi?id=96481
  18998. Reviewed by Jocelyn Turcotte.
  18999. Expose findString and PageFindClient provided functionality to QtQuick
  19000. applications.
  19001. * Target.pri:
  19002. * UIProcess/API/qt/qquickwebview.cpp:
  19003. (QQuickWebViewPrivate::initialize):
  19004. (QQuickWebViewExperimental::findText):
  19005. (QQuickWebViewPrivate::didFindString):
  19006. * UIProcess/API/qt/qquickwebview_p.h:
  19007. (WebKit):
  19008. * UIProcess/API/qt/qquickwebview_p_p.h:
  19009. (QQuickWebViewPrivate):
  19010. * UIProcess/API/qt/tests/qmltests/WebView/tst_findText.qml: Added.
  19011. * UIProcess/qt/QtWebPageFindClient.cpp: Added.
  19012. (WebKit):
  19013. (WebKit::QtWebPageFindClient::QtWebPageFindClient):
  19014. (WebKit::QtWebPageFindClient::didFindString):
  19015. (WebKit::toQtWebPageFindClient):
  19016. (WebKit::QtWebPageFindClient::didFailToFindString):
  19017. * UIProcess/qt/QtWebPageFindClient.h: Added.
  19018. (WebKit):
  19019. (QtWebPageFindClient):
  19020. 2013-01-02 Christophe Dumez <christophe.dumez@intel.com>
  19021. Regression(r138607): Causes crashes related to WebIconDatabase
  19022. https://bugs.webkit.org/show_bug.cgi?id=105909
  19023. Reviewed by Gyuyoung Kim.
  19024. Add back WebIconDatabase initialization statement
  19025. in WebContext constructor. It was removed in
  19026. r138607 and causing a lot of crashes on WebKit2.
  19027. * UIProcess/WebContext.cpp:
  19028. (WebKit::WebContext::WebContext):
  19029. 2012-12-31 Sam Weinig <sam@webkit.org>
  19030. Convert more classes to be WebContextSupplements
  19031. https://bugs.webkit.org/show_bug.cgi?id=105890
  19032. Reviewed by Dan Bernstein.
  19033. * UIProcess/API/C/WKContext.cpp:
  19034. (WKContextGetCookieManager):
  19035. (WKContextGetDatabaseManager):
  19036. (WKContextGetGeolocationManager):
  19037. (WKContextGetKeyValueStorageManager):
  19038. (WKContextGetMediaCacheManager):
  19039. (WKContextGetNotificationManager):
  19040. (WKContextGetResourceCacheManager):
  19041. * UIProcess/API/efl/ewk_context.cpp:
  19042. (EwkContext::cookieManager):
  19043. (EwkContext::clearResourceCache):
  19044. * UIProcess/API/efl/ewk_database_manager_private.h:
  19045. (EwkDatabaseManager::create):
  19046. * UIProcess/API/efl/ewk_storage_manager_private.h:
  19047. (EwkStorageManager::create):
  19048. * UIProcess/API/gtk/WebKitWebContext.cpp:
  19049. (createDefaultWebContext):
  19050. (webkit_web_context_clear_cache):
  19051. (webkit_web_context_get_cookie_manager):
  19052. * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
  19053. (WebKit::WebNotificationManagerProxy::supplementName):
  19054. (WebKit):
  19055. (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
  19056. (WebKit::WebNotificationManagerProxy::initializeProvider):
  19057. (WebKit::WebNotificationManagerProxy::contextDestroyed):
  19058. (WebKit::WebNotificationManagerProxy::processDidClose):
  19059. (WebKit::WebNotificationManagerProxy::refWebContextSupplement):
  19060. (WebKit::WebNotificationManagerProxy::derefWebContextSupplement):
  19061. (WebKit::WebNotificationManagerProxy::didReceiveMessage):
  19062. (WebKit::WebNotificationManagerProxy::providerDidShowNotification):
  19063. (WebKit::WebNotificationManagerProxy::providerDidClickNotification):
  19064. (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
  19065. (WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy):
  19066. (WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):
  19067. * UIProcess/Notifications/WebNotificationManagerProxy.h:
  19068. (WebNotificationManagerProxy):
  19069. * UIProcess/WebContext.cpp:
  19070. (WebKit::WebContext::WebContext):
  19071. (WebKit::WebContext::~WebContext):
  19072. (WebKit::WebContext::removeNetworkProcessProxy):
  19073. (WebKit::WebContext::createNewWebProcess):
  19074. (WebKit::WebContext::shouldTerminate):
  19075. (WebKit::WebContext::disconnectProcess):
  19076. * UIProcess/WebContext.h:
  19077. (WebKit):
  19078. (WebContext):
  19079. (WebKit::WebContext::iconDatabase):
  19080. * UIProcess/WebContextSupplement.h:
  19081. (WebKit):
  19082. (WebKit::WebContextSupplement::contextDestroyed):
  19083. (WebKit::WebContextSupplement::processDidClose):
  19084. (WebContextSupplement):
  19085. (WebKit::WebContextSupplement::shouldTerminate):
  19086. (WebKit::WebContextSupplement::ref):
  19087. (WebKit::WebContextSupplement::deref):
  19088. * UIProcess/WebCookieManagerProxy.cpp:
  19089. (WebKit::WebCookieManagerProxy::supplementName):
  19090. (WebKit):
  19091. (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
  19092. (WebKit::WebCookieManagerProxy::initializeClient):
  19093. (WebKit::WebCookieManagerProxy::contextDestroyed):
  19094. (WebKit::WebCookieManagerProxy::processDidClose):
  19095. (WebKit::WebCookieManagerProxy::shouldTerminate):
  19096. (WebKit::WebCookieManagerProxy::refWebContextSupplement):
  19097. (WebKit::WebCookieManagerProxy::derefWebContextSupplement):
  19098. (WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
  19099. (WebKit::WebCookieManagerProxy::deleteCookiesForHostname):
  19100. (WebKit::WebCookieManagerProxy::deleteAllCookies):
  19101. (WebKit::WebCookieManagerProxy::startObservingCookieChanges):
  19102. (WebKit::WebCookieManagerProxy::stopObservingCookieChanges):
  19103. (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
  19104. (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
  19105. * UIProcess/WebCookieManagerProxy.h:
  19106. (WebCookieManagerProxy):
  19107. * UIProcess/WebDatabaseManagerProxy.cpp:
  19108. (WebKit::WebDatabaseManagerProxy::supplementName):
  19109. (WebKit):
  19110. (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
  19111. (WebKit::WebDatabaseManagerProxy::initializeClient):
  19112. (WebKit::WebDatabaseManagerProxy::contextDestroyed):
  19113. (WebKit::WebDatabaseManagerProxy::processDidClose):
  19114. (WebKit::WebDatabaseManagerProxy::refWebContextSupplement):
  19115. (WebKit::WebDatabaseManagerProxy::derefWebContextSupplement):
  19116. (WebKit::WebDatabaseManagerProxy::didReceiveMessage):
  19117. (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
  19118. (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
  19119. (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
  19120. (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
  19121. (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
  19122. (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
  19123. * UIProcess/WebDatabaseManagerProxy.h:
  19124. (WebDatabaseManagerProxy):
  19125. * UIProcess/WebGeolocationManagerProxy.cpp:
  19126. (WebKit::WebGeolocationManagerProxy::supplementName):
  19127. (WebKit):
  19128. (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
  19129. (WebKit::WebGeolocationManagerProxy::initializeProvider):
  19130. (WebKit::WebGeolocationManagerProxy::contextDestroyed):
  19131. (WebKit::WebGeolocationManagerProxy::processDidClose):
  19132. (WebKit::WebGeolocationManagerProxy::refWebContextSupplement):
  19133. (WebKit::WebGeolocationManagerProxy::derefWebContextSupplement):
  19134. (WebKit::WebGeolocationManagerProxy::didReceiveMessage):
  19135. (WebKit::WebGeolocationManagerProxy::providerDidChangePosition):
  19136. (WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
  19137. * UIProcess/WebGeolocationManagerProxy.h:
  19138. (WebGeolocationManagerProxy):
  19139. * UIProcess/WebKeyValueStorageManagerProxy.cpp:
  19140. (WebKit::WebKeyValueStorageManagerProxy::supplementName):
  19141. (WebKit):
  19142. (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
  19143. (WebKit::WebKeyValueStorageManagerProxy::contextDestroyed):
  19144. (WebKit::WebKeyValueStorageManagerProxy::processDidClose):
  19145. (WebKit::WebKeyValueStorageManagerProxy::refWebContextSupplement):
  19146. (WebKit::WebKeyValueStorageManagerProxy::derefWebContextSupplement):
  19147. (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
  19148. (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
  19149. (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
  19150. * UIProcess/WebKeyValueStorageManagerProxy.h:
  19151. (WebKeyValueStorageManagerProxy):
  19152. * UIProcess/WebMediaCacheManagerProxy.cpp:
  19153. (WebKit::WebMediaCacheManagerProxy::supplementName):
  19154. (WebKit):
  19155. (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
  19156. (WebKit::WebMediaCacheManagerProxy::contextDestroyed):
  19157. (WebKit::WebMediaCacheManagerProxy::processDidClose):
  19158. (WebKit::WebMediaCacheManagerProxy::refWebContextSupplement):
  19159. (WebKit::WebMediaCacheManagerProxy::derefWebContextSupplement):
  19160. (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache):
  19161. (WebKit::WebMediaCacheManagerProxy::clearCacheForHostname):
  19162. (WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames):
  19163. * UIProcess/WebMediaCacheManagerProxy.h:
  19164. (WebMediaCacheManagerProxy):
  19165. * UIProcess/WebPageProxy.cpp:
  19166. (WebKit::WebPageProxy::showNotification):
  19167. * UIProcess/WebResourceCacheManagerProxy.cpp:
  19168. (WebKit::WebResourceCacheManagerProxy::supplementName):
  19169. (WebKit):
  19170. (WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
  19171. (WebKit::WebResourceCacheManagerProxy::contextDestroyed):
  19172. (WebKit::WebResourceCacheManagerProxy::processDidClose):
  19173. (WebKit::WebResourceCacheManagerProxy::refWebContextSupplement):
  19174. (WebKit::WebResourceCacheManagerProxy::derefWebContextSupplement):
  19175. (WebKit::WebResourceCacheManagerProxy::didReceiveMessage):
  19176. (WebKit::WebResourceCacheManagerProxy::getCacheOrigins):
  19177. (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
  19178. (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins):
  19179. * UIProcess/WebResourceCacheManagerProxy.h:
  19180. (WebResourceCacheManagerProxy):
  19181. * UIProcess/efl/WebContextEfl.cpp:
  19182. (WebKit::WebContext::platformInitializeWebProcess):
  19183. * UIProcess/gtk/WebContextGtk.cpp:
  19184. (WebKit::WebContext::platformInitializeWebProcess):
  19185. * UIProcess/qt/WebContextQt.cpp:
  19186. (WebKit::WebContext::platformInitializeWebProcess):
  19187. 2013-01-01 Dan Bernstein <mitz@apple.com>
  19188. <rdar://problem/12942239> Update copyright strings
  19189. Reviewed by Sam Weinig.
  19190. * Info.plist:
  19191. * NetworkProcess/Info.plist:
  19192. * PluginProcess/Info.plist:
  19193. * SharedWorkerProcess/Info.plist:
  19194. * WebProcess/Info.plist:
  19195. * WebProcessService/Info.plist:
  19196. * WebProcessServiceForWebKitDevelopment/Info.plist:
  19197. 2013-01-01 KwangYong Choi <ky0.choi@samsung.com>
  19198. [EFL] Enable MHTML feature
  19199. https://bugs.webkit.org/show_bug.cgi?id=105815
  19200. Reviewed by Laszlo Gombos.
  19201. Add missing include directory for ENABLE_MHTML.
  19202. * CMakeLists.txt:
  19203. 2012-12-30 Sam Weinig <sam@webkit.org>
  19204. Add supplementability for WebContext
  19205. https://bugs.webkit.org/show_bug.cgi?id=105878
  19206. Reviewed by Dan Bernstein.
  19207. Add WebContextSupplement and convert WebApplicationCacheManagerProxy to it.
  19208. * UIProcess/API/C/WKContext.cpp:
  19209. (WKContextGetApplicationCacheManager):
  19210. * UIProcess/WebApplicationCacheManagerProxy.cpp:
  19211. (WebKit::WebApplicationCacheManagerProxy::supplementName):
  19212. (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
  19213. (WebKit::WebApplicationCacheManagerProxy::contextDestroyed):
  19214. (WebKit::WebApplicationCacheManagerProxy::processDidClose):
  19215. (WebKit::WebApplicationCacheManagerProxy::refWebContextSupplement):
  19216. (WebKit::WebApplicationCacheManagerProxy::derefWebContextSupplement):
  19217. (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):
  19218. (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
  19219. (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries):
  19220. * UIProcess/WebApplicationCacheManagerProxy.h:
  19221. (WebApplicationCacheManagerProxy):
  19222. * UIProcess/WebContext.cpp:
  19223. (WebKit::WebContext::WebContext):
  19224. (WebKit::WebContext::~WebContext):
  19225. (WebKit::WebContext::shouldTerminate):
  19226. (WebKit::WebContext::disconnectProcess):
  19227. * UIProcess/WebContext.h:
  19228. (WebKit::WebContext::supplement):
  19229. (WebKit::WebContext::addSupplement):
  19230. * UIProcess/WebContextSupplement.h: Added.
  19231. (WebKit::WebContextSupplement::WebContextSupplement):
  19232. (WebKit::WebContextSupplement::~WebContextSupplement):
  19233. (WebKit::WebContextSupplement::ref):
  19234. (WebKit::WebContextSupplement::deref):
  19235. (WebKit::WebContextSupplement::context):
  19236. (WebKit::WebContextSupplement::clearContext):
  19237. * WebKit2.xcodeproj/project.pbxproj:
  19238. 2012-12-31 Christophe Dumez <christophe.dumez@intel.com>
  19239. [EFL[WK2] Regression(r138574): Should not allocate memory in the fork
  19240. https://bugs.webkit.org/show_bug.cgi?id=105868
  19241. Reviewed by Kenneth Rohde Christiansen.
  19242. Store prefixed executable path in a CString before the fork to
  19243. avoid allocating memory in the fork by calling String::utf8().
  19244. Allocating memory in the fork may lead to deadlocks due to
  19245. FastMalloc and the fork not inheriting the threads.
  19246. * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
  19247. (WebKit::ProcessLauncher::launchProcess):
  19248. 2012-12-31 Carlos Garcia Campos <cgarcia@igalia.com>
  19249. [GTK] Add API to set a WebKitWebView in view source mode to WebKit2
  19250. https://bugs.webkit.org/show_bug.cgi?id=99315
  19251. Reviewed by Martin Robinson.
  19252. Add a generic API to set/get a view mode. For now there are only
  19253. two modes, Web and Source, but the API can be extended if we
  19254. eventually support other view modes like Printing for example.
  19255. * UIProcess/API/gtk/WebKitWebView.cpp:
  19256. (webkitWebViewSetProperty): Implement setter for view-mode
  19257. property.
  19258. (webkitWebViewGetProperty): Implement getter for view-mode
  19259. property.
  19260. (webkit_web_view_class_init): Add view-source property.
  19261. (webkit_web_view_set_view_mode): Public method to set the view
  19262. mode.
  19263. (webkit_web_view_get_view_mode): Public method to get the view
  19264. mode.
  19265. * UIProcess/API/gtk/WebKitWebView.h: Add WebKitViewMode enum.
  19266. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
  19267. * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
  19268. (testWebViewMode):
  19269. (beforeAll):
  19270. * UIProcess/WebFrameProxy.cpp:
  19271. (WebKit::WebFrameProxy::WebFrameProxy): Initialize
  19272. m_inViewSourceMode.
  19273. (WebKit::WebFrameProxy::setInViewSourceMode): Set
  19274. m_inViewSourceMode if it has changed and call
  19275. WebPageProxy::setFrameInViewSourceMode() to notify the WebProcess.
  19276. * UIProcess/WebFrameProxy.h:
  19277. (WebKit::WebFrameProxy::inViewSourceMode): Return whether the
  19278. frame is currently in view source mode.
  19279. * UIProcess/WebPageProxy.cpp:
  19280. (WebKit::WebPageProxy::setFrameInViewSourceMode): Send a message
  19281. to the WebProcess to set the given frame in view source mode or not.
  19282. * UIProcess/WebPageProxy.h:
  19283. (WebPageProxy): Add setFrameInViewSourceMode().
  19284. * WebProcess/WebPage/WebPage.cpp:
  19285. (WebKit::WebPage::setFrameInViewSourceMode): Call
  19286. setInViewSourceMode for the main frame.
  19287. * WebProcess/WebPage/WebPage.h:
  19288. (WebPage): Add setFrameInViewSourceMode().
  19289. * WebProcess/WebPage/WebPage.messages.in: Add new message
  19290. SetFrameInViewSourceMode.
  19291. 2012-12-30 Christophe Dumez <christophe.dumez@intel.com>
  19292. [EFL][WK2] Invalid use of temporary object in ProcessLauncher::launchProcess()
  19293. https://bugs.webkit.org/show_bug.cgi?id=105867
  19294. Reviewed by Kenneth Rohde Christiansen.
  19295. Fix invalid use of temporary object in ProcessLauncher::launchProcess()
  19296. for prefixedExecutablePath.
  19297. * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
  19298. (WebKit::ProcessLauncher::launchProcess):
  19299. 2012-12-29 Sam Weinig <sam@webkit.org>
  19300. Windows build fix.
  19301. * win/WebKit2Common.vsprops:
  19302. 2012-12-29 Sam Weinig <sam@webkit.org>
  19303. Add supplementability to the NetworkProcess
  19304. https://bugs.webkit.org/show_bug.cgi?id=105838
  19305. Reviewed by Dan Bernstein.
  19306. This patch adds a NetworkProcessSupplement, which is almost identical to
  19307. WebProcessSupplement, but has a different initialization override. It also
  19308. stops WebProcessSupplement from inheriting from MessageReceiver (and makes
  19309. everything that is a WebProcessSupplement also a MessageReceiver) as keeping
  19310. that would cause classes that need to be both WebProcessSupplements and
  19311. NetworkProcessSupplements inherit from MessageReceiver twice.
  19312. * GNUmakefile.list.am:
  19313. * NetworkProcess/NetworkProcess.cpp:
  19314. (WebKit::NetworkProcess::NetworkProcess):
  19315. (WebKit::NetworkProcess::downloadsAuthenticationManager):
  19316. (WebKit::NetworkProcess::initializeNetworkProcess):
  19317. * NetworkProcess/NetworkProcess.h:
  19318. (WebKit):
  19319. (NetworkProcess):
  19320. (WebKit::NetworkProcess::supplement):
  19321. (WebKit::NetworkProcess::addSupplement):
  19322. * Shared/Network/CustomProtocols/CustomProtocolManager.h:
  19323. (CustomProtocolManager):
  19324. * Shared/Network/NetworkProcessSupplement.h: Added.
  19325. (WebKit):
  19326. (NetworkProcessSupplement):
  19327. (WebKit::NetworkProcessSupplement::~NetworkProcessSupplement):
  19328. (WebKit::NetworkProcessSupplement::initialize):
  19329. * Target.pri:
  19330. * WebKit2.xcodeproj/project.pbxproj:
  19331. * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
  19332. * WebProcess/Authentication/AuthenticationManager.h:
  19333. * WebProcess/Cookies/WebCookieManager.h:
  19334. * WebProcess/Geolocation/WebGeolocationManager.h:
  19335. * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
  19336. * WebProcess/MediaCache/WebMediaCacheManager.h:
  19337. * WebProcess/Notifications/WebNotificationManager.h:
  19338. * WebProcess/ResourceCache/WebResourceCacheManager.h:
  19339. * WebProcess/WebCoreSupport/WebDatabaseManager.h:
  19340. * WebProcess/WebProcessSupplement.h:
  19341. * win/WebKit2.vcproj:
  19342. 2012-12-28 Ryuan Choi <ryuan.choi@samsung.com>
  19343. [EFL][WK2] MiniBrowser could not be launched on specific machine
  19344. https://bugs.webkit.org/show_bug.cgi?id=105844
  19345. Reviewed by Gyuyoung Kim.
  19346. * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
  19347. (WebKit::ProcessLauncher::launchProcess):
  19348. Modified to avoid bad use of temporary object.
  19349. 2012-12-28 Joone Hur <joone.hur@intel.com>
  19350. [EFL][WK2] Implement ewk_context_resource_cache_clear
  19351. https://bugs.webkit.org/show_bug.cgi?id=104782
  19352. The purpose of this API is to clear HTTP caches in local storage and
  19353. all resources cached in memory such as images, CSS, JavaScript, XSL,
  19354. and fonts.
  19355. Reviewed by Kenneth Rohde Christiansen.
  19356. * UIProcess/API/efl/ewk_context.cpp:
  19357. (EwkContext::clearResourceCache): Call WebResourceCacheManager::ClearCacheForAllOrigins.
  19358. (ewk_context_resource_cache_clear):
  19359. * UIProcess/API/efl/ewk_context.h: Add ewk_context_resource_cache_clear.
  19360. * UIProcess/API/efl/ewk_context_private.h:
  19361. (EwkContext):
  19362. 2012-12-28 Mark Rowe <mrowe@apple.com>
  19363. Move logic for extracting the OS X marketing version in to WebCore
  19364. <http://webkit.org/b/105841> / <rdar://problem/10736041>
  19365. Reviewed by Dan Bernstein.
  19366. * UIProcess/mac/WebPageProxyMac.mm:
  19367. (WebKit::systemMarketingVersionForUserAgentString): Call the WebCore function instead
  19368. of the WKSI function.
  19369. (WebKit::WebPageProxy::standardUserAgent):
  19370. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
  19371. (InitWebCoreSystemInterface): Remove the code related to the WKSI symbol.
  19372. 2012-12-28 Sam Weinig <sam@webkit.org>
  19373. Fix assert seen when adding a custom protocol handler before an initial
  19374. web process has been created.
  19375. * UIProcess/WebContext.h:
  19376. (WebKit::WebContext::sendToNetworkingProcess):
  19377. 2012-12-28 Martin Robinson <mrobinson@igalia.com>
  19378. [GTK][WK2] Add support for IME Composition
  19379. https://bugs.webkit.org/show_bug.cgi?id=65093
  19380. Reviewed by Carlos Garcia Campos.
  19381. Add a WebKit2 implementation of the GtkInputMethodFilter and provide
  19382. the necessary plumbing to pass composition information along with
  19383. input method events.
  19384. * GNUmakefile.list.am: Add new files to the source list.
  19385. * Shared/EditorState.cpp: The cursorRect is now passed for GTK+ as well as
  19386. Qt, so update the encode and decode methods to pass that along.
  19387. * Shared/EditorState.h: Add the cursorRect member for GTK+ as well.
  19388. * Shared/NativeWebKeyboardEvent.h:
  19389. (NativeWebKeyboardEvent): Keyboard events should also have knowledge of
  19390. the compositionResults and whether or not the event was faked for composition
  19391. purposes.
  19392. * Shared/gtk/NativeWebKeyboardEventGtk.cpp: Ditto.
  19393. * Shared/gtk/WebEventFactory.cpp:
  19394. (WebKit::WebEventFactory::createWebKeyboardEvent): Copy the logic of PlatformKeyEvent,
  19395. for properly setting the windows key code and the event text from the composition
  19396. results.
  19397. * Shared/gtk/WebEventFactory.h: The createWebKeyboardEvent factory now takes a
  19398. CompositionResults argument.
  19399. * UIProcess/API/gtk/PageClientImpl.cpp:
  19400. (WebKit::PageClientImpl::doneWithKeyEvent): Don't forward keyboard events that
  19401. were faked for composition reasons. These events originated from WebKit and should
  19402. never be passed to parent classes.
  19403. (WebKit::PageClientImpl::updateTextInputState): Plumb through the updateTextInputState
  19404. method to the WebViewBase.
  19405. * UIProcess/API/gtk/PageClientImpl.h:
  19406. (PageClientImpl): Add a updateTextInputState method.
  19407. * UIProcess/API/gtk/WebKitWebViewBase.cpp:
  19408. (_WebKitWebViewBasePrivate): Instead of having an input method context as a member
  19409. keep a WebViewBaseInputMethodFilter.
  19410. (webkitWebViewBaseRealize): Set the filter widget when the WebViewBase is realized.
  19411. (webkit_web_view_base_init): No longer create a input method context during init.
  19412. (webkitWebViewBaseFocusInEvent): Pass along focus in events to the filter.
  19413. (webkitWebViewBaseFocusOutEvent): Pass along focus out events to the filter.
  19414. (webkitWebViewBaseKeyPressEvent): Instead of passing key presses directly to the WebProcess,
  19415. filter them through the input method filter.
  19416. (webkitWebViewBaseKeyReleaseEvent): Ditto.
  19417. (webkitWebViewBaseButtonPressEvent): Notify the input method filter about button press events.
  19418. (webkitWebViewBaseGetIMContext): The input method filter owns the input method now.
  19419. (webkitWebViewBaseSetInputMethodState): Add a bit of plumbing for the PageClient.
  19420. (webkitWebViewBaseUpdateTextInputState): Ditto.
  19421. * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add plumbing declarations.
  19422. * UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp: Added. An implementation of GtkInputMethodFilter for WebKit2.
  19423. * UIProcess/API/gtk/WebViewBaseInputMethodFilter.h: Copied from Source/WebKit/gtk/WebCoreSupport/WebViewInputMethodFilter.h.
  19424. * UIProcess/PageClient.h:
  19425. (PageClient): updateInputMethod state is now for both Qt and GTK+.
  19426. * UIProcess/WebPageProxy.cpp:
  19427. (WebKit::WebPageProxy::editorStateChanged): Pass the editor state for GTK+ as well as Qt.
  19428. (WebKit::WebPageProxy::setComposition): Moved this method from WebPageProxyQt as it's used for GTK+ now as well.
  19429. (WebKit::WebPageProxy::confirmComposition): Ditto.
  19430. (WebKit::WebPageProxy::cancelComposition): Ditto.
  19431. * UIProcess/WebPageProxy.h:
  19432. (WebPageProxy): The setInputMethodState message is for GTK+ as well as Qt now.
  19433. * UIProcess/WebPageProxy.messages.in: Ditto.
  19434. * UIProcess/gtk/WebPageProxyGtk.cpp:
  19435. (WebKit::WebPageProxy::setInputMethodState): Ditto.
  19436. * UIProcess/qt/WebPageProxyQt.cpp: Move some methods to the platform-independent file.
  19437. * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: More closely match the WebKit1
  19438. logic for dealing with key events so that composition events will be handled properly.
  19439. * WebProcess/WebPage/WebPage.cpp:
  19440. (WebKit::WebPage::editorState): Properly pass the cursorRect for GTK+.
  19441. (WebKit::targetFrameForEditing): Moved from the Qt file, because its used by GTK+ as well. They
  19442. now pass along the updated EditorState as well, just like the Mac versions.
  19443. (WebKit::WebPage::confirmComposition): Ditto.
  19444. (WebKit::WebPage::setComposition): Ditto.
  19445. (WebKit::WebPage::cancelComposition): Ditto.
  19446. * WebProcess/WebPage/WebPage.h: The above messages are now for GTK+ as well as Qt.
  19447. * WebProcess/WebPage/WebPage.messages.in: Ditto.
  19448. * WebProcess/WebPage/qt/WebPageQt.cpp: Moved some methods to the platform-independent file.
  19449. 2012-12-28 Sam Weinig <sam@webkit.org>
  19450. Appease the Windows Gods.
  19451. * WebProcess/Notifications/WebNotificationManager.cpp:
  19452. 2012-12-27 Sam Weinig <sam@webkit.org>
  19453. Make CustomProtocolManager a WebProcessSupplement
  19454. https://bugs.webkit.org/show_bug.cgi?id=105814
  19455. Reviewed by Dan Bernstein.
  19456. This converts CustomProtocolManager from a global singleton, to be a
  19457. supplement of the WebProcess. Since it also needs to act as a supplement
  19458. of the NetworkProcess, it adds an initialization function for the NetworkProcess
  19459. as well, while we await the arrival of the forthcoming NetworkProcessSupplement.
  19460. In addition, this moves the handling of registering and unregistering schemes
  19461. directly to the CustomProtocolManager, instead of requiring an unnecessary trip
  19462. in the ChildProcess.
  19463. * NetworkProcess/NetworkProcess.cpp:
  19464. (WebKit::NetworkProcess::NetworkProcess):
  19465. (WebKit::NetworkProcess::initializeNetworkProcess):
  19466. * NetworkProcess/NetworkProcess.h:
  19467. * NetworkProcess/NetworkProcess.messages.in:
  19468. * Shared/Network/CustomProtocols/CustomProtocolManager.h:
  19469. (CustomProtocolManager):
  19470. * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
  19471. * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
  19472. (+[WKCustomProtocol canInitWithRequest:]):
  19473. (-[WKCustomProtocol initWithRequest:cachedResponse:client:]):
  19474. (-[WKCustomProtocol startLoading]):
  19475. (-[WKCustomProtocol stopLoading]):
  19476. (WebKit::CustomProtocolManager::supplementName):
  19477. (WebKit::CustomProtocolManager::CustomProtocolManager):
  19478. (WebKit::CustomProtocolManager::initialize):
  19479. * UIProcess/WebContext.cpp:
  19480. (WebKit::WebContext::registerSchemeForCustomProtocol):
  19481. (WebKit::WebContext::unregisterSchemeForCustomProtocol):
  19482. * WebProcess/WebProcess.cpp:
  19483. (WebKit::WebProcess::WebProcess):
  19484. (WebKit::WebProcess::initializeWebProcess):
  19485. * WebProcess/WebProcess.h:
  19486. * WebProcess/WebProcess.messages.in:
  19487. 2012-12-27 Sam Weinig <sam@webkit.org>
  19488. Convert a few other WebProcess managers to be WebProcessSupplements
  19489. https://bugs.webkit.org/show_bug.cgi?id=105812
  19490. Reviewed by Dan Bernstein.
  19491. * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
  19492. (WebKit::WebApplicationCacheManager::supplementName):
  19493. * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
  19494. (WebApplicationCacheManager):
  19495. * WebProcess/Authentication/AuthenticationManager.cpp:
  19496. (WebKit::AuthenticationManager::supplementName):
  19497. * WebProcess/Authentication/AuthenticationManager.h:
  19498. (AuthenticationManager):
  19499. * WebProcess/Cookies/WebCookieManager.cpp:
  19500. (WebKit::WebCookieManager::supplementName):
  19501. * WebProcess/Cookies/WebCookieManager.h:
  19502. (WebCookieManager):
  19503. * WebProcess/Geolocation/WebGeolocationManager.cpp:
  19504. (WebKit::WebGeolocationManager::supplementName):
  19505. * WebProcess/Geolocation/WebGeolocationManager.h:
  19506. (WebGeolocationManager):
  19507. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  19508. (WebKit::InjectedBundle::setAlwaysAcceptCookies):
  19509. (WebKit::InjectedBundle::clearApplicationCache):
  19510. (WebKit::InjectedBundle::setAppCacheMaximumSize):
  19511. (WebKit::InjectedBundle::webNotificationID):
  19512. * WebProcess/MediaCache/WebMediaCacheManager.cpp:
  19513. (WebKit::WebMediaCacheManager::supplementName):
  19514. * WebProcess/MediaCache/WebMediaCacheManager.h:
  19515. (WebMediaCacheManager):
  19516. * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
  19517. (WebKit::NotificationPermissionRequestManager::permissionLevel):
  19518. (WebKit::NotificationPermissionRequestManager::setPermissionLevelForTesting):
  19519. (WebKit::NotificationPermissionRequestManager::removeAllPermissionsForTesting):
  19520. (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
  19521. * WebProcess/Notifications/WebNotificationManager.cpp:
  19522. (WebKit::WebNotificationManager::supplementName):
  19523. (WebKit::WebNotificationManager::initialize):
  19524. * WebProcess/Notifications/WebNotificationManager.h:
  19525. (WebNotificationManager):
  19526. * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
  19527. (WebKit::WebResourceCacheManager::supplementName):
  19528. * WebProcess/ResourceCache/WebResourceCacheManager.h:
  19529. (WebResourceCacheManager):
  19530. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  19531. (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
  19532. * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
  19533. (WebKit::WebGeolocationClient::geolocationDestroyed):
  19534. (WebKit::WebGeolocationClient::startUpdating):
  19535. (WebKit::WebGeolocationClient::stopUpdating):
  19536. * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
  19537. (WebKit::WebNotificationClient::show):
  19538. (WebKit::WebNotificationClient::cancel):
  19539. (WebKit::WebNotificationClient::clearNotifications):
  19540. (WebKit::WebNotificationClient::notificationObjectDestroyed):
  19541. * WebProcess/WebProcess.cpp:
  19542. (WebKit::WebProcess::WebProcess):
  19543. (WebKit::WebProcess::downloadsAuthenticationManager):
  19544. * WebProcess/WebProcess.h:
  19545. (WebKit::WebProcess::textCheckerState):
  19546. (WebKit::WebProcess::networkAccessManager):
  19547. (WebKit::WebProcess::soupRequestManager):
  19548. * WebProcess/mac/WebProcessMac.mm:
  19549. (WebKit::WebProcess::platformInitializeWebProcess):
  19550. * WebProcess/soup/WebProcessSoup.cpp:
  19551. (WebKit::WebProcess::platformInitializeWebProcess):
  19552. * WebProcess/win/WebProcessWin.cpp:
  19553. (WebKit::WebProcess::platformInitializeWebProcess):
  19554. 2012-12-27 Viatcheslav Ostapenko <sl.ostapenko@samsung.com>
  19555. [EFL][WK2] Regression(138462) Sometimes garbage in snapshots
  19556. https://bugs.webkit.org/show_bug.cgi?id=105803
  19557. Reviewed by Kenneth Rohde Christiansen.
  19558. Instead of creating temporary buffer and then creating cairo surface
  19559. from it, create cairo surface 1st and use surface image internal buffer
  19560. to read pixels from GL buffer.
  19561. * UIProcess/API/efl/EwkViewImpl.cpp:
  19562. (EwkViewImpl::takeSnapshot):
  19563. * UIProcess/API/efl/SnapshotImageGL.cpp:
  19564. (getImageSurfaceFromFrameBuffer):
  19565. * UIProcess/API/efl/SnapshotImageGL.h:
  19566. 2012-12-27 Sam Weinig <sam@webkit.org>
  19567. Actually make use of the WebProcessSupplements by adding a supplement map to WebProcess
  19568. https://bugs.webkit.org/show_bug.cgi?id=105804
  19569. Reviewed by Dan Bernstein.
  19570. This continues the work of adding extensibility to WebProcess by adding a supplement
  19571. map, and using it as proof of concept for WebDatabaseManager and WebKeyValueStorageManager.
  19572. - A supplement is added to WebProcess by calling:
  19573. process->addSupplement<SupplementFoo>();
  19574. - A supplement can be used accessed by calling:
  19575. process->supplement<SupplementFoo>();
  19576. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  19577. (WebKit::InjectedBundle::clearAllDatabases):
  19578. (WebKit::InjectedBundle::setDatabaseQuota):
  19579. * WebProcess/WebPage/WebPage.cpp:
  19580. (WebKit::WebPage::updatePreferences):
  19581. Switch to using the new supplement accessor.
  19582. * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
  19583. (WebKit::WebKeyValueStorageManager::supplementName):
  19584. * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
  19585. * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
  19586. (WebKit::WebDatabaseManager::supplementName):
  19587. * WebProcess/WebCoreSupport/WebDatabaseManager.h:
  19588. Add static supplementName functions. We might want to merge this with
  19589. the message class name, but for now we have both.
  19590. * WebProcess/WebProcess.cpp:
  19591. (WebKit::WebProcess::WebProcess):
  19592. Add supplements the new way. This should eventually move to the caller
  19593. of WebProcess::initialize, so that we can reduce #ifdefs and ports have
  19594. a chance to customize.
  19595. (WebKit::WebProcess::initializeWebProcess):
  19596. Iterate the supplements to give each a chance to initialize.
  19597. * WebProcess/WebProcess.h:
  19598. (WebKit::WebProcess::supplement):
  19599. (WebKit::WebProcess::addSupplement):
  19600. Add functions to add and get WebProcessSupplements.
  19601. 2012-12-26 Sam Weinig <sam@webkit.org>
  19602. Add an initial stab at a generic supplemental interface for WebProcess
  19603. https://bugs.webkit.org/show_bug.cgi?id=105779
  19604. Reviewed by Darin Adler.
  19605. This starts the process of adding a mechanism to WebProcess to extend its
  19606. functionality without actually changing it (similar to the Supplement
  19607. mechanism in WebCore). This will make it possible for ports to add functionality
  19608. that might not be needed or wanted by other ports.
  19609. * WebKit2.xcodeproj/project.pbxproj:
  19610. * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
  19611. (WebKit::WebKeyValueStorageManager::initialize):
  19612. (WebKit):
  19613. * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
  19614. (WebKeyValueStorageManager):
  19615. (WebKit::WebKeyValueStorageManager::localStorageDirectory):
  19616. * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
  19617. (WebKit::WebDatabaseManager::WebDatabaseManager):
  19618. (WebKit::WebDatabaseManager::initialize):
  19619. * WebProcess/WebCoreSupport/WebDatabaseManager.h:
  19620. (WebDatabaseManager):
  19621. * WebProcess/WebPage/WebPage.cpp:
  19622. (WebKit::WebPage::updatePreferences):
  19623. * WebProcess/WebProcess.cpp:
  19624. (WebKit::WebProcess::initializeWebProcess):
  19625. (WebKit::WebProcess::keyValueStorageManager):
  19626. (WebKit):
  19627. * WebProcess/WebProcess.h:
  19628. (WebProcess):
  19629. * WebProcess/WebProcessSupplement.h: Added.
  19630. (WebKit):
  19631. (WebProcessSupplement):
  19632. (WebKit::WebProcessSupplement::~WebProcessSupplement):
  19633. (WebKit::WebProcessSupplement::initialize):
  19634. 2012-12-27 Christophe Dumez <christophe.dumez@intel.com>
  19635. [EFL][WK2] Regression(135935) layout tests snapshots are flaky
  19636. https://bugs.webkit.org/show_bug.cgi?id=103468
  19637. Reviewed by Kenneth Rohde Christiansen.
  19638. Make sure that we wait for pending repaints before taking a
  19639. snapshot to avoid flakiness in pixel / ref tests. We also
  19640. suspend all animations before taking the snapshot to make
  19641. sure we don't wait forever for repaint events to be processed.
  19642. * UIProcess/API/efl/EwkViewImpl.cpp:
  19643. (EwkViewImpl::takeSnapshot):
  19644. 2012-12-26 Csaba Osztrogonác <ossy@webkit.org>
  19645. Unreviewed Xmas buildfix after r138479.
  19646. * WebProcess/MediaCache/WebMediaCacheManager.h:
  19647. 2012-12-25 Sam Weinig <sam@webkit.org>
  19648. Convert WebKeyValueStorageManager and WebMediaCacheManager to MessageReceiver
  19649. https://bugs.webkit.org/show_bug.cgi?id=105751
  19650. Reviewed by Andreas Kling.
  19651. * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
  19652. (WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager):
  19653. (WebKit::WebKeyValueStorageManager::dispatchDidGetKeyValueStorageOrigins):
  19654. (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
  19655. (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
  19656. (WebKit::WebKeyValueStorageManager::deleteAllEntries):
  19657. * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
  19658. (WebKeyValueStorageManager): Remove unused m_originsLoaded member variable.
  19659. * WebProcess/MediaCache/WebMediaCacheManager.cpp:
  19660. (WebKit::WebMediaCacheManager::WebMediaCacheManager):
  19661. (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache):
  19662. (WebKit::WebMediaCacheManager::clearCacheForHostname):
  19663. (WebKit::WebMediaCacheManager::clearCacheForAllHostnames):
  19664. * WebProcess/MediaCache/WebMediaCacheManager.h:
  19665. (WebMediaCacheManager):
  19666. Convert the managers to MessageReceiver.
  19667. * WebProcess/WebProcess.cpp:
  19668. (WebKit::WebProcess::WebProcess):
  19669. (WebKit::WebProcess::initializeWebProcess):
  19670. (WebKit::WebProcess::didReceiveMessage):
  19671. * WebProcess/WebProcess.h:
  19672. (WebProcess):
  19673. Add the new managers.
  19674. 2012-12-25 Sam Weinig <sam@webkit.org>
  19675. Fix the Database manager assert, again.
  19676. * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
  19677. (WebKit):
  19678. (WebKit::WebDatabaseManager::WebDatabaseManager):
  19679. (WebKit::WebDatabaseManager::initialize):
  19680. * WebProcess/WebCoreSupport/WebDatabaseManager.h:
  19681. (WebDatabaseManager):
  19682. * WebProcess/WebProcess.cpp:
  19683. (WebKit::WebProcess::initializeWebProcess):
  19684. 2012-12-25 Huang Dongsung <luxtella@company100.net>
  19685. Coordinated Graphics: Manage the lifecycle of CoordinatedGraphicsLayer explicitly.
  19686. https://bugs.webkit.org/show_bug.cgi?id=104990
  19687. Reviewed by Noam Rosenthal.
  19688. Send explicit commands to the UI process to create/delete compositing
  19689. layers, instead of having the UI process decide lazily when to create
  19690. them.
  19691. Avoid creating a compositing layer at all if it was deleted in the same
  19692. cycle.
  19693. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
  19694. (WebKit::CoordinatedLayerTreeHostProxy::createCompositingLayer):
  19695. (WebKit):
  19696. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  19697. (CoordinatedLayerTreeHostProxy):
  19698. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
  19699. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  19700. (WebKit::LayerTreeRenderer::createCanvas):
  19701. (WebKit::LayerTreeRenderer::destroyCanvas):
  19702. (WebKit::LayerTreeRenderer::setLayerChildren):
  19703. (WebKit::LayerTreeRenderer::setLayerFilters):
  19704. (WebKit::LayerTreeRenderer::setLayerState):
  19705. (WebKit::LayerTreeRenderer::getLayerByIDIfExists):
  19706. (WebKit):
  19707. (WebKit::LayerTreeRenderer::createLayer):
  19708. (WebKit::LayerTreeRenderer::deleteLayer):
  19709. (WebKit::LayerTreeRenderer::setRootLayerID):
  19710. (WebKit::LayerTreeRenderer::createTile):
  19711. (WebKit::LayerTreeRenderer::removeTile):
  19712. (WebKit::LayerTreeRenderer::updateTile):
  19713. (WebKit::LayerTreeRenderer::ensureRootLayer):
  19714. (WebKit::LayerTreeRenderer::setLayerAnimations):
  19715. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  19716. (LayerTreeRenderer):
  19717. (WebKit::LayerTreeRenderer::layerByID):
  19718. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  19719. (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
  19720. (WebKit::CoordinatedLayerTreeHost::createCompositingLayers):
  19721. (WebKit):
  19722. (WebKit::CoordinatedLayerTreeHost::deleteCompositingLayers):
  19723. (WebKit::CoordinatedLayerTreeHost::detachLayer):
  19724. (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
  19725. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  19726. 2012-12-25 Sam Weinig <sam@webkit.org>
  19727. Fix Qt build.
  19728. * WebProcess/WebPage/qt/WebPageQt.cpp:
  19729. 2012-12-24 Sam Weinig <sam@webkit.org>
  19730. Reduce the number of includes in WebProcess.h
  19731. https://bugs.webkit.org/show_bug.cgi?id=105709
  19732. Reviewed by Dan Bernstein.
  19733. * NetworkProcess/NetworkProcess.cpp:
  19734. (WebKit::NetworkProcess::NetworkProcess):
  19735. (WebKit::NetworkProcess::downloadsAuthenticationManager):
  19736. * NetworkProcess/NetworkProcess.h:
  19737. (WebKit):
  19738. * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
  19739. * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  19740. * WebProcess/FullScreen/WebFullScreenManager.cpp:
  19741. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  19742. * WebProcess/Network/NetworkProcessConnection.cpp:
  19743. * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
  19744. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  19745. * WebProcess/WebPage/FindController.cpp:
  19746. * WebProcess/WebPage/WebContextMenu.cpp:
  19747. * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
  19748. * WebProcess/WebProcess.cpp:
  19749. (WebKit::WebProcess::WebProcess):
  19750. (WebKit::WebProcess::downloadsAuthenticationManager):
  19751. (WebKit::WebProcess::initializeWebProcess):
  19752. (WebKit::WebProcess::geolocationManager):
  19753. (WebKit):
  19754. (WebKit::WebProcess::applicationCacheManager):
  19755. (WebKit::WebProcess::resourceCacheManager):
  19756. (WebKit::WebProcess::cookieManager):
  19757. (WebKit::WebProcess::authenticationManager):
  19758. (WebKit::WebProcess::databaseManager):
  19759. (WebKit::WebProcess::notificationManager):
  19760. (WebKit::WebProcess::pluginProcessConnectionManager):
  19761. (WebKit::WebProcess::networkProcessConnectionClosed):
  19762. (WebKit::WebProcess::webResourceLoadScheduler):
  19763. (WebKit::WebProcess::pluginProcessCrashed):
  19764. * WebProcess/WebProcess.h:
  19765. (WebCore):
  19766. (WebKit):
  19767. (WebProcess):
  19768. * WebProcess/mac/WebProcessMac.mm:
  19769. (WebKit::WebProcess::platformInitializeWebProcess):
  19770. 2012-12-25 Andreas Kling <akling@apple.com>
  19771. [WK2][Mac] Call Carbon resource APIs on main thread only.
  19772. <rdar://problem/11760262>
  19773. <http://webkit.org/b/105746>
  19774. Reviewed by Anders Carlsson.
  19775. The Carbon resource APIs are not thread-safe, so use a little libdispatch sugar to make
  19776. sure that plugin enumeration never calls them on a secondary thread.
  19777. * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
  19778. (WebKit::getPluginInfoFromCarbonResourcesOnMainThread):
  19779. (WebKit::getPluginInfoFromCarbonResources):
  19780. 2012-12-25 Seokju Kwon <seokju.kwon@gmail.com>
  19781. [EFL][WK2] Build breaks with --no-input-type-color
  19782. https://bugs.webkit.org/show_bug.cgi?id=105740
  19783. Reviewed by Laszlo Gombos.
  19784. * UIProcess/API/efl/EwkViewImpl.h: Add INPUT_TYPE_COLOR guard.
  19785. (EwkViewImpl):
  19786. 2012-12-25 Christophe Dumez <christophe.dumez@intel.com>
  19787. [EFL][WK2] Refactor snapshot taking code
  19788. https://bugs.webkit.org/show_bug.cgi?id=105687
  19789. Reviewed by Kenneth Rohde Christiansen.
  19790. Refactor EFL WK2 snapshot taking code to use
  19791. smart pointers when possible and follow naming
  19792. conventions.
  19793. * UIProcess/API/C/efl/WKView.cpp:
  19794. (WKViewCreateSnapshot):
  19795. * UIProcess/API/C/efl/WKView.h: Rename WKViewGetSnapshot
  19796. to WKViewCreateSnapshot to follow C API naming conventions,
  19797. since the returned value needs to be adopted.
  19798. * UIProcess/API/efl/EwkViewImpl.cpp:
  19799. (EwkViewImpl::takeSnapshot):
  19800. * UIProcess/API/efl/EwkViewImpl.h: Have takeSnapshot() return
  19801. a cairo_surface_t instead of a WKType. The value should be
  19802. converted to a WKType at C API level.
  19803. (EwkViewImpl):
  19804. * UIProcess/API/efl/SnapshotImageGL.cpp: Use OwnArrayPtr for the
  19805. buffer to avoid manual memory handling. Remove useless call to
  19806. glBindTexture() since glReadPixels() reads pixels from the frame
  19807. buffer, not from the texture.
  19808. (getImageDataFromFrameBuffer):
  19809. * UIProcess/API/efl/SnapshotImageGL.h: Rename getImageFromCurrentTexture
  19810. to getImageDataFromFrameBuffer for consistency since we technically
  19811. return the pixel data of the image and since glReadPixels does not
  19812. actually read from the texture. Have the function return a smart
  19813. pointer instead of a raw one to avoid manual memory handling.
  19814. 2012-12-25 Tim Horton <timothy_horton@apple.com>
  19815. PDFPlugin: Find-in-page
  19816. https://bugs.webkit.org/show_bug.cgi?id=105710
  19817. <rdar://problem/12555331>
  19818. Reviewed by Alexey Proskuryakov.
  19819. Make use of PDFLayerController's find-in-page functionality to mimic WebKit's.
  19820. Add two Plugin methods, countFindMatches and findString, and make use of them
  19821. if attempting to find-in-page within a PluginDocument.
  19822. * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
  19823. (WebKit::NetscapePlugin::countFindMatches): Added. We don't support find-in-page for NetscapePlugin.
  19824. (WebKit::NetscapePlugin::findString): Added. We don't support find-in-page for NetscapePlugin.
  19825. * WebProcess/Plugins/Netscape/NetscapePlugin.h: Add countFindMatches and findString.
  19826. * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add requisite PDFLayerController interfaces.
  19827. * WebProcess/Plugins/PDF/PDFPlugin.h: Add countFindMatches, findString, and nextMatchForString,
  19828. as well as storage for the most-recently-searched string.
  19829. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  19830. (WebKit::PDFPlugin::writeItemsToPasteboard):
  19831. (WebKit::PDFPlugin::countFindMatches):
  19832. (WebKit::PDFPlugin::nextMatchForString):
  19833. (WebKit::PDFPlugin::findString):
  19834. * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Add countFindMatches and findString.
  19835. * WebProcess/Plugins/Plugin.h: Add countFindMatches and findString.
  19836. * WebProcess/Plugins/PluginProxy.h: Add countFindMatches and findString, but since PDFPlugin
  19837. is in-process, we don't need to forward these calls to the PluginProcess.
  19838. * WebProcess/Plugins/PluginView.cpp:
  19839. (WebKit::PluginView::countFindMatches): Forward countFindMatches to the plugin.
  19840. (WebKit::PluginView::findString): Forward findString to the plugin.
  19841. * WebProcess/Plugins/PluginView.h: Add countFindMatches and findString.
  19842. * WebProcess/WebPage/FindController.cpp:
  19843. (WebKit::pluginViewForFrame): If the given frame hosts a PluginDocument, grab its PluginView.
  19844. (WebKit::FindController::countStringMatches): Forward countStringMatches to PluginView if necessary.
  19845. (WebKit::FindController::updateFindUIAfterPageScroll): Only use unmarkAllTextMatches if we're using
  19846. ordinary find-in-page and don't have a plugin. If we have a plugin, disable our overlay, as it must
  19847. be handled by the plugin itself, and request the number of matches for the search from the plugin.
  19848. (WebKit::FindController::findString): If necessary, forward findString to the plugin.
  19849. (WebKit::FindController::hideFindUI): Hide the search highlight by searching for an empty string.
  19850. 2012-12-24 Laszlo Gombos <l.gombos@samsung.com>
  19851. Remove wtf/Platform.h includes from {c|cpp} files
  19852. https://bugs.webkit.org/show_bug.cgi?id=105678
  19853. Reviewed by Kentaro Hara.
  19854. Remove wtf/Platform.h from the include list as it is already
  19855. included in config.h.
  19856. * Shared/qt/QtNetworkRequestData.cpp:
  19857. 2012-12-24 Sam Weinig <sam@webkit.org>
  19858. Assert fix take 2.
  19859. * WebProcess/WebProcess.cpp:
  19860. (WebKit::WebProcess::WebProcess):
  19861. (WebKit::WebProcess::initializeWebProcess):
  19862. 2012-12-24 Sam Weinig <sam@webkit.org>
  19863. Fix WebKit2 asserting on launch.
  19864. * WebProcess/WebProcess.cpp:
  19865. (WebKit::WebProcess::WebProcess):
  19866. * WebProcess/WebProcess.h:
  19867. (WebKit::WebProcess::databaseManager):
  19868. (WebProcess):
  19869. 2012-12-24 Csaba Osztrogonác <ossy@webkit.org>
  19870. [Qt][Win] Unreviewed Xmas buildfix after r138433.
  19871. * WebProcess/Cookies/WebCookieManager.h:
  19872. 2012-12-23 Seokju Kwon <seokju.kwon@gmail.com>
  19873. Fix the incorrect use of preprocessor statement in API header
  19874. https://bugs.webkit.org/show_bug.cgi?id=105675
  19875. Reviewed by Sam Weinig.
  19876. Remove a preprocessor statement in WKBundlePage.h
  19877. * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  19878. (WKBundlePageGetInspector):
  19879. * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  19880. 2012-12-23 Sam Weinig <sam@webkit.org>
  19881. Switch WebCookieManager and AuthenticationManager to use the ChildProcess rather than holding on to a Connection
  19882. https://bugs.webkit.org/show_bug.cgi?id=105703
  19883. Reviewed by Dan Bernstein.
  19884. Also switches WebCookieManager over to be a MessageReceiver while we are at it.
  19885. * NetworkProcess/NetworkProcess.cpp:
  19886. (WebKit::NetworkProcess::NetworkProcess):
  19887. (WebKit::NetworkProcess::initialize):
  19888. (WebKit::NetworkProcess::didReceiveMessage):
  19889. * NetworkProcess/NetworkProcess.h:
  19890. (WebKit):
  19891. * WebProcess/Authentication/AuthenticationManager.cpp:
  19892. (WebKit::AuthenticationManager::AuthenticationManager):
  19893. (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
  19894. * WebProcess/Authentication/AuthenticationManager.h:
  19895. (AuthenticationManager):
  19896. * WebProcess/Cookies/WebCookieManager.cpp:
  19897. (WebKit):
  19898. (WebKit::WebCookieManager::WebCookieManager):
  19899. (WebKit::WebCookieManager::didReceiveMessage):
  19900. (WebKit::WebCookieManager::getHostnamesWithCookies):
  19901. (WebKit::WebCookieManager::cookiesDidChange):
  19902. (WebKit::WebCookieManager::dispatchCookiesDidChange):
  19903. (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
  19904. * WebProcess/Cookies/WebCookieManager.h:
  19905. (WebKit):
  19906. (WebCookieManager):
  19907. * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
  19908. (WebKit::WebCookieManager::setCookiePersistentStorage):
  19909. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  19910. (WebKit::InjectedBundle::setAlwaysAcceptCookies):
  19911. * WebProcess/WebProcess.cpp:
  19912. (WebKit::WebProcess::WebProcess):
  19913. (WebKit::WebProcess::initialize):
  19914. (WebKit::WebProcess::didReceiveMessage):
  19915. * WebProcess/WebProcess.h:
  19916. (WebProcess):
  19917. (WebKit::WebProcess::cookieManager):
  19918. 2012-12-23 Sam Weinig <sam@webkit.org>
  19919. Try to fix the Qt build.
  19920. * WebProcess/WebCoreSupport/WebDatabaseManager.h:
  19921. 2012-12-23 Sam Weinig <sam@webkit.org>
  19922. Remove more special cased message receiving code from WebProcess
  19923. https://bugs.webkit.org/show_bug.cgi?id=105700
  19924. Reviewed by Dan Bernstein.
  19925. Makes WebApplicationCacheManager, WebResourceCacheManager and WebDatabaseManager
  19926. CoreIPC::MessageReceivers, removes them as special cases in WebProcess.
  19927. * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
  19928. (WebKit::WebApplicationCacheManager::WebApplicationCacheManager):
  19929. (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
  19930. (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
  19931. (WebKit::WebApplicationCacheManager::deleteAllEntries):
  19932. (WebKit::WebApplicationCacheManager::setAppCacheMaximumSize):
  19933. * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
  19934. (WebKit):
  19935. (WebApplicationCacheManager):
  19936. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  19937. (WebKit::InjectedBundle::clearAllDatabases):
  19938. (WebKit::InjectedBundle::setDatabaseQuota):
  19939. (WebKit::InjectedBundle::clearApplicationCache):
  19940. (WebKit::InjectedBundle::setAppCacheMaximumSize):
  19941. * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
  19942. (WebKit::WebResourceCacheManager::WebResourceCacheManager):
  19943. (WebKit::WebResourceCacheManager::getCacheOrigins):
  19944. (WebKit::WebResourceCacheManager::clearCacheForOrigin):
  19945. (WebKit::WebResourceCacheManager::clearCacheForAllOrigins):
  19946. * WebProcess/ResourceCache/WebResourceCacheManager.h:
  19947. (WebKit):
  19948. (WebResourceCacheManager):
  19949. * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
  19950. (WebKit):
  19951. (WebKit::WebDatabaseManager::WebDatabaseManager):
  19952. (WebKit::WebDatabaseManager::getDatabasesByOrigin):
  19953. (WebKit::WebDatabaseManager::getDatabaseOrigins):
  19954. (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
  19955. (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
  19956. (WebKit::WebDatabaseManager::deleteAllDatabases):
  19957. (WebKit::WebDatabaseManager::setQuotaForOrigin):
  19958. (WebKit::WebDatabaseManager::dispatchDidModifyOrigin):
  19959. (WebKit::WebDatabaseManager::dispatchDidModifyDatabase):
  19960. * WebProcess/WebCoreSupport/WebDatabaseManager.h:
  19961. (WebKit):
  19962. (WebDatabaseManager):
  19963. * WebProcess/WebProcess.cpp:
  19964. (WebKit::WebProcess::WebProcess):
  19965. (WebKit::WebProcess::didReceiveMessage):
  19966. * WebProcess/WebProcess.h:
  19967. (WebProcess):
  19968. (WebKit::WebProcess::applicationCacheManager):
  19969. (WebKit::WebProcess::resourceCacheManager):
  19970. (WebKit::WebProcess::databaseManager):
  19971. 2012-12-23 Alexey Proskuryakov <ap@apple.com>
  19972. <rdar://problem/12808377> Network process should respect cookie accept policy
  19973. https://bugs.webkit.org/show_bug.cgi?id=105684
  19974. Reviewed by Sam Weinig.
  19975. * NetworkProcess/NetworkProcess.cpp:
  19976. (WebKit::NetworkProcess::initialize): Tell cookie manager which connection to
  19977. make calls on. Now that the code can run in either WebProcess or NetworkProcess,
  19978. it cannot use WebProcess singleton.
  19979. (WebKit::NetworkProcess::didReceiveMessage): Dispatch WebCookieManager messages.
  19980. * WebProcess/WebProcess.cpp:
  19981. (WebKit::WebProcess::initialize): Tell cookie manager which connection to
  19982. make calls on.
  19983. * UIProcess/Downloads/DownloadProxy.cpp:
  19984. (WebKit::DownloadProxy::didReceiveAuthenticationChallenge): Changed to use
  19985. WebContext::networkingProcessConnection() instead of deciding upon the connection here.
  19986. * UIProcess/Network/NetworkProcessProxy.cpp:
  19987. (WebKit::NetworkProcessProxy::didReceiveMessage): Call m_webContext->dispatchMessage),
  19988. as WebCookieManagerProxy handlers are registered on the context. This may seem wasteful,
  19989. but a lot of registered managers will need the ame handling soon.
  19990. * UIProcess/WebContext.cpp:
  19991. (WebKit::WebContext::networkingProcessConnection): Added a way to get connection
  19992. to whichever process performs networking.
  19993. (WebKit::WebContext::removeNetworkProcessProxy): Invalidate cookie manager proxy,
  19994. so that expected responses could be cleared.
  19995. (WebKit::WebContext::disconnectProcess): Updated a FIXME.
  19996. * UIProcess/WebContext.h: Deleted deprecatedSharedProcess().
  19997. (WebKit::WebContext::networkingProcessConnection): Added.
  19998. (WebKit::WebContext::sendToNetworkingProcess): Added.
  19999. (WebKit::WebContext::sendToNetworkingProcessRelaunchingIfNecessary): Added.
  20000. * UIProcess/WebCookieManagerProxy.cpp:
  20001. (WebKit::WebCookieManagerProxy::shouldTerminate): Should not prevent WebProcess
  20002. termination when NetworkProcess is in use.
  20003. (WebKit::WebCookieManagerProxy::getHostnamesWithCookies): Removed a useless ASSERT
  20004. that neiter documents expectations nor helps find bugs. Send a message to correct
  20005. process, whether WebProcess or NetworkProcess.
  20006. (WebKit::WebCookieManagerProxy::deleteCookiesForHostname): Ditto.
  20007. (WebKit::WebCookieManagerProxy::deleteAllCookies): Ditto.
  20008. (WebKit::WebCookieManagerProxy::startObservingCookieChanges): Ditto.
  20009. (WebKit::WebCookieManagerProxy::stopObservingCookieChanges): Ditto.
  20010. (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy): Ditto.
  20011. (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy): Ditto.
  20012. * WebProcess/Cookies/WebCookieManager.h:
  20013. * WebProcess/Cookies/WebCookieManager.cpp: Made the class usable in either WebProcess
  20014. or NetworkProcess.
  20015. (WebKit::WebCookieManager::setConnection): WebCookieManager now remembers which
  20016. connection to talk back on.
  20017. (WebKit::WebCookieManager::didReceiveMessage): Added an assertion that stored connection
  20018. matches the one being used to reciev messages.
  20019. (WebKit::WebCookieManager::getHostnamesWithCookies): Use the stored connection to
  20020. send a reply.
  20021. (WebKit::WebCookieManager::startObservingCookieChanges): Pass a callback function,
  20022. so that WebCore doesn't have to use a platform strategy.
  20023. (WebKit::WebCookieManager::cookiesDidChange): The new callback.
  20024. (WebKit::WebCookieManager::dispatchCookiesDidChange): Use the stored connection.
  20025. (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy): Use the stored connection.
  20026. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  20027. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  20028. Removed notifyCookiesChanged() which is no longer part of CookiesStrategy.
  20029. 2012-12-22 Sam Weinig <sam@webkit.org>
  20030. Make CustomProtocolManager a MessageReceiver to remove more special casing
  20031. https://bugs.webkit.org/show_bug.cgi?id=105682
  20032. Reviewed by Dan Bernstein.
  20033. To avoid storing a Connection in CustomProtocolManager, which is not a great idea without
  20034. it being the Connection::Client and therefore getting death notifications, I also made
  20035. ChildProcess a MessageSender so that extensions to it, like CustomProtocolManager, can
  20036. easily send messages to the parent process.
  20037. * NetworkProcess/NetworkProcess.cpp:
  20038. (WebKit::NetworkProcess::NetworkProcess):
  20039. Initialize the shared CustomProtocolManager, which will add it to the MessageReceiverMap in
  20040. the ChildProcess.
  20041. (WebKit::NetworkProcess::didReceiveMessage):
  20042. Remove the special case for CustomProtocolManager.
  20043. (WebKit::NetworkProcess::initializeNetworkProcess):
  20044. Call connectionEstablished on the CustomProtocolManager to make it start working as a NSURLProtocol handler.
  20045. * NetworkProcess/NetworkProcess.h:
  20046. Add overrides necessary for MessageSender.
  20047. * PluginProcess/PluginProcess.h:
  20048. Ditto.
  20049. * Shared/ChildProcess.h:
  20050. (ChildProcess):
  20051. Make ChildProcess a MessageSender.
  20052. * Shared/Network/CustomProtocols/CustomProtocolManager.h:
  20053. (CustomProtocolManager):
  20054. (WebKit::CustomProtocolManager::childProcess):
  20055. * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
  20056. (-[WKCustomProtocol startLoading]):
  20057. (-[WKCustomProtocol stopLoading]):
  20058. (WebKit::CustomProtocolManager::CustomProtocolManager):
  20059. (WebKit::CustomProtocolManager::initialize):
  20060. (WebKit::CustomProtocolManager::connectionEstablished):
  20061. Make CustomProtocolManager a MessageReceiver and split initialization and the time when it can
  20062. start acting as protocol handler as these happen at different times now. It also now stores a
  20063. ChildProcess rather than a Connection.
  20064. * SharedWorkerProcess/SharedWorkerProcess.h:
  20065. Add overrides necessary for MessageSender.
  20066. * WebProcess/WebProcess.cpp:
  20067. (WebKit::WebProcess::WebProcess):
  20068. Initialize the shared CustomProtocolManager, which will add it to the MessageReceiverMap in
  20069. the ChildProcess.
  20070. (WebKit::WebProcess::didReceiveMessage):
  20071. Remove the special case for CustomProtocolManager.
  20072. (WebKit::WebProcess::initializeCustomProtocolManager):
  20073. Call connectionEstablished on the CustomProtocolManager to make it start working as a NSURLProtocol handler.
  20074. * WebProcess/WebProcess.h:
  20075. Add overrides necessary for MessageSender.
  20076. 2012-12-20 Martin Robinson <mrobinson@igalia.com>
  20077. [GTK] Remove plugin process configuration option
  20078. https://bugs.webkit.org/show_bug.cgi?id=105564
  20079. Reviewed by Carlos Garcia Campos.
  20080. Remove the --enable-plugin-process configuration option, opting instead to
  20081. always build the plugin process when building WebKit2. It isn't very interesting
  20082. for downstream to enable or disable the plugin process. It should always be
  20083. enabled for WebKit2 and it's better for us not to have to keep a disabled plugin
  20084. process building. Additionally, the in-process plugin isn't functional, since
  20085. plugins depend on GTK+ 2 and WebKit2 depends on GTK+ 3.
  20086. * GNUmakefile.am: Remove the option.
  20087. * GNUmakefile.list.am: Remote the option.
  20088. 2012-12-22 Sam Weinig <sam@webkit.org>
  20089. Give the ChildProcess a MessageReceiverMap
  20090. https://bugs.webkit.org/show_bug.cgi?id=105681
  20091. Reviewed by Dan Bernstein.
  20092. Moving the MessageReceiverMap to the ChildProcess will help shared code
  20093. between the WebProcess and NetworkProcess.
  20094. * NetworkProcess/NetworkProcess.cpp:
  20095. (WebKit::NetworkProcess::NetworkProcess):
  20096. Pass 'this' instead of the MessageReceiverMap, now that ChildProcess
  20097. can be used to access the MessageReceiverMap.
  20098. * NetworkProcess/NetworkProcess.h:
  20099. (NetworkProcess):
  20100. Remove the now extraneous MessageReceiverMap.
  20101. * Shared/ChildProcess.cpp:
  20102. (WebKit::ChildProcess::ChildProcess):
  20103. (WebKit):
  20104. (WebKit::ChildProcess::~ChildProcess):
  20105. (WebKit::ChildProcess::addMessageReceiver):
  20106. (WebKit::ChildProcess::removeMessageReceiver):
  20107. * Shared/ChildProcess.h:
  20108. (ChildProcess):
  20109. Add a MessageReceiverMap and helper functions from WebProcess.
  20110. * WebProcess/Authentication/AuthenticationManager.cpp:
  20111. (WebKit::AuthenticationManager::AuthenticationManager):
  20112. * WebProcess/Authentication/AuthenticationManager.h:
  20113. (AuthenticationManager):
  20114. Fix the FIXME, passing the ChildProcess rather than the MessageReceiverMap.
  20115. * WebProcess/WebProcess.cpp:
  20116. (WebKit::WebProcess::WebProcess):
  20117. * WebProcess/WebProcess.h:
  20118. (WebProcess):
  20119. Remove the MessageReceiverMap and helper functions.
  20120. 2012-12-22 Alexey Proskuryakov <ap@apple.com>
  20121. Windows build fix.
  20122. * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
  20123. 2012-12-22 Alexey Proskuryakov <ap@apple.com>
  20124. Add a separate class for networking related storage
  20125. https://bugs.webkit.org/show_bug.cgi?id=105676
  20126. Reviewed by Sam Weinig.
  20127. * NetworkProcess/NetworkConnectionToWebProcess.cpp: We no longer need to create
  20128. fake RemoteNetworkingContexts here! Use an actual default or private storage session.
  20129. * NetworkProcess/mac/NetworkProcessMainMac.mm: Updated form of WebSystemInterface.h include,
  20130. it's not a system one.
  20131. * NetworkProcess/mac/RemoteNetworkingContext.h: Expose privateBrowsingSession(),
  20132. so that NetworkConnectionToWebProcess could use it. We can generalize the interface
  20133. one we support more sessions.
  20134. * NetworkProcess/mac/RemoteNetworkingContext.mm: This class now only tracks private
  20135. browsing session, with most other code being in NetworkStorageSession.
  20136. * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
  20137. * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
  20138. * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
  20139. * WebProcess/WebProcess.cpp:
  20140. * WebProcess/efl/WebProcessMainEfl.cpp:
  20141. * WebProcess/gtk/WebProcessMainGtk.cpp:
  20142. * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
  20143. * WebProcess/Downloads/efl/DownloadSoupErrorsEfl.cpp:
  20144. * WebProcess/Downloads/gtk/DownloadSoupErrorsGtk.cpp:
  20145. * WebProcess/Downloads/mac/DownloadMac.mm:
  20146. * WebProcess/Network/WebResourceLoader.cpp:
  20147. Updated includes for ResourceHandle change. For some ports, the includes could be
  20148. made more tight, but I have no practical way to do that.
  20149. * WebKit2.xcodeproj/project.pbxproj: Removed WebPlatformStrategiesMac.mm.
  20150. * WebProcess/Cookies/WebCookieManager.cpp:
  20151. (WebKit::WebCookieManager::getHostnamesWithCookies):
  20152. (WebKit::WebCookieManager::deleteCookiesForHostname):
  20153. (WebKit::WebCookieManager::deleteAllCookies):
  20154. Pass a proper session instead of relying on a strategy to call back to WebKit
  20155. for default cookie storage (we don't even have strategies initialized in NetworkProcess).
  20156. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  20157. (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession): Initialize WCSI
  20158. before calling a function that now uses in in WebCore.
  20159. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  20160. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: We no longer need a strategy
  20161. for default cookie storage! Updated other functions to use sessions.
  20162. * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
  20163. * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
  20164. * WebProcess/WebCoreSupport/mac/WebPlatformStrategiesMac.mm: Removed.
  20165. * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
  20166. WebFrameNetworkingContext is now simpler, with more tracking being donre through WebCore.
  20167. 2012-12-21 Elliott Sprehn <esprehn@chromium.org>
  20168. Replace documentFragmentIsShadowRoot with isTreeScope
  20169. https://bugs.webkit.org/show_bug.cgi?id=105345
  20170. Reviewed by Dimitri Glazkov.
  20171. Expose isTreeScope symbol.
  20172. * win/WebKit2.def.in:
  20173. 2012-12-21 Sheriff Bot <webkit.review.bot@gmail.com>
  20174. Unreviewed, rolling out r138331.
  20175. http://trac.webkit.org/changeset/138331
  20176. https://bugs.webkit.org/show_bug.cgi?id=105668
  20177. Broke Windows clean builds; can't figure out how to fix it
  20178. (Requested by rniwa on #webkit).
  20179. * win/WebKit2.def.in:
  20180. 2012-12-21 Brady Eidson <beidson@apple.com>
  20181. ASSERT in WebResourceLoadScheduler::scheduleLoad with a crashed NetworkProcess.
  20182. <rdar://problem/12924845> and https://bugs.webkit.org/show_bug.cgi?id=105646
  20183. Reviewed by Alexey Proskuryakov.
  20184. If we fail to schedule a loader with the NetworkProcess it is probably because the NetworkProcess crashed.
  20185. Since these loaders will never succeed in loading we should schedule them to fail on a timer.
  20186. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  20187. (WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler):
  20188. (WebKit::WebResourceLoadScheduler::scheduleLoad):
  20189. (WebKit::WebResourceLoadScheduler::addUnschedulableLoad):
  20190. (WebKit::WebResourceLoadScheduler::unscheduledLoadTimerFired):
  20191. (WebKit::WebResourceLoadScheduler::remove):
  20192. * WebProcess/Network/WebResourceLoadScheduler.h:
  20193. 2012-12-21 Kenneth Rohde Christiansen <kenneth@webkit.org>
  20194. Unreviewed potential fix EFL/Qt test breakage on WK2
  20195. Only disable scrollbars when in fixed layout mode.
  20196. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  20197. (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
  20198. 2012-12-21 Brady Eidson <beidson@apple.com>
  20199. Remove ResourceLoadScheduler::addMainResourceLoad and all related code
  20200. <rdar://problem/12925275> and https://bugs.webkit.org/show_bug.cgi?id=105644
  20201. Reviewed by Alexey Proskuryakov.
  20202. Now that main resources loads are scheduled (bug 49246) we don't need this stuff anymore.
  20203. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  20204. (WebKit::WebResourceLoadScheduler::remove):
  20205. (WebKit::WebResourceLoadScheduler::networkProcessCrashed):
  20206. * WebProcess/Network/WebResourceLoadScheduler.h:
  20207. 2012-12-20 Sam Weinig <sam@webkit.org>
  20208. Add WebKit2 SPI to get the current selection as a WebArchive
  20209. https://bugs.webkit.org/show_bug.cgi?id=105613
  20210. Reviewed by Anders Carlsson.
  20211. * UIProcess/API/C/WKPage.cpp:
  20212. (WKPageGetSelectionAsWebArchiveData):
  20213. * UIProcess/API/C/WKPage.h:
  20214. Add SPI.
  20215. * UIProcess/WebPageProxy.cpp:
  20216. (WebKit::WebPageProxy::getSelectionAsWebArchiveData):
  20217. (WebKit):
  20218. * UIProcess/WebPageProxy.h:
  20219. (WebPageProxy):
  20220. * WebProcess/WebPage/WebPage.cpp:
  20221. (WebKit):
  20222. (WebKit::frameWithSelection):
  20223. (WebKit::WebPage::getSelectionAsWebArchiveData):
  20224. * WebProcess/WebPage/WebPage.h:
  20225. (WebPage):
  20226. * WebProcess/WebPage/WebPage.messages.in:
  20227. Pipe getter to the WebProcess and back.
  20228. 2012-12-21 Brady Eidson <beidson@apple.com>
  20229. Perform cleanup in WebProcess if the NetworkProcess crashes.
  20230. <rdar://problem/12903117> and https://bugs.webkit.org/show_bug.cgi?id=105592
  20231. Reviewed by Alexey Proskuryakov.
  20232. If the NetworkProcess crashes, a whole bunch of WebResourceLoaders (and WebCore::ResourceLoaders)
  20233. might be orphaned in the WebProcess.
  20234. These loaders need to fail once it is apparent they will never finish loading.
  20235. * Shared/API/c/WKError.h: Add a new error representing an "WebKit Internal Error."
  20236. * WebProcess/WebCoreSupport/WebErrors.h:
  20237. * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
  20238. (WebKit::internalError):
  20239. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  20240. (WebKit::WebResourceLoadScheduler::networkProcessCrashed): Call didFail all outstanding ResourceLoaders
  20241. and tell all WebResourceLoaders the NetworkProcess crashed.
  20242. * WebProcess/Network/WebResourceLoadScheduler.h:
  20243. * WebProcess/Network/WebResourceLoader.cpp:
  20244. (WebKit::WebResourceLoader::networkProcessCrashed): Call didFail with the new InternalError
  20245. * WebProcess/Network/WebResourceLoader.h:
  20246. * WebProcess/WebProcess.cpp:
  20247. (WebKit::WebProcess::networkProcessConnectionClosed): Tell the scheduled the NetworkProcess crashed.
  20248. 2012-12-21 Kenneth Rohde Christiansen <kenneth@webkit.org>
  20249. [EFL][WK2] Never create WebCore scrollbars for EFL/WK2
  20250. https://bugs.webkit.org/show_bug.cgi?id=105632
  20251. Reviewed by Antonio Gomes.
  20252. Then creating the frame ask to not create scrollbars and
  20253. lock it so they won't be created at any later time.
  20254. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  20255. (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
  20256. 2012-12-21 Seokju Kwon <seokju.kwon@gmail.com>
  20257. [EFL] Add guard around ContextMenuItemTagInspectElement
  20258. https://bugs.webkit.org/show_bug.cgi?id=105267
  20259. Reviewed by Ryosuke Niwa.
  20260. Need INSPECTOR guard for using ContextMenuItemTagInspectElement.
  20261. * UIProcess/API/efl/ewk_context_menu_item.cpp:
  20262. 2012-12-21 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  20263. [WK2] TiledBackingStore: Scroll position is not reset when new page is loaded
  20264. https://bugs.webkit.org/show_bug.cgi?id=105627
  20265. Reviewed by Kenneth Rohde Christiansen.
  20266. Reset scroll position to (0,0) when new page is loaded.
  20267. * WebProcess/WebPage/WebPage.cpp:
  20268. (WebKit::WebPage::sendViewportAttributesChanged):
  20269. 2012-12-21 Tim Horton <timothy_horton@apple.com>
  20270. PDFPlugin: Cannot drop files/URLs on PDFPlugin
  20271. https://bugs.webkit.org/show_bug.cgi?id=105516
  20272. <rdar://problem/12729443>
  20273. Reviewed by Alexey Proskuryakov.
  20274. Add shouldAllowNavigationFromDrags to Plugin/PluginView/etc., which WebCore will
  20275. consult when dragging over a PluginDocument to decide whether or not a drag may result in navigation.
  20276. * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
  20277. (WebKit::NetscapePlugin::shouldAllowNavigationFromDrags): Added, always returning false to keep existing behavior.
  20278. * WebProcess/Plugins/Netscape/NetscapePlugin.h:
  20279. (NetscapePlugin): Added.
  20280. * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
  20281. (WebKit::SimplePDFPlugin::shouldAllowNavigationFromDrags): Added, always returning true. (Simple)PDFPlugin should
  20282. navigate when dropped onto, just like an image or HTML document would.
  20283. * WebProcess/Plugins/Plugin.h:
  20284. (Plugin): Add shouldAllowNavigationFromDrags.
  20285. * WebProcess/Plugins/PluginProxy.h: Add shouldAllowNavigationFromDrags.
  20286. * WebProcess/Plugins/PluginView.cpp:
  20287. (WebKit::PluginView::shouldAllowNavigationFromDrags): Forward shouldAllowNavigationFromDrags to the plugin.
  20288. * WebProcess/Plugins/PluginView.h: Add shouldAllowNavigationFromDrags.
  20289. 2012-12-21 Sheriff Bot <webkit.review.bot@gmail.com>
  20290. Unreviewed, rolling out r138357.
  20291. http://trac.webkit.org/changeset/138357
  20292. https://bugs.webkit.org/show_bug.cgi?id=105622
  20293. wrong fix for the problem (the original author actually
  20294. already did this, and it's not helping) (Requested by thorton
  20295. on #webkit).
  20296. * win/WebKit2.def.in:
  20297. 2012-12-21 Sheriff Bot <webkit.review.bot@gmail.com>
  20298. Unreviewed, rolling out r138338.
  20299. http://trac.webkit.org/changeset/138338
  20300. https://bugs.webkit.org/show_bug.cgi?id=105621
  20301. speculative rollout because fast/dom/shadow/content-element-
  20302. distributed-nodes.html is crashing on linux debug. (Requested
  20303. by loislo on #webkit).
  20304. * win/WebKit2.def.in:
  20305. 2012-12-21 Tim Horton <timothy_horton@apple.com>
  20306. Unreviewed Windows build fix after http://trac.webkit.org/changeset/138338
  20307. * win/WebKit2.def.in:
  20308. 2012-12-21 Tim Horton <timothy_horton@apple.com>
  20309. Reducing print preview scale significantly causes a crash
  20310. https://bugs.webkit.org/show_bug.cgi?id=105519
  20311. <rdar://problem/12807090>
  20312. Reviewed by Alexey Proskuryakov.
  20313. The bitmap image used for print previews was being created respecting the print preview scale.
  20314. This doesn't make any sense, as the scale does not affect the size of the image required to
  20315. represent the previewed page. Instead, we should not scale the size, creating the buffer at a
  20316. size that is constant regardless of scale, and do the scaling when drawing *into* the buffer instead.
  20317. In some cases, this could cause an out-of-memory crash.
  20318. * UIProcess/API/mac/WKPrintingView.mm:
  20319. (-[WKPrintingView _drawPreview:]): Rename rect to scaledPrintingRect for clarity. Compute print
  20320. preview bitmap image size from the original non-scaled drawing size and the device scale factor.
  20321. Hand the image size to drawRectToImage. Draw the image without scaling, as it's always created
  20322. at the correct size. Don't compute the scale factor from the size of the image, we can know it from WebPageProxy.
  20323. * UIProcess/WebPageProxy.cpp:
  20324. (WebKit::WebPageProxy::drawRectToImage): Add a parameter to drawRectForImage, imageSize.
  20325. * UIProcess/WebPageProxy.h:
  20326. (WebPageProxy): Add a parameter to drawRectForImage, imageSize.
  20327. * WebProcess/WebPage/WebPage.cpp:
  20328. (WebKit::WebPage::drawRectToImage): Use imageSize to size our buffer, and scale up to make the printing rect
  20329. fit in the bitmap's bounds.
  20330. * WebProcess/WebPage/WebPage.h:
  20331. (WebPage): Add a parameter to drawRectForImage, imageSize.
  20332. * WebProcess/WebPage/WebPage.messages.in: Add a parameter to drawRectForImage, imageSize.
  20333. 2012-12-20 Helder Correia <helder.correia@nokia.com>
  20334. [CoordGfx] Make single-argument AreaAllocator constructors explicit
  20335. https://bugs.webkit.org/show_bug.cgi?id=105598
  20336. Reviewed by Noam Rosenthal.
  20337. Follow the coding style for AreaAllocator and GeneralAreaAllocator.
  20338. * WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.h:
  20339. (AreaAllocator):
  20340. (GeneralAreaAllocator):
  20341. 2012-12-20 Elliott Sprehn <esprehn@chromium.org>
  20342. Replace documentFragmentIsShadowRoot with isTreeScope
  20343. https://bugs.webkit.org/show_bug.cgi?id=105345
  20344. Reviewed by Dimitri Glazkov.
  20345. Expose isTreeScope symbol.
  20346. * win/WebKit2.def.in:
  20347. 2012-12-20 Kiran Muppala <cmuppala@apple.com>
  20348. Set timer coalescing policy for WebKit2 processes on Mac until process visible assertion handles it automatically
  20349. https://bugs.webkit.org/show_bug.cgi?id=105594
  20350. Reviewed by Mark Rowe.
  20351. * Shared/mac/ChildProcessMac.mm:
  20352. (WebKit::initializeTimerCoalescingPolicy): Set task_latency and task_throughput QOS tiers as appropriate
  20353. for visible applications.
  20354. (WebKit::ChildProcess::platformInitialize): Add call to initializeTimerCoalescingPolicy.
  20355. 2012-12-20 Anders Carlsson <andersca@apple.com>
  20356. Stop building WebKit2 for Windows
  20357. https://bugs.webkit.org/show_bug.cgi?id=105585
  20358. Reviewed by Brian Weinstein.
  20359. Remove an unneeded export.
  20360. * win/WebKit2.def.in:
  20361. 2012-12-20 Ryuan Choi <ryuan.choi@samsung.com>
  20362. [EFL] Build break with latest EFL libraries.
  20363. https://bugs.webkit.org/show_bug.cgi?id=104827
  20364. Reviewed by Laszlo Gombos.
  20365. The eo EFL package is introduced and evas and ecore use it since 1.8.
  20366. While introducing Eo, EFL changed several structures of Evas and Ecore
  20367. from own specific class to Eo.
  20368. So, this patch adds FindEo and changes declaration of Evas, Evas_Object,
  20369. Ecore_Timer to build with latest EFL libraries.
  20370. * PlatformEfl.cmake: Includes eo EFL library.
  20371. * UIProcess/API/C/efl/WKAPICastEfl.h: Modified declaration of Evas_Object.
  20372. * UIProcess/API/C/efl/WKView.h: Modified declaration of Evas.
  20373. * UIProcess/efl/WebPopupMenuProxyEfl.h: Removed unnecessary declaration.
  20374. 2012-12-20 Helder Correia <helder.correia@nokia.com>
  20375. [CoordGfx] Remove CoordinatedLayerUpdateInfo class forwarding
  20376. https://bugs.webkit.org/show_bug.cgi?id=105588
  20377. Reviewed by Noam Rosenthal.
  20378. There is no such class.
  20379. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  20380. (WebKit):
  20381. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  20382. (WebKit):
  20383. 2012-12-20 Pratik Solanki <psolanki@apple.com>
  20384. Rename HAVE(NETWORK_CFDATA_ARRAY_CALLBACK) to USE(NETWORK_CFDATA_ARRAY_CALLBACK)
  20385. https://bugs.webkit.org/show_bug.cgi?id=105578
  20386. Reviewed by Alexey Proskuryakov.
  20387. * NetworkProcess/NetworkResourceLoader.cpp:
  20388. * NetworkProcess/NetworkResourceLoader.h:
  20389. 2012-12-20 Alexey Proskuryakov <ap@apple.com>
  20390. LocalTerminationDisabler is not needed in WebCookieManager.cpp
  20391. https://bugs.webkit.org/show_bug.cgi?id=105581
  20392. Reviewed by Anders Carlsson.
  20393. All WebCookieManager functions are synchronous, and all LocalTerminationDisabler does
  20394. is enable/disable a timer that cannot fire inside the function anyway.
  20395. * WebProcess/Cookies/WebCookieManager.cpp:
  20396. (WebKit::WebCookieManager::getHostnamesWithCookies):
  20397. (WebKit::WebCookieManager::deleteCookiesForHostname):
  20398. (WebKit::WebCookieManager::deleteAllCookies):
  20399. (WebKit::WebCookieManager::startObservingCookieChanges):
  20400. (WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
  20401. (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
  20402. 2012-12-20 Brady Eidson <beidson@apple.com>
  20403. NetworkProcess has no need for suspend/resumePendingRequests.
  20404. <rdar://problem/12866005> and https://bugs.webkit.org/show_bug.cgi?id=105550
  20405. Reviewed by Alexey Proskuryakov.
  20406. suspend/resumePendingRequests were important in a single-process, WebKit1 API world to help prevent
  20407. client callbacks from occurring during layout/painting.
  20408. In a WebKit2 + NetworkProcess world, they aren't important.
  20409. Remove the Web->Network process messages:
  20410. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  20411. * NetworkProcess/NetworkConnectionToWebProcess.h:
  20412. * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  20413. * NetworkProcess/NetworkResourceLoadScheduler.cpp:
  20414. * NetworkProcess/NetworkResourceLoadScheduler.h:
  20415. For now, still keep the per-WebProcess count to help keep servePendingRequest working as WebCore intends:
  20416. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  20417. (WebKit::WebResourceLoadScheduler::servePendingRequests):
  20418. (WebKit::WebResourceLoadScheduler::suspendPendingRequests):
  20419. (WebKit::WebResourceLoadScheduler::resumePendingRequests):
  20420. 2012-12-20 Carlos Garcia Campos <cgarcia@igalia.com>
  20421. [GTK] Add API to set a TLS errors policy to WebKit2 GTK+ API
  20422. https://bugs.webkit.org/show_bug.cgi?id=104482
  20423. Reviewed by Martin Robinson.
  20424. Add an emum for TLS errors policy with values IGNORE and FAIL and
  20425. API to WebKitWebContext to set/get the policy.
  20426. * Shared/WebProcessCreationParameters.cpp:
  20427. (WebKit::WebProcessCreationParameters::encode): Encode ignoreTLSErrors.
  20428. (WebKit::WebProcessCreationParameters::decode): Decode ignoreTLSErrors.
  20429. * Shared/WebProcessCreationParameters.h:
  20430. (WebProcessCreationParameters): Add ignoreTLSErrors when building
  20431. with soup network backend.
  20432. * Shared/soup/PlatformCertificateInfo.cpp:
  20433. (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Add a
  20434. constructor that receives a ResourceError.
  20435. * Shared/soup/PlatformCertificateInfo.h:
  20436. * Shared/soup/WebCoreArgumentCodersSoup.cpp:
  20437. (CoreIPC::::encodePlatformData): Encode the
  20438. PlatformCertificateInfo as part for the ResourceError.
  20439. (CoreIPC::::decodePlatformData): Decode the
  20440. PlatformCertificateInfo and set certificate and TLS errors in the
  20441. ResourceError.
  20442. * UIProcess/API/gtk/WebKitLoaderClient.cpp:
  20443. (didFailProvisionalLoadWithErrorForFrame): Call
  20444. webkitWebViewLoadFailedWithTLSErrors() if the load failed due to
  20445. TLS errors.
  20446. * UIProcess/API/gtk/WebKitWebContext.cpp:
  20447. (_WebKitWebContextPrivate): Add tlsErrorsPolicy member.
  20448. (createDefaultWebContext): Initiales tlsErrorsPolicy.
  20449. (webkit_web_context_set_tls_errors_policy): Set the TLS errors
  20450. policy notify WebContext to ignore TLS errors or not.
  20451. (webkit_web_context_get_tls_errors_policy): Return the current TLS
  20452. errors policy.
  20453. * UIProcess/API/gtk/WebKitWebContext.h:
  20454. * UIProcess/API/gtk/WebKitWebView.cpp:
  20455. (webkitWebViewLoadFailedWithTLSErrors): Finish the load with an
  20456. error if the TLS errors policy is FAIL.
  20457. * UIProcess/API/gtk/WebKitWebViewPrivate.h:
  20458. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
  20459. * UIProcess/API/gtk/tests/TestSSL.cpp:
  20460. (testTLSErrorsPolicy):
  20461. (beforeAll):
  20462. * UIProcess/WebContext.cpp:
  20463. (WebKit::WebContext::WebContext): Initialize m_ignoreTLSErrors.
  20464. * UIProcess/WebContext.h:
  20465. (WebContext): Add m_ignoreTLSErrors member.
  20466. (WebKit::WebContext::ignoreTLSErrors): Return m_ignoreTLSErrors.
  20467. * UIProcess/efl/WebContextEfl.cpp:
  20468. (WebKit::WebContext::platformInitializeWebProcess): Set
  20469. ignoreTLSErrors parameter.
  20470. (WebKit::WebContext::setIgnoreTLSErrors): Send SetIgnoreTLSErrors
  20471. message to the web process.
  20472. * UIProcess/gtk/WebContextGtk.cpp:
  20473. (WebKit::WebContext::platformInitializeWebProcess): Set
  20474. ignoreTLSErrors parameter.
  20475. (WebKit::WebContext::setIgnoreTLSErrors): Send SetIgnoreTLSErrors
  20476. message to the web process.
  20477. (WebKit):
  20478. * WebProcess/WebProcess.h:
  20479. * WebProcess/WebProcess.messages.in:
  20480. * WebProcess/efl/WebProcessMainEfl.cpp:
  20481. (WebKit::WebProcessMainEfl): Remove the call to
  20482. ResourceHandle::setIgnoreSSLErrors().
  20483. * WebProcess/gtk/WebProcessMainGtk.cpp:
  20484. (WebKit::WebProcessMainGtk): Remove the call to
  20485. ResourceHandle::setIgnoreSSLErrors().
  20486. * WebProcess/soup/WebProcessSoup.cpp:
  20487. (WebKit::WebProcess::platformInitializeWebProcess):
  20488. (WebKit::WebProcess::setIgnoreTLSErrors): Call
  20489. ResourceHandle::setIgnoreSSLErrors().
  20490. (WebKit):
  20491. 2012-12-20 Dominik Röttsches <dominik.rottsches@intel.com>
  20492. [EFL] MiniBrowser does not play Infinite Gangnam Style
  20493. https://bugs.webkit.org/show_bug.cgi?id=103531
  20494. Reviewed by Kenneth Rohde Christiansen.
  20495. WebAudio preference now defaults to switched on.
  20496. * UIProcess/API/efl/EwkViewImpl.cpp:
  20497. (EwkViewImpl::EwkViewImpl):
  20498. 2012-12-20 Huang Dongsung <luxtella@company100.net>
  20499. Remove GraphicsLayer::setGraphicsLayerFactory().
  20500. https://bugs.webkit.org/show_bug.cgi?id=105503
  20501. Reviewed by Kenneth Rohde Christiansen.
  20502. We don't need GraphicsLayer::setGraphicsLayerFactory() anymore. After r130302,
  20503. we have used a graphics layer factory explicitly.
  20504. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  20505. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  20506. * WebProcess/efl/WebProcessMainEfl.cpp:
  20507. (WebKit::WebProcessMainEfl):
  20508. * WebProcess/qt/WebProcessMainQt.cpp:
  20509. (WebKit::WebProcessMainQt):
  20510. 2012-12-20 Dominik Röttsches <dominik.rottsches@intel.com>
  20511. [WK2] WebAudio WKTR support
  20512. https://bugs.webkit.org/show_bug.cgi?id=95084
  20513. Reviewed by Kenneth Rohde Christiansen.
  20514. Implementing audio data dump support for WebKitTestRunner,
  20515. by adding the API to the IDL, enabling IPC for transferring
  20516. the audio data as bytebuffer and dumping it according
  20517. to run-webkit-tests script's expectations.
  20518. I am adding a testrunner specific bundle method to extract data
  20519. from a Uint8Array into a bytebuffer. This API is used by
  20520. WebKitTestRunner's TestRunner to extract the data into a local
  20521. variable, then sending it over IPC.
  20522. * DerivedSources.pri: Fixing Qt build by adding JSUint8Array.h header to list of forwarding headers.
  20523. * Target.pri: Adding missing WKData.* files. Qt build fix.
  20524. * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
  20525. (WKBundleCreateWKDataFromUint8Array): Added.
  20526. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Adding WKBundleCreateWKDataFromUint8Array.
  20527. * WebProcess/InjectedBundle/InjectedBundle.cpp: Convert Uint8Array to WebData.
  20528. (WebKit::InjectedBundle::createWebDataFromUint8Array):
  20529. (WebKit):
  20530. * WebProcess/InjectedBundle/InjectedBundle.h:
  20531. (WebKit):
  20532. (InjectedBundle):
  20533. 2012-12-19 Kiran Muppala <cmuppala@apple.com>
  20534. Adopt new assertion SPI for process suppression on Mac
  20535. https://bugs.webkit.org/show_bug.cgi?id=105378
  20536. Reviewed by Mark Rowe.
  20537. Process suppression for WebKit2 child processes is currently enabled or disabled using AutomaticTermination.
  20538. This should be replaced with a new assertion SPI specific to process suppression.
  20539. * Shared/ChildProcess.cpp:
  20540. (WebKit::ChildProcess::ChildProcess): Remove unused member variable m_applicationIsOccluded.
  20541. * Shared/ChildProcess.h:
  20542. (WebKit::ChildProcess::applicationIsOccluded): Infer occlusion state from m_processVisibleAssertion.
  20543. * Shared/mac/ChildProcessMac.mm:
  20544. (WebKit::ChildProcess::setApplicationIsOccluded): Use applicationIsOccluded() accessor to check if the
  20545. occlusion state has changed and take or release a process visible assertion accordingly.
  20546. (WebKit::ChildProcess::platformInitialize): Remove call to initializeTimerCoalescingPolicy(), since taking
  20547. a process visible assertion also sets the timer coalescing policy appropriately. Set the occlusion
  20548. state to false on initialization.
  20549. 2012-12-19 Alexey Proskuryakov <ap@apple.com>
  20550. <rdar://problem/12890242> [WK2 NetworkProcess] Client doesn't receive SSL certificates
  20551. https://bugs.webkit.org/show_bug.cgi?id=105467
  20552. Reviewed by Brady Eidson.
  20553. * NetworkProcess/NetworkResourceLoader.cpp:
  20554. (WebKit::NetworkResourceLoader::didReceiveResponse):
  20555. * Shared/mac/PlatformCertificateInfo.mm:
  20556. (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
  20557. * WebProcess/Network/WebResourceLoader.cpp:
  20558. (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
  20559. * WebProcess/Network/WebResourceLoader.h:
  20560. * WebProcess/Network/WebResourceLoader.messages.in:
  20561. Pass certificate chain over IPC, so that we could ultimately send it to client
  20562. via WebPageProxy::DidCommitLoadForFrame message.
  20563. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
  20564. Initialize a WKSI function we've been missing.
  20565. 2012-12-19 Jon Lee <jonlee@apple.com>
  20566. Add a function to set the origin hash table
  20567. https://bugs.webkit.org/show_bug.cgi?id=105447
  20568. <rdar://problem/12910985>
  20569. Reviewed by Brian Weinstein.
  20570. Add a new API called WKContextSetPlugInAutoStartOriginHashes. It assigns the table of hashes,
  20571. keyed by main frame origin, to the WebContext. That, in turn, notifies all existing web
  20572. processes, so that each web process can update its copy of the auto-start hashes.
  20573. * UIProcess/API/C/WKContext.cpp:
  20574. (WKContextSetPlugInAutoStartOriginHashes): To clear the table, an empty dictionary must be
  20575. provided.
  20576. * UIProcess/API/C/WKContext.h:
  20577. * UIProcess/WebContext.cpp:
  20578. (WebKit::WebContext::setPlugInAutoStartOriginHashes): Forward to PlugInAutoStartProvider.
  20579. * UIProcess/WebContext.h:
  20580. * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
  20581. (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): Clear the map and set of hashes,
  20582. and convert the data from the provided dictionary. Also add it to a temporary vector, which will
  20583. be used to pass along to all of the active web processes.
  20584. * UIProcess/Plugins/PlugInAutoStartProvider.h:
  20585. * WebProcess/WebProcess.messages.in: Add plugInAutoStartOriginsChanged. Takes in a vector of
  20586. the new set of hashes.
  20587. * WebProcess/WebProcess.cpp:
  20588. (WebKit::WebProcess::plugInAutoStartOriginsChanged): Clear the existing set, and copy the new
  20589. hashes.
  20590. * WebProcess/WebProcess.h:
  20591. 2012-12-18 Jon Lee <jonlee@apple.com>
  20592. Notify context client of change to table, and allow client to get a copy of it
  20593. https://bugs.webkit.org/show_bug.cgi?id=105364
  20594. <rdar://problem/12906267>
  20595. Reviewed by Brady Eidson.
  20596. Add a callback to notify the context client that the origin hashes have changed.
  20597. The client may choose to get a copy of that table and save it to disk.
  20598. * UIProcess/API/C/WKContext.cpp:
  20599. (WKContextCopyPlugInAutoStartOriginHashes): Added to the context client.
  20600. * UIProcess/API/C/WKContext.h:
  20601. * UIProcess/WebContext.cpp:
  20602. (WebKit::WebContext::plugInAutoStartOriginHashes): Return a copy of the origin hash
  20603. table.
  20604. * UIProcess/WebContext.h:
  20605. * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
  20606. (WebKit::PlugInAutoStartProvider::addAutoStartOrigin): When the origin is added to
  20607. the table, notify the context client.
  20608. (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy): Create a copy of the
  20609. table.
  20610. * UIProcess/Plugins/PlugInAutoStartProvider.h:
  20611. * UIProcess/WebContextClient.cpp:
  20612. (WebKit::WebContextClient::plugInAutoStartOriginHashesChanged): Call the client.
  20613. * UIProcess/WebContextClient.h:
  20614. 2012-12-19 Alexis Menard <alexis@webkit.org>
  20615. Implement CSS parsing for CSS transitions unprefixed.
  20616. https://bugs.webkit.org/show_bug.cgi?id=104804
  20617. Reviewed by Dean Jackson.
  20618. Add a new flag ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
  20619. to cover the work of unprefixing Transforms, Animations and
  20620. Transitions. It will let the possibility of each ports to turn it off
  20621. in their release branches until we're confident that these CSS
  20622. properties are ready to be unprefixed.
  20623. * Configurations/FeatureDefines.xcconfig:
  20624. 2012-12-19 Kondapally Kalyan <kalyan.kondapally@intel.com>
  20625. [EFL][WK2][AC] Avoid creating an empty surface.
  20626. https://bugs.webkit.org/show_bug.cgi?id=105410
  20627. Reviewed by Kenneth Rohde Christiansen.
  20628. Ensure that the view has valid size before creating the surface.
  20629. * UIProcess/API/efl/EvasGLSurface.h:
  20630. (WebKit::EvasGLSurface::create):
  20631. * UIProcess/API/efl/EwkViewImpl.cpp:
  20632. (EwkViewImpl::displayTimerFired):
  20633. 2012-12-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
  20634. [EFL][Qt][WK2] Going back to 47-amazing-css3-animation-demos shows nothing or wrong position
  20635. https://bugs.webkit.org/show_bug.cgi?id=104414
  20636. Reviewed by Simon Hausmann.
  20637. When contents size changes, make sure to apply any pending position
  20638. change if possible.
  20639. * UIProcess/PageViewportController.cpp:
  20640. (WebKit::PageViewportController::didChangeContentsSize):
  20641. 2012-12-19 Alberto Garcia <agarcia@igalia.com>
  20642. [GTK] [WK2] Trailing semicolon in an #include line
  20643. https://bugs.webkit.org/show_bug.cgi?id=105418
  20644. Reviewed by Xan Lopez.
  20645. * UIProcess/gtk/WebContextGtk.cpp:
  20646. Remove trailing semicolon in #include line.
  20647. 2012-12-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
  20648. [EFL][WK2] Move deviceScaleFactor to our view as it's view related
  20649. https://bugs.webkit.org/show_bug.cgi?id=105412
  20650. Reviewed by Laszlo Gombos.
  20651. * UIProcess/API/efl/EwkViewImpl.cpp:
  20652. (EwkViewImpl::setDeviceScaleFactor):
  20653. (EwkViewImpl::transformFromScene):
  20654. * UIProcess/API/efl/EwkViewImpl.h:
  20655. (EwkViewImpl):
  20656. * UIProcess/API/efl/ewk_view.cpp:
  20657. (ewk_view_device_pixel_ratio_set):
  20658. 2012-12-19 Zeno Albisser <zeno@webkit.org>
  20659. [Qt] Missing vtable for LoadStartedCatcher.
  20660. https://bugs.webkit.org/show_bug.cgi?id=105313
  20661. Properly splitting class declarations and function
  20662. definitions into headers/cpp-files.
  20663. This makes including util.moc redundant
  20664. and avoids the well known vtable issues with QObject classes.
  20665. Reviewed by Simon Hausmann.
  20666. * UIProcess/API/qt/tests/util.cpp:
  20667. (LoadSpy::LoadSpy):
  20668. (LoadSpy::onLoadingChanged):
  20669. * UIProcess/API/qt/tests/util.h:
  20670. (LoadSpy):
  20671. 2012-12-19 KyungTae Kim <ktf.kim@samsung.com>
  20672. Unused parameters on WebContext.cpp
  20673. https://bugs.webkit.org/show_bug.cgi?id=105395
  20674. Reviewed by Kentaro Hara.
  20675. Because the parameters 'certficate', 'host' are not used if !ENABLE(NETWORK_PROCESS),
  20676. use UNUSED_PARAM macro to fix build warning -Wunused-parameter.
  20677. * UIProcess/WebContext.cpp:
  20678. (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
  20679. 2012-12-18 Alexey Proskuryakov <ap@apple.com>
  20680. Remove unnecessary functions from CookiesStrategy
  20681. https://bugs.webkit.org/show_bug.cgi?id=105369
  20682. Reviewed by Brady Eidson.
  20683. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  20684. * NetworkProcess/NetworkConnectionToWebProcess.h:
  20685. * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  20686. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  20687. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  20688. * WebProcess/Cookies/WebCookieManager.cpp: Call PlatformCookieJar directly.
  20689. Cookie messages to NetworkProcess should not be sent through WebProcess. In a future
  20690. patch, I'll make WebCookieManagerProxy message NetworkProcess instead.
  20691. 2012-12-18 Jon Lee <jonlee@apple.com>
  20692. [WK2] Create a context client
  20693. https://bugs.webkit.org/show_bug.cgi?id=105316
  20694. <rdar://problem/12901762>
  20695. Reviewed by Brady Eidson.
  20696. Web contexts already have clients related to downloads or history.
  20697. Miscellaneous callbacks can be grouped into a generic client for the
  20698. web context.
  20699. * UIProcess/API/C/WKContext.cpp:
  20700. (WKContextSetClient): Set the client for the context.
  20701. * UIProcess/API/C/WKContext.h: Define a new, empty WKContextClient.
  20702. * UIProcess/WebContext.cpp:
  20703. (WebKit::WebContext::initializeClient):
  20704. * UIProcess/WebContext.h: Add a variable for the new client. Move the
  20705. download client so that all the clients are grouped together.
  20706. (WebKit::WebContext::client): Returns the context client.
  20707. * UIProcess/WebContextClient.cpp: Added. Currently empty, but will be
  20708. filled out in a pending patch.
  20709. * UIProcess/WebContextClient.h: Added.
  20710. Add WebContextClient.{h,cpp}.
  20711. * CMakeLists.txt:
  20712. * GNUmakefile.list.am:
  20713. * Target.pri:
  20714. * WebKit2.xcodeproj/project.pbxproj:
  20715. * win/WebKit2.vcproj:
  20716. 2012-12-18 Ivan Krstić <ike@apple.com>
  20717. <rdar://problem/12720539> per-pid private temporary directories for sandboxed webkit2 plugins
  20718. Reviewed by Sam Weinig, Alexey Proskuryakov, Anders Carlsson.
  20719. Previously we assigned each PluginProcess a private temporary and
  20720. cache directory based on the bundle name of the plugin that was
  20721. running. This sometimes led to overly-long pathnames (sockets on OS X
  20722. can only be 103 characters long), and didn't provide isolation between
  20723. multiple running instances of the same plugin on behalf of different
  20724. processes. We now assign each PluginProcess its own private
  20725. temporary and cache directory regardless of which plugin it's running,
  20726. and make an attempt to clean these up when the process terminates.
  20727. We also pass the temporary directory into the sandbox
  20728. profile as a parameter, in case the plugin profile needs to apply
  20729. additional rules beyond the default read/write policy.
  20730. * PluginProcess/mac/PluginProcessMainMac.mm:
  20731. (WebKit::PluginProcessMain):
  20732. * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
  20733. (enterSandbox):
  20734. 2012-12-18 Beth Dakin <bdakin@apple.com>
  20735. https://bugs.webkit.org/show_bug.cgi?id=102579
  20736. [mac] Enable scaled cursors
  20737. Reviewed by Dean Jackson.
  20738. * Configurations/FeatureDefines.xcconfig:
  20739. 2012-12-18 Joseph Pecoraro <pecoraro@apple.com>
  20740. [Mac] Add Build Phase to Check Headers for Inappropriate Macros (Platform.h macros)
  20741. https://bugs.webkit.org/show_bug.cgi?id=104279
  20742. Reviewed by David Kilzer.
  20743. Add a build phase to check the public WebKit2 headers for
  20744. inappropriate macros. Also set the executable as an input
  20745. path on the other check-* build phases.
  20746. * WebKit2.xcodeproj/project.pbxproj:
  20747. 2012-12-18 Jer Noble <jer.noble@apple.com>
  20748. REGRESSION: Using the Exit Full Screen button in the menu bar to exit HTML5 / media full screen breaks Safari windows
  20749. https://bugs.webkit.org/show_bug.cgi?id=104610
  20750. Reviewed by Anders Carlsson.
  20751. When a user clicks on the menu-bar exit fullscreen button, that skips notifying the document that
  20752. the window is exiting fullscreen and tearing down the placeholder. Manually call that part of the code
  20753. when we detect that it has been skipped.
  20754. * UIProcess/mac/WKFullScreenWindowController.mm:
  20755. (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
  20756. 2012-12-18 Brady Eidson <beidson@apple.com>
  20757. WebProcesses often crash if they access the network after a NetworkProcess crash.
  20758. <rdar://problem/12865789> and https://bugs.webkit.org/show_bug.cgi?id=105338
  20759. Reviewed by Alexey Proskuryakov.
  20760. After a NetworkProcess crash we should try to re-establish a connection to a new NetworkProcess
  20761. when it is needed.
  20762. If that attempt fails, then the WebProcess should "cleanly" crash.
  20763. * WebProcess/WebProcess.cpp:
  20764. (WebKit::WebProcess::networkConnection):
  20765. 2012-12-17 Sam Weinig <sam@webkit.org>
  20766. Try to fix the Mac build.
  20767. * NetworkProcess/mac/NetworkProcessMac.mm:
  20768. 2012-12-17 Halton Huo <halton.huo@intel.com>
  20769. [EFL] Add ecore_imf_evas to FindEcore.cmake
  20770. https://bugs.webkit.org/show_bug.cgi?id=105159
  20771. Reviewed by Laszlo Gombos.
  20772. * PlatformEfl.cmake: Add ECORE_IMF_EVAS_LIBRARIES to WebProcess_LIBRARIES
  20773. 2012-12-17 Huang Dongsung <luxtella@company100.net>
  20774. Coordinated Graphics: Refactor TiledBackingStore code in CoordinatedGraphicsLayer.
  20775. https://bugs.webkit.org/show_bug.cgi?id=103959
  20776. Reviewed by Kenneth Rohde Christiansen.
  20777. Currently, CoordinatedGraphicsLayer has complex code related to TiledBackingStore.
  20778. It has two problem.
  20779. 1. CoordinatedGraphicsLayer hacks TiledBackingStore to prevent
  20780. TiledBackingStore from asynchronously sending UpdateTile message to UI
  20781. Process.
  20782. 2. CreateTile and RemoveTile message can be sent to UI Process at any time.
  20783. This patch makes CoordinatedGraphicsLayer use TiledBackingStore more explicitly.
  20784. It means only during flushing layer states, CoordinatedGraphicsLayer
  20785. calls methods of TiledBackingStore, which indirectly call createTile(),
  20786. updateTile() and removeTile().
  20787. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  20788. (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
  20789. (WebCore::CoordinatedGraphicsLayer::setVisibleContentRectTrajectoryVector):
  20790. (WebCore::CoordinatedGraphicsLayer::setContentsScale):
  20791. (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
  20792. (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreHasPendingTileCreation):
  20793. (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
  20794. (WebCore::CoordinatedGraphicsLayer::createTile):
  20795. (WebCore::CoordinatedGraphicsLayer::updateTile):
  20796. (WebCore::CoordinatedGraphicsLayer::removeTile):
  20797. (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
  20798. (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
  20799. (WebCore::CoordinatedGraphicsLayer::setNeedsVisibleRectAdjustment):
  20800. (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
  20801. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  20802. (CoordinatedGraphicsLayerClient):
  20803. (CoordinatedGraphicsLayer):
  20804. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  20805. (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
  20806. (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
  20807. (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
  20808. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  20809. 2012-12-17 Brady Eidson <beidson@apple.com>
  20810. Can't visit sites with untrusted certs with the NetworkProcess.
  20811. <rdar://problem/12885641> and https://bugs.webkit.org/show_bug.cgi?id=105235
  20812. Reviewed by Sam Weinig.
  20813. For Mac the missing functionality is being able to tell the network layer in the
  20814. NetworkProcess to temporarily accept a certificate chain for the given host.
  20815. This patch adds some SPI supporting the way this works on Mac.
  20816. Add a message and Mac implementation for "allowSpecificHTTPSCertificateForHost":
  20817. * NetworkProcess/NetworkProcess.h:
  20818. * NetworkProcess/NetworkProcess.messages.in:
  20819. * NetworkProcess/mac/NetworkProcessMac.mm:
  20820. (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
  20821. Add SPI for the embedding app"
  20822. * UIProcess/API/C/WKContext.cpp:
  20823. (WKContextAllowSpecificHTTPSCertificateForHost):
  20824. * UIProcess/API/C/WKContextPrivate.h:
  20825. * UIProcess/WebContext.cpp:
  20826. (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
  20827. * UIProcess/WebContext.h:
  20828. 2012-12-17 Huang Dongsung <luxtella@company100.net>
  20829. [CoordinatedGraphics] Assertion hit in WebKit::LayerTreeRenderer::setLayerState()
  20830. https://bugs.webkit.org/show_bug.cgi?id=104518
  20831. Reviewed by Noam Rosenthal.
  20832. CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly() must perform
  20833. only during flushing pending layer changes in CoordinatedLayerTreeHost.
  20834. RenderLayerCompositor can call GraphicsLayer::flushCompositingState() regardless
  20835. of CoordinatedLayerTreeHost and it breaks our assumption. It means that
  20836. CoordinatedGraphicsLayer can send messages although m_waitingForUIProcess in
  20837. CoordinatedLayerTreeHost is true.
  20838. Assertion hits because of the same reason. If RenderLayerCompositor calls
  20839. flushCompositingState() before the first CoordinatedLayerTreeHost::flushPendingLayerChanges(),
  20840. SetCompositingLayerState message can be prior to SetRootCompositingLayer message.
  20841. We fix this by ensuring that we perform the layer flush only in the code
  20842. path originating from CoordinatedLayerTreeHost.
  20843. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  20844. (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
  20845. (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
  20846. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  20847. (CoordinatedGraphicsLayerClient):
  20848. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  20849. (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
  20850. (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
  20851. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  20852. 2012-12-17 Alexey Proskuryakov <ap@apple.com>
  20853. <rdar://problem/12895354> NetworkProcess should not exit after downloading
  20854. https://bugs.webkit.org/show_bug.cgi?id=105209
  20855. Reviewed by Anders Carlsson.
  20856. * NetworkProcess/NetworkProcess.cpp:
  20857. (WebKit::NetworkProcess::shouldTerminate): This process should never voluntarily
  20858. terminate, because it keeps session auth and cookies.
  20859. 2012-12-17 Thiago Marcos P. Santos <thiago.santos@intel.com>
  20860. [EFL] Unit tests process hanging on WK2 Release bots
  20861. https://bugs.webkit.org/show_bug.cgi?id=105021
  20862. Reviewed by Kenneth Rohde Christiansen.
  20863. Follow-up of r137605, which made it more difficult to reproduce
  20864. the race condition but doesn't entirely solve the problem. Now
  20865. we are handling only points in the middle of the fork()/exec().
  20866. * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
  20867. (WebKit::ProcessLauncher::launchProcess):
  20868. 2012-12-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
  20869. [EFL][WK2] window_create doesn't receive the url
  20870. https://bugs.webkit.org/show_bug.cgi?id=105184
  20871. Reviewed by Alexis Menard.
  20872. Pass the url to the window_create method.
  20873. * UIProcess/API/efl/EwkViewImpl.cpp:
  20874. (EwkViewImpl::createNewPage):
  20875. * UIProcess/API/efl/EwkViewImpl.h:
  20876. (EwkViewImpl):
  20877. * UIProcess/API/efl/ewk_view.h:
  20878. * UIProcess/API/efl/tests/test_ewk2_window_features.cpp:
  20879. (createDefaultWindow):
  20880. (createWindow):
  20881. * UIProcess/efl/PageUIClientEfl.cpp:
  20882. (WebKit::PageUIClientEfl::createNewPage):
  20883. 2012-12-17 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  20884. [WK2] TiledBackingStore: css3/device-adapt/viewport-width-not-affecting-next-page.html is flaky
  20885. https://bugs.webkit.org/show_bug.cgi?id=105131
  20886. Reviewed by Kenneth Rohde Christiansen.
  20887. The problem was lead by truncation of the scaled result for 'contentFixedSize'.
  20888. Fixed now with using FloatSize::scale() instead of IntSize::scale().
  20889. * WebProcess/WebPage/WebPage.cpp:
  20890. (WebKit::WebPage::sendViewportAttributesChanged):
  20891. 2012-12-17 Oswald Buddenhagen <oswald.buddenhagen@digia.com>
  20892. [Qt] remove some unnecessary CONFIG additions
  20893. Reviewed by Simon Hausmann.
  20894. qt is already added by spec_pre.prf, warn_on and depend_includepath by
  20895. default_pre.prf.
  20896. * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
  20897. * UIProcess/API/qt/tests/qmltests/WebView.pro:
  20898. 2012-12-17 Oswald Buddenhagen <oswald.buddenhagen@digia.com>
  20899. [Qt] rely on automatic output directory setup
  20900. Reviewed by Simon Hausmann.
  20901. Now being a proper qt module (by virtue of having load(qt_build_config)
  20902. in .qmake.conf), webkit gets the path setup goodies for free.
  20903. This also fixes Makefile.api.Debug/Release trying to generate qrc_WebKit.cpp
  20904. at the same time, instead of the debug and release version ending up in different
  20905. directories as they should.
  20906. * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
  20907. * UIProcess/API/qt/tests/qmltests/WebView.pro:
  20908. 2012-12-17 Thiago Marcos P. Santos <thiago.santos@intel.com>
  20909. [EFL] Unit tests process hanging on WK2 Release bots
  20910. https://bugs.webkit.org/show_bug.cgi?id=105021
  20911. Reviewed by Kenneth Rohde Christiansen.
  20912. Do not allocate memory in the middle of a fork()/exec().
  20913. EFL uses global FastMalloc new operator and when we fork(), the
  20914. process is in a very delicate state. We were being lucky most of the
  20915. time, but sometimes FastMalloc enters in a busy wait and hangs
  20916. because it's data structures cannot be trusted after the fork().
  20917. This explains why sometimes we see UIProcess hanging on the bots:
  20918. they are in fact UIProcess trying to exec() into a WebProcess but
  20919. hanged just after the fork(). CMake test runner kills the original
  20920. UIProcess due to timeout and the buggy one stays forever.
  20921. * PlatformEfl.cmake:
  20922. Set the timeout back to the original value.
  20923. * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
  20924. (WebKit::ProcessLauncher::launchProcess):
  20925. I'm keeping the original behavior, including the call to
  20926. system() when wrapping the WebProcess on Debug mode. This
  20927. should be changed to exec() in another patch.
  20928. 2012-12-17 Csaba Osztrogonác <ossy@webkit.org>
  20929. Fix the Qt Windows build after r137803
  20930. https://bugs.webkit.org/show_bug.cgi?id=105152
  20931. Reviewed by Kentaro Hara.
  20932. * Shared/CacheModel.h:
  20933. 2012-12-16 Tim Horton <timothy_horton@apple.com>
  20934. PDFPlugin: The "Open in Preview" HUD button should work
  20935. https://bugs.webkit.org/show_bug.cgi?id=102448
  20936. <rdar://problem/12695729>
  20937. Reviewed by Alexey Proskuryakov.
  20938. Implement the "Open in Preview" button for PDFPlugin, by moving the implementation from PDFViewController
  20939. onto WebPageProxyMac, and reusing it in PDFViewController and PDFPlugin.
  20940. * UIProcess/API/mac/PDFViewController.h:
  20941. (PDFViewController): Remove unnecessary members in favor of a UUID that identifies our PDF on disk.
  20942. * UIProcess/API/mac/PDFViewController.mm:
  20943. (WebKit::PDFViewController::openPDFInFinder): Move PDFViewController's implementation of openPDFInFinder
  20944. and related functions to WebPageProxyMac. This will allow it to be shared with PDFPlugin.
  20945. * UIProcess/WebPageProxy.h:
  20946. (WebPageProxy): Add savePDFToFileInTemporaryFolderAndOpenWithNativeApplication,
  20947. savePDFToFileInTemporaryFolderAndOpenWithNativeApplicationRaw, and openPDFFromTemporaryFolderWithNativeApplication.
  20948. Add m_temporaryPDFFiles, which is used to keep track of the filenames of PDFs that we've saved to disk.
  20949. * UIProcess/WebPageProxy.messages.in:
  20950. Add SavePDFToFileInTemporaryFolderAndOpenWithNativeApplication and OpenPDFFromTemporaryFolderWithNativeApplication.
  20951. * UIProcess/mac/WebPageProxyMac.mm:
  20952. (WebKit::temporaryPDFDirectoryPath): Copied from PDFViewController. Construct the path to a
  20953. WebKitPDFs temporary directory into which PDFs to be opened with a native application are downloaded.
  20954. (WebKit::pathToPDFOnDisk): Copied from PDFViewController. Combine temporaryPDFDirectoryPath
  20955. with the suggested filename for the given PDF, creating a new filename if the file already exists.
  20956. (WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplicationRaw):
  20957. (WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication):
  20958. Save the given PDF data to a temporary file, given the suggested filename. This inserts the
  20959. filename used into m_temporaryPDFFiles, where it can later be retrieved by UUID when asked
  20960. to open the PDF again in a native application. Then, open it with NSWorkspace.
  20961. (WebKit::WebPageProxy::openPDFFromTemporaryFolderWithNativeApplication):
  20962. Open the previously saved PDF file with NSWorkspace, referenced by UUID.
  20963. We identify the file by UUID instead of name so that only the UIProcess needs
  20964. to keep track of the actual filename, and so that the WebProcess
  20965. cannot hand an arbitrary filename back to the UIProcess to open.
  20966. * WebProcess/Plugins/PDF/PDFPlugin.h:
  20967. (PDFPlugin): Add openWithNativeApplication and storage for the UUID that identifies our PDF on disk.
  20968. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  20969. (-[WKPDFLayerControllerDelegate openWithPreview]): Forward openWithPreview to PDFPlugin's openWithNativeApplication.
  20970. (WebKit::PDFPlugin::saveToPDF):
  20971. Hand raw data to WebPage and have it send the message to WebPageProxy instead of using IPC types in PDFPlugin.
  20972. (WebKit::PDFPlugin::openWithNativeApplication):
  20973. Ask WebPage to save the current PDF to a temporary directory and open it with a native application.
  20974. If we've already downloaded the PDF (and have a non-null m_temporaryPDFUUID),
  20975. we can just open the existing file.
  20976. * WebProcess/WebPage/WebPage.cpp:
  20977. (WebKit::WebPage::savePDFToFileInDownloadsFolder): Hand the PDF data to WebPageProxy to save.
  20978. (WebKit::WebPage::savePDFToTemporaryFolderAndOpenWithNativeApplication): Hand the PDF data to WebPageProxy to save and open.
  20979. * WebProcess/WebPage/WebPage.h:
  20980. (WebPage): Add savePDFToFileInDownloadsFolder and savePDFToTemporaryFolderAndOpenWithNativeApplication.
  20981. 2012-12-16 Seokju Kwon <seokju.kwon@gmail.com>
  20982. [WK2] Remote Web Inspector requires the inspector
  20983. https://bugs.webkit.org/show_bug.cgi?id=105088
  20984. Reviewed by Sam Weinig.
  20985. Inspector server should not be started without inspector.
  20986. * config.h:
  20987. 2012-12-16 Seokju Kwon <seokju.kwon@gmail.com>
  20988. Fix unused parameter compile warnings
  20989. https://bugs.webkit.org/show_bug.cgi?id=105089
  20990. Reviewed by Kentaro Hara.
  20991. Use UNUSED_PARAM macro to fix build warning -Wunused-parameter.
  20992. * UIProcess/API/efl/ewk_view.cpp:
  20993. (ewk_view_inspector_show):
  20994. (ewk_view_inspector_close):
  20995. 2012-12-16 Ryuan Choi <ryuan.choi@samsung.com>
  20996. [EFL][WK2] Header files of ewk_context_menu should be installed
  20997. https://bugs.webkit.org/show_bug.cgi?id=105069
  20998. Reviewed by Gyuyoung Kim.
  20999. * PlatformEfl.cmake:
  21000. Modified to install ewk_context_menu.h and ewk_context_menu_item.h which
  21001. are included in EWebKit2.h
  21002. 2012-12-16 Alexey Proskuryakov <ap@apple.com>
  21003. <rdar://problem/12886898> Bundle uploads don't work
  21004. https://bugs.webkit.org/show_bug.cgi?id=105149
  21005. Reviewed by Sam Weinig.
  21006. * NetworkProcess/NetworkResourceLoader.cpp:
  21007. (WebKit::NetworkResourceLoader::didReceiveResponse):
  21008. (WebKit::NetworkResourceLoader::didFail):
  21009. Clean up generated files when they are no longer needed. This has to be done before FormData
  21010. destruction. This duplicates same work done in WebProcess, but duplicaiton is safe, and may
  21011. be helpful if one of the sides prematurely exits.
  21012. 2012-12-16 Jon Lee <jonlee@apple.com>
  21013. Allow built-in PDF plugin and plugin documents to auto-start
  21014. https://bugs.webkit.org/show_bug.cgi?id=105000
  21015. <rdar://problem/12633351>
  21016. Reviewed by Sam Weinig.
  21017. Overrides PluginViewBase::shouldAlwaysAutoStart().
  21018. * WebProcess/Plugins/PluginView.cpp:
  21019. (WebKit::PluginView::shouldAlwaysAutoStart): If there's no plug-in, return the default,
  21020. otherwise return the plug-in's behavior.
  21021. * WebProcess/Plugins/PluginView.h:
  21022. * WebProcess/Plugins/Plugin.h:
  21023. (WebKit::Plugin::shouldAlwaysAutoStart): Added. By default, return false.
  21024. * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Built-in PDF plug-ins should auto-start.
  21025. 2012-12-16 Huang Dongsung <luxtella@company100.net>
  21026. Coordinated Graphics: Small refactor of CoordinatedLayerTreeHost and CoordinatedGraphicsLayer.
  21027. https://bugs.webkit.org/show_bug.cgi?id=104880
  21028. Reviewed by Noam Rosenthal.
  21029. This patch changes two points.
  21030. 1. Remove layerByIDMap() in CoordinatedGraphicsLayer because it is unused.
  21031. 2. Remove code swapping m_registeredLayers in CoordinatedLayerTreeHost because
  21032. setCoordinator(0) does not call detachLayer().
  21033. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  21034. (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
  21035. (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
  21036. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  21037. (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
  21038. 2012-12-16 Anders Carlsson <andersca@apple.com>
  21039. Remove the random crash thread
  21040. https://bugs.webkit.org/show_bug.cgi?id=105147
  21041. Reviewed by Sam Weinig.
  21042. Remove old crashy code.
  21043. * WebProcess/WebProcess.cpp:
  21044. (WebKit::WebProcess::initialize):
  21045. 2012-12-16 Anders Carlsson <andersca@apple.com>
  21046. Implement authentication for downloads
  21047. https://bugs.webkit.org/show_bug.cgi?id=105146
  21048. <rdar://problem/12239483>
  21049. Reviewed by Sam Weinig.
  21050. * NetworkProcess/NetworkProcess.cpp:
  21051. (WebKit::NetworkProcess::NetworkProcess):
  21052. (WebKit::NetworkProcess::initialize):
  21053. (WebKit::NetworkProcess::didReceiveMessage):
  21054. (WebKit::NetworkProcess::didReceiveSyncMessage):
  21055. (WebKit::NetworkProcess::downloadsAuthenticationManager):
  21056. * NetworkProcess/NetworkProcess.h:
  21057. * UIProcess/Downloads/DownloadProxy.cpp:
  21058. (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
  21059. * WebProcess/Downloads/Download.cpp:
  21060. (WebKit::Download::didReceiveAuthenticationChallenge):
  21061. * WebProcess/Downloads/DownloadManager.cpp:
  21062. (WebKit::DownloadManager::downloadsAuthenticationManager):
  21063. * WebProcess/Downloads/DownloadManager.h:
  21064. * WebProcess/Downloads/mac/DownloadMac.mm:
  21065. * WebProcess/WebProcess.cpp:
  21066. (WebKit::WebProcess::downloadsAuthenticationManager):
  21067. (WebKit::WebProcess::didReceiveSyncMessage):
  21068. * WebProcess/WebProcess.h:
  21069. 2012-12-16 Huang Dongsung <luxtella@company100.net>
  21070. Coordinated Graphics: Small refactor of CoordinatedLayerTreeHost and CoordinatedGraphicsLayer.
  21071. https://bugs.webkit.org/show_bug.cgi?id=104880
  21072. Reviewed by Noam Rosenthal.
  21073. Delete backing stores explicitly in ~CoordinatedLayerTreeHost().
  21074. Clarify the lifecycle of backing stores in CoordinatedGraphicsLayer.
  21075. Currently, CoordinatedGraphicsLayer::removeTile() checks if m_coordinator
  21076. exists, because ~CoordinatedLayerTreeHost() sets m_coordinator in
  21077. CoordinatedGraphicsLayer to 0. This patch purges backing stores before setting
  21078. m_coordinator to 0. This change makes code more readable.
  21079. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  21080. (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
  21081. (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
  21082. (WebCore::CoordinatedGraphicsLayer::createTile):
  21083. (WebCore::CoordinatedGraphicsLayer::updateTile):
  21084. (WebCore::CoordinatedGraphicsLayer::removeTile):
  21085. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  21086. (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
  21087. 2012-12-16 Anders Carlsson <andersca@apple.com>
  21088. Authentication manager cleanup
  21089. https://bugs.webkit.org/show_bug.cgi?id=105144
  21090. Reviewed by Sam Weinig.
  21091. Some cleanup to make it possible to reuse the authentication manager from the network process.
  21092. * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
  21093. (WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):
  21094. (WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy):
  21095. (WebKit::AuthenticationChallengeProxy::useCredential):
  21096. (WebKit::AuthenticationChallengeProxy::cancel):
  21097. * UIProcess/Authentication/AuthenticationChallengeProxy.h:
  21098. (WebKit::AuthenticationChallengeProxy::create):
  21099. (AuthenticationChallengeProxy):
  21100. * UIProcess/Downloads/DownloadProxy.cpp:
  21101. (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
  21102. * UIProcess/WebPageProxy.cpp:
  21103. (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
  21104. * WebProcess/Authentication/AuthenticationManager.cpp:
  21105. (WebKit::AuthenticationManager::AuthenticationManager):
  21106. (WebKit::AuthenticationManager::setConnection):
  21107. (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
  21108. (WebKit::AuthenticationManager::useCredentialForChallenge):
  21109. * WebProcess/Authentication/AuthenticationManager.h:
  21110. * WebProcess/Downloads/Download.cpp:
  21111. (WebKit::Download::didReceiveAuthenticationChallenge):
  21112. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  21113. (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
  21114. * WebProcess/WebProcess.cpp:
  21115. (WebKit::WebProcess::WebProcess):
  21116. (WebKit::WebProcess::initialize):
  21117. * WebProcess/WebProcess.h:
  21118. (WebKit::WebProcess::authenticationManager):
  21119. (WebProcess):
  21120. 2012-12-16 Anders Carlsson <andersca@apple.com>
  21121. Rudimentary support for main resource downloads
  21122. https://bugs.webkit.org/show_bug.cgi?id=105141
  21123. Reviewed by Sam Weinig.
  21124. For now, instead of converting a main resource load into a download, just cancel it and start
  21125. a new separate download.
  21126. * NetworkProcess/NetworkProcess.cpp:
  21127. (WebKit::NetworkProcess::downloadRequest):
  21128. Call through to the download manager.
  21129. (WebKit::NetworkProcess::cancelDownload):
  21130. Call through to the download manager.
  21131. * NetworkProcess/NetworkProcess.messages.in:
  21132. Add new messages.
  21133. * UIProcess/Downloads/DownloadProxy.cpp:
  21134. (WebKit::DownloadProxy::cancel):
  21135. Send the cancel message to the network process when needed.
  21136. * UIProcess/WebContext.cpp:
  21137. (WebKit::WebContext::download):
  21138. Handle the network process case.
  21139. * UIProcess/WebPageProxy.cpp:
  21140. (WebKit::WebPageProxy::WebPageProxy):
  21141. (WebKit::WebPageProxy::receivedPolicyDecision):
  21142. (WebKit::WebPageProxy::decidePolicyForResponse):
  21143. Keep track of the current request when calling decidePolicyForResponse.
  21144. 2012-12-16 Andy Estes <aestes@apple.com>
  21145. [WebKit2] CustomProtocolManager should intercept messages of class MessageClassCustomProtocolManager sent to the network process
  21146. https://bugs.webkit.org/show_bug.cgi?id=105137
  21147. Reviewed by Anders Carlsson.
  21148. * NetworkProcess/NetworkProcess.cpp:
  21149. (WebKit::NetworkProcess::didReceiveMessage):
  21150. 2012-12-16 Levi Weintraub <leviw@chromium.org>
  21151. Push pixel snapping logic into TransformState
  21152. https://bugs.webkit.org/show_bug.cgi?id=101779
  21153. Reviewed by Simon Fraser.
  21154. Eliminating use of SnapOffsetForTransforms as it's no longer needed.
  21155. * WebProcess/FullScreen/WebFullScreenManager.cpp:
  21156. (WebKit::screenRectOfContents):
  21157. 2012-12-16 Anders Carlsson <andersca@apple.com>
  21158. Rename WebFrame::convertHandleToDownload to convertMainResourceLoadToDownload
  21159. https://bugs.webkit.org/show_bug.cgi?id=105134
  21160. Reviewed by Sam Weinig.
  21161. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  21162. (WebKit::WebFrameLoaderClient::convertMainResourceLoadToDownload):
  21163. * WebProcess/WebPage/WebFrame.cpp:
  21164. (WebKit::WebFrame::convertMainResourceLoadToDownload):
  21165. * WebProcess/WebPage/WebFrame.h:
  21166. (WebFrame):
  21167. 2012-12-15 Anders Carlsson <andersca@apple.com>
  21168. Rename FrameLoaderClient::download to convertMainResourceLoadToDownload
  21169. https://bugs.webkit.org/show_bug.cgi?id=105122
  21170. Reviewed by Andreas Kling.
  21171. Update for WebCore changes.
  21172. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  21173. (WebKit::WebFrameLoaderClient::convertMainResourceLoadToDownload):
  21174. * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  21175. (WebFrameLoaderClient):
  21176. 2012-12-15 Anders Carlsson <andersca@apple.com>
  21177. Another build fix.
  21178. * UIProcess/WebContext.cpp:
  21179. (WebKit::WebContext::createDownloadProxy):
  21180. 2012-12-15 Andy Estes <aestes@apple.com>
  21181. [WebKit2] Have CustomProtocolManager and CustomProtocolManagerProxy store Connections for messaging
  21182. https://bugs.webkit.org/show_bug.cgi?id=105124
  21183. Reviewed by Anders Carlsson.
  21184. Remove CustomProtocolManagerProxy's assumption that all messages go to
  21185. a web process. Have it take a ChildProcessProxy instead and extract its
  21186. connection.
  21187. Similarly, remove CustomProtocolManager's assumption that all messages
  21188. go through a shared WebProcess. Initialize the shared CustomProtocolManager
  21189. with a Connection object instead.
  21190. * NetworkProcess/NetworkProcess.cpp:
  21191. (WebKit::NetworkProcess::initializeNetworkProcess): Initialize the
  21192. shared CustomProtocolManager with the NetworkProcess's connection to
  21193. the UI process.
  21194. * Shared/Network/CustomProtocols/CustomProtocolManager.h:
  21195. (WebKit::CustomProtocolManager::connection): Assert m_connection is
  21196. non-0 and return it.
  21197. * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
  21198. (+[WKCustomProtocol canInitWithRequest:]): Remove an unnecessary
  21199. namespace.
  21200. (-[WKCustomProtocol initWithRequest:cachedResponse:client:]): Ditto.
  21201. (-[WKCustomProtocol startLoading]): Send a message on the
  21202. CustomProtocolManager's connection rather than assuming there is a
  21203. shared WebProcess in our address space.
  21204. (-[WKCustomProtocol stopLoading]): Ditto.
  21205. (WebKit::CustomProtocolManager::initialize): Initialize the shared
  21206. CustomProtocolManager with a Connection and register our custom
  21207. protocol handler with NSURLProtocol.
  21208. * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
  21209. (WebKit):
  21210. (CustomProtocolManagerProxy): Take a ChildProcessProxy* rather than a
  21211. WebProcessProxy*.
  21212. * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
  21213. (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy): Ditto.
  21214. (WebKit::CustomProtocolManagerProxy::startLoading): Ditto.
  21215. * UIProcess/Network/NetworkProcessProxy.cpp:
  21216. (WebKit::NetworkProcessProxy::NetworkProcessProxy): Instantiate a
  21217. CustomProtocolManagerProxy for the network process.
  21218. (WebKit::NetworkProcessProxy::didReceiveMessage): Route messages of
  21219. class MessageClassCustomProtocolManagerProxy to the
  21220. CustomProtocolManagerProxy.
  21221. * UIProcess/Network/NetworkProcessProxy.h:
  21222. * UIProcess/WebProcessProxy.cpp:
  21223. (WebKit::WebProcessProxy::didReceiveMessage): Assert that we aren't
  21224. using the network process since we've received a message from a
  21225. web process's CustomProtocolManager.
  21226. * WebProcess/WebProcess.cpp:
  21227. (WebKit::WebProcess::initializeWebProcess): Break CustomProtocolManager
  21228. initialization out into a helper function.
  21229. (WebKit::WebProcess::initializeCustomProtocolManager): Initialize our
  21230. CustomProtocolManager.
  21231. * WebProcess/WebProcess.h:
  21232. 2012-12-15 Anders Carlsson <andersca@apple.com>
  21233. Happy little Qt build fix.
  21234. * UIProcess/WebContext.cpp:
  21235. (WebKit::WebContext::download):
  21236. 2012-12-15 Alexey Proskuryakov <ap@apple.com>
  21237. <rdar://problem/12886312> Cannot upload patches to Bugzilla (<input type=file> doesn't work)
  21238. https://bugs.webkit.org/show_bug.cgi?id=105120
  21239. Reviewed by Sam Weinig.
  21240. Serialize HTTP body. ResourceRequest serialization cannot (and shouldn't) know about
  21241. body streams, as used with files.
  21242. * Shared/Network/NetworkResourceLoadParameters.cpp:
  21243. (WebKit::NetworkResourceLoadParameters::encode):
  21244. (WebKit::NetworkResourceLoadParameters::decode):
  21245. * Shared/WebCoreArgumentCoders.cpp:
  21246. (CoreIPC::::encode):
  21247. 2012-12-15 Anders Carlsson <andersca@apple.com>
  21248. Handle downloads in the network process
  21249. https://bugs.webkit.org/show_bug.cgi?id=105117
  21250. Reviewed by Sam Weinig.
  21251. Start using the download manager in the network process.
  21252. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  21253. (WebKit::NetworkConnectionToWebProcess::startDownload):
  21254. Call through to the download manager.
  21255. * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  21256. Add StartDownload message.
  21257. * NetworkProcess/NetworkProcess.cpp:
  21258. (WebKit::NetworkProcess::downloadManager):
  21259. Add "singleton" download manager.
  21260. (WebKit::NetworkProcess::didCreateDownload):
  21261. (WebKit::NetworkProcess::didDestroyDownload):
  21262. (WebKit::NetworkProcess::downloadProxyConnection):
  21263. Implement DownloadManager::Client.
  21264. * UIProcess/Network/NetworkProcessProxy.cpp:
  21265. (WebKit::NetworkProcessProxy::didReceiveMessage):
  21266. (WebKit::NetworkProcessProxy::didReceiveSyncMessage):
  21267. Call through to the message receiver map.
  21268. * WebProcess/Downloads/Download.cpp:
  21269. * WebProcess/Downloads/DownloadManager.cpp:
  21270. (WebKit::DownloadManager::downloadProxyConnection):
  21271. * WebProcess/Downloads/DownloadManager.h:
  21272. Rename connection to downloadProxyConnection.
  21273. * WebProcess/WebPage/WebFrame.cpp:
  21274. (WebKit::WebFrame::startDownload):
  21275. When using the network process, send a message to it with the request that needs to be downloaded.
  21276. * WebProcess/WebProcess.cpp:
  21277. (WebKit::WebProcess::downloadProxyConnection):
  21278. Return the connection to the UI process.
  21279. 2012-12-15 Sam Weinig <sam@webkit.org>
  21280. NSURLCache should be disabled in the WebProcess when using the NetworkProcess
  21281. <rdar://problem/12872266>
  21282. https://bugs.webkit.org/show_bug.cgi?id=105119
  21283. Reviewed by Alexey Proskuryakov.
  21284. Set the size of the NSURLCache to 0 (both disk and memory) in the WebProcess when using
  21285. the NetworkProcess.
  21286. * WebProcess/mac/WebProcessMac.mm:
  21287. (WebKit::WebProcess::platformSetCacheModel):
  21288. (WebKit::WebProcess::platformInitializeWebProcess):
  21289. 2012-12-15 Sam Weinig <sam@webkit.org>
  21290. The network process should use the correct NSURLCache location and set its size correctly for the CacheModel
  21291. <rdar://problem/12848505>
  21292. https://bugs.webkit.org/show_bug.cgi?id=105115
  21293. Reviewed by Anders Carlsson.
  21294. * NetworkProcess/NetworkProcess.cpp:
  21295. (WebKit::NetworkProcess::NetworkProcess):
  21296. (WebKit::NetworkProcess::initializeNetworkProcess):
  21297. (WebKit::NetworkProcess::setCacheModel):
  21298. * NetworkProcess/NetworkProcess.h:
  21299. (NetworkProcess):
  21300. * NetworkProcess/mac/NetworkProcessMac.mm:
  21301. (WebKit::NetworkProcess::platformInitialize):
  21302. (WebKit::memorySize):
  21303. (WebKit::volumeFreeSize):
  21304. (WebKit::NetworkProcess::platformSetCacheModel):
  21305. Copy code from the WebProcess to set up the NSURLCache correctly (location and size).
  21306. We should eventually move the calculation of this to the WebContext so it can be done
  21307. once.
  21308. * Shared/Network/NetworkProcessCreationParameters.cpp:
  21309. (WebKit::NetworkProcessCreationParameters::encode):
  21310. (WebKit::NetworkProcessCreationParameters::decode):
  21311. * Shared/Network/NetworkProcessCreationParameters.h:
  21312. (NetworkProcessCreationParameters):
  21313. Add the necessary creation parameters to set up the cache.
  21314. * UIProcess/Network/NetworkProcessProxy.cpp:
  21315. (WebKit::NetworkProcessProxy::didFinishLaunching):
  21316. * UIProcess/Network/NetworkProcessProxy.h:
  21317. (NetworkProcessProxy):
  21318. * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
  21319. * UIProcess/WebContext.cpp:
  21320. (WebKit::WebContext::ensureNetworkProcess):
  21321. (WebKit::WebContext::setCacheModel):
  21322. * UIProcess/WebContext.h:
  21323. (WebKit):
  21324. (WebContext):
  21325. * UIProcess/mac/WebContextMac.mm:
  21326. (WebKit):
  21327. (WebKit::WebContext::platformInitializeNetworkProcess):
  21328. Move initializing the NetworkProcess to just after creating (matching the WebProcess),
  21329. rather than waiting for it finish loading before sending the creation parameters.
  21330. Additionally, this moves the setting up of the creation parameters to the WebContext,
  21331. as that is where all the interesting state resides (and also matches the WebProcess).
  21332. 2012-12-15 Andy Estes <aestes@apple.com>
  21333. [WebKit2] Register the custom protocol handler in the network process if it exists
  21334. https://bugs.webkit.org/show_bug.cgi?id=105118
  21335. Reviewed by Anders Carlsson.
  21336. Register our custom protocol handler with NSURLProtocol when starting
  21337. up the network process; do not register the custom protocol handler in
  21338. web processes if a network process is being used.
  21339. * NetworkProcess/NetworkProcess.cpp:
  21340. (WebKit::NetworkProcess::initializeNetworkProcess):
  21341. * WebProcess/WebProcess.cpp:
  21342. (WebKit::WebProcess::initializeWebProcess):
  21343. * WebProcess/mac/WebProcessMac.mm:
  21344. (WebKit::WebProcess::platformInitializeWebProcess):
  21345. 2012-12-15 Sam Weinig <sam@webkit.org>
  21346. The network process should use the correct NSURLCache location and set its size correctly for the CacheModel
  21347. <rdar://problem/12848505>
  21348. https://bugs.webkit.org/show_bug.cgi?id=105115
  21349. Reviewed by Anders Carlsson.
  21350. * NetworkProcess/NetworkProcess.cpp:
  21351. (WebKit::NetworkProcess::NetworkProcess):
  21352. (WebKit::NetworkProcess::initializeNetworkProcess):
  21353. (WebKit::NetworkProcess::setCacheModel):
  21354. * NetworkProcess/NetworkProcess.h:
  21355. (NetworkProcess):
  21356. * NetworkProcess/mac/NetworkProcessMac.mm:
  21357. (WebKit::NetworkProcess::platformInitialize):
  21358. (WebKit::memorySize):
  21359. (WebKit::volumeFreeSize):
  21360. (WebKit::NetworkProcess::platformSetCacheModel):
  21361. Copy code from the WebProcess to set up the NSURLCache correctly (location and size).
  21362. We should eventually move the calculation of this to the WebContext so it can be done
  21363. once.
  21364. * Shared/Network/NetworkProcessCreationParameters.cpp:
  21365. (WebKit::NetworkProcessCreationParameters::encode):
  21366. (WebKit::NetworkProcessCreationParameters::decode):
  21367. * Shared/Network/NetworkProcessCreationParameters.h:
  21368. (NetworkProcessCreationParameters):
  21369. Add the necessary creation parameters to set up the cache.
  21370. * UIProcess/Network/NetworkProcessProxy.cpp:
  21371. (WebKit::NetworkProcessProxy::didFinishLaunching):
  21372. * UIProcess/Network/NetworkProcessProxy.h:
  21373. (NetworkProcessProxy):
  21374. * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
  21375. * UIProcess/WebContext.cpp:
  21376. (WebKit::WebContext::ensureNetworkProcess):
  21377. (WebKit::WebContext::setCacheModel):
  21378. * UIProcess/WebContext.h:
  21379. (WebKit):
  21380. (WebContext):
  21381. * UIProcess/mac/WebContextMac.mm:
  21382. (WebKit):
  21383. (WebKit::WebContext::platformInitializeNetworkProcess):
  21384. Move initializing the NetworkProcess to just after creating (matching the WebProcess),
  21385. rather than waiting for it finish loading before sending the creation parameters.
  21386. Additionally, this moves the setting up of the creation parameters to the WebContext,
  21387. as that is where all the interesting state resides (and also matches the WebProcess).
  21388. 2012-12-15 Andy Estes <aestes@apple.com>
  21389. Clean up the previous build fix; access m_networkProcess directly.
  21390. * UIProcess/WebContext.cpp:
  21391. (WebKit::WebContext::registerSchemeForCustomProtocol):
  21392. (WebKit::WebContext::unregisterSchemeForCustomProtocol):
  21393. 2012-12-15 Andy Estes <aestes@apple.com>
  21394. Fix the build.
  21395. * UIProcess/WebContext.cpp:
  21396. (WebKit::WebContext::registerSchemeForCustomProtocol):
  21397. (WebKit::WebContext::unregisterSchemeForCustomProtocol):
  21398. 2012-12-15 Andy Estes <aestes@apple.com>
  21399. [WebKit2] Register schemes with the network process if it is being used
  21400. https://bugs.webkit.org/show_bug.cgi?id=105113
  21401. Reviewed by Anders Carlsson.
  21402. If a WebContext is using the network process, it needs to be told about
  21403. scheme (un)registration rather than the context's web processes.
  21404. * NetworkProcess/NetworkProcess.cpp:
  21405. (WebKit::NetworkProcess::initializeNetworkProcess): Tell the shared
  21406. CustomProtocolManager about schemes registered at process creation time.
  21407. (WebKit::NetworkProcess::registerSchemeForCustomProtocol): Tell the
  21408. shared CustomProtocolManager about a new scheme.
  21409. (WebKit::NetworkProcess::unregisterSchemeForCustomProtocol): Remove a
  21410. scheme from the shared CustomProtocolManager.
  21411. * NetworkProcess/NetworkProcess.h:
  21412. * NetworkProcess/NetworkProcess.messages.in: Add registration and
  21413. unregistration messages for the NetworkProcess.
  21414. * Shared/Network/NetworkProcessCreationParameters.cpp:
  21415. (WebKit::NetworkProcessCreationParameters::encode): Encode
  21416. urlSchemesRegisteredForCustomProtocols.
  21417. (WebKit::NetworkProcessCreationParameters::decode): Decode
  21418. urlSchemesRegisteredForCustomProtocols.
  21419. * Shared/Network/NetworkProcessCreationParameters.h: Define
  21420. urlSchemesRegisteredForCustomProtocols.
  21421. * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
  21422. (WebKit::NetworkProcessProxy::platformInitializeNetworkProcess): Populate
  21423. urlSchemesRegisteredForCustomProtocols with the current set of schemes.
  21424. * UIProcess/WebContext.cpp:
  21425. (WebKit::WebContext::registerSchemeForCustomProtocol): Send a new
  21426. scheme to either the network process or to the context's web processes.
  21427. (WebKit::WebContext::unregisterSchemeForCustomProtocol): Ditto for
  21428. removing a scheme.
  21429. * UIProcess/WebContext.h:
  21430. * UIProcess/mac/WebContextMac.mm:
  21431. (WebKit::WebContext::platformInitializeWebProcess): Only populate
  21432. urlSchemesRegisteredForCustomProtocols if the network process isn't
  21433. being used.
  21434. (WebKit::WebContext::registerNotificationObservers):
  21435. * WebProcess/mac/WebProcessMac.mm:
  21436. (WebKit::WebProcess::platformInitializeWebProcess):
  21437. urlSchemesRegisteredForCustomProtocols should only be non-empty if the
  21438. network process isn't being used. Assert this.
  21439. 2012-12-15 Anders Carlsson <andersca@apple.com>
  21440. Remove the unneeded NetworkProcessCrashed message
  21441. https://bugs.webkit.org/show_bug.cgi?id=105114
  21442. Reviewed by Sam Weinig.
  21443. Remove the NetworkProcessCrashed message; it's not needed since the connection member variable is already
  21444. nulled out in WebProcess::networkProcessConnectionClosed which is called when the Connection::Client::didClose member
  21445. function is called on the connection between the web process and network process.
  21446. Furthermore, this message was handled on the connection queue which runs on a different thread and the handler was not
  21447. thread-safe so this could in theory cause bad crashes.
  21448. * UIProcess/Network/NetworkProcessProxy.cpp:
  21449. (WebKit::NetworkProcessProxy::didClose):
  21450. * WebProcess/WebProcess.cpp:
  21451. * WebProcess/WebProcess.h:
  21452. (WebProcess):
  21453. * WebProcess/WebProcess.messages.in:
  21454. 2012-12-15 Anders Carlsson <andersca@apple.com>
  21455. Add a DownloadProxyMap object to the NetworkProcessProxy object
  21456. https://bugs.webkit.org/show_bug.cgi?id=105112
  21457. Reviewed by Sam Weinig.
  21458. * UIProcess/Network/NetworkProcessProxy.cpp:
  21459. (WebKit::NetworkProcessProxy::createDownloadProxy):
  21460. (WebKit::NetworkProcessProxy::didClose):
  21461. * UIProcess/Network/NetworkProcessProxy.h:
  21462. * UIProcess/WebContext.cpp:
  21463. (WebKit::WebContext::createDownloadProxy):
  21464. * UIProcess/WebProcessProxy.cpp:
  21465. * UIProcess/WebProcessProxy.h:
  21466. 2012-12-15 Anders Carlsson <andersca@apple.com>
  21467. Move the download proxy map from the web context to the web process proxy
  21468. https://bugs.webkit.org/show_bug.cgi?id=105109
  21469. Reviewed by Andreas Kling.
  21470. More progress towards making downloads work with the networking process. Since downloads are handled by the
  21471. web process when not using a networking process, it makes sense for the download proxy map to live in the
  21472. web process proxy object.
  21473. * UIProcess/WebContext.cpp:
  21474. (WebKit::WebContext::WebContext):
  21475. (WebKit::WebContext::shouldTerminate):
  21476. (WebKit::WebContext::disconnectProcess):
  21477. (WebKit::WebContext::download):
  21478. (WebKit::WebContext::createDownloadProxy):
  21479. * UIProcess/WebContext.h:
  21480. (WebContext):
  21481. * UIProcess/WebProcessProxy.cpp:
  21482. (WebKit::WebProcessProxy::disconnect):
  21483. (WebKit::WebProcessProxy::shouldTerminate):
  21484. (WebKit):
  21485. (WebKit::WebProcessProxy::createDownloadProxy):
  21486. * UIProcess/WebProcessProxy.h:
  21487. (WebProcessProxy):
  21488. 2012-12-15 Anders Carlsson <andersca@apple.com>
  21489. DownloadProxy should keep a strong reference to its associated web context
  21490. https://bugs.webkit.org/show_bug.cgi?id=105107
  21491. Reviewed by Alexey Proskuryakov.
  21492. While this does create a ref-cycle, it's broken when the download completes, fails, is canceled or
  21493. if the process that's doing the download crashes.
  21494. * UIProcess/Downloads/DownloadProxy.cpp:
  21495. (WebKit::DownloadProxy::processDidClose):
  21496. (WebKit::DownloadProxy::didStart):
  21497. (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
  21498. (WebKit::DownloadProxy::didReceiveResponse):
  21499. (WebKit::DownloadProxy::didReceiveData):
  21500. (WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType):
  21501. (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
  21502. (WebKit::DownloadProxy::didCreateDestination):
  21503. (WebKit::DownloadProxy::didFinish):
  21504. (WebKit::DownloadProxy::didFail):
  21505. (WebKit::DownloadProxy::didCancel):
  21506. * UIProcess/Downloads/DownloadProxy.h:
  21507. (DownloadProxy):
  21508. 2012-12-15 Anders Carlsson <andersca@apple.com>
  21509. Remove WebContext::downloadFinished
  21510. https://bugs.webkit.org/show_bug.cgi?id=105105
  21511. Reviewed by Sam Weinig.
  21512. Have DownloadProxyMap manage the message receiver map and remove WebContext::downloadFinished.
  21513. * UIProcess/Downloads/DownloadProxy.cpp:
  21514. (WebKit::DownloadProxy::didFinish):
  21515. (WebKit::DownloadProxy::didFail):
  21516. (WebKit::DownloadProxy::didCancel):
  21517. * UIProcess/Downloads/DownloadProxyMap.cpp:
  21518. (WebKit::DownloadProxyMap::DownloadProxyMap):
  21519. (WebKit::DownloadProxyMap::createDownloadProxy):
  21520. (WebKit::DownloadProxyMap::downloadFinished):
  21521. * UIProcess/Downloads/DownloadProxyMap.h:
  21522. (DownloadProxyMap):
  21523. * UIProcess/WebContext.cpp:
  21524. (WebKit::WebContext::WebContext):
  21525. (WebKit::WebContext::createDownloadProxy):
  21526. * UIProcess/WebContext.h:
  21527. 2012-12-15 Sam Weinig <sam@webkit.org>
  21528. Make the NetworkProcess be managed by the WebContext, rather than a singleton NetworkProcessMananger
  21529. https://bugs.webkit.org/show_bug.cgi?id=105104
  21530. Reviewed by Alexey Proskuryakov.
  21531. Move to having the WebContext own and manage the NetworkProcessProxy.
  21532. * UIProcess/Network/NetworkProcessManager.cpp: Removed.
  21533. * UIProcess/Network/NetworkProcessManager.h: Removed.
  21534. * UIProcess/Network/NetworkProcessProxy.cpp:
  21535. (WebKit::NetworkProcessProxy::create):
  21536. (WebKit::NetworkProcessProxy::NetworkProcessProxy):
  21537. (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
  21538. * UIProcess/Network/NetworkProcessProxy.h:
  21539. (WebKit):
  21540. (NetworkProcessProxy):
  21541. * UIProcess/Network/mac/NetworkProcessManagerMac.mm: Removed.
  21542. * UIProcess/WebContext.cpp:
  21543. (WebKit::WebContext::ensureNetworkProcess):
  21544. (WebKit::WebContext::removeNetworkProcessProxy):
  21545. (WebKit::WebContext::getNetworkProcessConnection):
  21546. (WebKit::WebContext::willStartUsingPrivateBrowsing):
  21547. (WebKit::WebContext::willStopUsingPrivateBrowsing):
  21548. (WebKit::WebContext::createNewWebProcess):
  21549. * UIProcess/WebContext.h:
  21550. (WebKit):
  21551. (WebContext):
  21552. (WebKit::WebContext::networkProcess):
  21553. * UIProcess/WebProcessProxy.cpp:
  21554. (WebKit::WebProcessProxy::getNetworkProcessConnection):
  21555. * UIProcess/mac/WebContextMac.mm:
  21556. (WebKit::WebContext::applicationBecameVisible):
  21557. (WebKit::WebContext::applicationBecameOccluded):
  21558. * WebKit2.xcodeproj/project.pbxproj:
  21559. 2012-12-15 Anders Carlsson <andersca@apple.com>
  21560. DownloadProxy objects should know which DownloadProxyMap they belong to
  21561. https://bugs.webkit.org/show_bug.cgi?id=105102
  21562. Reviewed by Andy Estes.
  21563. * UIProcess/Downloads/DownloadProxy.cpp:
  21564. (WebKit::DownloadProxy::create):
  21565. (WebKit::DownloadProxy::DownloadProxy):
  21566. * UIProcess/Downloads/DownloadProxy.h:
  21567. (WebKit):
  21568. (DownloadProxy):
  21569. * UIProcess/Downloads/DownloadProxyMap.cpp:
  21570. (WebKit::DownloadProxyMap::createDownloadProxy):
  21571. 2012-12-15 Andy Estes <aestes@apple.com>
  21572. [WebKit2] Move CustomProtocolManager to Shared/
  21573. https://bugs.webkit.org/show_bug.cgi?id=105103
  21574. Reviewed by Sam Weinig.
  21575. CustomProtocolManager can be instantiated either in the NetworkProcess or the WebProcess, so it should live in Shared/.
  21576. * DerivedSources.make: Update the path where CustomProtocolManager.messages.in can be found.
  21577. * Shared/Network/CustomProtocols/CustomProtocolManager.h: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/CustomProtocolManager.h.
  21578. * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/CustomProtocolManager.messages.in.
  21579. * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm.
  21580. * WebKit2.xcodeproj/project.pbxproj:
  21581. 2012-12-15 Sam Weinig <sam@webkit.org>
  21582. Try to fix the Qt build.
  21583. * Target.pri:
  21584. 2012-12-15 Anders Carlsson <andersca@apple.com>
  21585. Get rid of DownloadProxyMap::downloads()
  21586. https://bugs.webkit.org/show_bug.cgi?id=105100
  21587. Reviewed by Sam Weinig.
  21588. Add the needed member functions to DownloadProxyMap and remove the downloads() member function.
  21589. * UIProcess/Downloads/DownloadProxyMap.cpp:
  21590. (WebKit::DownloadProxyMap::downloadFinished):
  21591. (WebKit::DownloadProxyMap::processDidClose):
  21592. (WebKit):
  21593. * UIProcess/Downloads/DownloadProxyMap.h:
  21594. (WebKit::DownloadProxyMap::isEmpty):
  21595. (DownloadProxyMap):
  21596. * UIProcess/WebContext.cpp:
  21597. (WebKit::WebContext::shouldTerminate):
  21598. (WebKit::WebContext::disconnectProcess):
  21599. (WebKit::WebContext::downloadFinished):
  21600. 2012-12-15 Sam Weinig <sam@webkit.org>
  21601. Move calculation of caches sizes based on the cache model to CacheModel.h/cpp
  21602. https://bugs.webkit.org/show_bug.cgi?id=105098
  21603. Reviewed by Anders Carlsson.
  21604. Move calculation of caches sizes based on the cache model to CacheModel.h/cpp so
  21605. that it can be used by more than just the WebProcess.
  21606. * CMakeLists.txt:
  21607. * GNUmakefile.list.am:
  21608. * Shared/CacheModel.cpp: Added.
  21609. (WebKit):
  21610. (WebKit::calculateCacheSizes):
  21611. * Shared/CacheModel.h:
  21612. * Target.pri:
  21613. * WebKit2.xcodeproj/project.pbxproj:
  21614. * WebProcess/WebProcess.cpp:
  21615. * WebProcess/WebProcess.h:
  21616. (WebProcess):
  21617. * win/WebKit2.vcproj:
  21618. 2012-12-15 Anders Carlsson <andersca@apple.com>
  21619. DownloadProxyMap shouldn't be a singleton after all
  21620. https://bugs.webkit.org/show_bug.cgi?id=105099
  21621. Reviewed by Sam Weinig.
  21622. Make the DownloadProxyMap be per context instead, and get rid of the m_downloads hash map from WebContext.
  21623. * UIProcess/Downloads/DownloadProxy.cpp:
  21624. (WebKit::DownloadProxy::didFinish):
  21625. (WebKit::DownloadProxy::didFail):
  21626. (WebKit::DownloadProxy::didCancel):
  21627. * UIProcess/Downloads/DownloadProxyMap.cpp:
  21628. (WebKit::DownloadProxyMap::~DownloadProxyMap):
  21629. * UIProcess/Downloads/DownloadProxyMap.h:
  21630. (DownloadProxyMap):
  21631. (WebKit::DownloadProxyMap::downloads):
  21632. * UIProcess/WebContext.cpp:
  21633. (WebKit::WebContext::shouldTerminate):
  21634. (WebKit::WebContext::disconnectProcess):
  21635. (WebKit::WebContext::createDownloadProxy):
  21636. (WebKit::WebContext::downloadFinished):
  21637. * UIProcess/WebContext.h:
  21638. (WebContext):
  21639. 2012-12-15 No'am Rosenthal <noam.rosenthal@nokia.com>
  21640. Disambiguate "background color" and "contents as solid color" on GraphicsLayer
  21641. https://bugs.webkit.org/show_bug.cgi?id=104842
  21642. Reviewed by Simon Fraser.
  21643. Rename overloads in coordinated graphics to account for the rename in GraphicsLayer.
  21644. * Shared/CoordinatedGraphics/CoordinatedLayerInfo.h:
  21645. (CoordinatedLayerInfo):
  21646. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  21647. (WebKit::LayerTreeRenderer::setLayerState):
  21648. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  21649. (WebCore::CoordinatedGraphicsLayer::setContentsToSolidColor):
  21650. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  21651. (CoordinatedGraphicsLayer):
  21652. 2012-12-15 Christophe Dumez <christophe.dumez@intel.com>
  21653. [GTK][WK2] Memory leak in ChunkedUpdateDrawingArea::paintIntoUpdateChunk()
  21654. https://bugs.webkit.org/show_bug.cgi?id=105095
  21655. Reviewed by Martin Robinson.
  21656. Adopt the pointer returned by cairo_create() in
  21657. ChunkedUpdateDrawingArea::paintIntoUpdateChunk() to avoid leaking
  21658. memory.
  21659. * WebProcess/WebPage/gtk/ChunkedUpdateDrawingAreaGtk.cpp:
  21660. (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
  21661. 2012-12-15 Mark Lam <mark.lam@apple.com>
  21662. Added #if ENABLE(SQL_DATABASE) around WebPlatformStrategies::getDatabaseServer().
  21663. https://bugs.webkit.org/show_bug.cgi?id=104934..
  21664. Not reviewed.
  21665. Greening the Qt Linux Release Minimal bot.
  21666. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  21667. (WebKit):
  21668. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  21669. (WebPlatformStrategies):
  21670. 2012-12-15 Mark Lam <mark.lam@apple.com>
  21671. Re-landing patch for "Introducing the DatabaseStrategy and database servers".
  21672. https://bugs.webkit.org/show_bug.cgi?id=104934.
  21673. Not reviewed.
  21674. Merged from r137767. Previously reviewed by Sam Weinig.
  21675. * CMakeLists.txt:
  21676. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  21677. (WebKit::WebPlatformStrategies::createDatabaseStrategy):
  21678. (WebKit):
  21679. (WebKit::WebPlatformStrategies::getDatabaseServer):
  21680. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  21681. (WebPlatformStrategies):
  21682. 2012-12-14 Anders Carlsson <andersca@apple.com>
  21683. DownloadProxy objects should be message receivers
  21684. https://bugs.webkit.org/show_bug.cgi?id=105068
  21685. Reviewed by Andreas Kling.
  21686. This simplifies the WebContext message dispatch code somewhat.
  21687. * UIProcess/Downloads/DownloadProxy.cpp:
  21688. (WebKit::DownloadProxy::didReceiveMessage):
  21689. (WebKit::DownloadProxy::didReceiveSyncMessage):
  21690. * UIProcess/Downloads/DownloadProxy.h:
  21691. (DownloadProxy):
  21692. * UIProcess/WebContext.cpp:
  21693. (WebKit::WebContext::createDownloadProxy):
  21694. (WebKit::WebContext::didReceiveMessage):
  21695. (WebKit::WebContext::didReceiveSyncMessage):
  21696. 2012-12-14 Sheriff Bot <webkit.review.bot@gmail.com>
  21697. Unreviewed, rolling out r137767.
  21698. http://trac.webkit.org/changeset/137767
  21699. https://bugs.webkit.org/show_bug.cgi?id=105062
  21700. Broke Mac builds. (Requested by mlam on #webkit).
  21701. * CMakeLists.txt:
  21702. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  21703. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  21704. (WebPlatformStrategies):
  21705. 2012-12-14 Alexey Proskuryakov <ap@apple.com>
  21706. <rdar://problem/12874760> NetworkProcess loads may get stuck when WebProcess quits
  21707. https://bugs.webkit.org/show_bug.cgi?id=105056
  21708. Reviewed by Anders Carlsson.
  21709. Make response maps per-connection.
  21710. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  21711. (WebKit::NetworkConnectionToWebProcess::didClose): Cancel waiting for responses
  21712. from WebProcess, they will never arrive.
  21713. * NetworkProcess/NetworkConnectionToWebProcess.h:
  21714. (WebKit::NetworkConnectionToWebProcess::willSendRequestResponseMap):
  21715. (WebKit::NetworkConnectionToWebProcess::canAuthenticateAgainstProtectionSpaceResponseMap):
  21716. Maps now live here.
  21717. * NetworkProcess/NetworkResourceLoader.cpp:
  21718. (WebKit::NetworkResourceLoader::connectionToWebProcessDidClose): Added a FIXME.
  21719. (WebKit::NetworkResourceLoader::willSendRequest):
  21720. (WebKit::NetworkResourceLoader::willSendRequestHandled):
  21721. (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
  21722. (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceHandled):
  21723. Handle the cases where we can't send a request, or can't expect a response any more.
  21724. * Shared/BlockingResponseMap.h:
  21725. (BlockingResponseMap):
  21726. (BlockingResponseMap::BlockingResponseMap):
  21727. (BlockingResponseMap::~BlockingResponseMap):
  21728. (BlockingResponseMap::waitForResponse):
  21729. (BlockingResponseMap::didReceiveResponse):
  21730. (BlockingResponseMap::cancel):
  21731. (BlockingBoolResponseMap):
  21732. (BlockingBoolResponseMap::BlockingBoolResponseMap):
  21733. (BlockingBoolResponseMap::~BlockingBoolResponseMap):
  21734. (BlockingBoolResponseMap::waitForResponse):
  21735. (BlockingBoolResponseMap::didReceiveResponse):
  21736. (BlockingBoolResponseMap::cancel):
  21737. Added an ability to cancel, and slightly beefed up overall.
  21738. 2012-12-14 Anders Carlsson <andersca@apple.com>
  21739. DownloadProxyMap should keep track of outstanding DownloadProxy objects
  21740. https://bugs.webkit.org/show_bug.cgi?id=105053
  21741. Reviewed by Andreas Kling.
  21742. This is more work towards removing the m_downloads map from every WebContext object.
  21743. * UIProcess/Downloads/DownloadProxy.cpp:
  21744. (WebKit::DownloadProxy::didFinish):
  21745. (WebKit::DownloadProxy::didFail):
  21746. (WebKit::DownloadProxy::didCancel):
  21747. * UIProcess/Downloads/DownloadProxyMap.cpp:
  21748. (WebKit::DownloadProxyMap::createDownloadProxy):
  21749. (WebKit):
  21750. (WebKit::DownloadProxyMap::downloadFinished):
  21751. * UIProcess/Downloads/DownloadProxyMap.h:
  21752. (DownloadProxyMap):
  21753. * UIProcess/WebContext.cpp:
  21754. (WebKit::WebContext::createDownloadProxy):
  21755. 2012-12-14 Mark Lam <mark.lam@apple.com>
  21756. Introducing the DatabaseStrategy and database servers.
  21757. https://bugs.webkit.org/show_bug.cgi?id=104934.
  21758. Reviewed by Sam Weinig.
  21759. The database server is currently a placeholder that does nothing.
  21760. * CMakeLists.txt:
  21761. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  21762. (WebKit::WebPlatformStrategies::createDatabaseStrategy):
  21763. (WebKit):
  21764. (WebKit::WebPlatformStrategies::getDatabaseServer):
  21765. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  21766. (WebPlatformStrategies):
  21767. 2012-12-14 Alexey Proskuryakov <ap@apple.com>
  21768. Resource loads sometimes stall
  21769. https://bugs.webkit.org/show_bug.cgi?id=104976
  21770. Apply the same quick an dirty fix to BlockingBoolResponseMap.
  21771. * Shared/BlockingResponseMap.h:
  21772. (BlockingBoolResponseMap::didReceiveResponse):
  21773. 2012-12-14 Anders Carlsson <andersca@apple.com>
  21774. Add a DownloadsProxyMap class in preparation for moving the downloads map away from WebContext
  21775. https://bugs.webkit.org/show_bug.cgi?id=104980
  21776. Reviewed by Andreas Kling.
  21777. Currently the DownloadProxyMap doesn't really do anything; this initial change is to make sure that
  21778. adding the new files won't break any builds.
  21779. * CMakeLists.txt:
  21780. * GNUmakefile.list.am:
  21781. * Target.pri:
  21782. * UIProcess/Downloads/DownloadProxyMap.cpp: Added.
  21783. (WebKit):
  21784. (WebKit::DownloadProxyMap::shared):
  21785. (WebKit::DownloadProxyMap::DownloadProxyMap):
  21786. (WebKit::DownloadProxyMap::~DownloadProxyMap):
  21787. (WebKit::DownloadProxyMap::createDownloadProxy):
  21788. * UIProcess/Downloads/DownloadProxyMap.h: Added.
  21789. (WebKit):
  21790. (DownloadProxyMap):
  21791. * UIProcess/WebContext.cpp:
  21792. (WebKit::WebContext::createDownloadProxy):
  21793. * WebKit2.xcodeproj/project.pbxproj:
  21794. * win/WebKit2.vcproj:
  21795. 2012-12-14 Anders Carlsson <andersca@apple.com>
  21796. Fix assertion failure when the network process is enabled
  21797. https://bugs.webkit.org/show_bug.cgi?id=105040
  21798. <rdar://problem/12883632>
  21799. Reviewed by Alexey Proskuryakov.
  21800. Make sure that we don't call into the download manager when running with a network process.
  21801. * WebProcess/WebProcess.cpp:
  21802. (WebKit::WebProcess::shouldTerminate):
  21803. 2012-12-14 Michelangelo De Simone <michelangelo@webkit.org>
  21804. [CSS Shaders] Remove code for the other mesh box types (border-box | padding-box | content-box)
  21805. https://bugs.webkit.org/show_bug.cgi?id=103776
  21806. Reviewed by Dean Jackson.
  21807. The MeshBoxType has been removed and the code has been refactored. The specs will be updated shortly
  21808. and therefore this feature - even though it was not fully implemented yet - shall not be used anymore.
  21809. In this patch we remove everything but the parsing code, which shall be addressed in a different patch
  21810. (see: https://bugs.webkit.org/show_bug.cgi?id=103778).
  21811. Specification to be updated: http://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#ltboxgt
  21812. Existing tests have been updated and new parsing legacy cases have been added.
  21813. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  21814. (CoreIPC::::encode):
  21815. (CoreIPC::::decode):
  21816. * Shared/CoordinatedGraphics/WebCustomFilterOperation.h:
  21817. (WebCore::WebCustomFilterOperation::create):
  21818. (WebCore::WebCustomFilterOperation::WebCustomFilterOperation):
  21819. 2012-12-14 Alexey Proskuryakov <ap@apple.com>
  21820. <rdar://problem/12880750> RGRESSION: Crash when emptying cookie jar
  21821. https://bugs.webkit.org/show_bug.cgi?id=105038
  21822. Reviewed by Jessie Berlin.
  21823. Handle null context, which is used for cookie management functions.
  21824. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  21825. (WebKit::WebPlatformStrategies::cookiesForDOM):
  21826. (WebKit::WebPlatformStrategies::setCookiesFromDOM):
  21827. (WebKit::WebPlatformStrategies::cookiesEnabled):
  21828. (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
  21829. (WebKit::WebPlatformStrategies::getRawCookies):
  21830. (WebKit::WebPlatformStrategies::deleteCookie):
  21831. (WebKit::WebPlatformStrategies::getHostnamesWithCookies):
  21832. (WebKit::WebPlatformStrategies::deleteCookiesForHostname):
  21833. (WebKit::WebPlatformStrategies::deleteAllCookies):
  21834. 2012-12-14 Alberto Garcia <agarcia@igalia.com>
  21835. [GTK] When in private mode WebKitGTK+ should not save HTTP authentication credentials to the persistent storage
  21836. https://bugs.webkit.org/show_bug.cgi?id=104910
  21837. Reviewed by Martin Robinson.
  21838. * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp:
  21839. (WebKit::WebKit2GtkAuthenticationDialog::WebKit2GtkAuthenticationDialog):
  21840. * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h:
  21841. (WebKit2GtkAuthenticationDialog):
  21842. GtkAuthenticationDialog has a new credential storage mode
  21843. parameter, so add it here too.
  21844. * UIProcess/API/gtk/WebKitWebView.cpp:
  21845. (webkitWebViewHandleAuthenticationChallenge):
  21846. When creating the GtkAuthenticationDialog, set the credential
  21847. storage mode using the private browsing setting from the current
  21848. page.
  21849. 2012-12-14 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  21850. [EFL][WK2] Fix EFL build after r137718
  21851. https://bugs.webkit.org/show_bug.cgi?id=105018
  21852. Unreviewed build fix.
  21853. The problem was that UNUSED_PARAM(size) was left in the code
  21854. for non-existent variable 'size'.
  21855. * UIProcess/efl/PageClientDefaultImpl.cpp:
  21856. (WebKit::PageClientDefaultImpl::updateViewportSize):
  21857. * UIProcess/efl/PageClientLegacyImpl.cpp:
  21858. (WebKit::PageClientLegacyImpl::updateViewportSize):
  21859. 2012-12-13 Kenneth Rohde Christiansen <kenneth@webkit.org>
  21860. [EFL][WK2] Do not pass size to updateViewportSize
  21861. https://bugs.webkit.org/show_bug.cgi?id=104994
  21862. Reviewed by Gyuyoung Kim.
  21863. There is no need to pass size to updateViewportSize as we
  21864. have direct access to it. This makes the code differ less
  21865. from Qt.
  21866. * UIProcess/API/efl/ewk_view.cpp:
  21867. (_ewk_view_smart_calculate):
  21868. * UIProcess/PageViewportController.cpp:
  21869. (WebKit::PageViewportController::pageDidRequestScroll):
  21870. * UIProcess/efl/PageClientBase.h:
  21871. (PageClientBase):
  21872. * UIProcess/efl/PageClientDefaultImpl.cpp:
  21873. (WebKit::PageClientDefaultImpl::updateViewportSize):
  21874. * UIProcess/efl/PageClientDefaultImpl.h:
  21875. (PageClientDefaultImpl):
  21876. * UIProcess/efl/PageClientLegacyImpl.cpp:
  21877. (WebKit::PageClientLegacyImpl::updateViewportSize):
  21878. * UIProcess/efl/PageClientLegacyImpl.h:
  21879. (PageClientLegacyImpl):
  21880. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  21881. (WebKit::PageViewportControllerClientEfl::updateViewportSize):
  21882. * UIProcess/efl/PageViewportControllerClientEfl.h:
  21883. (PageViewportControllerClientEfl):
  21884. 2012-12-13 Sanghyup Lee <sh53.lee@samsung.com>
  21885. Fix build warning
  21886. https://bugs.webkit.org/show_bug.cgi?id=104978
  21887. Reviewed by Kentaro Hara.
  21888. Initialize parameter 'downloadID' to fix 'unused parameter' build warning.
  21889. * WebProcess/Downloads/Download.cpp:
  21890. (WebKit::Download::Download):
  21891. 2012-12-13 Alexey Proskuryakov <ap@apple.com>
  21892. Resource loads sometimes stall
  21893. https://bugs.webkit.org/show_bug.cgi?id=104976
  21894. Reviewed by Anders Carlsson.
  21895. Quick and dirty partial fix.
  21896. * Shared/BlockingResponseMap.h: (BlockingResponseMap::didReceiveResponse):
  21897. Wake up all threads, so that non-sequential responses don't break us. This is still
  21898. horribly inefficient,but should improve behavior quite a bit.
  21899. 2012-12-13 Seokju Kwon <seokju.kwon@gmail.com>
  21900. Fix unused parameter compile warnings
  21901. https://bugs.webkit.org/show_bug.cgi?id=104907
  21902. Reviewed by Kentaro Hara.
  21903. Use UNUSED_PARAM macro to fix build warning -Wunused-parameter
  21904. when ENABLE_INSPECTOR is disabled.
  21905. * UIProcess/API/C/WKInspector.cpp:
  21906. (WKInspectorGetPage):
  21907. (WKInspectorIsVisible):
  21908. (WKInspectorIsFront):
  21909. (WKInspectorShow):
  21910. (WKInspectorClose):
  21911. (WKInspectorShowConsole):
  21912. (WKInspectorShowResources):
  21913. (WKInspectorShowMainResourceForFrame):
  21914. (WKInspectorIsAttached):
  21915. (WKInspectorAttach):
  21916. (WKInspectorDetach):
  21917. (WKInspectorIsDebuggingJavaScript):
  21918. (WKInspectorToggleJavaScriptDebugging):
  21919. (WKInspectorIsProfilingJavaScript):
  21920. (WKInspectorToggleJavaScriptProfiling):
  21921. (WKInspectorIsProfilingPage):
  21922. (WKInspectorTogglePageProfiling):
  21923. * UIProcess/API/C/WKPage.cpp:
  21924. (WKPageGetInspector):
  21925. 2012-12-13 Seokju Kwon <seokju.kwon@gmail.com>
  21926. [QT][GTK][EFL] Add guard for WebInspectorServer
  21927. https://bugs.webkit.org/show_bug.cgi?id=104889
  21928. Reviewed by Kenneth Rohde Christiansen.
  21929. Add ENABLE(INSPECTOR_SERVER) guard around platform-specific implementation for WebInspectorServer.
  21930. * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
  21931. * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
  21932. * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
  21933. 2012-12-13 Huang Dongsung <luxtella@company100.net>
  21934. Coordinated Graphics: Reorder messages to CoordinatedLayerTreeHostProxy
  21935. https://bugs.webkit.org/show_bug.cgi?id=103843
  21936. Reviewed by Noam Rosenthal.
  21937. Clarify LayerTreeRenderer::setRootLayerID() can be called only once during its
  21938. lifecycle. LayerTreeRenderer, CoordinatedLayerTreeHost and CoordinatedLayerTreeHostProxy
  21939. have the same lifecycle to WebPage and the root layer is reused even if loading
  21940. new page, so it is impossible to call LayerTreeRenderer::setRootLayerID() more
  21941. than twice.
  21942. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  21943. (WebKit::LayerTreeRenderer::setRootLayerID):
  21944. 2012-12-13 Alexey Proskuryakov <ap@apple.com>
  21945. <rdar://problem/12838354> DOM cookie access functions should respect private browsing
  21946. https://bugs.webkit.org/show_bug.cgi?id=104691
  21947. Reviewed by Anders Carlsson.
  21948. Remove obsolete FIXMEs, and fix one function that I overlooked.
  21949. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  21950. (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
  21951. (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
  21952. (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
  21953. (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
  21954. (WebKit::NetworkConnectionToWebProcess::getRawCookies):
  21955. (WebKit::NetworkConnectionToWebProcess::deleteCookie):
  21956. (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
  21957. (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
  21958. (WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
  21959. 2012-12-13 Anders Carlsson <andersca@apple.com>
  21960. DownloadManager shouldn't call the web process directly
  21961. https://bugs.webkit.org/show_bug.cgi?id=104946
  21962. Reviewed by Antti Koivisto.
  21963. Introduce the needed DownloadManager::Client member functions and have Download call them instead of calling the web process directly.
  21964. * WebProcess/Downloads/Download.cpp:
  21965. (WebKit::Download::Download):
  21966. (WebKit::Download::~Download):
  21967. (WebKit::Download::connection):
  21968. * WebProcess/Downloads/DownloadManager.cpp:
  21969. (WebKit::DownloadManager::DownloadManager):
  21970. (WebKit::DownloadManager::didCreateDownload):
  21971. (WebKit::DownloadManager::didDestroyDownload):
  21972. (WebKit::DownloadManager::connection):
  21973. * WebProcess/Downloads/DownloadManager.h:
  21974. * WebProcess/WebProcess.cpp:
  21975. (WebKit::WebProcess::didCreateDownload):
  21976. (WebKit::WebProcess::didDestroyDownload):
  21977. * WebProcess/WebProcess.h:
  21978. 2012-12-13 Alexey Proskuryakov <ap@apple.com>
  21979. <rdar://problem/12838354> Per-Tab WebProcess: DOM cookie access functions should respect private browsing
  21980. https://bugs.webkit.org/show_bug.cgi?id=104691
  21981. Reviewed by Sam Weinig.
  21982. Pass private browsing state from local context to remote one.
  21983. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  21984. (WebKit::networkingContext):
  21985. (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
  21986. (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
  21987. (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
  21988. (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
  21989. (WebKit::NetworkConnectionToWebProcess::getRawCookies):
  21990. (WebKit::NetworkConnectionToWebProcess::deleteCookie):
  21991. (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
  21992. (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
  21993. (WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
  21994. * NetworkProcess/NetworkConnectionToWebProcess.h:
  21995. * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  21996. * NetworkProcess/mac/RemoteNetworkingContext.h:
  21997. * NetworkProcess/mac/RemoteNetworkingContext.mm:
  21998. (WebKit::RemoteNetworkingContext::inPrivateBrowsingMode):
  21999. (WebKit::RemoteNetworkingContext::storageSession):
  22000. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  22001. (WebKit::WebPlatformStrategies::cookiesForDOM):
  22002. (WebKit::WebPlatformStrategies::setCookiesFromDOM):
  22003. (WebKit::WebPlatformStrategies::cookiesEnabled):
  22004. (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
  22005. (WebKit::WebPlatformStrategies::getRawCookies):
  22006. (WebKit::WebPlatformStrategies::deleteCookie):
  22007. (WebKit::WebPlatformStrategies::getHostnamesWithCookies):
  22008. (WebKit::WebPlatformStrategies::deleteCookiesForHostname):
  22009. (WebKit::WebPlatformStrategies::deleteAllCookies):
  22010. * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
  22011. * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
  22012. (WebKit::WebFrameNetworkingContext::inPrivateBrowsingMode):
  22013. (WebKit::WebFrameNetworkingContext::storageSession):
  22014. * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
  22015. (WebFrameNetworkingContext::inPrivateBrowsingMode):
  22016. 2012-12-13 Anders Carlsson <andersca@apple.com>
  22017. Get rid of DownloadManager::shared
  22018. https://bugs.webkit.org/show_bug.cgi?id=104939
  22019. Reviewed by Andreas Kling.
  22020. Move the DownloadManager singleton to WebProcess and stub out a DownloadManager::Client class.
  22021. * WebProcess/Downloads/DownloadManager.cpp:
  22022. (WebKit::DownloadManager::DownloadManager):
  22023. * WebProcess/Downloads/DownloadManager.h:
  22024. (Client):
  22025. (WebKit::DownloadManager::Client::~Client):
  22026. (DownloadManager):
  22027. * WebProcess/WebPage/WebFrame.cpp:
  22028. (WebKit::WebFrame::startDownload):
  22029. (WebKit::WebFrame::convertHandleToDownload):
  22030. * WebProcess/WebProcess.cpp:
  22031. (WebKit::WebProcess::downloadManager):
  22032. (WebKit):
  22033. (WebKit::WebProcess::shouldTerminate):
  22034. (WebKit::WebProcess::downloadRequest):
  22035. (WebKit::WebProcess::cancelDownload):
  22036. (WebKit::WebProcess::startTransfer):
  22037. * WebProcess/WebProcess.h:
  22038. (WebProcess):
  22039. 2012-12-12 Andy Estes <aestes@apple.com>
  22040. [WebKit2] Only register NSNotificationCenter observers once per WebContext
  22041. https://bugs.webkit.org/show_bug.cgi?id=104879
  22042. Reviewed by Alexey Proskuryakov.
  22043. WebContext was mistakenly registering NSNotificationCenter observers
  22044. every time a new web process was created. In a multi-WebProcess world,
  22045. this caused duplicate observers to be needlessly registered. Fix this
  22046. by registering observers at WebContext creation time (and fix a related
  22047. bug where two of the observers were never unregistered).
  22048. * UIProcess/WebContext.h:
  22049. * UIProcess/mac/WebContextMac.mm:
  22050. (WebKit::WebContext::platformInitialize): Register observers when initializing the context.
  22051. (WebKit::WebContext::platformInitializeWebProcess): Don't register observers here.
  22052. (WebKit::WebContext::platformInvalidateContext): Unregister observers when invalidating the context.
  22053. (WebKit::WebContext::registerNotificationObservers):
  22054. (WebKit::WebContext::unregisterNotificationObservers):
  22055. 2012-12-13 Anders Carlsson <andersca@apple.com>
  22056. Download objects should keep track of their associated DownloadManager object
  22057. https://bugs.webkit.org/show_bug.cgi?id=104936
  22058. Reviewed by Andreas Kling.
  22059. This is the first step towards eliminating DownloadManager::shared.
  22060. * WebProcess/Downloads/Download.cpp:
  22061. (WebKit::Download::create):
  22062. (WebKit::Download::Download):
  22063. (WebKit::Download::didFinish):
  22064. (WebKit::Download::didFail):
  22065. (WebKit::Download::didCancel):
  22066. * WebProcess/Downloads/Download.h:
  22067. * WebProcess/Downloads/DownloadManager.cpp:
  22068. (WebKit::DownloadManager::startDownload):
  22069. (WebKit::DownloadManager::convertHandleToDownload):
  22070. 2012-12-13 Anders Carlsson <andersca@apple.com>
  22071. Remove unused initiatingPage parameter from download objects
  22072. https://bugs.webkit.org/show_bug.cgi?id=104933
  22073. Reviewed by Alexey Proskuryakov.
  22074. * WebProcess/Downloads/Download.h:
  22075. (Download):
  22076. * WebProcess/Downloads/DownloadManager.cpp:
  22077. (WebKit::DownloadManager::startDownload):
  22078. (WebKit::DownloadManager::convertHandleToDownload):
  22079. * WebProcess/Downloads/DownloadManager.h:
  22080. (DownloadManager):
  22081. * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
  22082. (WebKit::Download::start):
  22083. (WebKit::Download::startWithHandle):
  22084. * WebProcess/Downloads/curl/DownloadCurl.cpp:
  22085. (WebKit::Download::start):
  22086. (WebKit::Download::startWithHandle):
  22087. * WebProcess/Downloads/mac/DownloadMac.mm:
  22088. (WebKit::Download::start):
  22089. (WebKit::Download::startWithHandle):
  22090. * WebProcess/Downloads/qt/DownloadQt.cpp:
  22091. (WebKit::Download::start):
  22092. (WebKit::Download::startWithHandle):
  22093. * WebProcess/Downloads/soup/DownloadSoup.cpp:
  22094. (WebKit::Download::start):
  22095. (WebKit::Download::startWithHandle):
  22096. * WebProcess/WebPage/WebFrame.cpp:
  22097. (WebKit::WebFrame::startDownload):
  22098. (WebKit::WebFrame::convertHandleToDownload):
  22099. * WebProcess/WebProcess.cpp:
  22100. (WebKit::WebProcess::downloadRequest):
  22101. 2012-12-13 Alexey Proskuryakov <ap@apple.com>
  22102. <rdar://problem/12870065> Frequent NetworkProcess crashes due to null connection when closing tabs
  22103. https://bugs.webkit.org/show_bug.cgi?id=104922
  22104. Reviewed by Anders Carlsson.
  22105. Don't zero out connection pointers when a connection closes. There doesn't appear
  22106. to be any reason to do this.
  22107. Tested by hitting breakpoints in all relevant objects destructors to confirm that
  22108. this doesn't introduce leaks.
  22109. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  22110. (WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
  22111. (WebKit::NetworkConnectionToWebProcess::didClose):
  22112. * NetworkProcess/NetworkResourceLoader.cpp:
  22113. (WebKit::NetworkResourceLoader::connectionToWebProcessDidClose):
  22114. 2012-12-13 Thiago Marcos P. Santos <thiago.santos@intel.com>
  22115. [EFL] Update the way we set the cookies policy
  22116. https://bugs.webkit.org/show_bug.cgi?id=104915
  22117. Reviewed by Kenneth Rohde Christiansen.
  22118. We are mistakenly assigning the cookie policy to the persistent storage
  22119. type which is not correct. This was caused by r137432 and is making
  22120. the unit tests fail.
  22121. * UIProcess/efl/WebContextEfl.cpp:
  22122. (WebKit::WebContext::platformInitializeWebProcess):
  22123. 2012-12-13 Andras Becsi <andras.becsi@digia.com>
  22124. [Qt][WK2] Fix painting on Mac with retina display
  22125. https://bugs.webkit.org/show_bug.cgi?id=104574
  22126. Unreviewed, removing leftover API test.
  22127. This hunk somehow did not make it into the final patch.
  22128. * UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Removed.
  22129. 2012-12-13 Andras Becsi <andras.becsi@digia.com>
  22130. [Qt][WK2] Fix painting on Mac with retina display
  22131. https://bugs.webkit.org/show_bug.cgi?id=104574
  22132. Reviewed by Kenneth Rohde Christiansen.
  22133. Since HiDPI support has been added and enabled in Qt we ended up
  22134. painting incorrectly scaled content on high-resolution screens.
  22135. Because the intrinsic device pixel ratio is always taken into
  22136. account by Qt when painting to high-resolution screens we should
  22137. automatically obtain the scale ratio from the window in which the
  22138. item is rendered instead of setting it in QML.
  22139. Qt does not make it possible to override the device pixel ratio
  22140. of the native window, therefore our experimental QML API for setting
  22141. a custom value is of no use any more and should be removed.
  22142. This patch fixes the scaling issue on Mac retina display by querying
  22143. the underlying window for the device scale factor and applying it to
  22144. the backing store and the scene-graph rendering of the content node.
  22145. Additionally removes the experimental API and related API tests.
  22146. * UIProcess/API/qt/qquickwebpage.cpp:
  22147. (QQuickWebPage::updatePaintNode):
  22148. * UIProcess/API/qt/qquickwebview.cpp:
  22149. (QQuickWebViewPrivate::QQuickWebViewPrivate):
  22150. (QQuickWebViewLegacyPrivate::updateViewportSize):
  22151. (QQuickWebViewFlickablePrivate::onComponentComplete):
  22152. * UIProcess/API/qt/qquickwebview_p.h:
  22153. * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
  22154. (tst_QQuickWebView::newWebView):
  22155. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
  22156. (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
  22157. (WebKit::CoordinatedLayerTreeHostProxy::deviceScaleFactor):
  22158. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  22159. (CoordinatedLayerTreeHostProxy):
  22160. * UIProcess/qt/QtWebPageSGNode.cpp:
  22161. (WebKit::ContentsSGNode::ContentsSGNode):
  22162. (WebKit::ContentsSGNode::render):
  22163. (WebKit::ContentsSGNode::clipRect):
  22164. (ContentsSGNode):
  22165. (WebKit::QtWebPageSGNode::QtWebPageSGNode):
  22166. (WebKit::QtWebPageSGNode::devicePixelRatio):
  22167. (WebKit):
  22168. (WebKit::QtWebPageSGNode::setRenderer):
  22169. * UIProcess/qt/QtWebPageSGNode.h:
  22170. (QtWebPageSGNode):
  22171. 2012-12-13 Thiago Marcos P. Santos <thiago.santos@intel.com>
  22172. [EFL] API tests failing because Vibration API is using unsigned as duration since r137410
  22173. https://bugs.webkit.org/show_bug.cgi?id=104914
  22174. Reviewed by Kenneth Rohde Christiansen.
  22175. Update the tests to reflect the data type coming from WebCore.
  22176. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  22177. (VibrationCbData):
  22178. (onVibrate):
  22179. 2012-12-13 Kenneth Rohde Christiansen <kenneth@webkit.org>
  22180. [EFL][WK2] Device pixel ratio lost upon relaunch of the web process
  22181. https://bugs.webkit.org/show_bug.cgi?id=104913
  22182. Reviewed by Simon Hausmann.
  22183. Use setIntrinsicDeviceScaleFactor instead of setCustomDeviceScaleFactor
  22184. when setting the device pixel ratio to make the setting permanent and
  22185. make sure it is set as part of the web process creation parameters.
  22186. * UIProcess/API/efl/ewk_view.cpp:
  22187. (ewk_view_device_pixel_ratio_set):
  22188. 2012-12-13 Jerome Pasion <jerome.pasion@digia.com>
  22189. [Qt] Doc: Fixing Qt WebKit reference documentation.
  22190. Reviewed by Simon Hausmann.
  22191. Fixes:
  22192. -added \module for C++ classes and \qmlmodule for QML types
  22193. -added links to the Qt WebKit Examples pages
  22194. -fixed the qhp settings for Qt Creator
  22195. Task-number: QTBUG-28583
  22196. Task-number: QTBUG-28418
  22197. Task-number: QTBUG-27646
  22198. * UIProcess/API/qt/qquickwebview.cpp:
  22199. 2012-12-13 Jussi Kukkonen <jussi.kukkonen@intel.com>
  22200. [EFL][GTK] Don't call deprecated g_type_init when glib => 2.35
  22201. https://bugs.webkit.org/show_bug.cgi?id=103209
  22202. Reviewed by Kenneth Rohde Christiansen.
  22203. g_type_init() is deprecated from 2.35.0 onwards. Don't call it
  22204. in that case to avoid warnings and/or build failure.
  22205. Also, remove a call to g_type_init() from WebProcessMainGtk():
  22206. It is not needed if gtk_init() is called.
  22207. * UIProcess/API/efl/ewk_main.cpp:
  22208. (ewk_init):
  22209. * WebProcess/efl/WebProcessMainEfl.cpp:
  22210. (WebKit::WebProcessMainEfl):
  22211. * WebProcess/gtk/WebProcessMainGtk.cpp:
  22212. (WebKit::WebProcessMainGtk):
  22213. 2012-12-13 Joaquim Rocha <jrocha@igalia.com>
  22214. REGRESSION (r137432): The /webkit2/WebKitCookieManager/accept-policy unit test is failing
  22215. https://bugs.webkit.org/show_bug.cgi?id=104790
  22216. Reviewed by Carlos Garcia Campos.
  22217. The cookies accept policy and the cookies persistent storage type
  22218. were not being correctly assigned.
  22219. * UIProcess/WebContext.cpp: Set the default value of the cookie
  22220. accept policy.
  22221. (WebKit::WebContext::WebContext):
  22222. * UIProcess/gtk/WebContextGtk.cpp: Fix setting the cookies persistent
  22223. storage type (it was mistakenly assigning the policy instead) and
  22224. set the accept policy which was missing.
  22225. (WebKit::WebContext::platformInitializeWebProcess):
  22226. 2012-12-13 Jon Lee <jonlee@apple.com>
  22227. plugin snapshotting accepts bad snapshot after 5 seconds
  22228. https://bugs.webkit.org/show_bug.cgi?id=104886
  22229. <rdar://problem/12838753>
  22230. Reviewed by Maciej Stachowiak.
  22231. * WebProcess/Plugins/PluginView.cpp: Increase to 60 tries, equating to a little over 60 seconds total.
  22232. 2012-12-12 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  22233. NetworkInfoController needs to support destructor
  22234. https://bugs.webkit.org/show_bug.cgi?id=104642
  22235. Reviewed by Kentaro Hara.
  22236. Though NetworkInfoController can be referenced by each port in order to update network status change,
  22237. there is no virtual interface to destroy it. Beside each port client also needs to be destroyed when
  22238. controller is destroyed.
  22239. * UIProcess/efl/NetworkInfoProvider.cpp:
  22240. (NetworkInfoProvider::networkInfoControllerDestroyed):
  22241. * UIProcess/efl/NetworkInfoProvider.h:
  22242. (NetworkInfoProvider):
  22243. * WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp:
  22244. (WebKit::WebNetworkInfoClient::networkInfoControllerDestroyed):
  22245. (WebKit):
  22246. * WebProcess/WebCoreSupport/WebNetworkInfoClient.h:
  22247. (WebNetworkInfoClient):
  22248. 2012-12-12 Andy Estes <aestes@apple.com>
  22249. Rename currentMousePosition() to lastKnownMousePosition() and mark it as OVERRIDE.
  22250. * WebProcess/Plugins/PDF/PDFPlugin.h:
  22251. 2012-12-12 Seokju Kwon <seokju.kwon@gmail.com>
  22252. [EFL] Refactor duplicate code into EflInspectorUtilities
  22253. https://bugs.webkit.org/show_bug.cgi?id=104329
  22254. Reviewed by Kenneth Rohde Christiansen.
  22255. Remove duplicated work to get the resource path for inspector.
  22256. And use WebCore::inspectorResourcePath().
  22257. * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
  22258. (WebKit::WebInspectorServer::platformResourceForPath):
  22259. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  22260. (WebKit::WebInspectorProxy::inspectorBaseURL):
  22261. 2012-12-12 Mark Lam <mark.lam@apple.com>
  22262. Encapsulate externally used webdatabase APIs in DatabaseManager.
  22263. https://bugs.webkit.org/show_bug.cgi?id=104741.
  22264. Reviewed by Sam Weinig.
  22265. Use DatabaseManager instead of accessing DatabaseTracker, AbstractDatabase,
  22266. and DatabaseContext directly. This is to prepare for upcoming webkit2
  22267. refactoring.
  22268. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  22269. (WebKit::WebChromeClient::exceededDatabaseQuota):
  22270. * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
  22271. (WebKit::WebDatabaseManager::initialize):
  22272. (WebKit::WebDatabaseManager::WebDatabaseManager):
  22273. (WebKit::WebDatabaseManager::getDatabasesByOrigin):
  22274. (WebKit::WebDatabaseManager::getDatabaseOrigins):
  22275. (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
  22276. (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
  22277. (WebKit::WebDatabaseManager::deleteAllDatabases):
  22278. (WebKit::WebDatabaseManager::setQuotaForOrigin):
  22279. * WebProcess/WebCoreSupport/WebDatabaseManager.h:
  22280. (WebDatabaseManager):
  22281. * WebProcess/WebPage/WebPage.cpp:
  22282. (WebKit::WebPage::updatePreferences):
  22283. 2012-12-12 Alexey Proskuryakov <ap@apple.com>
  22284. <rdar://problem/12862512> Crashes in NetworkResourceLoadScheduler::receivedRedirect
  22285. https://bugs.webkit.org/show_bug.cgi?id=104844
  22286. Reviewed by Sam Weinig.
  22287. * NetworkProcess/NetworkResourceLoadScheduler.cpp:
  22288. (WebKit::NetworkResourceLoadScheduler::receivedRedirect): The load may be already
  22289. canceled.
  22290. * WebProcess/Network/WebResourceLoader.cpp:
  22291. (WebKit::WebResourceLoader::didReceiveResponse): Expanded logging a little.
  22292. 2012-12-12 Andras Becsi <andras.becsi@digia.com>
  22293. [Qt][WK2] Fix the build on Mac
  22294. Unreviewed build fix.
  22295. Add missing virtual destructor with empty
  22296. definition to fix missing vtable error
  22297. in test util's LoadStartedCatcher.
  22298. * UIProcess/API/qt/tests/util.h:
  22299. (LoadStartedCatcher::~LoadStartedCatcher):
  22300. 2012-12-12 Alexey Proskuryakov <ap@apple.com>
  22301. Make LOG() work in WebProcess and NetworkProcess
  22302. https://bugs.webkit.org/show_bug.cgi?id=104718
  22303. Reviewed by Tim Horton.
  22304. * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess):
  22305. Initialize WebCore and WebKit2 logging.
  22306. * Platform/Logging.cpp: (WebKit::initializeLogChannelsIfNecessary):
  22307. Added Network and NetworkScheduling. Re-ordered to match declaration order,
  22308. alphabetical clearly doesn't help here.
  22309. * WebProcess/WebProcess.cpp: (WebKit::WebProcess::WebProcess): Initialize WebKit2
  22310. logging in addition to WebCore.
  22311. * UIProcess/WebContext.cpp: (WebKit::WebContext::WebContext): Initialize WebKit2
  22312. logging in addition to WebCore.
  22313. 2012-12-12 Simon Pena <spena@igalia.com>
  22314. [GTK] Add sections documentation to WebKit2 GTK+ API
  22315. https://bugs.webkit.org/show_bug.cgi?id=104484
  22316. Reviewed by Martin Robinson.
  22317. Many of the sections in the WebKit2 GTK+ API documentation were
  22318. missing. This commit adds new documentation, in some cases
  22319. adapting it from WebKitGtk+ and in others writing it from the
  22320. scratch.
  22321. It also removes the WebKitWebViewBase class from the documentation
  22322. index, since it is not really relevant.
  22323. * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
  22324. * UIProcess/API/gtk/WebKitContextMenu.cpp:
  22325. * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
  22326. * UIProcess/API/gtk/WebKitCookieManager.cpp:
  22327. * UIProcess/API/gtk/WebKitDownload.cpp:
  22328. * UIProcess/API/gtk/WebKitError.cpp:
  22329. * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
  22330. * UIProcess/API/gtk/WebKitFindController.cpp:
  22331. * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
  22332. * UIProcess/API/gtk/WebKitPlugin.cpp:
  22333. * UIProcess/API/gtk/WebKitPrintOperation.cpp:
  22334. * UIProcess/API/gtk/WebKitSecurityManager.cpp:
  22335. * UIProcess/API/gtk/WebKitURIRequest.cpp:
  22336. * UIProcess/API/gtk/WebKitURIResponse.cpp:
  22337. * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
  22338. * UIProcess/API/gtk/WebKitVersion.cpp:
  22339. * UIProcess/API/gtk/WebKitWebContext.cpp:
  22340. * UIProcess/API/gtk/WebKitWebInspector.cpp:
  22341. * UIProcess/API/gtk/WebKitWebResource.cpp:
  22342. (webkit_web_resource_class_init):
  22343. * UIProcess/API/gtk/WebKitWebView.cpp:
  22344. * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
  22345. 2012-12-12 Kondapally Kalyan <kalyan.kondapally@intel.com>
  22346. [EFL [WebGL] [Wk2] Resizing the canvas breaks WebGL.
  22347. https://bugs.webkit.org/show_bug.cgi?id=104535.
  22348. Reviewed by Kenneth Rohde Christiansen.
  22349. GraphicsContext3DEfl does not re-create the surface on canvas resize, this
  22350. conflicted with the logic in coordinated graphics Layer.
  22351. CoordinatedGraphicsLayer checks for GraphicsSurfaceToken to decide if the surface
  22352. in UI-Process should be recreated or not. With this
  22353. patch we also check for size of the platform Layer.
  22354. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  22355. (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
  22356. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  22357. (CoordinatedGraphicsLayer):
  22358. 2012-12-12 Sheriff Bot <webkit.review.bot@gmail.com>
  22359. Unreviewed, rolling out r137438.
  22360. http://trac.webkit.org/changeset/137438
  22361. https://bugs.webkit.org/show_bug.cgi?id=104798
  22362. assertion reached when removing tile (Requested by tmpsantos
  22363. on #webkit).
  22364. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  22365. (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
  22366. (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
  22367. (WebCore::CoordinatedGraphicsLayer::setVisibleContentRectTrajectoryVector):
  22368. (WebCore::CoordinatedGraphicsLayer::setContentsScale):
  22369. (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
  22370. (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
  22371. (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
  22372. (WebCore::CoordinatedGraphicsLayer::createTile):
  22373. (WebCore::CoordinatedGraphicsLayer::updateTile):
  22374. (WebCore::CoordinatedGraphicsLayer::removeTile):
  22375. (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
  22376. (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
  22377. (WebCore::CoordinatedGraphicsLayer::adjustVisibleRect):
  22378. (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
  22379. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  22380. (CoordinatedGraphicsLayerClient):
  22381. (CoordinatedGraphicsLayer):
  22382. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  22383. (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
  22384. (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
  22385. (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
  22386. (WebKit::CoordinatedLayerTreeHost::layerTreeTileUpdatesAllowed):
  22387. (WebKit):
  22388. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  22389. (CoordinatedLayerTreeHost):
  22390. 2012-12-12 Mario Sanchez Prada <mario@webkit.org>
  22391. [GTK][WK2] New API to detect display/execution of insecure content
  22392. https://bugs.webkit.org/show_bug.cgi?id=104578
  22393. Reviewed by Martin Robinson.
  22394. Added new API and documentation for detecting insecure content.
  22395. Implemented needed functions from C API's WKPageLoaderClient
  22396. * UIProcess/API/gtk/WebKitLoaderClient.cpp:
  22397. (didDisplayInsecureContentForFrame): Implemented.
  22398. (didRunInsecureContentForFrame): Ditto.
  22399. (attachLoaderClientToView): Added newly implemented functions.
  22400. Added new 'insecure-content-detected' signal to API.
  22401. * UIProcess/API/gtk/WebKitWebView.cpp:
  22402. (webkit_web_view_class_init): Installed new signal.
  22403. (webkitWebViewInsecureContentDetected): Helper function aded to
  22404. private API to emit the new signal from the page loader client.
  22405. * UIProcess/API/gtk/WebKitWebView.h:
  22406. (_WebKitWebViewClass): Added new signal.
  22407. * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added prototype of the
  22408. new helper function webkitWebViewInsecureContentDetected().
  22409. Added new unit tests.
  22410. * UIProcess/API/gtk/tests/TestSSL.cpp:
  22411. (testSSL): Updated to the new variable name for the https server.
  22412. (testInsecureContent): New unit test.
  22413. (httpsServerCallback): Renamed from serverCallback() and updated
  22414. to return HTML content linking to external resources in an
  22415. insecure (plain http) server, to be used by the new test.
  22416. (httpServerCallback): New callback for a new http server, that
  22417. will serve a script and an image when requested.
  22418. (beforeAll): Run the new http server, besides the https one.
  22419. (afterAll): Delete both the http and the https server.
  22420. Updated documentation with new API.
  22421. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added references
  22422. to the new WebKitInsecureContentEvent enum type.
  22423. 2012-12-12 Huang Dongsung <luxtella@company100.net>
  22424. Coordinated Graphics: Refactor TiledBackingStore code in CoordinatedGraphicsLayer.
  22425. https://bugs.webkit.org/show_bug.cgi?id=103959
  22426. Reviewed by Kenneth Rohde Christiansen.
  22427. Currently, CoordinatedGraphicsLayer has complex code related to TiledBackingStore.
  22428. It has two problem.
  22429. 1. CoordinatedGraphicsLayer hacks TiledBackingStore to prevent
  22430. TiledBackingStore from asynchronously sending UpdateTile message to UI
  22431. Process.
  22432. 2. CreateTile and RemoveTile message can be sent to UI Process at any time.
  22433. This patch makes CoordinatedGraphicsLayer use TiledBackingStore more explicitly.
  22434. It means only during flushing layer states, CoordinatedGraphicsLayer
  22435. calls methods of TiledBackingStore, which indirectly call createTile(),
  22436. updateTile() and removeTile().
  22437. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  22438. (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
  22439. (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
  22440. (WebCore::CoordinatedGraphicsLayer::setVisibleContentRectTrajectoryVector):
  22441. (WebCore::CoordinatedGraphicsLayer::setContentsScale):
  22442. (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
  22443. (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreHasPendingTileCreation):
  22444. (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
  22445. (WebCore::CoordinatedGraphicsLayer::createTile):
  22446. (WebCore::CoordinatedGraphicsLayer::updateTile):
  22447. (WebCore::CoordinatedGraphicsLayer::removeTile):
  22448. (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
  22449. (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
  22450. (WebCore::CoordinatedGraphicsLayer::setNeedsVisibleRectAdjustment):
  22451. (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
  22452. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  22453. (CoordinatedGraphicsLayerClient):
  22454. (CoordinatedGraphicsLayer):
  22455. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  22456. (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
  22457. (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
  22458. (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
  22459. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  22460. (CoordinatedLayerTreeHost):
  22461. 2012-12-12 Joaquim Rocha <jrocha@igalia.com>
  22462. [GTK] Cookies' storage path and policy are not set when the WebProcess is killed and relaunched
  22463. https://bugs.webkit.org/show_bug.cgi?id=104370
  22464. Reviewed by Carlos Garcia Campos.
  22465. This issue happens on ports that use Soup and causes problems like not finding the stored cookies
  22466. nor their policy when the WebProcess is relaunched. As an example of a problem caused by this,
  22467. a previously logged in user will not be logged in again when the process is relaunched and the
  22468. policy used is always the same one.
  22469. * Shared/WebProcessCreationParameters.cpp:
  22470. (WebKit::WebProcessCreationParameters::encode): Encode cookies' persistent storage path,
  22471. storage type and acceptance policy.
  22472. (WebKit::WebProcessCreationParameters::decode): Decode cookies' persistent storage path,
  22473. storage type and acceptance policy.
  22474. * Shared/WebProcessCreationParameters.h: Create 3 variables to hold the values mentioned above.
  22475. (WebProcessCreationParameters):
  22476. * UIProcess/WebCookieManagerProxy.cpp:
  22477. (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
  22478. (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy): Call WebCookieManagerProxySoup::setCookieAcceptPolicy.
  22479. * UIProcess/WebCookieManagerProxy.h: Declare new Soup's methods setCookieAcceptPolicy, cookieAcceptPolicy and
  22480. cookiePersistentStorage as well as the variables m_cookieAcceptPolicy and m_cookiePersistentStorage.
  22481. (WebCookieManagerProxy):
  22482. * UIProcess/efl/WebContextEfl.cpp: Assign the parameters' cookiePersistentStoragePath and
  22483. cookiePersistentStorageType with the respective values.
  22484. (WebKit::WebContext::platformInitializeWebProcess):
  22485. * UIProcess/gtk/WebContextGtk.cpp: Assign the parameters' cookiePersistentStoragePath and
  22486. cookiePersistentStorageType with the respective values.
  22487. (WebKit::WebContext::platformInitializeWebProcess):
  22488. * UIProcess/soup/WebCookieManagerProxySoup.cpp:
  22489. (WebKit::WebCookieManagerProxy::setCookiePersistentStorage): Assign the m_cookiePersistentStorage pair
  22490. with the method's parameters.
  22491. (WebKit):
  22492. (WebKit::WebCookieManagerProxy::getCookiePersistentStorage): Implement this getter.
  22493. * WebProcess/Cookies/WebCookieManager.h: Declare setCookiePersistentStorage.
  22494. (WebCookieManager):
  22495. * WebProcess/soup/WebProcessSoup.cpp:
  22496. (WebKit::WebProcess::platformInitializeWebProcess): Set the cookies' persistent storage and policy
  22497. using the WebCookieManager's methods.
  22498. 2012-12-11 Jinwoo Song <jinwoo7.song@samsung.com>
  22499. [EFL][WK2] Duplicated WebPageGroup initialization
  22500. https://bugs.webkit.org/show_bug.cgi?id=103229
  22501. Reviewed by Kenneth Rohde Christiansen.
  22502. WebPageGroup does not need to be created in creating EwkView when the pageGroupRef is 0
  22503. because the default WebPageGroup(m_defaultPageGroup) is created in WebContext constructor.
  22504. As a side effect on the duplicated initialization, pageGroupID increases even when the EwkView
  22505. is created with default context.
  22506. * UIProcess/API/efl/ewk_view.cpp:
  22507. (createEwkView):
  22508. 2012-12-11 Sam Weinig <sam@webkit.org>
  22509. Add API to set the maximum number of processes allowed in a WKContext
  22510. https://bugs.webkit.org/show_bug.cgi?id=104769
  22511. Reviewed by Dan Bernstein.
  22512. Switch from using NSUserDefaults to a WKContext API to set the maximum number of processes
  22513. for a context.
  22514. * UIProcess/API/C/WKContext.cpp:
  22515. (WKContextSetMaximumNumberOfProcesses):
  22516. (WKContextGetMaximumNumberOfProcesses):
  22517. * UIProcess/API/C/WKContext.h:
  22518. * UIProcess/WebContext.cpp:
  22519. (WebKit::WebContext::setMaximumNumberOfProcesses):
  22520. (WebKit):
  22521. * UIProcess/WebContext.h:
  22522. (WebContext):
  22523. (WebKit::WebContext::maximumNumberOfProcesses):
  22524. * UIProcess/mac/WebContextMac.mm:
  22525. (WebKit::registerUserDefaultsIfNeeded):
  22526. (WebKit::WebContext::platformInitialize):
  22527. 2012-12-11 Kihong Kwon <kihong.kwon@samsung.com>
  22528. Vibration API: IDL type doesn't match implementation type
  22529. https://bugs.webkit.org/show_bug.cgi?id=103899
  22530. Reviewed by Kentaro Hara.
  22531. According to WebIDL, "unsigned long" corresponds to "unsigned" in the platform.
  22532. Therefore unsigned long need to be changed to unsigned for the Vibration API.
  22533. - Change a parameter type of vibrate function from uint64_t to uint_32_t.
  22534. * UIProcess/API/C/WKVibration.h:
  22535. * UIProcess/API/efl/EwkViewCallbacks.h:
  22536. * UIProcess/WebVibrationProvider.cpp:
  22537. (WebKit::WebVibrationProvider::vibrate):
  22538. * UIProcess/WebVibrationProvider.h:
  22539. (WebVibrationProvider):
  22540. * UIProcess/WebVibrationProxy.cpp:
  22541. (WebKit::WebVibrationProxy::vibrate):
  22542. * UIProcess/WebVibrationProxy.h:
  22543. (WebVibrationProxy):
  22544. * UIProcess/WebVibrationProxy.messages.in:
  22545. * UIProcess/efl/VibrationClientEfl.cpp:
  22546. (VibrationClientEfl::vibrateCallback):
  22547. * UIProcess/efl/VibrationClientEfl.h:
  22548. (VibrationClientEfl):
  22549. * WebProcess/WebCoreSupport/WebVibrationClient.cpp:
  22550. (WebKit::WebVibrationClient::vibrate):
  22551. * WebProcess/WebCoreSupport/WebVibrationClient.h:
  22552. (WebVibrationClient):
  22553. 2012-12-11 Alexey Proskuryakov <ap@apple.com>
  22554. <rdar://problem/12857870> [WK2 NetworkProcess] Cannot load HTTPS sites
  22555. https://bugs.webkit.org/show_bug.cgi?id=104732
  22556. Reviewed by Anders Carlsson.
  22557. * Shared/BlockingResponseMap.h: (BlockingBoolResponseMap::waitForResponse):
  22558. Fixed to make sense.
  22559. 2012-12-11 Xianzhu Wang <wangxianzhu@chromium.org>
  22560. Add window.internals.mainThreadScrollReasonsAsText for testing slow scrolling
  22561. https://bugs.webkit.org/show_bug.cgi?id=104714
  22562. Reviewed by Eric Seidel.
  22563. Export symbol Page::mainThreadScrollingReasonsAsText().
  22564. * win/WebKit2.def.in:
  22565. 2012-12-11 Gwang Yoon Hwang <ryumiel@company100.net>
  22566. Coordinated Graphics: Rename LayerTreeCoordinator to CoordinatedLayerTreeHost
  22567. https://bugs.webkit.org/show_bug.cgi?id=104641
  22568. Reviewed by Noam Rosenthal.
  22569. The name of LayerTreeCoordinator does not match LayerTreeHost. This
  22570. patch renames it to CoordinatedLayerTreeHost. And make a getter for
  22571. CoordinatedLayerTreeHostProxy in QQuickWebPagePrivate to make a cleaner code.
  22572. No new tests - just a refactoring.
  22573. * CMakeLists.txt:
  22574. * DerivedSources.pri:
  22575. * Platform/CoreIPC/MessageID.h:
  22576. * Target.pri:
  22577. * UIProcess/API/efl/EwkViewImpl.cpp:
  22578. (EwkViewImpl::layerTreeRenderer):
  22579. * UIProcess/API/qt/qquickwebpage.cpp:
  22580. (QQuickWebPagePrivate::paint):
  22581. (QQuickWebPagePrivate::coordinatedLayerTreeHostProxy):
  22582. (QQuickWebPage::updatePaintNode):
  22583. (QQuickWebPagePrivate::updateSize):
  22584. * UIProcess/API/qt/qquickwebpage_p_p.h:
  22585. (WebKit):
  22586. (QQuickWebPagePrivate):
  22587. * UIProcess/API/qt/raw/qrawwebview.cpp:
  22588. (QRawWebView::setSize):
  22589. (QRawWebView::layerTreeRenderer):
  22590. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp.
  22591. (WebKit):
  22592. (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
  22593. (WebKit::CoordinatedLayerTreeHostProxy::~CoordinatedLayerTreeHostProxy):
  22594. (WebKit::CoordinatedLayerTreeHostProxy::updateViewport):
  22595. (WebKit::CoordinatedLayerTreeHostProxy::dispatchUpdate):
  22596. (WebKit::CoordinatedLayerTreeHostProxy::createTileForLayer):
  22597. (WebKit::CoordinatedLayerTreeHostProxy::updateTileForLayer):
  22598. (WebKit::CoordinatedLayerTreeHostProxy::removeTileForLayer):
  22599. (WebKit::CoordinatedLayerTreeHostProxy::createUpdateAtlas):
  22600. (WebKit::CoordinatedLayerTreeHostProxy::removeUpdateAtlas):
  22601. (WebKit::CoordinatedLayerTreeHostProxy::deleteCompositingLayer):
  22602. (WebKit::CoordinatedLayerTreeHostProxy::setRootCompositingLayer):
  22603. (WebKit::CoordinatedLayerTreeHostProxy::setCompositingLayerState):
  22604. (WebKit::CoordinatedLayerTreeHostProxy::setCompositingLayerChildren):
  22605. (WebKit::CoordinatedLayerTreeHostProxy::setCompositingLayerFilters):
  22606. (WebKit::CoordinatedLayerTreeHostProxy::removeCustomFilterProgram):
  22607. (WebKit::CoordinatedLayerTreeHostProxy::createCustomFilterProgram):
  22608. (WebKit::CoordinatedLayerTreeHostProxy::didRenderFrame):
  22609. (WebKit::CoordinatedLayerTreeHostProxy::createImageBacking):
  22610. (WebKit::CoordinatedLayerTreeHostProxy::updateImageBacking):
  22611. (WebKit::CoordinatedLayerTreeHostProxy::clearImageBackingContents):
  22612. (WebKit::CoordinatedLayerTreeHostProxy::removeImageBacking):
  22613. (WebKit::CoordinatedLayerTreeHostProxy::setContentsSize):
  22614. (WebKit::CoordinatedLayerTreeHostProxy::setLayerAnimations):
  22615. (WebKit::CoordinatedLayerTreeHostProxy::setAnimationsLocked):
  22616. (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
  22617. (WebKit::CoordinatedLayerTreeHostProxy::renderNextFrame):
  22618. (WebKit::CoordinatedLayerTreeHostProxy::requestAnimationFrame):
  22619. (WebKit::CoordinatedLayerTreeHostProxy::animationFrameReady):
  22620. (WebKit::CoordinatedLayerTreeHostProxy::didChangeScrollPosition):
  22621. (WebKit::CoordinatedLayerTreeHostProxy::createCanvas):
  22622. (WebKit::CoordinatedLayerTreeHostProxy::syncCanvas):
  22623. (WebKit::CoordinatedLayerTreeHostProxy::destroyCanvas):
  22624. (WebKit::CoordinatedLayerTreeHostProxy::purgeBackingStores):
  22625. (WebKit::CoordinatedLayerTreeHostProxy::setBackgroundColor):
  22626. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h.
  22627. (WebKit):
  22628. (CoordinatedLayerTreeHostProxy):
  22629. (WebKit::CoordinatedLayerTreeHostProxy::layerTreeRenderer):
  22630. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in.
  22631. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  22632. (WebKit::LayerTreeRenderer::LayerTreeRenderer):
  22633. (WebKit::LayerTreeRenderer::animationFrameReady):
  22634. (WebKit::LayerTreeRenderer::updateViewport):
  22635. (WebKit::LayerTreeRenderer::renderNextFrame):
  22636. (WebKit::LayerTreeRenderer::purgeBackingStores):
  22637. (WebKit::LayerTreeRenderer::detach):
  22638. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  22639. (WebKit):
  22640. (LayerTreeRenderer):
  22641. * UIProcess/DrawingAreaProxy.cpp:
  22642. (WebKit::DrawingAreaProxy::didReceiveCoordinatedLayerTreeHostProxyMessage):
  22643. * UIProcess/DrawingAreaProxy.h:
  22644. (WebKit):
  22645. (WebKit::DrawingAreaProxy::coordinatedLayerTreeHostProxy):
  22646. (DrawingAreaProxy):
  22647. * UIProcess/DrawingAreaProxyImpl.cpp:
  22648. (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
  22649. (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
  22650. (WebKit::DrawingAreaProxyImpl::didReceiveCoordinatedLayerTreeHostProxyMessage):
  22651. (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
  22652. * UIProcess/DrawingAreaProxyImpl.h:
  22653. (WebKit):
  22654. * UIProcess/WebPageProxy.cpp:
  22655. (WebKit::WebPageProxy::didReceiveMessage):
  22656. * UIProcess/efl/PageClientBase.cpp:
  22657. * UIProcess/efl/PageClientLegacyImpl.cpp:
  22658. (WebKit::PageClientLegacyImpl::didChangeContentsSize):
  22659. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  22660. (WebKit::PageViewportControllerClientEfl::setRendererActive):
  22661. (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
  22662. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  22663. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp.
  22664. (WebKit):
  22665. (WebKit::CoordinatedLayerTreeHost::create):
  22666. (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
  22667. (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
  22668. (WebKit::CoordinatedLayerTreeHost::setLayerFlushSchedulingEnabled):
  22669. (WebKit::CoordinatedLayerTreeHost::scheduleLayerFlush):
  22670. (WebKit::CoordinatedLayerTreeHost::cancelPendingLayerFlush):
  22671. (WebKit::CoordinatedLayerTreeHost::setShouldNotifyAfterNextScheduledLayerFlush):
  22672. (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
  22673. (WebKit::CoordinatedLayerTreeHost::invalidate):
  22674. (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
  22675. (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
  22676. (WebKit::CoordinatedLayerTreeHost::forceRepaint):
  22677. (WebKit::CoordinatedLayerTreeHost::forceRepaintAsync):
  22678. (WebKit::CoordinatedLayerTreeHost::sizeDidChange):
  22679. (WebKit::CoordinatedLayerTreeHost::didInstallPageOverlay):
  22680. (WebKit::CoordinatedLayerTreeHost::didUninstallPageOverlay):
  22681. (WebKit::CoordinatedLayerTreeHost::setPageOverlayNeedsDisplay):
  22682. (WebKit::CoordinatedLayerTreeHost::setPageOverlayOpacity):
  22683. (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
  22684. (WebKit::CoordinatedLayerTreeHost::initializeRootCompositingLayerIfNeeded):
  22685. (WebKit::CoordinatedLayerTreeHost::syncLayerState):
  22686. (WebKit::CoordinatedLayerTreeHost::syncLayerChildren):
  22687. (WebKit::CoordinatedLayerTreeHost::createCanvas):
  22688. (WebKit::CoordinatedLayerTreeHost::syncCanvas):
  22689. (WebKit::CoordinatedLayerTreeHost::destroyCanvas):
  22690. (WebKit::CoordinatedLayerTreeHost::syncLayerFilters):
  22691. (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
  22692. (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy):
  22693. (WebKit::CoordinatedLayerTreeHost::disconnectCustomFilterPrograms):
  22694. (WebKit::CoordinatedLayerTreeHost::detachLayer):
  22695. (WebKit::updateOffsetFromViewportForSelf):
  22696. (WebKit::updateOffsetFromViewportForLayer):
  22697. (WebKit::CoordinatedLayerTreeHost::syncFixedLayers):
  22698. (WebKit::CoordinatedLayerTreeHost::lockAnimations):
  22699. (WebKit::CoordinatedLayerTreeHost::unlockAnimations):
  22700. (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush):
  22701. (WebKit::CoordinatedLayerTreeHost::syncDisplayState):
  22702. (WebKit::CoordinatedLayerTreeHost::didPerformScheduledLayerFlush):
  22703. (WebKit::CoordinatedLayerTreeHost::layerFlushTimerFired):
  22704. (WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer):
  22705. (WebKit::CoordinatedLayerTreeHost::destroyPageOverlayLayer):
  22706. (WebKit::CoordinatedLayerTreeHost::createImageBackingIfNeeded):
  22707. (WebKit::CoordinatedLayerTreeHost::createImageBacking):
  22708. (WebKit::CoordinatedLayerTreeHost::updateImageBacking):
  22709. (WebKit::CoordinatedLayerTreeHost::clearImageBackingContents):
  22710. (WebKit::CoordinatedLayerTreeHost::removeImageBacking):
  22711. (WebKit::CoordinatedLayerTreeHost::flushPendingImageBackingChanges):
  22712. (WebKit::CoordinatedLayerTreeHost::notifyAnimationStarted):
  22713. (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
  22714. (WebKit::CoordinatedLayerTreeHost::paintContents):
  22715. (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
  22716. (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
  22717. (WebKit::CoordinatedLayerTreeHost::createTile):
  22718. (WebKit::CoordinatedLayerTreeHost::updateTile):
  22719. (WebKit::CoordinatedLayerTreeHost::removeTile):
  22720. (WebKit::CoordinatedLayerTreeHost::createUpdateAtlas):
  22721. (WebKit::CoordinatedLayerTreeHost::removeUpdateAtlas):
  22722. (WebKit::CoordinatedLayerTreeHost::visibleContentsRect):
  22723. (WebKit::CoordinatedLayerTreeHost::setLayerAnimations):
  22724. (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
  22725. (WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory):
  22726. (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
  22727. (WebKit::CoordinatedLayerTreeHost::animationFrameReady):
  22728. (WebKit::CoordinatedLayerTreeHost::renderNextFrame):
  22729. (WebKit::CoordinatedLayerTreeHost::layerTreeTileUpdatesAllowed):
  22730. (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
  22731. (WebKit::CoordinatedLayerTreeHost::beginContentUpdate):
  22732. (WebKit::CoordinatedLayerTreeHost::scheduleReleaseInactiveAtlases):
  22733. (WebKit::CoordinatedLayerTreeHost::releaseInactiveAtlasesTimerFired):
  22734. (WebKit::CoordinatedLayerTreeHost::setBackgroundColor):
  22735. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h.
  22736. (WebKit):
  22737. (CoordinatedLayerTreeHost):
  22738. (WebKit::CoordinatedLayerTreeHost::layerTreeContext):
  22739. (WebKit::CoordinatedLayerTreeHost::pageOverlayShouldApplyFadeWhenPainting):
  22740. (WebKit::CoordinatedLayerTreeHost::pauseRendering):
  22741. (WebKit::CoordinatedLayerTreeHost::resumeRendering):
  22742. (WebKit::CoordinatedLayerTreeHost::deviceScaleFactorDidChange):
  22743. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in.
  22744. * WebProcess/WebPage/DrawingArea.h:
  22745. (DrawingArea):
  22746. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  22747. (WebKit::DrawingAreaImpl::didReceiveCoordinatedLayerTreeHostMessage):
  22748. * WebProcess/WebPage/DrawingAreaImpl.h:
  22749. (DrawingAreaImpl):
  22750. * WebProcess/WebPage/LayerTreeHost.cpp:
  22751. (WebKit::LayerTreeHost::create):
  22752. * WebProcess/WebPage/LayerTreeHost.h:
  22753. (LayerTreeHost):
  22754. * WebProcess/WebPage/WebPage.cpp:
  22755. (WebKit::WebPage::WebPage):
  22756. (WebKit::WebPage::~WebPage):
  22757. (WebKit::WebPage::didReceiveMessage):
  22758. 2012-12-11 Alexey Proskuryakov <ap@apple.com>
  22759. <rdar://problem/12857080> Per-Tab WebProcess: Blue lines between menu tabs at apple.com
  22760. https://bugs.webkit.org/show_bug.cgi?id=104709
  22761. Reviewed by Sam Weinig.
  22762. Data URLs were broken. Removing a no longer valid optimization for now.
  22763. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  22764. (WebKit::WebResourceLoadScheduler::scheduleLoad):
  22765. 2012-12-11 Michael Pruett <michael@68k.org>
  22766. [JSC] Add tests for explicit serialization values
  22767. https://bugs.webkit.org/show_bug.cgi?id=104423
  22768. Reviewed by Oliver Hunt.
  22769. Add tests for serialization and deserialization mechanisms of
  22770. the JSC implementation of SerializedScriptValue. Similar tests
  22771. already exist for the V8 implementation.
  22772. * win/WebKit2.def.in:
  22773. 2012-12-11 Jon Lee <jonlee@apple.com>
  22774. Initialize new web processes with list of auto-start origins for plug-ins
  22775. https://bugs.webkit.org/show_bug.cgi?id=103219
  22776. <rdar://problem/12747219>
  22777. Reviewed by Anders Carlsson.
  22778. Serialize the set of hashes into a vector as a parameter in web process creation.
  22779. * Shared/WebProcessCreationParameters.h: Add a parameter for the origin hashes.
  22780. * Shared/WebProcessCreationParameters.cpp: Encode/decode that parameter.
  22781. (WebKit::WebProcessCreationParameters::encode):
  22782. (WebKit::WebProcessCreationParameters::decode):
  22783. * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
  22784. (WebKit::PlugInAutoStartProvider::autoStartOriginsCopy): Return a vector copy with contents from the
  22785. hash set.
  22786. * UIProcess/Plugins/PlugInAutoStartProvider.h:
  22787. (PlugInAutoStartProvider):
  22788. * UIProcess/WebContext.cpp:
  22789. (WebKit::WebContext::createNewWebProcess): Populate the parameter with the contents of the set.
  22790. * WebProcess/WebProcess.cpp:
  22791. (WebKit::WebProcess::initializeWebProcess): Add the items in the vector to the web process' copy of the set.
  22792. 2012-12-11 Andreas Kling <akling@apple.com>
  22793. CoreIPC: ArgumentEncoder should have an inline buffer.
  22794. <http://webkit.org/b/104622>
  22795. Reviewed by Anders Carlsson.
  22796. Add a 4K inline buffer to CoreIPC::ArgumentEncoder to avoid malloc/free churn.
  22797. It was dominating the transient allocations graph in Instruments.
  22798. * Platform/CoreIPC/ArgumentEncoder.cpp:
  22799. (CoreIPC::ArgumentEncoder::ArgumentEncoder):
  22800. (CoreIPC::ArgumentEncoder::grow):
  22801. * Platform/CoreIPC/ArgumentEncoder.h:
  22802. (CoreIPC::ArgumentEncoder::buffer):
  22803. (ArgumentEncoder):
  22804. (CoreIPC::ArgumentEncoder::usesInlineBuffer):
  22805. 2012-12-11 Mike West <mkwst@chromium.org>
  22806. Web Inspector: ConsoleTypes should not expose MessageType - it should be private to inspector.
  22807. https://bugs.webkit.org/show_bug.cgi?id=66371
  22808. Reviewed by Pavel Feldman.
  22809. Drops WebCore::MessageLevel from the addMessageToConsole method.
  22810. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  22811. (WebKit::WebChromeClient::addMessageToConsole):
  22812. * WebProcess/WebCoreSupport/WebChromeClient.h:
  22813. (WebChromeClient):
  22814. 2012-12-11 Thiago Marcos P. Santos <thiago.santos@intel.com>
  22815. [EFL] Increase the timeout of the API unit tests
  22816. https://bugs.webkit.org/show_bug.cgi?id=104666
  22817. Reviewed by Kenneth Rohde Christiansen.
  22818. Palliative fix until we find out why the tests are taking so long.
  22819. * PlatformEfl.cmake:
  22820. 2012-12-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
  22821. [Qt][EFL][WK2] Resizing the window doesn't always result in right content position
  22822. https://bugs.webkit.org/show_bug.cgi?id=104416
  22823. Reviewed by Simon Hausmann.
  22824. Make sure the client is notified about position and scale changed done by us.
  22825. Rename the m_*IsLocked to m_pending*Change as that makes the code more obvious.
  22826. Patch verified with both Qt and EFL.
  22827. * UIProcess/PageViewportController.cpp:
  22828. (WebKit::PageViewportController::PageViewportController):
  22829. (WebKit::PageViewportController::didRenderFrame): Notify client and pixel align.
  22830. (WebKit::PageViewportController::didChangeContentsVisibility):
  22831. (WebKit::PageViewportController::didChangeViewportAttributes):
  22832. (WebKit::PageViewportController::applyScaleAfterRenderingContents):
  22833. (WebKit::PageViewportController::applyPositionAfterRenderingContents):
  22834. * UIProcess/PageViewportController.h:
  22835. (PageViewportController):
  22836. 2012-12-11 Christophe Dumez <christophe.dumez@intel.com>
  22837. [CoordinatedGraphics] Use unsigned integers for UpdateAtlas IDs
  22838. https://bugs.webkit.org/show_bug.cgi?id=104654
  22839. Reviewed by Kenneth Rohde Christiansen.
  22840. UpdateAtlas currently uses *signed* integer type for its identifier.
  22841. Due to the way we generate those IDs, it is safer to use *unsigned*
  22842. integers. This is because the generated ID will overflow at some
  22843. point and the C and C++ language standards say that overflow of a
  22844. signed value is undefined behaviour.
  22845. This patch switches to unsigned integer type for UpdateAtlas IDs
  22846. since unsigned integers are guaranteed to wrap around on overflow.
  22847. * Shared/SurfaceUpdateInfo.h:
  22848. (SurfaceUpdateInfo):
  22849. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  22850. (WebKit::LayerTreeCoordinatorProxy::createUpdateAtlas):
  22851. (WebKit::LayerTreeCoordinatorProxy::removeUpdateAtlas):
  22852. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  22853. (LayerTreeCoordinatorProxy):
  22854. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  22855. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  22856. (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
  22857. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  22858. (CoordinatedGraphicsLayerClient):
  22859. (CoordinatedGraphicsLayer):
  22860. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
  22861. (CoordinatedTileClient):
  22862. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  22863. (WebKit::LayerTreeCoordinator::createUpdateAtlas):
  22864. (WebKit::LayerTreeCoordinator::removeUpdateAtlas):
  22865. (WebKit::LayerTreeCoordinator::beginContentUpdate):
  22866. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  22867. (LayerTreeCoordinator):
  22868. * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp:
  22869. (WebKit::UpdateAtlas::UpdateAtlas):
  22870. (WebKit::UpdateAtlas::~UpdateAtlas):
  22871. (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
  22872. * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h:
  22873. (UpdateAtlasClient):
  22874. (UpdateAtlas):
  22875. 2012-12-11 Jinwoo Song <jinwoo7.song@samsung.com>
  22876. [EFL][WK2] Create a ewk view object with new context for API tests
  22877. https://bugs.webkit.org/show_bug.cgi?id=103692
  22878. Reviewed by Gyuyoung Kim.
  22879. Bug 103229 fixes the issue which PageGroupID increased even though
  22880. the EwkView was created with default context. If the Bug 103229 is
  22881. resolved, the EwkViews with same context will have same setting preferences.
  22882. Currently, WebKit2/EFL API test is creating the ewk view object
  22883. with the default context so the setting values set previously may
  22884. influence the following tests. So this patch created a ewk view object
  22885. with a new context instead of default one.
  22886. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
  22887. (EWK2UnitTest::EWK2UnitTestBase::SetUp):
  22888. 2012-12-10 Dan Winship <danw@gnome.org>
  22889. [Soup] Fix spelling of "initiating" in API.
  22890. Reviewed by Martin Robinson.
  22891. * WebProcess/soup/WebSoupRequestManager.cpp:
  22892. (WebKit::WebSoupRequestManager::send):
  22893. 2012-12-10 Alexey Proskuryakov <ap@apple.com>
  22894. [WK2] Add a user default to limit the number of web processes
  22895. https://bugs.webkit.org/show_bug.cgi?id=104606
  22896. Reviewed by Sam Weinig.
  22897. When the limit is reached, we'll reuse an existing process with fewest pages.
  22898. * UIProcess/WebContext.cpp:
  22899. (WebKit::WebContext::WebContext): Initialize m_webProcessCountLimit.
  22900. (WebKit::WebContext::platformInitialize): Added a hook for reading the preference,
  22901. empty implementation on most platforms.
  22902. (WebKit::WebContext::createNewWebProcess): Changed to return a raw pointer. The new
  22903. process is put into a vector anyway, so there is no ownership transfer.
  22904. (WebKit::WebContext::warmInitialProcess): Don't create a new process if that would
  22905. exceed the limit.
  22906. (WebKit::WebContext::createNewWebProcessRespectingProcessCountLimit): Added a new
  22907. function that wither creates a new process, or picks an existing one.
  22908. (WebKit::WebContext::createWebPage): Call the above new function instead of
  22909. unconditionally creating a process.
  22910. * UIProcess/WebContext.h: createNewWebProcess is no private. All clients should
  22911. respect the process count limit.
  22912. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::reattachToWebProcess):
  22913. Respect the process count limit.
  22914. * UIProcess/mac/WebContextMac.mm:
  22915. (WebKit::registerUserDefaultsIfNeeded): Register the new default.
  22916. (WebKit::WebContext::platformInitialize): Read the default into a WebContext
  22917. member variable.
  22918. (WebKit::WebContext::platformInitializeWebProcess): Moved registerUserDefaultsIfNeeded()
  22919. from here to platformInitialize(), as that's a better place for it. Also added a
  22920. FIXME for an unrelated issue.
  22921. 2012-12-10 Jon Lee <jonlee@apple.com>
  22922. Build fix.
  22923. * WebProcess/WebCoreSupport/WebPlugInClient.cpp:
  22924. (WebKit::WebPlugInClient::WebPlugInClient): Remove unneeded m_page variable.
  22925. * WebProcess/WebCoreSupport/WebPlugInClient.h:
  22926. (WebPlugInClient):
  22927. 2012-12-10 Jon Lee <jonlee@apple.com>
  22928. Keep track of plug-in snapshots clicked by user
  22929. https://bugs.webkit.org/show_bug.cgi?id=103206
  22930. <rdar://problem/12746483>
  22931. Reviewed by Anders Carlsson.
  22932. Create a new provider class for the web context that maintains a mapping of the plug-in origins
  22933. allowed to auto-start for a specific page origin.
  22934. * WebProcess/WebPage/WebPage.cpp:
  22935. (WebKit::WebPage::WebPage): Create and set WebPlugInClient.
  22936. Implement WebCore::PlugInClient.
  22937. * WebProcess/WebCoreSupport/WebPlugInClient.cpp: Added.
  22938. (WebKit::WebPlugInClient::WebPlugInClient):
  22939. (WebKit::WebPlugInClient::~WebPlugInClient):
  22940. (WebKit::WebPlugInClient::pageDestroyed):
  22941. (WebKit::WebPlugInClient::isAutoStartOrigin): Forward to WebProcess.
  22942. (WebKit::WebPlugInClient::addAutoStartOrigin): Forward to WebProcess.
  22943. * WebProcess/WebCoreSupport/WebPlugInClient.h: Added.
  22944. * WebProcess/WebProcess.cpp: Maintains a copy of the hash set.
  22945. (WebKit::WebProcess::isPlugInAutoStartOrigin): Look for the hash in the set.
  22946. (WebKit::WebProcess::addPlugInAutoStartOrigin): Tell the UI process to add the hash for the page.
  22947. (WebKit::WebProcess::didAddPlugInAutoStartOrigin): Add the hash to the cached set.
  22948. * WebProcess/WebProcess.h:
  22949. * WebProcess/WebProcess.messages.in: Add DidAddPlugInAutoStartOrigin.
  22950. Add the auto-start provider.
  22951. * UIProcess/WebContext.cpp:
  22952. (WebKit::WebContext::WebContext): Initialize the provider.
  22953. (WebKit::WebContext::addPlugInAutoStartOriginHash): Forward to the provider.
  22954. * UIProcess/WebContext.h:
  22955. * UIProcess/WebContext.messages.in: Add AddPlugInAutoStartOriginHash.
  22956. The provider class maintains a map of page domains to hashes, and a set of all the hashes.
  22957. The latter will be used to initialize new web processes without having to crawl through the
  22958. whole map.
  22959. * UIProcess/Plugins/PlugInAutoStartProvider.cpp: Added.
  22960. (WebKit::PlugInAutoStartProvider::PlugInAutoStartProvider):
  22961. (WebKit::PlugInAutoStartProvider::addAutoStartOrigin): Add the origin to the map and set. Tell
  22962. all processes to add the origin to their local copies.
  22963. * UIProcess/Plugins/PlugInAutoStartProvider.h: Added.
  22964. Add PlugInAutoStartProvider and WebPlugInClient.
  22965. * CMakeLists.txt:
  22966. * GNUmakefile.list.am:
  22967. * Target.pri:
  22968. * WebKit2.xcodeproj/project.pbxproj:
  22969. * win/WebKit2.vcproj:
  22970. 2012-12-10 Anders Carlsson <andersca@apple.com>
  22971. Add WKPageSetInvalidMessageFunction stub
  22972. https://bugs.webkit.org/show_bug.cgi?id=104614
  22973. <rdar://problem/12841671>
  22974. Reviewed by Mark Rowe.
  22975. * UIProcess/API/C/WKPage.cpp:
  22976. (WKPageSetInvalidMessageFunction):
  22977. * UIProcess/API/C/WKPagePrivate.h:
  22978. 2012-12-09 Antti Koivisto <antti@apple.com>
  22979. Factor node traversal into standalone functions
  22980. https://bugs.webkit.org/show_bug.cgi?id=104507
  22981. Reviewed by Eric Seidel.
  22982. * WebProcess/WebPage/WebFrame.cpp:
  22983. (WebKit::WebFrame::containsAnyFormElements):
  22984. 2012-12-10 Eduardo Lima Mitev <elima@igalia.com>
  22985. [GTK] Expose HitTestResult::scrollbar() condition in API
  22986. https://bugs.webkit.org/show_bug.cgi?id=104369
  22987. Reviewed by Carlos Garcia Campos.
  22988. This patch populates WebCore::HitTestResult::scrollbar() condition
  22989. in WebKitHitTestResult public API, and includes a corresponding unit
  22990. test.
  22991. * Shared/WebHitTestResult.cpp: Adds new isScrollbar member to
  22992. encoding and decoding methods to carry the scrollbar condition
  22993. from Web process to UI process.
  22994. (WebKit::WebHitTestResult::Data::encode):
  22995. (WebKit::WebHitTestResult::Data::decode):
  22996. * Shared/WebHitTestResult.h:
  22997. (Data): Adds new bool member isScrollbar.
  22998. (WebKit::WebHitTestResult::Data::Data): Initializes isScrollbar from
  22999. WebCore::HitTestResult::scrollbar().
  23000. (WebKit::WebHitTestResult::isScrollbar): Method that returns value
  23001. of isScrollbar member.
  23002. (WebHitTestResult):
  23003. * UIProcess/API/gtk/WebKitHitTestResult.cpp:
  23004. (webkitHitTestResultCreate): Adds scrollbar condition to context upon
  23005. initialization.
  23006. (webkitHitTestResultCompare): Adds comparison of scrollbar condition.
  23007. (webkit_hit_test_result_context_is_scrollbar): Public accessor for
  23008. scrollbar presence in context.
  23009. * UIProcess/API/gtk/WebKitHitTestResult.h: Adds new flag
  23010. WEBKIT_HIT_TEST_RESULT_CONTEXT_SCROLLBAR to
  23011. WebKitHitTestResultContext enum.
  23012. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Adds new API symbol
  23013. to the corresponding documentation sections.
  23014. * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
  23015. (testWebViewMouseTarget): Updates mouse-target
  23016. test to include assertions for hitting scrollbar condition, and
  23017. an new HTML to privide a positive case.
  23018. 2012-12-10 Alexis Menard <alexis@webkit.org>
  23019. [CSS3 Backgrounds and Borders] Remove CSS3_BACKGROUND feature flag.
  23020. https://bugs.webkit.org/show_bug.cgi?id=104539
  23021. Reviewed by Antonio Gomes.
  23022. As discussed on webkit-dev it is not needed to keep this feature flag
  23023. as support for <position> type is a small feature that is already
  23024. implemented by three other UAs. It was useful while landing this
  23025. feature as partial bits were landed one after one.
  23026. * Configurations/FeatureDefines.xcconfig:
  23027. 2012-12-10 Alberto Garcia <agarcia@igalia.com>
  23028. WebKitWebViewBase produces a warning if compiled with gcc
  23029. https://bugs.webkit.org/show_bug.cgi?id=104561
  23030. Reviewed by Carlos Garcia Campos.
  23031. * UIProcess/API/gtk/WebKitWebViewBase.h:
  23032. since this file can be included from C code, use void to
  23033. explicitly specify that webkit_web_view_base_get_type() doesn't
  23034. have parameters. Otherwise we get "warning: function declaration
  23035. isn't a prototype" with -Wstrict-prototypes.
  23036. 2012-12-10 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  23037. [WK2] TiledBackingStore: remove unneeded 'treatAsInitialValue' parameter from PageViewportControllerClient::setContentsScale
  23038. https://bugs.webkit.org/show_bug.cgi?id=104544
  23039. Reviewed by Kenneth Rohde Christiansen.
  23040. Removed 'treatAsInitialValue' parameter from PageViewportControllerClient::setContentsScale()
  23041. as it was not used by anyone.
  23042. * UIProcess/PageViewportController.cpp:
  23043. (WebKit::PageViewportController::didRenderFrame):
  23044. * UIProcess/PageViewportControllerClient.h:
  23045. (PageViewportControllerClient):
  23046. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  23047. (WebKit::PageViewportControllerClientEfl::setContentsScale):
  23048. * UIProcess/efl/PageViewportControllerClientEfl.h:
  23049. (PageViewportControllerClientEfl):
  23050. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  23051. (WebKit::PageViewportControllerClientQt::setContentsScale):
  23052. * UIProcess/qt/PageViewportControllerClientQt.h:
  23053. (PageViewportControllerClientQt):
  23054. 2012-12-10 Zoltan Nyul <zoltan.nyul@intel.com>
  23055. Implement testRunner.setViewModeMediaFeature() in WebKitTestRunner
  23056. https://bugs.webkit.org/show_bug.cgi?id=103886
  23057. Reviewed by Kenneth Rohde Christiansen.
  23058. Add support for TestRunner::setViewModeMediaFeature().
  23059. This functionality is needed by the following LayoutTests:
  23060. fast/media/media-query-list-02.html
  23061. fast/media/media-query-list-03.html
  23062. fast/media/media-query-list-04.html
  23063. fast/media/media-query-list-05.html
  23064. fast/media/media-query-list-06.html
  23065. fast/media/media-query-list-07.html
  23066. fast/media/view-mode-media-feature.html
  23067. * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  23068. (WKBundlePageSetViewMode):
  23069. * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
  23070. * WebProcess/WebPage/WebPage.cpp:
  23071. (WebKit::WebPage::setViewMode):
  23072. (WebKit):
  23073. * WebProcess/WebPage/WebPage.h:
  23074. (WebPage):
  23075. 2012-12-10 Simon Hausmann <simon.hausmann@digia.com>
  23076. [Qt] Fix QtWebProcess discovery on Windows
  23077. https://bugs.webkit.org/show_bug.cgi?id=104552
  23078. Reviewed by Jocelyn Turcotte.
  23079. Make sure to look for QtWebProcess.exe on Windows instead of QtWebProcess.
  23080. * Shared/qt/ProcessExecutablePathQt.cpp:
  23081. (WebKit::executablePath):
  23082. 2012-12-10 Martin Robinson <mrobinson@igalia.com>
  23083. [GTK] Bring Harfbuzz-ng support to Gtk
  23084. https://bugs.webkit.org/show_bug.cgi?id=92098
  23085. Reviewed by Gustavo Noronha Silva.
  23086. Add a HarfBuzz dependency.
  23087. * GNUmakefile.am: Add FreeType/HarfBuzz CFLAGS/LIBS to the libraries.
  23088. 2012-12-10 Simon Hausmann <simon.hausmann@digia.com>
  23089. [Qt] Use QLibraryInfo::LibraryExecutablesPath unconditionally
  23090. https://bugs.webkit.org/show_bug.cgi?id=104541
  23091. Reviewed by Jocelyn Turcotte.
  23092. We now depend on a Qt 5 version that is guaranteed to have this API, so we
  23093. can remove the configure checks for it.
  23094. * PluginProcess.pro:
  23095. * Shared/qt/ProcessExecutablePathQt.cpp:
  23096. (WebKit::executablePath):
  23097. * WebProcess.pro:
  23098. 2012-12-10 Simon Hausmann <simon.hausmann@digia.com>
  23099. [Qt] Fix build without QtQuick 2
  23100. Unreviewed trivial build fix.
  23101. This function is defined in QtWebContext, which is only used when QtQuick2 is available.
  23102. * UIProcess/qt/WebContextQt.cpp:
  23103. (WebKit::WebContext::platformInvalidateContext):
  23104. 2012-12-10 Huang Dongsung <luxtella@company100.net>
  23105. Coordinated Graphics: Remove the dependency of ShareableSurface from Coordinated Graphics.
  23106. https://bugs.webkit.org/show_bug.cgi?id=100819
  23107. Reviewed by Kenneth Rohde Christiansen.
  23108. It is a follow-up patch of r137117.
  23109. There are two changes
  23110. 1. Add a const qualifier to supportsAlpha().
  23111. 2. Use << instead of encode() when using ArgumentEncoder.
  23112. * Shared/CoordinatedGraphics/CoordinatedSurface.h:
  23113. (WebKit::CoordinatedSurface::supportsAlpha):
  23114. * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
  23115. (WebKit::WebCoordinatedSurface::Handle::encode):
  23116. (WebKit::WebCoordinatedSurface::copyToTexture):
  23117. 2012-12-10 Huang Dongsung <luxtella@company100.net>
  23118. Coordinated Graphics: Remove the dependency of ShareableSurface from Coordinated Graphics.
  23119. https://bugs.webkit.org/show_bug.cgi?id=100819
  23120. Reviewed by Kenneth Rohde Christiansen.
  23121. WebCoordinatedSurface::copyToTexture should return early if the backend
  23122. is GraphicsSurface.
  23123. * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
  23124. (WebKit::WebCoordinatedSurface::copyToTexture):
  23125. 2012-12-10 Huang Dongsung <luxtella@company100.net>
  23126. Coordinated Graphics: Add CoordinatedSurface to remove the dependency of ShareableSurface from Coordinated Graphics.
  23127. https://bugs.webkit.org/show_bug.cgi?id=100819
  23128. Reviewed by Noam Rosenthal.
  23129. Internal Review by Gwang Yoon Hwang and Jae Hyun Park.
  23130. It is a preparation patch for Threaded Coordinated Graphics on WK1.
  23131. Create a CoordinatedSurface class that can be the base class both for
  23132. the current IPC-based ShareableSurface, renamed here to
  23133. WebCoordinatedSurface, and to a future thread-based surface
  23134. implementation.
  23135. * CMakeLists.txt:
  23136. * Shared/CoordinatedGraphics/CoordinatedSurface.h: Added.
  23137. (WebCore):
  23138. (WebKit):
  23139. (CoordinatedSurface):
  23140. (WebKit::CoordinatedSurface::~CoordinatedSurface):
  23141. (WebKit::CoordinatedSurface::supportsAlpha):
  23142. * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: Renamed from Source/WebKit2/Shared/ShareableSurface.cpp.
  23143. Extends CoordinatedSurface.
  23144. (WebKit):
  23145. (WebKit::WebCoordinatedSurface::Handle::Handle):
  23146. (WebKit::WebCoordinatedSurface::Handle::encode):
  23147. (WebKit::WebCoordinatedSurface::Handle::decode):
  23148. (WebKit::CoordinatedSurface::create):
  23149. (WebKit::WebCoordinatedSurface::create):
  23150. (WebKit::WebCoordinatedSurface::createWithSurface):
  23151. (WebKit::WebCoordinatedSurface::createGraphicsContext):
  23152. (WebKit::WebCoordinatedSurface::WebCoordinatedSurface):
  23153. (WebKit::WebCoordinatedSurface::~WebCoordinatedSurface):
  23154. (WebKit::WebCoordinatedSurface::createHandle):
  23155. (WebKit::WebCoordinatedSurface::copyToTexture):
  23156. * Shared/CoordinatedGraphics/WebCoordinatedSurface.h: Renamed from Source/WebKit2/Shared/ShareableSurface.h.
  23157. (WebCore):
  23158. (WebKit):
  23159. (WebCoordinatedSurface):
  23160. (Handle):
  23161. (WebKit::WebCoordinatedSurface::Handle::graphicsSurfaceToken):
  23162. (WebKit::WebCoordinatedSurface::isBackedByGraphicsSurface):
  23163. * Target.pri:
  23164. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  23165. (WebKit::CoordinatedBackingStoreTile::swapBuffers):
  23166. (WebKit::CoordinatedBackingStoreTile::setBackBuffer):
  23167. (WebKit::CoordinatedBackingStore::updateTile):
  23168. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
  23169. (WebKit):
  23170. (CoordinatedBackingStoreTile):
  23171. (CoordinatedBackingStore):
  23172. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  23173. (WebKit::LayerTreeCoordinatorProxy::createUpdateAtlas):
  23174. (WebKit::LayerTreeCoordinatorProxy::updateImageBacking):
  23175. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  23176. (LayerTreeCoordinatorProxy):
  23177. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  23178. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  23179. (WebKit::LayerTreeRenderer::updateImageBacking):
  23180. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  23181. (TileUpdate):
  23182. (WebKit::LayerTreeRenderer::TileUpdate::TileUpdate):
  23183. (LayerTreeRenderer):
  23184. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  23185. (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
  23186. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  23187. (CoordinatedGraphicsLayerClient):
  23188. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp:
  23189. (WebKit::CoordinatedImageBacking::update):
  23190. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
  23191. (Coordinator):
  23192. (CoordinatedImageBacking):
  23193. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  23194. (WebKit::LayerTreeCoordinator::updateImageBacking):
  23195. (WebKit::LayerTreeCoordinator::createUpdateAtlas):
  23196. (WebKit::LayerTreeCoordinator::beginContentUpdate):
  23197. (WebKit::LayerTreeCoordinator::releaseInactiveAtlasesTimerFired):
  23198. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  23199. (LayerTreeCoordinator):
  23200. * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp:
  23201. (WebKit::UpdateAtlas::UpdateAtlas):
  23202. (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
  23203. * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h:
  23204. (UpdateAtlasClient):
  23205. (UpdateAtlas):
  23206. (WebKit::UpdateAtlas::supportsAlpha):
  23207. 2012-12-09 Huang Dongsung <luxtella@company100.net>
  23208. Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
  23209. https://bugs.webkit.org/show_bug.cgi?id=103843
  23210. Reviewed by Noam Rosenthal.
  23211. Send SetRootCompositingLayer message to the UI process before
  23212. flushing compositing states of layer tree.
  23213. This is in preparation for refactoring TextureMapper to work in an actor
  23214. model (http://webkit.org/b/103854).
  23215. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  23216. (WebKit::LayerTreeRenderer::setLayerState):
  23217. (WebKit::LayerTreeRenderer::setRootLayerID):
  23218. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  23219. (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
  23220. (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
  23221. (WebKit::LayerTreeCoordinator::initializeRootCompositingLayerIfNeeded):
  23222. (WebKit):
  23223. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  23224. (LayerTreeCoordinator):
  23225. 2012-12-09 Jon Lee <jonlee@apple.com>
  23226. [WK2] Move button image to injected bundle
  23227. https://bugs.webkit.org/show_bug.cgi?id=104107
  23228. <rdar://problem/12813842>
  23229. Reviewed by Simon Fraser.
  23230. Rely on the injected bundle to create the image used for the button in snapshotted plug-ins.
  23231. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  23232. (WebKit::WebChromeClient::plugInStartLabelImage): Forward the call to the injected bundle UI client.
  23233. * WebProcess/WebCoreSupport/WebChromeClient.h: Implement plugInStartLabelImage().
  23234. * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
  23235. (WebKit::InjectedBundlePageUIClient::plugInStartLabelImage): Convert the WebCore enums to WK API enums.
  23236. * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
  23237. * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Expose a new callback to generate the button image.
  23238. * Shared/API/c/cg/WKImageCG.cpp:
  23239. (WKImageCreateFromCGImage): Refactor to use GraphicsContext methods so that the image is flipped appropriately.
  23240. 2012-12-09 Kangil Han <kangil.han@samsung.com>
  23241. Fix unused parameter compile warnings
  23242. https://bugs.webkit.org/show_bug.cgi?id=104463
  23243. Reviewed by Kentaro Hara.
  23244. Remove compile warning messages by omitting parameter name.
  23245. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  23246. (WebKit::LayerTreeRenderer::createCanvas):
  23247. 2012-12-08 Seokju Kwon <seokju.kwon@gmail.com>
  23248. [EFL][WK2] Add Remote Web Inspector
  23249. https://bugs.webkit.org/show_bug.cgi?id=98705
  23250. Reviewed by Gyuyoung Kim.
  23251. Add Remote Web Inspector to EFL port.
  23252. The WebInspectorSever will be started during WebKit context initialization.
  23253. The IP address and port number for the server can be set in WEBKIT_INSPECTOR_SERVER.
  23254. * CMakeLists.txt:
  23255. * PlatformEfl.cmake:
  23256. * UIProcess/InspectorServer/WebInspectorServer.h:
  23257. (WebInspectorServer):
  23258. * UIProcess/InspectorServer/WebSocketServer.h:
  23259. (WebSocketServer):
  23260. * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp: Added.
  23261. (WebKit):
  23262. (WebKit::inspectorResourcePath):
  23263. (WebKit::WebInspectorServer::platformResourceForPath):
  23264. (WebKit::WebInspectorServer::buildPageList):
  23265. * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
  23266. (WebKit::connectionCallback):
  23267. * UIProcess/efl/WebContextEfl.cpp:
  23268. (WebKit::initializeInspectorServer):
  23269. (WebKit):
  23270. (WebKit::WebContext::platformInitializeWebProcess):
  23271. * config.h:
  23272. 2012-12-08 Gustavo Noronha Silva <gns@gnome.org>
  23273. Unreviewed. Make building the WebKit2 GIR file conditional on building the WebKit2 library.
  23274. * GNUmakefile.am:
  23275. 2012-12-08 Seokju Kwon <seokju.kwon@gmail.com>
  23276. Remove unused headers
  23277. https://bugs.webkit.org/show_bug.cgi?id=104428
  23278. Reviewed by Kentaro Hara.
  23279. Header inclusion cleanup.
  23280. Remove <WebCore/NotImplement.h>.
  23281. * Platform/qt/WorkQueueQt.cpp:
  23282. * Platform/win/WorkQueueWin.cpp:
  23283. * Shared/qt/ShareableBitmapQt.cpp:
  23284. * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
  23285. * UIProcess/win/TextCheckerWin.cpp:
  23286. * UIProcess/win/WebContextMenuProxyWin.cpp:
  23287. * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
  23288. 2012-12-07 Jinwoo Song <jinwoo7.song@samsung.com>
  23289. [EFL][WK2] Remove unused source file from PlatformEfl.cmake
  23290. https://bugs.webkit.org/show_bug.cgi?id=104430
  23291. Reviewed by Kentaro Hara.
  23292. Shared/API/c/gtk/WKGraphicsContextGtk.cpp is not used for building WebKit2/EFL.
  23293. * PlatformEfl.cmake:
  23294. 2012-12-07 Jer Noble <jer.noble@apple.com>
  23295. Allow the WebProcess access to the CoreMedia preferences file.
  23296. https://bugs.webkit.org/show_bug.cgi?id=104320
  23297. <rdar://problem/10904519>
  23298. Reviewed by Alexey Proskuryakov.
  23299. Allow read access to ~/Library/Preferences/com.apple.coremedia.plist and com.apple.avfoundation.plist
  23300. by the WebProcess. The QuickTime.plugin uses CoreMedia for playback, so allow PluginProcess
  23301. to access those preferences as well.
  23302. * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in:
  23303. * WebProcess/com.apple.WebProcess.sb.in:
  23304. 2012-12-07 Tim Horton <timothy_horton@apple.com>
  23305. [wk2] WebProcessServiceForWebKitDevelopment should forward stdout and stderr to the UIProcess
  23306. https://bugs.webkit.org/show_bug.cgi?id=104418
  23307. Reviewed by Simon Fraser.
  23308. * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  23309. (WebKit::connectToWebProcessServiceForWebKitDevelopment): Send stdout and stderr file descriptors to the WebProcess.
  23310. * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
  23311. (WebProcessServiceForWebKitDevelopmentEventHandler): Replace the WebProcess' stdout and stderr with those from the UIProcess.
  23312. 2012-12-07 Sheriff Bot <webkit.review.bot@gmail.com>
  23313. Unreviewed, rolling out r136993.
  23314. http://trac.webkit.org/changeset/136993
  23315. https://bugs.webkit.org/show_bug.cgi?id=104415
  23316. This patch breaks the mac build (Requested by cabanier on
  23317. #webkit).
  23318. * win/WebKit2.def.in:
  23319. 2012-12-07 Alexey Proskuryakov <ap@apple.com>
  23320. There is no need to change cached resource storage policy through ResourceHandleClient
  23321. https://bugs.webkit.org/show_bug.cgi?id=104413
  23322. Reviewed by Brady Eidson.
  23323. * NetworkProcess/NetworkResourceLoader.cpp:
  23324. * NetworkProcess/NetworkResourceLoader.h:
  23325. Deleted overrides of the removed willCacheResponse.
  23326. 2012-12-07 Alexey Proskuryakov <ap@apple.com>
  23327. Network process should use a correct storage session in private browsing mode
  23328. <rdar://problem/12838490>
  23329. https://bugs.webkit.org/show_bug.cgi?id=104401
  23330. Reviewed by Brady Eidson.
  23331. Notify NetworkProcess when it needs to create or destroy a private browsing session,
  23332. and add a NetworkResourceLoadParameters member telling if the particular resource
  23333. should be requested using it.
  23334. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  23335. (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
  23336. (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
  23337. (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
  23338. (WebKit::NetworkConnectionToWebProcess::getRawCookies):
  23339. (WebKit::NetworkConnectionToWebProcess::deleteCookie):
  23340. (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
  23341. (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
  23342. (WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
  23343. Added another dummy argument to dummy networking context.
  23344. * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess):
  23345. Ensure private browsing session if it's needed due to a persistent preference, not
  23346. an API call at runtime (which is handled below as ensure/destroy).
  23347. * NetworkProcess/NetworkResourceLoader.cpp:
  23348. (WebKit::NetworkResourceLoader::start): Pass private browsing state to RemoteNetworkingContext
  23349. used for loading.
  23350. (WebKit::NetworkResourceLoader::willCacheResponse): Added an implemntation that
  23351. matches WebCore, but may be not needed.
  23352. * NetworkProcess/mac/RemoteNetworkingContext.h: (WebKit::RemoteNetworkingContext::create):
  23353. Store privateBrowsingEnabled flag.
  23354. * NetworkProcess/mac/RemoteNetworkingContext.mm: (WebKit::RemoteNetworkingContext::storageSession):
  23355. Return a private session when it's in use.
  23356. * Shared/Network/NetworkProcessCreationParameters.cpp:
  23357. (WebKit::NetworkProcessCreationParameters::encode):
  23358. (WebKit::NetworkProcessCreationParameters::decode):
  23359. * Shared/Network/NetworkProcessCreationParameters.h:
  23360. Pass privateBrowsingEnabled flag to the new process.
  23361. * Shared/Network/NetworkResourceLoadParameters.cpp:
  23362. (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
  23363. (WebKit::NetworkResourceLoadParameters::encode):
  23364. (WebKit::NetworkResourceLoadParameters::decode):
  23365. * Shared/Network/NetworkResourceLoadParameters.h:
  23366. (WebKit::NetworkResourceLoadParameters::inPrivateBrowsingMode):
  23367. Pass inPrivateBrowsingMode flag for the request.
  23368. * UIProcess/Network/NetworkProcessManager.h: (WebKit::NetworkProcessManager::process):
  23369. Exposed, so that we can send messages without going through NetworkProcessManager.
  23370. * UIProcess/WebContext.cpp:
  23371. (WebKit::WebContext::usesNetworkProcess):
  23372. (WebKit::anyContextUsesNetworkProcess):
  23373. (WebKit::WebContext::willStartUsingPrivateBrowsing):
  23374. (WebKit::WebContext::willStopUsingPrivateBrowsing):
  23375. Notify NetworkProcess when entering or exiting private browsing.
  23376. * UIProcess/WebContext.h: Exposed usesNetworkProcess() for the new static function
  23377. anyContextUsesNetworkProcess to use.
  23378. * WebProcess/Network/WebResourceLoadScheduler.cpp: (WebKit::WebResourceLoadScheduler::scheduleLoad):
  23379. Put current private browsing state over in NetworkResourceLoadParameters.
  23380. 2012-12-07 Helder Correia <helder.correia@nokia.com>
  23381. [CoordGfx] Variable name starts with upper case character
  23382. https://bugs.webkit.org/show_bug.cgi?id=104327
  23383. Reviewed by Noam Rosenthal.
  23384. Just fixing a typo.
  23385. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  23386. (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
  23387. 2012-12-07 Kenneth Rohde Christiansen <kenneth@webkit.org>
  23388. [WK2][EFL][Qt] Pixel alignment is wrong in some cases involving a non-integral content scale
  23389. https://webkit.org/b/103519
  23390. Reviewed by Noam Rosenthal.
  23391. This patch removes the blurriness by pixel aligning the layers. It
  23392. does not fully remove the shaking, only minimizes it.
  23393. * UIProcess/API/efl/EwkViewImpl.cpp:
  23394. (EwkViewImpl::transformFromScene):
  23395. (EwkViewImpl::displayTimerFired):
  23396. * UIProcess/API/efl/EwkViewImpl.h:
  23397. (EwkViewImpl::pagePosition):
  23398. As the pixel alignment of the main layer is moved to the
  23399. PageViewportController, rename discretePagePosition to just
  23400. pagePosition. It now returns a FloatPoint but the positions
  23401. should still be discrete.
  23402. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  23403. (WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect):
  23404. (WebKit::LayerTreeCoordinatorProxy::didChangeScrollPosition):
  23405. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  23406. (LayerTreeCoordinatorProxy):
  23407. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  23408. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  23409. (WebKit::LayerTreeRenderer::didChangeScrollPosition):
  23410. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  23411. (LayerTreeRenderer):
  23412. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  23413. (WebKit::LayerTreeCoordinator::visibleContentsRect):
  23414. (WebKit::LayerTreeCoordinator::setVisibleContentsRect):
  23415. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  23416. (LayerTreeCoordinator):
  23417. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in:
  23418. * WebProcess/WebPage/LayerTreeHost.h:
  23419. (WebCore):
  23420. (WebKit::LayerTreeHost::setVisibleContentsRect):
  23421. Change the internal scroll position/visible contents rect
  23422. to be represented as float positions. The rounding to integer
  23423. values not happens just before setFixesVisibleContentsRect.
  23424. This makes it possible to know our exact positions and
  23425. calculate proper scroll deltas.
  23426. (WebKit::LayerTreeRenderer::setLayerState):
  23427. Group anchor point, position and size together.
  23428. * UIProcess/PageViewportController.h:
  23429. (PageViewportController):
  23430. * UIProcess/PageViewportController.cpp:
  23431. (WebKit::PageViewportController::PageViewportController):
  23432. (WebKit::PageViewportController::boundContentsPosition):
  23433. (WebKit::PageViewportController::boundContentsPositionAtScale):
  23434. (WebKit::PageViewportController::didRenderFrame):
  23435. (WebKit::PageViewportController::pageDidRequestScroll):
  23436. (WebKit::PageViewportController::didChangeContentsVisibility):
  23437. (WebKit::PageViewportController::syncVisibleContents):
  23438. (WebKit::PageViewportController::visibleContentsSize):
  23439. (WebKit::PageViewportController::applyPositionAfterRenderingContents):
  23440. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  23441. (WebKit::PageViewportControllerClientQt::focusEditableArea):
  23442. (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
  23443. (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
  23444. Some renaming as what was called viewportPos was actually the
  23445. contents position. Rename clampViewportToContents to
  23446. boundContentsPosition and remove scale argument which is has
  23447. direct access to.
  23448. Make the boundContentsPosition allow one extra pixel in each
  23449. orientation to allow for pixel alignment of fixed position layers
  23450. (WebKit::isIntegral):
  23451. (WebKit):
  23452. (WebKit::PageViewportController::pixelAlignedFloatPoint):
  23453. Introduce way to pixel align the main contents layer. Only in
  23454. use for EFL so far.
  23455. * UIProcess/efl/PageClientLegacyImpl.cpp:
  23456. (WebKit::PageClientLegacyImpl::updateViewportSize):
  23457. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  23458. (WebKit::PageViewportControllerClientEfl::setViewportPosition):
  23459. * UIProcess/efl/PageViewportControllerClientEfl.h:
  23460. (WebKit::PageViewportControllerClientEfl::contentPosition):
  23461. (PageViewportControllerClientEfl):
  23462. Store the contents position as a FloatPoint.
  23463. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  23464. (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
  23465. (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
  23466. (WebCore::CoordinatedGraphicsLayer::syncLayerState):
  23467. (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
  23468. (WebCore::isIntegral):
  23469. (WebCore):
  23470. (WebCore::CoordinatedGraphicsLayer::computePositionRelativeToBase):
  23471. (WebCore::CoordinatedGraphicsLayer::computePixelAlignment):
  23472. (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
  23473. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  23474. (CoordinatedGraphicsLayerClient):
  23475. (CoordinatedGraphicsLayer):
  23476. Pixel align layers when the effective scale is not an integer
  23477. value. This code is based on code from GraphicsLayerCA.
  23478. 2012-12-07 Alexey Proskuryakov <ap@apple.com>
  23479. REGRESSION (r136770): Assertion failure in sendMessage() whenever WebProcess crashes
  23480. https://bugs.webkit.org/show_bug.cgi?id=104392
  23481. Reviewed by Anders Carlsson.
  23482. * Shared/ChildProcessProxy.cpp: (WebKit::ChildProcessProxy::sendMessage): Changed
  23483. back to using m_conection where it can be null.
  23484. 2012-12-07 Jaehun Lim <ljaehun.lim@samsung.com>
  23485. [EFL][WK2] Add ewk_settings APIs for text autosizing
  23486. https://bugs.webkit.org/show_bug.cgi?id=103342
  23487. Reviewed by Kenneth Rohde Christiansen.
  23488. Add ewk_settings_text_autosizing_enabled_get / set() functions.
  23489. Text autosizing is disabled by default.
  23490. * UIProcess/API/efl/ewk_settings.cpp:
  23491. (ewk_settings_text_autosizing_enabled_set):
  23492. (ewk_settings_text_autosizing_enabled_get):
  23493. * UIProcess/API/efl/ewk_settings.h:
  23494. * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
  23495. (TEST_F):
  23496. 2012-12-06 Rick Byers <rbyers@chromium.org>
  23497. CSS cursor property should support webkit-image-set
  23498. https://bugs.webkit.org/show_bug.cgi?id=99493
  23499. Reviewed by Beth Dakin.
  23500. Add ENABLE_MOUSE_CURSOR_SCALE - disabled by default.
  23501. * Configurations/FeatureDefines.xcconfig:
  23502. 2012-12-06 Jae Hyun Park <jae.park@company100.net>
  23503. Coordinated Graphics: Rename WebLayerTreeInfo to CoordinatedLayerInfo
  23504. https://bugs.webkit.org/show_bug.cgi?id=103983
  23505. Reviewed by Noam Rosenthal.
  23506. This patch refactors WebLayerTreeInfo in 2 areas.
  23507. 1. WebLayerTreeInfo is only used by Coordinated Graphics. So, the file
  23508. should be located in WebKit2/Shared/CoordinatedGraphics instead of
  23509. WebKit2/Shared.
  23510. 2. The name of WebLayerTreeInfo is incorrect. Currently,
  23511. WebLayerTreeInfo only has WebLayerInfo struct. Also, it is hard to know
  23512. what WebLayer is since we don't use that name anymore. More appropriate
  23513. name for WebLayerInfo would be CoordinatedLayerInfo.
  23514. No new test, because no behavioral change.
  23515. * CMakeLists.txt:
  23516. * Scripts/webkit2/messages.py:
  23517. (headers_for_type):
  23518. * Shared/CoordinatedGraphics/CoordinatedLayerInfo.cpp: Renamed from Source/WebKit2/Shared/WebLayerTreeInfo.cpp.
  23519. (WebKit):
  23520. (WebKit::CoordinatedLayerInfo::encode):
  23521. (WebKit::CoordinatedLayerInfo::decode):
  23522. * Shared/CoordinatedGraphics/CoordinatedLayerInfo.h: Renamed from Source/WebKit2/Shared/WebLayerTreeInfo.h.
  23523. (WebKit):
  23524. (WebKit::CoordinatedLayerInfo::CoordinatedLayerInfo):
  23525. (CoordinatedLayerInfo):
  23526. * Shared/LayerTreeContext.h:
  23527. (LayerTreeContext):
  23528. * Shared/efl/LayerTreeContextEfl.cpp:
  23529. (WebKit::LayerTreeContext::LayerTreeContext):
  23530. (WebKit::LayerTreeContext::encode):
  23531. (WebKit::LayerTreeContext::decode):
  23532. (WebKit::LayerTreeContext::isEmpty):
  23533. (WebKit::operator==):
  23534. * Shared/qt/LayerTreeContextQt.cpp:
  23535. (WebKit::LayerTreeContext::LayerTreeContext):
  23536. (WebKit::LayerTreeContext::encode):
  23537. (WebKit::LayerTreeContext::decode):
  23538. (WebKit::LayerTreeContext::isEmpty):
  23539. (WebKit::operator==):
  23540. * Target.pri:
  23541. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  23542. (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
  23543. (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
  23544. (WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
  23545. (WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
  23546. (WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
  23547. (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerState):
  23548. (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerChildren):
  23549. (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerFilters):
  23550. (WebKit::LayerTreeCoordinatorProxy::setLayerAnimations):
  23551. (WebKit::LayerTreeCoordinatorProxy::createCanvas):
  23552. (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
  23553. (WebKit::LayerTreeCoordinatorProxy::destroyCanvas):
  23554. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  23555. (WebKit):
  23556. (LayerTreeCoordinatorProxy):
  23557. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  23558. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  23559. (WebKit::LayerTreeRenderer::LayerTreeRenderer):
  23560. (WebKit::LayerTreeRenderer::createLayer):
  23561. (WebKit::LayerTreeRenderer::createCanvas):
  23562. (WebKit::LayerTreeRenderer::syncCanvas):
  23563. (WebKit::LayerTreeRenderer::destroyCanvas):
  23564. (WebKit::LayerTreeRenderer::setLayerChildren):
  23565. (WebKit::LayerTreeRenderer::setLayerFilters):
  23566. (WebKit::LayerTreeRenderer::setLayerState):
  23567. (WebKit::LayerTreeRenderer::deleteLayer):
  23568. (WebKit::LayerTreeRenderer::ensureLayer):
  23569. (WebKit::LayerTreeRenderer::setRootLayerID):
  23570. (WebKit::LayerTreeRenderer::createTile):
  23571. (WebKit::LayerTreeRenderer::removeTile):
  23572. (WebKit::LayerTreeRenderer::updateTile):
  23573. (WebKit::LayerTreeRenderer::ensureRootLayer):
  23574. (WebKit::LayerTreeRenderer::purgeGLResources):
  23575. (WebKit::LayerTreeRenderer::setLayerAnimations):
  23576. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  23577. (WebKit):
  23578. (LayerTreeRenderer):
  23579. (WebKit::LayerTreeRenderer::layerByID):
  23580. * UIProcess/DrawingAreaProxy.h:
  23581. (WebKit):
  23582. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  23583. (WebCore::layerByIDMap):
  23584. (WebCore::toCoordinatedLayerID):
  23585. (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
  23586. (WebCore::CoordinatedGraphicsLayer::id):
  23587. (WebCore::CoordinatedGraphicsLayer::syncChildren):
  23588. (WebCore::CoordinatedGraphicsLayer::syncLayerState):
  23589. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  23590. (CoordinatedGraphicsLayerClient):
  23591. (CoordinatedGraphicsLayer):
  23592. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
  23593. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  23594. (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
  23595. (WebKit::LayerTreeCoordinator::syncLayerState):
  23596. (WebKit::LayerTreeCoordinator::syncLayerChildren):
  23597. (WebKit::LayerTreeCoordinator::createCanvas):
  23598. (WebKit::LayerTreeCoordinator::syncCanvas):
  23599. (WebKit::LayerTreeCoordinator::destroyCanvas):
  23600. (WebKit::LayerTreeCoordinator::syncLayerFilters):
  23601. (WebKit::LayerTreeCoordinator::createTile):
  23602. (WebKit::LayerTreeCoordinator::updateTile):
  23603. (WebKit::LayerTreeCoordinator::removeTile):
  23604. (WebKit::LayerTreeCoordinator::setLayerAnimations):
  23605. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  23606. (LayerTreeCoordinator):
  23607. 2012-12-06 Sheriff Bot <webkit.review.bot@gmail.com>
  23608. Unreviewed, rolling out r136900.
  23609. http://trac.webkit.org/changeset/136900
  23610. https://bugs.webkit.org/show_bug.cgi?id=104318
  23611. Unreviewed build for Windows port. (Requested by rfong on
  23612. #webkit).
  23613. * win/WebKit2.def.in:
  23614. 2012-12-06 Jon Lee <jonlee@apple.com>
  23615. Retry snapshots if they are too empty
  23616. https://bugs.webkit.org/show_bug.cgi?id=104174
  23617. <rdar://problem/12820146>
  23618. Reviewed by Simon Fraser.
  23619. * WebProcess/Plugins/PluginView.h: Add a new variable that keeps track of the number of times we've
  23620. retried to come up with a snapshot.
  23621. * WebProcess/Plugins/PluginView.cpp:
  23622. (WebKit::PluginView::PluginView): Initialize the count to 0.
  23623. (WebKit::isAlmostSolidColor): Figure out if the image is almost a solid color by overlaying
  23624. a grid of dots, and calculate the differences among them. If the average color difference is greater than
  23625. a threshold, we consider it to have meaningful content. For now we expect a minimum size and a specific
  23626. bitmap image format, otherwise we return early.
  23627. (WebKit::PluginView::pluginSnapshotTimerFired): If we have a snapshot image to look at, and if it is
  23628. evaluated to be too empty, then try again.
  23629. 2012-12-06 Tony Chang <tony@chromium.org>
  23630. Unreviewed, Apple Win Debug build fix.
  23631. * win/WebKit2.def.in: Add 2 symbols that are needed by the debug build.
  23632. 2012-12-06 Alexey Proskuryakov <ap@apple.com>
  23633. Track private browsing session in network process
  23634. https://bugs.webkit.org/show_bug.cgi?id=104281
  23635. Reviewed by Jessie Berlin.
  23636. Added ensure/destroy messages that match what's done in WebProcess. Also similarly,
  23637. ensuring a private session may happen on demand if network process has been restarted
  23638. after a crash, or if private browsing is enabled via a persistent preference.
  23639. Eventually, we should find a way to share code between WebFrameNetworkingContext
  23640. and RemoteNetworkingContext.
  23641. * NetworkProcess/NetworkProcess.cpp:
  23642. (WebKit::NetworkProcess::initializeNetworkProcess):
  23643. (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
  23644. (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
  23645. * NetworkProcess/NetworkProcess.h:
  23646. * NetworkProcess/NetworkProcess.messages.in:
  23647. * NetworkProcess/mac/RemoteNetworkingContext.h:
  23648. (RemoteNetworkingContext):
  23649. * NetworkProcess/mac/RemoteNetworkingContext.mm:
  23650. (WebKit::privateBrowsingStorageSessionIdentifierBase):
  23651. (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
  23652. (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
  23653. (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
  23654. * Shared/Network/NetworkProcessCreationParameters.cpp:
  23655. (WebKit::NetworkProcessCreationParameters::encode):
  23656. (WebKit::NetworkProcessCreationParameters::decode):
  23657. * Shared/Network/NetworkProcessCreationParameters.h:
  23658. (NetworkProcessCreationParameters):
  23659. * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
  23660. (WebKit::NetworkProcessProxy::platformInitializeNetworkProcess):
  23661. * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
  23662. (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
  23663. * WebProcess/WebProcess.cpp:
  23664. (WebKit::WebProcess::initializeWebProcess):
  23665. 2012-12-06 Laszlo Gombos <l.gombos@samsung.com>
  23666. [EFL] Remove ENABLE_GLIB_SUPPORT CMake variable
  23667. https://bugs.webkit.org/show_bug.cgi?id=104278
  23668. Reviewed by Brent Fulgham.
  23669. The guards are not required as it is always set for EFL.
  23670. * PlatformEfl.cmake:
  23671. * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
  23672. (WebKit::PluginProcessProxy::scanPlugin):
  23673. * WebProcess/efl/WebProcessMainEfl.cpp:
  23674. (WebKit::WebProcessMainEfl):
  23675. 2012-12-06 Tony Chang <tony@chromium.org>
  23676. REGRESSION(r135082): Restore the ability to insert author level style sheets from script
  23677. https://bugs.webkit.org/show_bug.cgi?id=104042
  23678. Reviewed by Antti Koivisto.
  23679. Update exports for Internals.cpp.
  23680. * win/WebKit2.def.in:
  23681. 2012-12-06 Andras Becsi <andras.becsi@digia.com>
  23682. [Qt][WK2] Fix QWebKitTest's notification of device pixel ratio change
  23683. https://bugs.webkit.org/show_bug.cgi?id=104269
  23684. Unreviewed, trivialy fixing last minute change.
  23685. Move signal emission to the correct place.
  23686. * UIProcess/API/qt/qquickwebview.cpp:
  23687. (QQuickWebViewFlickablePrivate::onComponentComplete):
  23688. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  23689. (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
  23690. 2012-12-06 Andras Becsi <andras.becsi@digia.com>
  23691. [Qt][WK2] Fix QWebKitTest's notification of device pixel ratio change
  23692. https://bugs.webkit.org/show_bug.cgi?id=104269
  23693. Reviewed by Kenneth Rohde Christiansen.
  23694. Since the ViewportInfoItem of MiniBrowser is created before the
  23695. WebView finishes construction, thus before the viewport controller
  23696. has been instantiated, the shown device pixel ratio was incorrect.
  23697. Additionally QWebKitTest's notification signal was also not emitted
  23698. when the value changed.
  23699. * UIProcess/API/qt/qquickwebview.cpp:
  23700. (QQuickWebViewPrivate::QQuickWebViewPrivate):
  23701. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  23702. (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
  23703. 2012-12-06 Sheriff Bot <webkit.review.bot@gmail.com>
  23704. Unreviewed, rolling out r136788.
  23705. http://trac.webkit.org/changeset/136788
  23706. https://bugs.webkit.org/show_bug.cgi?id=104260
  23707. Asserts on EFL WebKit2 Debug bot (Requested by yael on
  23708. #webkit).
  23709. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  23710. (WebKit::LayerTreeRenderer::setLayerState):
  23711. (WebKit::LayerTreeRenderer::setRootLayerID):
  23712. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  23713. (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
  23714. (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
  23715. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  23716. (LayerTreeCoordinator):
  23717. 2012-12-06 Sheriff Bot <webkit.review.bot@gmail.com>
  23718. Unreviewed, rolling out r136795.
  23719. http://trac.webkit.org/changeset/136795
  23720. https://bugs.webkit.org/show_bug.cgi?id=104257
  23721. Asserts on EFL WebKit2 Debug bot (Requested by yael on
  23722. #webkit).
  23723. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  23724. (WebKit::LayerTreeRenderer::setRootLayerID):
  23725. 2012-12-06 Shinya Kawanaka <shinyak@chromium.org>
  23726. Internals.getElementByIdInShadowRoot is nonsense now.
  23727. https://bugs.webkit.org/show_bug.cgi?id=104241
  23728. Reviewed by Kent Tamura.
  23729. * win/WebKit2.def.in:
  23730. 2012-12-06 Christophe Dumez <christophe.dumez@intel.com>
  23731. [EFL][WK2] Context clients should unregister themselves when destroyed
  23732. https://bugs.webkit.org/show_bug.cgi?id=104113
  23733. Reviewed by Kenneth Rohde Christiansen.
  23734. Make sure the context clients (History and Download clients)
  23735. unregister themselves when destroyed to make sure their
  23736. callback functions are never called after the client objects
  23737. have been destroyed (i.e. when the parent Ewk_Context has
  23738. been destroyed).
  23739. This addresses crashing issues after a Ewk_Context object
  23740. gets unref'd and destroyed.
  23741. * UIProcess/efl/ContextHistoryClientEfl.cpp:
  23742. (WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
  23743. (WebKit):
  23744. (WebKit::ContextHistoryClientEfl::~ContextHistoryClientEfl):
  23745. * UIProcess/efl/ContextHistoryClientEfl.h:
  23746. (ContextHistoryClientEfl):
  23747. * UIProcess/efl/DownloadManagerEfl.cpp:
  23748. (WebKit::DownloadManagerEfl::~DownloadManagerEfl):
  23749. (WebKit):
  23750. * UIProcess/efl/DownloadManagerEfl.h:
  23751. (DownloadManagerEfl):
  23752. 2012-12-05 Huang Dongsung <luxtella@company100.net>
  23753. Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
  23754. https://bugs.webkit.org/show_bug.cgi?id=103843
  23755. Reviewed by Noam Rosenthal.
  23756. Clarify LayerTreeRenderer::setRootLayerID() can be called only once during its
  23757. lifecycle. LayerTreeRenderer, LayerTreeCoordinator and LayerTreeCoordinatorProxy
  23758. have the same lifecycle to WebPage and the root layer is reused even if loading
  23759. new page, so it is impossible to call LayerTreeRenderer::setRootLayerID() more
  23760. than twice.
  23761. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  23762. (WebKit::LayerTreeRenderer::setRootLayerID):
  23763. 2012-12-05 Brent Fulgham <bfulgham@webkit.org>
  23764. [Windows, WinCairo] Regenerate .def files on changes
  23765. https://bugs.webkit.org/show_bug.cgi?id=104136
  23766. Reviewed by Tim Horton.
  23767. The new .def file generator is not regenerating the link
  23768. export definitions once it creates the definition file
  23769. the first time. You must clean the build directory for
  23770. new symbols to be added (or removed).
  23771. * win/WebKit2.vcproj: Change the WebKit2.def file reference to
  23772. point to the generated version of the file.
  23773. * win/WebKit2ExportGenerator.vcproj: Add WebKit2.def.in as a source
  23774. file that participates in the build so that Visual Studio knows
  23775. to build the project when the file changes.
  23776. * win/WebKit2ExportGeneratorBuildCmd.cmd: Added. Refactor build
  23777. command into its own shell script.
  23778. * win/WebKit2ExportGeneratorPostBuild.cmd: Call new BuildCmd script.
  23779. * win/WebKit2ExportGeneratorPreBuild.cmd: Delete the old generator
  23780. and definition files to ensure a clean build.
  23781. 2012-12-05 Halton Huo <halton.huo@intel.com>
  23782. [CMake] Unify coding style for CMake files
  23783. https://bugs.webkit.org/show_bug.cgi?id=103605
  23784. Reviewed by Laszlo Gombos.
  23785. Update cmake files(.cmake, CMakeLists.txt) with following style rules:
  23786. 1. Indentation
  23787. 1.1 Use spaces, not tabs.
  23788. 1.2 Four spaces as indent.
  23789. 2. Spacing
  23790. 2.1 Place one space between control statements and their parentheses.
  23791. For eg, if (), else (), elseif (), endif (), foreach (),
  23792. endforeach (), while (), endwhile (), break ().
  23793. 2.2 Do not place spaces between function and macro statements and
  23794. their parentheses. For eg, macro(), endmacro(), function(),
  23795. endfunction().
  23796. 2.3 Do not place spaces between a command or function or macro and its
  23797. parentheses, or between a parenthesis and its content. For eg,
  23798. message("testing") not message( "testing") or message ("testing" )
  23799. 2.4 No space at line ending.
  23800. 3. Lowercase when call commands macros and functions. For eg,
  23801. add_executable() not ADD_EXECUTABLE(), set() not SET().
  23802. * CMakeLists.txt:
  23803. * PlatformEfl.cmake:
  23804. * win/WebKit2ExportGenerator.vcproj:
  23805. * win/WebKit2ExportGeneratorCommon.vsprops:
  23806. 2012-12-05 Huang Dongsung <luxtella@company100.net>
  23807. Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
  23808. https://bugs.webkit.org/show_bug.cgi?id=103843
  23809. Reviewed by Noam Rosenthal.
  23810. Send SetRootCompositingLayer message to the UI process in the
  23811. constructor instead of sending it on the first flush.
  23812. This is in preparation for refactoring TextureMapper to work in an actor
  23813. model (http://webkit.org/b/103854).
  23814. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  23815. (WebKit::LayerTreeRenderer::setLayerState):
  23816. (WebKit::LayerTreeRenderer::setRootLayerID):
  23817. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  23818. (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
  23819. (WebKit::LayerTreeCoordinator::initializeRootCompositingLayer):
  23820. (WebKit):
  23821. (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
  23822. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  23823. (LayerTreeCoordinator):
  23824. 2012-12-05 Jinwoo Song <jinwoo7.song@samsung.com>
  23825. [EFL][WK2] Don't use the C API internally in ewk_cookie_manager
  23826. https://bugs.webkit.org/show_bug.cgi?id=103243
  23827. Reviewed by Gyuyoung Kim.
  23828. Used the C++ classes directly instead of the C API wrappers
  23829. to avoid a lot of toImpl/toAPI casts.
  23830. * UIProcess/API/efl/ewk_context.cpp:
  23831. (EwkContext::cookieManager):
  23832. * UIProcess/API/efl/ewk_cookie_manager.cpp:
  23833. (EwkCookieManager::EwkCookieManager):
  23834. (EwkCookieManager::~EwkCookieManager):
  23835. (EwkCookieManager::setPersistentStorage):
  23836. (EwkCookieManager::setHTTPAcceptPolicy):
  23837. (EwkCookieManager::clearHostnameCookies):
  23838. (EwkCookieManager::clearAllCookies):
  23839. (EwkCookieManager::watchChanges):
  23840. (EwkCookieManager::getHostNamesWithCookies):
  23841. (EwkCookieManager::getHTTPAcceptPolicy):
  23842. * UIProcess/API/efl/ewk_cookie_manager_private.h:
  23843. (EwkCookieManager::create):
  23844. (EwkCookieManager):
  23845. 2012-12-05 No'am Rosenthal <noam@webkit.org>
  23846. Coordinated Graphics: Enable support for setContentsToBackgroundColor
  23847. https://bugs.webkit.org/show_bug.cgi?id=104128
  23848. Reviewed by Kenneth Rohde Christiansen.
  23849. Enable setContentsToBackgroundColor in CoordinatedGraphicsLayer, and pass it through to the UI process.
  23850. * Shared/WebLayerTreeInfo.h:
  23851. (WebLayerInfo):
  23852. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  23853. (WebKit::LayerTreeRenderer::setLayerState):
  23854. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  23855. (WebCore::CoordinatedGraphicsLayer::setContentsToBackgroundColor):
  23856. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  23857. (CoordinatedGraphicsLayer):
  23858. 2012-12-05 Alexey Proskuryakov <ap@apple.com>
  23859. <rdar://problem/12809890> Should allow sandbox lookup of com.apple.tccd
  23860. Reviewed by Beth Dakin and Dan Bernstein.
  23861. * WebProcess/com.apple.WebProcess.sb.in:
  23862. 2012-12-05 Alexey Proskuryakov <ap@apple.com>
  23863. [WK2] Would like to queue messages while NetworkProcess is launching
  23864. https://bugs.webkit.org/show_bug.cgi?id=104143
  23865. Reviewed by Anders Carlsson.
  23866. Factored out process launching and message sending code to a ChildProcessProxy class.
  23867. Process closing and crashing code should be moved once we better understand common
  23868. requirements for the processes.
  23869. * CMakeLists.txt:
  23870. * GNUmakefile.list.am:
  23871. * Target.pri:
  23872. * WebKit2.xcodeproj/project.pbxproj:
  23873. * win/WebKit2.vcproj:
  23874. Added ChildProcessProxy files.
  23875. * Shared/ChildProcessProxy.cpp: Added.
  23876. (WebKit::ChildProcessProxy::ChildProcessProxy):
  23877. (WebKit::ChildProcessProxy::~ChildProcessProxy):
  23878. (WebKit::ChildProcessProxy::fromConnection):
  23879. (WebKit::ChildProcessProxy::connect):
  23880. (WebKit::ChildProcessProxy::terminate):
  23881. (WebKit::ChildProcessProxy::sendMessage):
  23882. (WebKit::ChildProcessProxy::isLaunching):
  23883. (WebKit::ChildProcessProxy::didFinishLaunching):
  23884. (WebKit::ChildProcessProxy::clearConnection):
  23885. * Shared/ChildProcessProxy.h: Added.
  23886. (WebKit::ChildProcessProxy::connection):
  23887. (WebKit::ChildProcessProxy::isValid):
  23888. (WebKit::ChildProcessProxy::canSendMessage):
  23889. (WebKit::ChildProcessProxy::processIdentifier):
  23890. (WebKit::ChildProcessProxy::send):
  23891. (WebKit::ChildProcessProxy::sendSync):
  23892. Moved code from WebProcessProxy. Every ChildProcessProxy is a connection client,
  23893. but every one is a connection queue client, so that latter is passed as an argument.
  23894. * UIProcess/Network/NetworkProcessProxy.h:
  23895. * UIProcess/Network/NetworkProcessProxy.cpp:
  23896. Removed unused syncMessageSendTimedOut(), thank you OVERRIDE.
  23897. * UIProcess/Network/NetworkProcessProxy.cpp:
  23898. (WebKit::NetworkProcessProxy::NetworkProcessProxy):
  23899. (WebKit::NetworkProcessProxy::getLaunchOptions):
  23900. (WebKit::NetworkProcessProxy::~NetworkProcessProxy):
  23901. (WebKit::NetworkProcessProxy::getNetworkProcessConnection):
  23902. (WebKit::NetworkProcessProxy::didFinishLaunching):
  23903. * UIProcess/Network/NetworkProcessProxy.h:
  23904. * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
  23905. (WebKit::NetworkProcessProxy::setApplicationIsOccluded):
  23906. * UIProcess/WebProcessProxy.cpp:
  23907. (WebKit::WebProcessProxy::WebProcessProxy):
  23908. (WebKit::WebProcessProxy::~WebProcessProxy):
  23909. (WebKit::WebProcessProxy::getLaunchOptions):
  23910. (WebKit::WebProcessProxy::disconnect):
  23911. (WebKit::WebProcessProxy::didFinishLaunching):
  23912. Use shared code.
  23913. * UIProcess/WebProcessProxy.h: (WebKit::WebProcessProxy::fromConnection):
  23914. NetworkProcess inherits from conneciton client privately, so we need to do most
  23915. of the work in ClientProcessProxy, and further upcast here.
  23916. * UIProcess/efl/WebProcessProxyEfl.cpp:
  23917. (WebKit::WebProcessProxy::platformGetLaunchOptions):
  23918. * UIProcess/gtk/WebProcessProxyGtk.cpp:
  23919. (WebKit::WebProcessProxy::platformGetLaunchOptions):
  23920. * UIProcess/mac/WebProcessProxyMac.mm:
  23921. (WebKit::WebProcessProxy::platformGetLaunchOptions):
  23922. * UIProcess/qt/WebProcessProxyQt.cpp:
  23923. (WebKit::WebProcessProxy::platformGetLaunchOptions):
  23924. * UIProcess/win/WebProcessProxyWin.cpp:
  23925. (WebKit::WebProcessProxy::platformGetLaunchOptions):
  23926. Updated for renaming, platformConnect -> platformGetLaunchOptions().
  23927. 2012-12-05 Kiran Muppala <cmuppala@apple.com>
  23928. WebKit2 child processes need to initialize timer coalescing policy on Mac.
  23929. https://bugs.webkit.org/show_bug.cgi?id=103613
  23930. Reviewed by Mark Rowe.
  23931. Set timer coalescing policy of WebKit2 child processes to that of visible applications
  23932. until they can manage the policy based on UI process visibility.
  23933. * Shared/mac/ChildProcessMac.mm:
  23934. (WebKit::initializeTimerCoalescingPolicy): Set task_latency and task_throughput QOS tiers as appropriate
  23935. for visible applications.
  23936. (WebKit::ChildProcess::platformInitialize): Add call to initializeTimerCoalescingPolicy.
  23937. 2012-12-05 Anders Carlsson <andersca@apple.com>
  23938. Connection::waitForMessage shouldn't use the message ID
  23939. https://bugs.webkit.org/show_bug.cgi?id=104157
  23940. Reviewed by Andreas Kling.
  23941. Pass the message receiver name and message name to waitForMessage and use them for lookups instead of
  23942. the message ID.
  23943. * Platform/CoreIPC/Connection.cpp:
  23944. (CoreIPC::Connection::createSyncMessageEncoder):
  23945. (CoreIPC::Connection::waitForMessage):
  23946. (CoreIPC::Connection::processIncomingMessage):
  23947. * Platform/CoreIPC/Connection.h:
  23948. (CoreIPC::Connection::waitForAndDispatchImmediately):
  23949. 2012-12-05 Jae Hyun Park <jae.park@company100.net>
  23950. Coordinated Graphics: Move AreaAllocator and UpdateAtlas to CoordinatedGraphics
  23951. https://bugs.webkit.org/show_bug.cgi?id=103864
  23952. Reviewed by Noam Rosenthal.
  23953. AreaAllocator and UpdateAtlas are only used for Coordinated Graphics.
  23954. So, these should be moved to CoordinatedGraphics to clarify the code.
  23955. No new test, because no change of behavior.
  23956. * CMakeLists.txt:
  23957. * Target.pri:
  23958. * WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/AreaAllocator.cpp.
  23959. (WebKit):
  23960. (WebKit::AreaAllocator::AreaAllocator):
  23961. (WebKit::AreaAllocator::~AreaAllocator):
  23962. (WebKit::AreaAllocator::expand):
  23963. (WebKit::AreaAllocator::expandBy):
  23964. (WebKit::AreaAllocator::release):
  23965. (WebKit::AreaAllocator::overhead):
  23966. (WebKit::AreaAllocator::roundAllocation):
  23967. (WebKit::GeneralAreaAllocator::GeneralAreaAllocator):
  23968. (WebKit::GeneralAreaAllocator::~GeneralAreaAllocator):
  23969. (WebKit::GeneralAreaAllocator::freeNode):
  23970. (WebKit::GeneralAreaAllocator::expand):
  23971. (WebKit::fitsWithin):
  23972. (WebKit::GeneralAreaAllocator::allocate):
  23973. (WebKit::GeneralAreaAllocator::allocateFromNode):
  23974. (WebKit::GeneralAreaAllocator::splitNode):
  23975. (WebKit::GeneralAreaAllocator::updateLargestFree):
  23976. (WebKit::GeneralAreaAllocator::release):
  23977. (WebKit::GeneralAreaAllocator::overhead):
  23978. * WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.h: Renamed from Source/WebKit2/WebProcess/WebPage/AreaAllocator.h.
  23979. (WebCore::nextPowerOfTwo):
  23980. (WebCore):
  23981. (WebKit):
  23982. (AreaAllocator):
  23983. (WebKit::AreaAllocator::size):
  23984. (WebKit::AreaAllocator::minimumAllocation):
  23985. (WebKit::AreaAllocator::setMinimumAllocation):
  23986. (WebKit::AreaAllocator::margin):
  23987. (WebKit::AreaAllocator::setMargin):
  23988. (GeneralAreaAllocator):
  23989. (Node):
  23990. * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/UpdateAtlas.cpp.
  23991. (WebKit):
  23992. (WebKit::UpdateAtlas::UpdateAtlas):
  23993. (WebKit::UpdateAtlas::~UpdateAtlas):
  23994. (WebKit::UpdateAtlas::buildLayoutIfNeeded):
  23995. (WebKit::UpdateAtlas::didSwapBuffers):
  23996. (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
  23997. * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h: Renamed from Source/WebKit2/WebProcess/WebPage/UpdateAtlas.h.
  23998. (WebCore):
  23999. (WebKit):
  24000. (UpdateAtlasClient):
  24001. (UpdateAtlas):
  24002. (WebKit::UpdateAtlas::size):
  24003. (WebKit::UpdateAtlas::flags):
  24004. (WebKit::UpdateAtlas::addTimeInactive):
  24005. (WebKit::UpdateAtlas::isInactive):
  24006. (WebKit::UpdateAtlas::isInUse):
  24007. 2012-12-05 Michael Brüning <michael.bruning@digia.com>
  24008. Fix compilation for Qt5.0.0 stable branch.
  24009. https://bugs.webkit.org/show_bug.cgi?id=103870
  24010. Reviewed by Simon Hausmann.
  24011. QWindow::pos() and QQuickItem::pos() have been renamed to position().
  24012. Patch by Lars Knoll <lars.knoll@digia.com>
  24013. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  24014. (WebKit::PageViewportControllerClientQt::setContentRectVisiblePositionAtScale):
  24015. (WebKit::PageViewportControllerClientQt::setViewportPosition):
  24016. 2012-12-05 Christophe Dumez <christophe.dumez@intel.com>
  24017. [EFL][WK2] EWK2UnitTestBase.ewk_favicon_database_async_icon_get is crashing with new Ewk_Context
  24018. https://bugs.webkit.org/show_bug.cgi?id=104110
  24019. Reviewed by Laszlo Gombos.
  24020. Unregister the WKFaviconDatabase client in EwkFaviconDatabase
  24021. destructor to avoid crashing if the callbacks get called
  24022. after the EwkFaviconDatabase object has been destroyed (i.e.
  24023. the parent EwkContext object was destroyed).
  24024. * UIProcess/API/efl/ewk_favicon_database.cpp:
  24025. (EwkFaviconDatabase::~EwkFaviconDatabase):
  24026. 2012-12-05 Andras Becsi <andras.becsi@digia.com>
  24027. [Qt][WK2] REGRESSION(r135399): It made qmltests::DoubleTapToZoom::test_double_zoomInAndBack() API test fail
  24028. https://bugs.webkit.org/show_bug.cgi?id=103889
  24029. Reviewed by Jocelyn Turcotte.
  24030. The client should always be notified in PageViewportController::didChangeViewportAttributes
  24031. about the changed attributes not only if the minimum scale changed. This ensures that these
  24032. changes are propagated to QWebKitTest and the zoom stack of double-tap-to-zoom is reset correctly.
  24033. Also increase precision of scale comparisons since the current value resulted in flakyness in
  24034. scale related API tests.
  24035. * UIProcess/PageViewportController.cpp:
  24036. (WebKit::PageViewportController::didChangeViewportAttributes):
  24037. (WebKit::PageViewportController::updateMinimumScaleToFit):
  24038. 2012-12-05 Christophe Dumez <christophe.dumez@intel.com>
  24039. [CoordinatedGraphics] Use unsigned integers for CoordinatedTile IDs
  24040. https://bugs.webkit.org/show_bug.cgi?id=103816
  24041. Reviewed by Jocelyn Turcotte.
  24042. Use unsigned integer for CoordinatedTile identifier type.
  24043. CoordinatedTile was previously using signed integers for
  24044. its identifier which is unsafe because the generated ID
  24045. will overflow at some point and the C and C++ language
  24046. standards say that overflow of a signed value is undefined
  24047. behaviour.
  24048. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  24049. (WebKit::CoordinatedBackingStore::createTile):
  24050. (WebKit::CoordinatedBackingStore::removeTile):
  24051. (WebKit::CoordinatedBackingStore::removeAllTiles):
  24052. (WebKit::CoordinatedBackingStore::updateTile):
  24053. (WebKit::CoordinatedBackingStore::texture):
  24054. (WebKit::CoordinatedBackingStore::paintToTextureMapper):
  24055. (WebKit::CoordinatedBackingStore::commitTileOperations):
  24056. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
  24057. (CoordinatedBackingStore):
  24058. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  24059. (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
  24060. (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
  24061. (WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
  24062. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  24063. (LayerTreeCoordinatorProxy):
  24064. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  24065. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  24066. (WebKit::LayerTreeRenderer::createTile):
  24067. (WebKit::LayerTreeRenderer::removeTile):
  24068. (WebKit::LayerTreeRenderer::updateTile):
  24069. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  24070. (LayerTreeRenderer):
  24071. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  24072. (WebCore::CoordinatedGraphicsLayer::createTile):
  24073. (WebCore::CoordinatedGraphicsLayer::updateTile):
  24074. (WebCore::CoordinatedGraphicsLayer::removeTile):
  24075. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  24076. (CoordinatedGraphicsLayerClient):
  24077. (CoordinatedGraphicsLayer):
  24078. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
  24079. (WebKit):
  24080. (WebKit::CoordinatedTile::CoordinatedTile):
  24081. (WebKit::CoordinatedTile::~CoordinatedTile):
  24082. (WebKit::CoordinatedTile::updateBackBuffer):
  24083. (WebKit::CoordinatedTile::isReadyToPaint):
  24084. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
  24085. (CoordinatedTile):
  24086. (CoordinatedTileClient):
  24087. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  24088. (WebKit::LayerTreeCoordinator::createTile):
  24089. (WebKit::LayerTreeCoordinator::updateTile):
  24090. (WebKit::LayerTreeCoordinator::removeTile):
  24091. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  24092. (LayerTreeCoordinator):
  24093. 2012-12-05 Yuni Jeong <yhnet.jung@samsung.com>
  24094. [EFL][WK2] Add APIs to get/set private browsing.
  24095. https://bugs.webkit.org/show_bug.cgi?id=102052
  24096. Reviewed by Gyuyoung Kim.
  24097. Private Browsing allows a user to browse the Internet without saving any information about which sites and pages a user has visited.
  24098. * UIProcess/API/efl/ewk_settings.cpp:
  24099. (ewk_settings_private_browsing_enabled_set):
  24100. (ewk_settings_private_browsing_enabled_get):
  24101. * UIProcess/API/efl/ewk_settings.h:
  24102. * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
  24103. (TEST_F):
  24104. 2012-12-05 Joaquim Rocha <jrocha@igalia.com>
  24105. URL schemes registered as local, no access, display isolated and as CORS enabled are not registered again after a web process crash
  24106. https://bugs.webkit.org/show_bug.cgi?id=104013
  24107. Reviewed by Darin Adler.
  24108. * WebProcess/WebProcess.cpp:
  24109. (WebKit::WebProcess::initializeWebProcess): Iterate through the schemes stored in
  24110. urlSchemesRegisteredAsLocal, urlSchemesRegisteredAsNoAccess,
  24111. urlSchemesRegisteredAsDisplayIsolated and urlSchemesRegisteredAsCORSEnabled and
  24112. call the respective (already existing) methods for registering them.
  24113. 2012-12-04 Yuni Jeong <yhnet.jung@samsung.com>
  24114. [EFL][WK2] Add APIs to get/set default font size.
  24115. https://bugs.webkit.org/show_bug.cgi?id=101921
  24116. Reviewed by Gyuyoung Kim.
  24117. Add setting APIs for default font size and a unit test.
  24118. * UIProcess/API/efl/ewk_settings.cpp:
  24119. (ewk_settings_default_font_size_set):
  24120. (ewk_settings_default_font_size_get):
  24121. * UIProcess/API/efl/ewk_settings.h:
  24122. * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
  24123. (TEST_F):
  24124. 2012-12-04 Anders Carlsson <andersca@apple.com>
  24125. Remove #ifs that are always true
  24126. https://bugs.webkit.org/show_bug.cgi?id=104080
  24127. Reviewed by Andreas Kling.
  24128. __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070 is always true, so remove all the #ifs.
  24129. * PluginProcess/mac/PluginProcessMac.mm:
  24130. (WebKit::initializeSandbox):
  24131. (WebKit::PluginProcess::platformInitialize):
  24132. * Shared/DictionaryPopupInfo.cpp:
  24133. (WebKit::DictionaryPopupInfo::encode):
  24134. (WebKit::DictionaryPopupInfo::decode):
  24135. * Shared/DictionaryPopupInfo.h:
  24136. * Shared/mac/WebEventFactory.mm:
  24137. (WebKit::phaseForEvent):
  24138. (WebKit::momentumPhaseForEvent):
  24139. * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
  24140. (WebKit::initializeSandbox):
  24141. (WebKit::SharedWorkerProcess::platformInitialize):
  24142. * UIProcess/API/mac/PDFViewController.mm:
  24143. (WebKit::PDFViewScrollView_scrollWheel):
  24144. (WebKit::PDFViewController::pdfKitBundle):
  24145. * UIProcess/API/mac/PageClientImpl.mm:
  24146. (WebKit::PageClientImpl::didPerformDictionaryLookup):
  24147. (WebKit::PageClientImpl::dismissDictionaryLookupPanel):
  24148. (WebKit::PageClientImpl::recordAutocorrectionResponse):
  24149. (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
  24150. * UIProcess/API/mac/WKView.mm:
  24151. (-[WKView displayIfNeeded]):
  24152. (-[WKView draggingUpdated:]):
  24153. (-[WKView viewDidMoveToWindow]):
  24154. (-[WKView _intrinsicDeviceScaleFactor]):
  24155. (-[WKView _cacheWindowBottomCornerRect]):
  24156. (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
  24157. (+[WKView hideWordDefinitionWindow]):
  24158. * UIProcess/Launcher/mac/EnvironmentVariables.cpp:
  24159. * UIProcess/Launcher/mac/EnvironmentVariables.h:
  24160. (EnvironmentVariables):
  24161. * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  24162. (WebKit::addDYLDEnvironmentAdditions):
  24163. (WebKit::createWebProcessServiceForWebKitDevelopment):
  24164. (WebKit):
  24165. (WebKit::tryPreexistingProcess):
  24166. (WebKit::createProcess):
  24167. (WebKit::ProcessLauncher::launchProcess):
  24168. * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
  24169. (WebKit::PluginInfoStore::shouldUsePlugin):
  24170. (WebKit::PluginInfoStore::reactivateInactivePlugin):
  24171. * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
  24172. (WebKit::PluginProcessProxy::platformInitializePluginProcess):
  24173. * UIProcess/WebPageProxy.cpp:
  24174. (WebKit::WebPageProxy::didCommitLoadForFrame):
  24175. (WebKit::WebPageProxy::pageDidScroll):
  24176. (WebKit::WebPageProxy::processDidCrash):
  24177. (WebKit::WebPageProxy::recordAutocorrectionResponse):
  24178. (WebKit::WebPageProxy::handleAlternativeTextUIResult):
  24179. * UIProcess/WebPageProxy.h:
  24180. (WebPageProxy):
  24181. * UIProcess/WebPageProxy.messages.in:
  24182. * UIProcess/mac/TextCheckerMac.mm:
  24183. (WebKit::initializeState):
  24184. (WebKit::TextChecker::getGuessesForWord):
  24185. * UIProcess/mac/WKFullScreenWindowController.mm:
  24186. (convertRectToScreen):
  24187. * UIProcess/mac/WebContextMac.mm:
  24188. (WebKit::WebContext::platformInitializeWebProcess):
  24189. * WebKit2Prefix.h:
  24190. * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
  24191. (WebKit::NPN_GetValue):
  24192. * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
  24193. * WebProcess/WebCoreSupport/WebEditorClient.cpp:
  24194. (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
  24195. * WebProcess/WebCoreSupport/WebEditorClient.h:
  24196. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
  24197. (InitWebCoreSystemInterface):
  24198. * WebProcess/WebPage/WebPage.cpp:
  24199. (WebKit):
  24200. * WebProcess/WebPage/WebPage.h:
  24201. (WebPage):
  24202. * WebProcess/WebPage/WebPage.messages.in:
  24203. * WebProcess/WebPage/mac/WebPageMac.mm:
  24204. (WebKit::WebPage::performDictionaryLookupAtLocation):
  24205. (WebKit::WebPage::performDictionaryLookupForSelection):
  24206. (WebKit::WebPage::performDictionaryLookupForRange):
  24207. * WebProcess/mac/SecItemShimMethods.mm:
  24208. * WebProcess/mac/WebProcessMac.mm:
  24209. (WebKit::WebProcess::secItemResponse):
  24210. * WebProcess/mac/WebProcessMainMac.mm:
  24211. (WebKit::WebProcessMain):
  24212. * WebProcessService/WebProcessServiceMain.mm:
  24213. (main):
  24214. * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
  24215. (WebProcessServiceForWebKitDevelopmentEventHandler):
  24216. (main):
  24217. 2012-12-04 Anders Carlsson <andersca@apple.com>
  24218. Remove more Snow Leopard only code
  24219. https://bugs.webkit.org/show_bug.cgi?id=104079
  24220. Reviewed by Andreas Kling.
  24221. All of the SecKeychainItem code was Snow Leopard only.
  24222. * Shared/mac/SecKeychainItemRequestData.cpp: Removed.
  24223. * Shared/mac/SecKeychainItemRequestData.h: Removed.
  24224. * Shared/mac/SecKeychainItemResponseData.cpp: Removed.
  24225. * Shared/mac/SecKeychainItemResponseData.h: Removed.
  24226. * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
  24227. * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
  24228. * UIProcess/WebProcessProxy.h:
  24229. (WebProcessProxy):
  24230. * UIProcess/WebProcessProxy.messages.in:
  24231. * UIProcess/mac/WebProcessProxyMac.mm:
  24232. * WebKit2.xcodeproj/project.pbxproj:
  24233. * WebProcess/WebProcess.h:
  24234. * WebProcess/WebProcess.messages.in:
  24235. * WebProcess/mac/KeychainItemShimMethods.h: Removed.
  24236. * WebProcess/mac/KeychainItemShimMethods.mm: Removed.
  24237. * WebProcess/mac/WebProcessMac.mm:
  24238. (WebKit::WebProcess::initializeShim):
  24239. * WebProcess/mac/WebProcessShim.mm:
  24240. 2012-12-04 Anders Carlsson <andersca@apple.com>
  24241. Remove PageClient::didChangeScrollbarsForMainFrame
  24242. https://bugs.webkit.org/show_bug.cgi?id=104077
  24243. Reviewed by Andreas Kling.
  24244. The aforementioned function was only used to implement some Snow Leopard specific behavior that we no longer support.
  24245. * UIProcess/API/gtk/PageClientImpl.cpp:
  24246. * UIProcess/API/gtk/PageClientImpl.h:
  24247. (PageClientImpl):
  24248. * UIProcess/API/mac/PageClientImpl.h:
  24249. (PageClientImpl):
  24250. * UIProcess/API/mac/PageClientImpl.mm:
  24251. * UIProcess/API/mac/WKView.mm:
  24252. (-[WKView viewWillMoveToWindow:]):
  24253. * UIProcess/API/mac/WKViewInternal.h:
  24254. * UIProcess/API/qt/raw/qrawwebview_p_p.h:
  24255. * UIProcess/PageClient.h:
  24256. (PageClient):
  24257. * UIProcess/WebPageProxy.cpp:
  24258. (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
  24259. * UIProcess/efl/PageClientBase.cpp:
  24260. (WebKit):
  24261. * UIProcess/efl/PageClientBase.h:
  24262. (PageClientBase):
  24263. * UIProcess/qt/QtPageClient.h:
  24264. * UIProcess/win/WebView.cpp:
  24265. * UIProcess/win/WebView.h:
  24266. (WebView):
  24267. 2012-12-04 Andy Estes <aestes@apple.com>
  24268. [WebKit2] WKWebProcessPlugInBrowserContextControllers should be treated as type WKBrowsingContextControllerType for encoding purposes
  24269. https://bugs.webkit.org/show_bug.cgi?id=104063
  24270. Reviewed by Sam Weinig.
  24271. Objective-C message graphs can include browsing context controller
  24272. objects, which are decoded as WKWebProcessPlugInBrowserContextControllers
  24273. in the web process plug-in and as WKBrowsingContextControllers in the UI
  24274. process. Ensure we correctly encode WKWebProcessPlugInBrowserContextControllers
  24275. by treating them as type WKBrowsingContextControllerType.
  24276. * Shared/mac/ObjCObjectGraphCoders.mm:
  24277. (WebKit::typeFromObject):
  24278. 2012-12-04 Simon Fraser <simon.fraser@apple.com>
  24279. Show a mini visualizer for the tile cache tiles
  24280. https://bugs.webkit.org/show_bug.cgi?id=104053
  24281. Reviewed by Beth Dakin.
  24282. Plumb through a preference that controls the visibility of a tiled
  24283. scrolling indicator, and parent that layer in the TiledCoreAnimationDrawingArea.
  24284. * Shared/WebPreferencesStore.h:
  24285. * UIProcess/API/C/WKPreferences.cpp:
  24286. (WKPreferencesSetTiledScrollingIndicatorVisible):
  24287. (WKPreferencesGetTiledScrollingIndicatorVisible):
  24288. * UIProcess/API/C/WKPreferencesPrivate.h:
  24289. * WebProcess/WebPage/WebPage.cpp:
  24290. (WebKit::WebPage::updatePreferences):
  24291. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  24292. (TiledCoreAnimationDrawingArea):
  24293. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  24294. (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
  24295. (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
  24296. (WebKit::TiledCoreAnimationDrawingArea::mainFrameTiledBacking):
  24297. (WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):
  24298. 2012-12-04 Anders Carlsson <andersca@apple.com>
  24299. Set the visible process name before entering the sandbox
  24300. https://bugs.webkit.org/show_bug.cgi?id=104030
  24301. <rdar://problem/12800317>
  24302. Reviewed by Sam Weinig.
  24303. Pass the UI process name along as a process initialization parameter so we can set it
  24304. before entering the sandbox. Remove the UI process name from WebProcessCreationParameters.
  24305. * Shared/WebProcessCreationParameters.cpp:
  24306. (WebKit::WebProcessCreationParameters::encode):
  24307. (WebKit::WebProcessCreationParameters::decode):
  24308. * Shared/WebProcessCreationParameters.h:
  24309. (WebProcessCreationParameters):
  24310. * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  24311. (WebKit::connectToWebProcessServiceForWebKitDevelopment):
  24312. (WebKit::createWebProcessService):
  24313. (WebKit::createProcess):
  24314. * UIProcess/mac/WebContextMac.mm:
  24315. (WebKit::WebContext::platformInitializeWebProcess):
  24316. * WebProcess/mac/WebProcessInitialization.h:
  24317. (WebProcessInitializationParameters):
  24318. * WebProcess/mac/WebProcessInitialization.mm:
  24319. (WebKit::initializeWebProcess):
  24320. * WebProcess/mac/WebProcessMac.mm:
  24321. (WebKit::WebProcess::platformInitializeWebProcess):
  24322. * WebProcess/mac/WebProcessMainMac.mm:
  24323. (WebKit::WebProcessMain):
  24324. * WebProcess/mac/WebProcessServiceEntryPoints.h:
  24325. * WebProcess/mac/WebProcessServiceEntryPoints.mm:
  24326. (WebKit::WebProcessServiceEventHandler):
  24327. (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
  24328. * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
  24329. (WebProcessServiceForWebKitDevelopmentEventHandler):
  24330. 2012-12-03 Alexey Proskuryakov <ap@apple.com>
  24331. [WK2] Track private browsing session explicitly
  24332. <rdar://problem/12714532>
  24333. https://bugs.webkit.org/show_bug.cgi?id=103953
  24334. Reviewed by Jessie Berlin.
  24335. * Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode):
  24336. Fixed a confusing ifdef - this code is inside PLATFORM(WIN), so PLATFORM(MAC)
  24337. makes no sense.
  24338. * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetPrivateBrowsingEnabled):
  24339. This is the only place in WK2 where we can learn that private browsing got disabled -
  24340. no other functions are called when there are no pages open.
  24341. * UIProcess/WebContext.h:
  24342. * UIProcess/WebContext.cpp:
  24343. (WebKit::WebContext::willStartUsingPrivateBrowsing):
  24344. (WebKit::WebContext::willStopUsingPrivateBrowsing):
  24345. Count the number of API calls. We only implement a single shared private browsing
  24346. session, not one per page group as API implies. When private browsing gets disabled,
  24347. we want to destroy its session.
  24348. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences):
  24349. Ensure a private browsing session if the current page needs it.
  24350. * WebProcess/WebProcess.h:
  24351. * WebProcess/WebProcess.messages.in:
  24352. * WebProcess/WebProcess.cpp:
  24353. (WebKit::WebProcess::ensurePrivateBrowsingSession):
  24354. (WebKit::WebProcess::destroyPrivateBrowsingSession):
  24355. Call through to WebFrameNetworkingContext.
  24356. 2012-12-04 Yuni Jeong <yhnet.jung@samsung.com>
  24357. [EFL][WK2] Add APIs to toggle plug-ins support.
  24358. https://bugs.webkit.org/show_bug.cgi?id=101920
  24359. Reviewed by Gyuyoung Kim.
  24360. Add setting APIs to toggle plug-ins support and add corresponding API tests.
  24361. * UIProcess/API/efl/ewk_settings.cpp:
  24362. (ewk_settings_plugins_enabled_set):
  24363. (ewk_settings_plugins_enabled_get):
  24364. * UIProcess/API/efl/ewk_settings.h:
  24365. * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
  24366. (TEST_F):
  24367. 2012-12-04 Andras Becsi <andras.becsi@digia.com>
  24368. [Qt][WK2] Do not override previously set flags of QQuickWebView when enabling drag&drop
  24369. https://bugs.webkit.org/show_bug.cgi?id=103901
  24370. Reviewed by Jocelyn Turcotte.
  24371. Setting the specific flag instead of resetting all the flags
  24372. when enabling QQuickItem::ItemAcceptsDrops.
  24373. This fixes clipping of the contents of QQuickWebView.
  24374. * UIProcess/API/qt/qquickwebview.cpp:
  24375. (QQuickWebViewPrivate::initialize):
  24376. 2012-12-04 Carlos Garcia Campos <cgarcia@igalia.com>
  24377. [GTK] Avoid unnecessary heap allocations during drag and drop operations
  24378. https://bugs.webkit.org/show_bug.cgi?id=87938
  24379. Reviewed by Martin Robinson.
  24380. * UIProcess/API/gtk/WebKitWebViewBase.cpp:
  24381. (webkitWebViewBaseDragDataReceived): Create DragData for the given
  24382. DataObjectGtk in the stack.
  24383. (webkitWebViewBaseDragMotion): Ditto.
  24384. (webkitWebViewBaseDragDrop): Ditto.
  24385. 2012-12-04 Jaehun Lim <ljaehun.lim@samsung.com>
  24386. [EFL][WK2] Use consistent class names inside Ewk classes
  24387. https://bugs.webkit.org/show_bug.cgi?id=103015
  24388. Reviewed by Gyuyoung Kim.
  24389. WebKit EFL doesn't use '_' in class names.
  24390. This patch removes the remaining uses of '_' inside Ewk classes.
  24391. * UIProcess/API/efl/EwkViewImpl.cpp:
  24392. (EwkViewImpl::EwkViewImpl):
  24393. (EwkViewImpl::~EwkViewImpl):
  24394. (EwkViewImpl::informIconChange):
  24395. (EwkViewImpl::requestColorPicker):
  24396. (EwkViewImpl::requestPopupMenu):
  24397. * UIProcess/API/efl/ewk_back_forward_list.cpp:
  24398. (EwkBackForwardList::nextItem):
  24399. (EwkBackForwardList::previousItem):
  24400. (EwkBackForwardList::currentItem):
  24401. (EwkBackForwardList::itemAt):
  24402. (EwkBackForwardList::getFromCacheOrCreate):
  24403. (EwkBackForwardList::createEinaList):
  24404. * UIProcess/API/efl/ewk_back_forward_list_private.h:
  24405. (EwkBackForwardList):
  24406. * UIProcess/API/efl/ewk_context.cpp:
  24407. (EwkContext::EwkContext):
  24408. (EwkContext::cookieManager):
  24409. (EwkContext::databaseManager):
  24410. (EwkContext::ensureFaviconDatabase):
  24411. (EwkContext::faviconDatabase):
  24412. (EwkContext::storageManager):
  24413. * UIProcess/API/efl/ewk_context_private.h:
  24414. (EwkContext):
  24415. * UIProcess/API/efl/ewk_cookie_manager.cpp:
  24416. (EwkCookieManager::cookiesDidChange):
  24417. (getAcceptPolicyCallback):
  24418. (getHostnamesWithCookiesCallback):
  24419. * UIProcess/API/efl/ewk_cookie_manager_private.h:
  24420. (EwkCookieManager::create):
  24421. * UIProcess/API/efl/ewk_database_manager.cpp:
  24422. (EwkDatabaseManager::createOriginList):
  24423. (getDatabaseOriginsCallback):
  24424. * UIProcess/API/efl/ewk_database_manager_private.h:
  24425. (EwkDatabaseManager):
  24426. * UIProcess/API/efl/ewk_favicon_database.cpp:
  24427. (EwkFaviconDatabase::didChangeIconForPageURL):
  24428. (EwkFaviconDatabase::iconDataReadyForPageURL):
  24429. * UIProcess/API/efl/ewk_popup_menu.cpp:
  24430. (EwkPopupMenu::EwkPopupMenu):
  24431. (EwkPopupMenu::~EwkPopupMenu):
  24432. * UIProcess/API/efl/ewk_storage_manager.cpp:
  24433. (EwkStorageManager::createOriginList):
  24434. (getStorageOriginsCallback):
  24435. * UIProcess/API/efl/ewk_storage_manager_private.h:
  24436. (EwkStorageManager):
  24437. 2012-12-03 Huang Dongsung <luxtella@company100.net>
  24438. Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
  24439. https://bugs.webkit.org/show_bug.cgi?id=103843
  24440. Reviewed by Noam Rosenthal.
  24441. Remove updateViewport() in LayerTreeCoordinatorProxy::setRootCompositingLayer()
  24442. because LayerTreeCoordinatorProxy::didRenderFrame() is always called after
  24443. setting the root layer. There is no behaviour changes because setting the root
  24444. layer isn't actually applied to TextureMapperLayer until DidRenderFrame message
  24445. is received.
  24446. This is in preparation for refactoring TextureMapper to work in an actor
  24447. model (http://webkit.org/b/103854).
  24448. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  24449. (WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
  24450. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  24451. (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
  24452. 2012-12-03 Anders Carlsson <andersca@apple.com>
  24453. Make it easier to add more web process initialization parameters
  24454. https://bugs.webkit.org/show_bug.cgi?id=103942
  24455. Reviewed by Andreas Kling.
  24456. Add a WebProcessInitializationParameters struct to make it easier to add more initialization
  24457. parameters in the future. Also, fix naming and spelling errors.
  24458. * WebProcess/mac/WebProcessInitialization.h:
  24459. (WebProcessInitializationParameters):
  24460. (WebKit):
  24461. * WebProcess/mac/WebProcessInitialization.mm:
  24462. (WebKit::initializeWebProcess):
  24463. * WebProcess/mac/WebProcessMainMac.mm:
  24464. (WebKit::WebProcessMain):
  24465. * WebProcess/mac/WebProcessServiceEntryPoints.h:
  24466. * WebProcess/mac/WebProcessServiceEntryPoints.mm:
  24467. (WebKit::WebProcessServiceEventHandler):
  24468. (webProcessServiceMain):
  24469. (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
  24470. * WebProcessService/WebProcessServiceMain.mm:
  24471. (main):
  24472. * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
  24473. (WebProcessServiceForWebKitDevelopmentEventHandler):
  24474. 2012-12-03 Tim Horton <timothy_horton@apple.com>
  24475. PDFPlugin: <embed> and <object> PDFs affect their parent frame's page scale
  24476. https://bugs.webkit.org/show_bug.cgi?id=103286
  24477. <rdar://problem/12752315>
  24478. Reviewed by Dan Bernstein.
  24479. Style fixes after http://trac.webkit.org/changeset/136316.
  24480. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  24481. (WebKit::PDFPlugin::isFullFramePlugin):
  24482. 2012-12-03 Alexis Menard <alexis@webkit.org>
  24483. [Mac] Enable CSS3 background-position offset by default.
  24484. https://bugs.webkit.org/show_bug.cgi?id=103905
  24485. Reviewed by Simon Fraser.
  24486. Turn the flag on by default.
  24487. * Configurations/FeatureDefines.xcconfig:
  24488. 2012-12-03 Ryuan Choi <ryuan.choi@samsung.com>
  24489. [EFL][WK2] Add contents,size,changed signal to the ewk_view API
  24490. https://bugs.webkit.org/show_bug.cgi?id=103094
  24491. Reviewed by Kenneth Rohde Christiansen.
  24492. This patch emits signal to let applications know contents size.
  24493. Applications can use this signal to give some additional behavior such as
  24494. minimap, external scroll for quick movement.
  24495. * UIProcess/API/efl/EwkViewCallbacks.h: Added contents,size,changed signal.
  24496. * UIProcess/API/efl/EwkViewImpl.cpp: Removed dead code.
  24497. * UIProcess/API/efl/EwkViewImpl.h: Ditto.
  24498. (EwkViewImpl):
  24499. * UIProcess/API/efl/ewk_view.h: Added test case.
  24500. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  24501. (onContentsSizeChanged):
  24502. (TEST_F):
  24503. * UIProcess/efl/PageClientDefaultImpl.cpp: Emitted contents,size,changed signal.
  24504. (WebKit::PageClientDefaultImpl::didChangeContentsSize):
  24505. * UIProcess/efl/PageClientLegacyImpl.cpp: Ditto.
  24506. (WebKit::PageClientLegacyImpl::didChangeContentsSize):
  24507. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  24508. (WebKit::WebChromeClient::contentsSizeChanged):
  24509. Sended DidChangeContentsSize message although TILED_BACKINGSTORE is disabled.
  24510. 2012-12-03 Csaba Osztrogonác <ossy@webkit.org>
  24511. Unreviewed fix after r136292 to make GIT-SVN repositories happy.
  24512. * win/WebKit2ExportGenerator.vcproj: Added property svn:eol-style.
  24513. * win/WebKit2ExportGeneratorCommon.vsprops: Added property svn:eol-style.
  24514. * win/WebKit2ExportGeneratorDebug.vsprops: Added property svn:eol-style.
  24515. * win/WebKit2ExportGeneratorDebugAll.vsprops: Added property svn:eol-style.
  24516. * win/WebKit2ExportGeneratorDebugCairoCFLite.vsprops: Added property svn:eol-style.
  24517. * win/WebKit2ExportGeneratorPostBuild.cmd: Added property svn:eol-style.
  24518. * win/WebKit2ExportGeneratorPreBuild.cmd: Added property svn:eol-style.
  24519. * win/WebKit2ExportGeneratorProduction.vsprops: Added property svn:eol-style.
  24520. * win/WebKit2ExportGeneratorRelease.vsprops: Added property svn:eol-style.
  24521. * win/WebKit2ExportGeneratorReleaseCairoCFLite.vsprops: Added property svn:eol-style.
  24522. 2012-12-03 Michael Brüning <michael.bruning@digia.com>
  24523. [Qt][WK2] New resize tests fail
  24524. https://bugs.webkit.org/show_bug.cgi?id=103875
  24525. Reviewed by Jocelyn Turcotte.
  24526. Removes reference to unused viewportSpy, adds clearing the sizeSpy to the init method instead.
  24527. * UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml:
  24528. 2012-12-03 Joaquim Rocha <jrocha@igalia.com>
  24529. [GTK] Custom URI schemes stop working on Epiphany using WebKit2 after killing the web process
  24530. https://bugs.webkit.org/show_bug.cgi?id=103729
  24531. Reviewed by Carlos Garcia Campos.
  24532. When a URI scheme is registered and the WebProcess is killed,
  24533. those schemes would not work anymore after the process is relaunched.
  24534. This was observed in Epiphany and possibly affects any port that
  24535. uses libsoup.
  24536. * Shared/WebProcessCreationParameters.cpp:
  24537. (WebKit::WebProcessCreationParameters::encode): Encode the registered URI schemes.
  24538. (WebKit::WebProcessCreationParameters::decode): Decode the registered URI schemes.
  24539. * Shared/WebProcessCreationParameters.h: Add the urlSchemesRegistered Vector to hold the registered URI schemes.
  24540. (WebProcessCreationParameters):
  24541. * UIProcess/efl/WebContextEfl.cpp:
  24542. (WebKit::WebContext::platformInitializeWebProcess): Assign the parameters.urlSchemesRegistered from the URI schemes
  24543. registered in the WebSoupRequestManagerProxy and removed the notImplemented() call.
  24544. * UIProcess/gtk/WebContextGtk.cpp:
  24545. (WebKit::WebContext::platformInitializeWebProcess): Assign the parameters.urlSchemesRegistered from the URI schemes
  24546. registered in the WebSoupRequestManagerProxy.
  24547. * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
  24548. (WebKit::WebSoupRequestManagerProxy::registerURIScheme): Add the given scheme to the m_registeredURISchemes Vector.
  24549. * UIProcess/soup/WebSoupRequestManagerProxy.h:
  24550. (WebKit::WebSoupRequestManagerProxy::registeredURISchemes): Return the m_registeredURISchemes.
  24551. (WebSoupRequestManagerProxy): Define the m_registeredURISchemes to hold the schemes that are registered.
  24552. * WebProcess/soup/WebProcessSoup.cpp:
  24553. (WebKit::WebProcess::platformInitializeWebProcess): Call m_soupRequestManager.registerURIScheme for each URI scheme
  24554. found in the parameters.
  24555. * WebProcess/soup/WebSoupRequestManager.h: Make registerURIScheme public.
  24556. (WebSoupRequestManager):
  24557. 2012-12-03 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  24558. CSS Device Adaptation: window.innerWidth returns wrong value if CSS viewport descriptors are applied
  24559. https://bugs.webkit.org/show_bug.cgi?id=103737
  24560. Reviewed by Kenneth Rohde Christiansen.
  24561. ViewportStyleResolver used frame view visibleContentRect size as initial viewport size.
  24562. This however caused a problem when page enabled/disabled CSS stylesheets, having viewport
  24563. descriptors. Viewport descriptors from new stylesheet were applied to the visibleContentRect
  24564. affected already by the viewport descriptors from the previous stylesheet.
  24565. New 'initialViewportSize' property (http://dev.w3.org/csswg/css-device-adapt/#initial-viewport)
  24566. was added to frame view so that viewport descriptors can always be applied to the reliable
  24567. viewport size.
  24568. Both newly added 'initialViewportSize' property and 'fixedVisibleContentRect' property
  24569. are assigned appropriately now in WebPage::sendViewportAttributesChanged().
  24570. * WebProcess/WebPage/WebPage.cpp:
  24571. (WebKit::WebPage::sendViewportAttributesChanged):
  24572. 2012-12-02 Huang Dongsung <luxtella@company100.net>
  24573. Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
  24574. https://bugs.webkit.org/show_bug.cgi?id=103843
  24575. Reviewed by Noam Rosenthal.
  24576. Send messages to the UI process by the tree order.
  24577. This is in preparation for refactoring TextureMapper to work in an actor
  24578. model (http://webkit.org/b/103854).
  24579. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  24580. (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
  24581. 2012-12-02 Ryuan Choi <ryuan.choi@gmail.com>
  24582. [EFL][WK2] Update comments of header files which mentions deprecated API
  24583. https://bugs.webkit.org/show_bug.cgi?id=103718
  24584. Reviewed by Gyuyoung Kim.
  24585. Updated comments which mentions XXX_unref() which was replaced to ewk_object_unref()
  24586. * UIProcess/API/efl/ewk_context.h:
  24587. * UIProcess/API/efl/ewk_database_manager.h:
  24588. * UIProcess/API/efl/ewk_storage_manager.h:
  24589. 2012-12-02 Huang Dongsung <luxtella@company100.net>
  24590. REGRESSION(r134376): ASSERT(!m_mainBackingStore) hits in CoordinatedGraphicsLayer::syncImageBacking().
  24591. https://bugs.webkit.org/show_bug.cgi?id=103845
  24592. Reviewed by Noam Rosenthal.
  24593. flushCompositingStateForThisLayerOnly() calls syncImageBacking() before calling
  24594. updateContentBuffers(). It means there can be the moment that
  24595. CoordinatedGraphicsLayer has m_mainBackingStore although
  24596. shouldHaveBackingStore() return false.
  24597. This patch changes syncImageBacking() to check shouldHaveBackingStore() instead
  24598. of m_mainBackingStore.
  24599. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  24600. (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
  24601. (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
  24602. (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
  24603. (WebCore::CoordinatedGraphicsLayer::shouldHaveBackingStore):
  24604. (WebCore):
  24605. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  24606. (CoordinatedGraphicsLayer):
  24607. 2012-12-02 Seokju Kwon <seokju.kwon@gmail.com>
  24608. Rename WebSocketServerGtk.cpp as WebSocketServerSoup.cpp
  24609. https://bugs.webkit.org/show_bug.cgi?id=103743
  24610. Reviewed by Gustavo Noronha Silva.
  24611. EFL port is using a GSocket based implementation as well.
  24612. WebSocketServerSoup can be used together.
  24613. * GNUmakefile.list.am:
  24614. * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp: Renamed from Source/WebKit2/UIProcess/InspectorServer/gtk/WebSocketServerGtk.cpp.
  24615. (WebKit):
  24616. (WebKit::connectionCallback):
  24617. (WebKit::WebSocketServer::platformInitialize):
  24618. (WebKit::WebSocketServer::platformListen):
  24619. (WebKit::WebSocketServer::platformClose):
  24620. 2012-12-02 Christophe Dumez <christophe.dumez@intel.com>
  24621. [CoordinatedGraphics] LayerTreeRenderer::removeImageBacking() calls HashMap::find() twice
  24622. https://bugs.webkit.org/show_bug.cgi?id=103815
  24623. Reviewed by Noam Rosenthal.
  24624. Call HashMap::take() in LayerTreeRenderer::removeImageBacking()
  24625. to avoid calling HashMap::find() twice. find() was called once
  24626. explicitly to get an iterator and a second time to remove the
  24627. value from the value from the HashMap. We could have used
  24628. remove(iterator) instead of remove(key) but using take() results
  24629. in simpler code.
  24630. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  24631. (WebKit::LayerTreeRenderer::removeImageBacking):
  24632. 2012-12-02 Huang Dongsung <luxtella@company100.net>
  24633. Coordinated Graphics: Images disappear randomly
  24634. https://bugs.webkit.org/show_bug.cgi?id=103522
  24635. Reviewed by Kenneth Rohde Christiansen.
  24636. Currently, we delete layers before synchronizing layer states of layers. It
  24637. causes flash. This patch deletes layers after the synchronization.
  24638. In addiation, this patch removes updateViewport() in
  24639. LayerTreeCoordinatorProxy::deleteCompositingLayer() because
  24640. LayerTreeCoordinatorProxy::didRenderFrame() is always called after
  24641. deleting layers.
  24642. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  24643. (WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
  24644. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  24645. (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
  24646. 2012-12-02 Brent Fulgham <bfulgham@webkit.org>
  24647. [Windows, WinCairo] Revise export definitions to match mac.
  24648. https://bugs.webkit.org/show_bug.cgi?id=103687
  24649. Reviewed by Tim Horton.
  24650. Update export definition files to use the same feature exclusion
  24651. macros as other generated ports.
  24652. * win/WebKit2.def.in: Added additional build macro guards.
  24653. 2012-12-02 No'am Rosenthal <noam@webkit.org>
  24654. [CoordinatedGraphics] Crash in TextureMapperLayer::setBackingStore()
  24655. https://bugs.webkit.org/show_bug.cgi?id=103714
  24656. Reviewed by Kenneth Rohde Christiansen.
  24657. Remove a layer from the m_pendingSyncBackingStores map when it is deleted.
  24658. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  24659. (WebKit::LayerTreeRenderer::deleteLayer):
  24660. 2012-12-02 Yael Aharon <yael.aharon@intel.com>
  24661. [EFL][WK2] MiniBrowser should have a legacy mode
  24662. https://bugs.webkit.org/show_bug.cgi?id=103679
  24663. Reviewed by Kenneth Rohde Christiansen.
  24664. We need a way to create a web view in legacy mode, while still using the default context.
  24665. WKViewCreate creates a legacy view, so change it to create a default context if a context
  24666. was not passed.
  24667. * UIProcess/API/efl/ewk_view.cpp:
  24668. (ewk_view_base_add):
  24669. 2012-12-01 Tim Horton <timothy_horton@apple.com>
  24670. PDFPlugin: Support PDF form editing in <iframe>s
  24671. https://bugs.webkit.org/show_bug.cgi?id=103287
  24672. <rdar://problem/10326917>
  24673. Reviewed by Dan Bernstein.
  24674. PDFPlugin form editing depends on having a Document that has the same
  24675. size and position as the plugin; this is true not only in the full-main-frame
  24676. case, but also in the <iframe> case. Therefore, we can enable form editing
  24677. for <iframe> PDFPlugins.
  24678. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  24679. (WebKit::PDFPlugin::supportsForms): Support form editing whenever
  24680. our Document's widget is our PluginView (which will only be true in the
  24681. full-main-frame or <iframe> case).
  24682. 2012-12-01 Tim Horton <timothy_horton@apple.com>
  24683. PDFPlugin: <embed> and <object> PDFs affect their parent frame's page scale
  24684. https://bugs.webkit.org/show_bug.cgi?id=103286
  24685. <rdar://problem/12752315>
  24686. Reviewed by Dan Bernstein.
  24687. Detecting whether or not a PDFPlugin is a full-page plugin or not is not
  24688. as simple as checking isMainFrame(), because <embed> and <object> will
  24689. cause PDFPlugin to live in the main frame, while still not being full-page.
  24690. We also have to check that the main frame's document is a PluginDocument,
  24691. and whether that PluginDocument's PluginWidget is our PDFPlugin's PluginView.
  24692. * WebProcess/Plugins/PDF/PDFPlugin.h:
  24693. (PDFPlugin): Add isFullFramePlugin.
  24694. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  24695. (WebKit::PDFPlugin::isFullFramePlugin): Check whether the main frame is
  24696. backed by a PluginDocument, and that that PluginDocument corresponds
  24697. to this PDFPlugin.
  24698. (WebKit::PDFPlugin::handlesPageScaleFactor): Use isFullFramePlugin.
  24699. (WebKit::PDFPlugin::supportsForms): Use isFullFramePlugin.
  24700. 2012-12-01 Tim Horton <timothy_horton@apple.com>
  24701. [wk2] Use spoolRect instead of snapshots for print preview
  24702. https://bugs.webkit.org/show_bug.cgi?id=103798
  24703. <rdar://problem/12686749>
  24704. Reviewed by Sam Weinig.
  24705. Revert to using spoolRect instead of snapshotting for printing; this was a bogus
  24706. change I made in http://trac.webkit.org/changeset/133935 which was irrelevant to
  24707. the core of that change, and incorrectly disregards the Frame parameter passed to
  24708. beginPrinting, instead using the WebPage's current Frame.
  24709. * WebProcess/WebPage/WebPage.cpp:
  24710. (WebKit::WebPage::drawRectToImage):
  24711. 2012-11-30 Anders Carlsson <andersca@apple.com>
  24712. Always listen for the DidFirstLayout layout milestone
  24713. https://bugs.webkit.org/show_bug.cgi?id=103795
  24714. <rdar://problem/12790268>
  24715. Reviewed by Dan Bernstein.
  24716. The DidFirstLayout layout milestone is used to determine when to unfreeze the layer tree, so we always want to listen for it.
  24717. * WebProcess/WebPage/WebPage.cpp:
  24718. (WebKit::WebPage::WebPage):
  24719. 2012-11-30 Pierre Rossi <pierre.rossi@gmail.com>
  24720. [Qt] Unreviewed speculative Mac build fix after r136232
  24721. cleanup an oversight from r136235
  24722. * PluginProcess.pro: s/webkit/webkitwidgets/
  24723. 2012-11-30 Brent Fulgham <bfulgham@webkit.org>
  24724. [Windows, WinCairo] Generate library export symbol file.
  24725. https://bugs.webkit.org/show_bug.cgi?id=103687
  24726. Reviewed by Tim Horton.
  24727. Generate the export definition file based on the compile options
  24728. and port settings. Get rid of the old hand-written file, and use
  24729. a revised master input file that allows using conditional
  24730. settings to generate the output, much like the Mac and other
  24731. ports do.
  24732. * win/WebKit2.def: Removed.
  24733. * win/WebKit2.def.in: Added.
  24734. * win/WebKit2Apple.vsprops:
  24735. * win/WebKit2CFLite.def: Removed.
  24736. * win/WebKit2CFLite.vsprops:
  24737. * win/WebKit2Common.vsprops:
  24738. * win/WebKit2ExportGenerator.vcproj: Added.
  24739. * win/WebKit2ExportGeneratorCommon.vsprops: Added.
  24740. * win/WebKit2ExportGeneratorDebug.vsprops: Added.
  24741. * win/WebKit2ExportGeneratorDebugAll.vsprops: Added.
  24742. * win/WebKit2ExportGeneratorDebugCairoCFLite.vsprops: Added.
  24743. * win/WebKit2ExportGeneratorPostBuild.cmd: Added.
  24744. * win/WebKit2ExportGeneratorPreBuild.cmd: Added.
  24745. * win/WebKit2ExportGeneratorProduction.vsprops: Added.
  24746. * win/WebKit2ExportGeneratorRelease.vsprops: Added.
  24747. * win/WebKit2ExportGeneratorReleaseCairoCFLite.vsprops: Added.
  24748. 2012-11-30 Tim Horton <timothy_horton@apple.com>
  24749. (Simple)PDFPlugin: Support conversion of PostScript documents
  24750. https://bugs.webkit.org/show_bug.cgi?id=103289
  24751. <rdar://problem/10235708>
  24752. Reviewed by Dan Bernstein.
  24753. SimplePDFPlugin (and PDFPlugin) should support converting PostScript files
  24754. to PDF before handing them off to their respective backends.
  24755. As PDFPlugin inherits from SimplePDFPlugin, it gets the new functionality automatically.
  24756. * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Add convertPostScriptDataIfNeeded(), and m_isPostScript.
  24757. * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
  24758. (WebKit::SimplePDFPlugin::pluginInfo): SimplePDFPlugin should claim to support PDF and PostScript.
  24759. (WebKit::convertPostScriptDataSourceToPDF): PS->PDF conversion code, copied from PDFViewController (which I intend to remove).
  24760. (WebKit::SimplePDFPlugin::convertPostScriptDataIfNeeded): Check if the loaded data represents a PS file; if so, convert it.
  24761. (WebKit::SimplePDFPlugin::streamDidReceiveResponse): Check if the loaded data is of MIME type application/postscript, and store that in m_isPostScript.
  24762. (WebKit::SimplePDFPlugin::streamDidFinishLoading): Call convertPostScriptDataIfNeeded when we finish loading.
  24763. (WebKit::SimplePDFPlugin::manualStreamDidReceiveResponse): Ditto from streamDidReceiveResponse.
  24764. (WebKit::SimplePDFPlugin::manualStreamDidFinishLoading): Ditto from streamDidFinishLoading.
  24765. * WebProcess/WebPage/WebPage.cpp:
  24766. (WebKit::WebPage::createPlugin): Use (Simple)PDFPlugin for PostScript files too.
  24767. 2012-11-30 Tim Horton <timothy_horton@apple.com>
  24768. PDFPlugin: "Show Definition" context menu item should be implemented
  24769. https://bugs.webkit.org/show_bug.cgi?id=103389
  24770. <rdar://problem/12710751>
  24771. Reviewed by Dan Bernstein.
  24772. Call existing dictionary popup code when the context menu "Show Definition" item is selected.
  24773. * WebProcess/Plugins/PDF/PDFPlugin.h:
  24774. (PDFPlugin): Add showDefinitionForAttributedString and convertFromPDFViewToRootView.
  24775. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  24776. (-[WKPDFLayerControllerDelegate showDefinitionForAttributedString:atPoint:]): Forward this call to PDFPlugin.
  24777. (WebKit::PDFPlugin::showDefinitionForAttributedString): Create a DictionaryPopupInfo with the necessary information.
  24778. Ask WebPageProxy to show the dictionary popup.
  24779. (WebKit::PDFPlugin::convertFromPDFViewToRootView): Convert a point from PDFLayerController space to the root view space.
  24780. 2012-11-30 Simon Hausmann <simon.hausmann@digia.com>
  24781. Unreviewed trivial Qt build fix:
  24782. Always link against WebProcess against QT += webkit and use webkitwidgets only if available.
  24783. * WebProcess.pro:
  24784. 2012-11-30 Simon Hausmann <simon.hausmann@digia.com>, Pierre Rossi <pierre.rossi@digia.com>
  24785. [Qt] Separate Qt WebKit into Qt WebKit and Qt WebKit Widgets
  24786. https://bugs.webkit.org/show_bug.cgi?id=99314
  24787. Reviewed by Tor Arne Vestbø.
  24788. This big change separates QtWebKit into QtWebKit and QtWebKitWidgets as
  24789. shared libraries.
  24790. It's a big refactoring that mostly involves moving WebCore dependent
  24791. code into QtWebKit and accessing it through exported QWebFrameAdapter
  24792. and QWebPageAdapter classes.
  24793. * UIProcess/API/qt/tests/inspectorserver/inspectorserver.pro:
  24794. * UIProcess/API/qt/tests/publicapi/publicapi.pro:
  24795. * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
  24796. * UIProcess/API/qt/tests/qmltests/WebView.pro:
  24797. * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
  24798. * UIProcess/API/qt/tests/qrawwebview/qrawwebview.pro:
  24799. * UIProcess/API/qt/tests/tests.pri:
  24800. 2012-11-30 Joone Hur <joone.hur@intel.com>
  24801. [EFL]Drawing artifacts while resizing the view
  24802. https://bugs.webkit.org/show_bug.cgi?id=101288
  24803. Reviewed by Kenneth Rohde Christiansen.
  24804. An Evas GL surface is recreated when the window is resized, but the update of the surface is
  24805. asynchronously done, which gives Evas a chance of painting the empty surface on the screen.
  24806. As a result, the flickering problem happens while resizing the view.
  24807. So this patch allows to create an Evas GL surface synchronously with the update of the surface.
  24808. * UIProcess/API/efl/EwkViewImpl.cpp:
  24809. (EwkViewImpl::EwkViewImpl): Set m_pendingSurfaceResize to false.
  24810. (EwkViewImpl::displayTimerFired): Create an Evas GL surface.
  24811. * UIProcess/API/efl/EwkViewImpl.h:
  24812. (EwkViewImpl::setNeedsSurfaceResize): Added.
  24813. (EwkViewImpl):
  24814. * UIProcess/API/efl/ewk_view.cpp:
  24815. (_ewk_view_smart_calculate): Set m_pendingSurfaceResize to true.
  24816. 2012-11-30 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  24817. [WK2] TiledBackingStore: Frame view re-layouts with wrong Fixed Visible Content Rect.
  24818. https://bugs.webkit.org/show_bug.cgi?id=103428
  24819. Reviewed by Kenneth Rohde Christiansen.
  24820. Set now appropriate fixed visible content rect before layout when viewport
  24821. attributes change.
  24822. * UIProcess/PageViewportController.cpp:
  24823. (WebKit::PageViewportController::syncVisibleContents):
  24824. (WebKit::PageViewportController::didChangeViewportAttributes):
  24825. * WebProcess/WebPage/WebPage.cpp:
  24826. (WebKit::WebPage::sendViewportAttributesChanged):
  24827. 2012-11-30 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  24828. [EFL] Gardening after r136031 and r136142
  24829. https://bugs.webkit.org/show_bug.cgi?id=103734
  24830. Unreviewed, API test EWK2UnitTestBase.ewk_view_setting_encoding_custom
  24831. is asserting after r136031. So, disabling the test until bug 103732 is
  24832. fixed.
  24833. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  24834. (TEST_F):
  24835. 2012-11-30 Zeno Albisser <zeno@webkit.org>
  24836. [Qt] Enable WebGL by default.
  24837. https://bugs.webkit.org/show_bug.cgi?id=103731
  24838. Reviewed by Simon Hausmann.
  24839. * UIProcess/API/qt/qquickwebview.cpp:
  24840. (QQuickWebViewPrivate::initialize):
  24841. 2012-11-30 Mihai Maerean <mmaerean@adobe.com>
  24842. [CSSRegions] when WebKit uses V8, there should be a single variable to store if the CSS Regions feature is enabled
  24843. https://bugs.webkit.org/show_bug.cgi?id=101192
  24844. Reviewed by Hajime Morita.
  24845. Removed the CSS Regions flag in Settings and switched to using the new flag I have added in RuntimeEnabledFeatures.
  24846. Tests: No new tests because there is no functional change.
  24847. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  24848. (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
  24849. (WebKit::InjectedBundle::setCSSRegionsEnabled):
  24850. (WebKit):
  24851. * WebProcess/InjectedBundle/InjectedBundle.h:
  24852. (InjectedBundle):
  24853. * WebProcess/WebPage/WebPage.cpp:
  24854. (WebKit::WebPage::updatePreferences):
  24855. 2012-11-29 Tim Horton <timothy_horton@apple.com>
  24856. PDFPlugin: Only plain text can be copied out of PDFs
  24857. https://bugs.webkit.org/show_bug.cgi?id=103591
  24858. <rdar://problem/12555161>
  24859. Reviewed by Alexey Proskuryakov.
  24860. Don't write zero-length data to the pasteboard, just skip the item.
  24861. As mentioned in the comment, we don't expect this to come up, and would like to know if it does,
  24862. so we assert that it doesn't happen in debug builds.
  24863. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  24864. (WebKit::PDFPlugin::writeItemsToPasteboard):
  24865. 2012-11-29 Martin Robinson <mrobinson@igalia.com>
  24866. [GTK] [WebKit2] WebKitWebViewBase creates a GL context for the redirected XComposite window crashing WebKit in Xvfb
  24867. https://bugs.webkit.org/show_bug.cgi?id=103476
  24868. Reviewed by Alejandro G. Castro.
  24869. Create the RedirectedXCompositeWindow with an argument specifying that it
  24870. should never have a GLContext backing it.
  24871. * UIProcess/API/gtk/WebKitWebViewBase.cpp:
  24872. (_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):
  24873. 2012-11-29 Rafael Weinstein <rafaelw@chromium.org>
  24874. [HTMLTemplateElement] Add feature flag
  24875. https://bugs.webkit.org/show_bug.cgi?id=103694
  24876. Reviewed by Adam Barth.
  24877. This flag will guard the implementation of the HTMLTemplateElement.
  24878. http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/templates/index.html
  24879. * Configurations/FeatureDefines.xcconfig:
  24880. 2012-11-29 Alexey Proskuryakov <ap@apple.com>
  24881. [WK2] Forward cookie jar calls to NetworkProcess
  24882. https://bugs.webkit.org/show_bug.cgi?id=103457
  24883. Reviewed by Darin Adler.
  24884. * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  24885. Added messages to maniputate CookieJar in network process.
  24886. * NetworkProcess/NetworkConnectionToWebProcess.h:
  24887. * NetworkProcess/NetworkConnectionToWebProcess.cpp: Removed unnecessary WebCore:: prefixes,
  24888. this file has a using direcive.
  24889. (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
  24890. (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
  24891. (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
  24892. (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
  24893. (WebKit::NetworkConnectionToWebProcess::getRawCookies):
  24894. (WebKit::NetworkConnectionToWebProcess::deleteCookie):
  24895. (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
  24896. (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
  24897. (WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
  24898. Added implementations that use PlatformCookieJar in the network process.
  24899. * Scripts/webkit2/messages.py: (struct_or_class):
  24900. * Shared/WebCoreArgumentCoders.h:
  24901. * Shared/WebCoreArgumentCoders.cpp:
  24902. (CoreIPC::::encode):
  24903. (CoreIPC::::decode):
  24904. Added support for Cookie.
  24905. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  24906. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  24907. (WebKit::WebPlatformStrategies::cookiesForDOM):
  24908. (WebKit::WebPlatformStrategies::setCookiesFromDOM):
  24909. (WebKit::WebPlatformStrategies::cookiesEnabled):
  24910. (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
  24911. (WebKit::WebPlatformStrategies::getRawCookies):
  24912. (WebKit::WebPlatformStrategies::deleteCookie):
  24913. (WebKit::WebPlatformStrategies::getHostnamesWithCookies):
  24914. (WebKit::WebPlatformStrategies::deleteCookiesForHostname):
  24915. (WebKit::WebPlatformStrategies::deleteAllCookies):
  24916. When using the network process, forward cookie calls to it.
  24917. 2012-11-29 Kiran Muppala <cmuppala@apple.com>
  24918. Instantiate snapshot plugins in a PluginProcess with muted audio
  24919. https://bugs.webkit.org/show_bug.cgi?id=101536
  24920. Reviewed by Anders Carlsson.
  24921. Plugins created for generation of a snapshot should be instantiated in a separate process with
  24922. muted audio so that any sound generated during the snapshot process is not audible to the user.
  24923. * Configurations/WebKit2.xcconfig: Add CoreAudio to the list of linked frameworks.
  24924. * PluginProcess/PluginProcess.h: Add PluginProcess::Type enum with values for regular and
  24925. snapshot process types. Provide DefaultHash and IsInteger template specializations for the enum
  24926. so that PluginProcessConnectionManager can store it in a HashMap.
  24927. * PluginProcess/mac/PluginProcessMac.mm:
  24928. (WebKit::muteAudio):
  24929. (WebKit::PluginProcess::platformInitialize): Mute audio if the process creation parameters indicate
  24930. that the plugin process type is snapshot process.
  24931. * Shared/Plugins/PluginProcessCreationParameters.cpp:
  24932. (WebKit::PluginProcessCreationParameters::encode):
  24933. (WebKit::PluginProcessCreationParameters::decode):
  24934. * Shared/Plugins/PluginProcessCreationParameters.h: Add processType process creation parameter.
  24935. * UIProcess/Plugins/PluginProcessManager.cpp:
  24936. (WebKit::PluginProcessManager::getPluginProcessConnection): Add process type parameter.
  24937. (WebKit::PluginProcessManager::getSitesWithData): Forward message to regular plugin process only.
  24938. (WebKit::PluginProcessManager::clearSiteData): Forward message to regular plugin process only.
  24939. (WebKit::PluginProcessManager::pluginProcessWithPath): Add process type parameter.
  24940. (WebKit::PluginProcessManager::getOrCreatePluginProcess): Ditto.
  24941. * UIProcess/Plugins/PluginProcessManager.h:
  24942. * UIProcess/Plugins/PluginProcessProxy.cpp:
  24943. (WebKit::PluginProcessProxy::create): Add process type parameter.
  24944. (WebKit::PluginProcessProxy::PluginProcessProxy): Ditto.
  24945. (WebKit::PluginProcessProxy::didClose): Include process type with the plugin process crashed message.
  24946. (WebKit::PluginProcessProxy::didFinishLaunching): Set process type process creation parameter.
  24947. * UIProcess/Plugins/PluginProcessProxy.h:
  24948. (WebKit::PluginProcessProxy::processType):
  24949. * UIProcess/WebProcessProxy.cpp:
  24950. (WebKit::WebProcessProxy::getPluginProcessConnection): Pass along process type parameter to
  24951. PluginProcessManager.
  24952. * UIProcess/WebProcessProxy.h:
  24953. (WebProcessProxy):
  24954. * UIProcess/WebProcessProxy.messages.in: Add process type parameter to GetPluginProcessConnection message.
  24955. * WebProcess/Plugins/PluginProcessConnection.cpp:
  24956. (WebKit::PluginProcessConnection::PluginProcessConnection): Add process type parameter.
  24957. * WebProcess/Plugins/PluginProcessConnection.h:
  24958. (WebKit::PluginProcessConnection::create): Ditto.
  24959. (WebKit::PluginProcessConnection::processType): Ditto.
  24960. * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
  24961. (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): Add process type parameter.
  24962. (WebKit::PluginProcessConnectionManager::removePluginProcessConnection): Use process type in addition to
  24963. plugin path to find the connection to remove.
  24964. (WebKit::PluginProcessConnectionManager::pluginProcessCrashed): Add process type parameter.
  24965. * WebProcess/Plugins/PluginProcessConnectionManager.h:
  24966. * WebProcess/Plugins/PluginProxy.cpp:
  24967. (WebKit::PluginProxy::create): Ditto.
  24968. (WebKit::PluginProxy::PluginProxy): Ditto.
  24969. (WebKit::PluginProxy::initialize): Add process type parameter in call to
  24970. PluginProcessConnectionManager::getPluginProcessConnection.
  24971. * WebProcess/Plugins/PluginProxy.h:
  24972. * WebProcess/WebPage/WebPage.cpp:
  24973. (WebKit::WebPage::createPlugin): Determine process type based on display state of plugin element and
  24974. pass it to PluginProxy::create.
  24975. * WebProcess/WebProcess.cpp:
  24976. (WebKit::WebProcess::pluginProcessCrashed): Pass along process type parameter to
  24977. PluginProcessConnectionManager.
  24978. * WebProcess/WebProcess.h:
  24979. * WebProcess/WebProcess.messages.in: Add process type parameter to PluginProcessCrashed message.
  24980. 2012-11-29 Anders Carlsson <andersca@apple.com>
  24981. Initialize m_xpcConnection to null if the identifier doesn't have an XPC connection
  24982. https://bugs.webkit.org/show_bug.cgi?id=103689
  24983. Reviewed by Darin Adler.
  24984. * Platform/CoreIPC/mac/ConnectionMac.cpp:
  24985. (CoreIPC::Connection::platformInitialize):
  24986. 2012-11-29 Christophe Dumez <christophe.dumez@intel.com>
  24987. [CoordinatedGraphics] Use OwnPtr for LayerMap's layers in LayerTreeRenderer
  24988. https://bugs.webkit.org/show_bug.cgi?id=103650
  24989. Reviewed by Noam Rosenthal.
  24990. We currently store raw pointers to WebCore::GraphicsLayer in the LayerMap
  24991. meaning that we need to delete them manually. This patch leverages smart
  24992. pointers and stores layers as OwnPtr in the LayerMap so that the layers
  24993. are owned by the HashMap and we don't have to handle memory manually.
  24994. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  24995. (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
  24996. (WebKit::LayerTreeRenderer::setLayerChildren):
  24997. (WebKit::LayerTreeRenderer::deleteLayer):
  24998. (WebKit::LayerTreeRenderer::ensureLayer):
  24999. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  25000. 2012-11-29 Anders Carlsson <andersca@apple.com>
  25001. Add a minimumLayoutWidth WKView property
  25002. https://bugs.webkit.org/show_bug.cgi?id=103660
  25003. <rdar://problem/11791729>
  25004. Reviewed by Beth Dakin.
  25005. When minimumLayoutWidth is set to a positive value, the WKView will update its intrinsic content size given the layout width.
  25006. * UIProcess/API/mac/PageClientImpl.h:
  25007. * UIProcess/API/mac/PageClientImpl.mm:
  25008. (WebKit::PageClientImpl::intrinsicContentSizeDidChange):
  25009. Call the WKView.
  25010. * UIProcess/API/mac/WKView.mm:
  25011. (-[WKView intrinsicContentSize]):
  25012. Override the intrinsicContentSize getter.
  25013. (-[WKView _setIntrinsicContentSize:]):
  25014. Update the intrinsic content size and mark it as invalid.
  25015. (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
  25016. By default, the WKView should have no intrinsic size.
  25017. (-[WKView minimumLayoutWidth]):
  25018. (-[WKView setMinimumLayoutWidth:]):
  25019. Call through to the WebPageProxy object.
  25020. * UIProcess/API/mac/WKViewPrivate.h:
  25021. Add the SPI here.
  25022. * UIProcess/DrawingAreaProxy.h:
  25023. (WebKit::DrawingAreaProxy::minimumLayoutWidthDidChange):
  25024. (WebKit::DrawingAreaProxy::didUpdateGeometry):
  25025. (WebKit::DrawingAreaProxy::intrinsicContentSizeDidChange):
  25026. Add empty stubs.
  25027. * UIProcess/DrawingAreaProxy.messages.in:
  25028. Update the DidUpdateGeometry signature and add IntrinsicContentSizeDidChange.
  25029. * UIProcess/WebPageProxy.cpp:
  25030. (WebKit::WebPageProxy::WebPageProxy):
  25031. Initialize the minimum layout width.
  25032. (WebKit::WebPageProxy::setMinimumLayoutWidth):
  25033. Update the minimum layout width and call the drawing area proxy.
  25034. * UIProcess/WebPageProxy.h:
  25035. (WebKit::WebPageProxy::minimumLayoutWidth):
  25036. Add getter.
  25037. * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
  25038. (TiledCoreAnimationDrawingAreaProxy):
  25039. * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
  25040. (WebKit::TiledCoreAnimationDrawingAreaProxy::minimumLayoutWidthDidChange):
  25041. Update the geometry if needed.
  25042. (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
  25043. Update the intrinsic content size.
  25044. (WebKit::TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange):
  25045. Call through to WebPageProxy::intrinsicContentSizeDidChange.
  25046. (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
  25047. Pass along the minimum layout width.
  25048. * UIProcess/mac/WebPageProxyMac.mm:
  25049. (WebKit::WebPageProxy::intrinsicContentSizeDidChange):
  25050. Call through to the page client.
  25051. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  25052. (WebKit::WebChromeClient::contentsSizeChanged):
  25053. Call DrawingArea::mainFrameContentSizeChanged.
  25054. * WebProcess/WebPage/DrawingArea.h:
  25055. (WebKit::DrawingArea::mainFrameContentSizeChanged):
  25056. Add empty stub.
  25057. (WebKit::DrawingArea::updateGeometry):
  25058. Update signature.
  25059. * WebProcess/WebPage/DrawingArea.messages.in:
  25060. Add minimumLayoutWidth to UpdateGeometry.
  25061. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  25062. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  25063. (WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged):
  25064. If the content size change is not coming from updateGeometry, send an InstrinsicContentSizeDidChange message.
  25065. (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
  25066. If m_minimumLayoutWidth is positive, do an initial layout pass to figure out the height of the page and then do another
  25067. layout with the viewport set to that height.
  25068. 2012-11-29 Anders Carlsson <andersca@apple.com>
  25069. CoreIPC::Connection should retain its xpc_connection_t
  25070. https://bugs.webkit.org/show_bug.cgi?id=103671
  25071. <rdar://problem/12717331>
  25072. Reviewed by Beth Dakin.
  25073. * Platform/CoreIPC/mac/ConnectionMac.cpp:
  25074. (CoreIPC::Connection::platformInitialize):
  25075. Retain the xpc_connection_t object here to balance the xpc_object_release in platformInvalidate.
  25076. 2012-11-29 Brent Fulgham <bfulgham@webkit.org>
  25077. [Windows, WinCairo] Unreviewed build fix. Build was failing
  25078. because the export definition file included a debug-only
  25079. symbol. It's not needed and shouldn't be included for export.
  25080. * win/WebKit2.def: Don't require notSolidColor to be exported.
  25081. * win/WebKit2CFLite.def: Ditto.
  25082. 2012-11-29 Tim Horton <timothy_horton@apple.com>
  25083. PDFPlugin: Only plain text can be copied out of PDFs
  25084. https://bugs.webkit.org/show_bug.cgi?id=103591
  25085. <rdar://problem/12555161>
  25086. Reviewed by Alexey Proskuryakov.
  25087. Enable rich data to be copied from PDFKit to the pasteboard.
  25088. * WebProcess/Plugins/PDF/PDFPlugin.h:
  25089. (PDFPlugin): Add writeItemsToPasteboard.
  25090. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  25091. (-[WKPDFLayerControllerDelegate writeItemsToPasteboard:withTypes:]): Move implementation to PDFPlugin.
  25092. (WebKit::PDFPlugin::writeItemsToPasteboard): Don't round-trip through WebCore for pasteboard operations,
  25093. use WebContext directly. This provides a simple way to hand over a buffer for complex pasteboard types
  25094. (RTF, HTML, etc.). Use this interface for arbitrary non-plain-text pasteboard data that PDFKit hands us.
  25095. 2012-11-29 Martin Robinson <mrobinson@igalia.com>
  25096. [GTK] [WebKit2] Embed the HTTP authentication dialog into the WebView
  25097. https://bugs.webkit.org/show_bug.cgi?id=103277
  25098. Reviewed by Carlos Garcia Campos.
  25099. Embed the WebKit2 HTTP authentication dialog into the WebView. Add the dialog as a child
  25100. of the WebKitWebViewBase container (like the web inspector).
  25101. We do not yet properly handle pages that require authentication for more than one resource.
  25102. As that is an uncommon situation, it will be handled in another patch.
  25103. * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp:
  25104. (WebKit::drawSignal): We have to override the draw signal of the dialog to draw
  25105. a GtkWindow background on the widget. This is required because the widget doesn't
  25106. have a real GtkWindow to draw its background.
  25107. (WebKit::loadChangedSignal): When a new load starts in the WebView destroy the dialog. This
  25108. is so that the dialog doesn't stick around when the user chooses to navigate away from the
  25109. page requiring authentication.
  25110. (WebKit::WebKit2GtkAuthenticationDialog::WebKit2GtkAuthenticationDialog): Create an eventbox
  25111. and frame to hold the dialog contents. Also append the 'background' widget class to the
  25112. event box, so that it can draw a GtkWindow background in the draw signal handler.
  25113. (WebKit::WebKit2GtkAuthenticationDialog::~WebKit2GtkAuthenticationDialog): Disconnect the
  25114. load status changed signal handler.
  25115. (WebKit::WebKit2GtkAuthenticationDialog::show): When it's time to show the dialog, add it to
  25116. WebKitWebViewBase.
  25117. * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Add some new methods for handling the
  25118. embedded dialog.
  25119. * UIProcess/API/gtk/WebKitLoaderClient.cpp:
  25120. (didReceiveAuthenticationChallengeInFrame): Collapse the creation of the dialog into one line.
  25121. * UIProcess/API/gtk/WebKitWebViewBase.cpp:
  25122. (_WebKitWebViewBasePrivate): Add the dialog as a property of the private structure.
  25123. (webkitWebViewChildIsInternalWidget): Added this helper used for determining when a child widget
  25124. is "internal" (ie the web inspector or the authentication dialog).
  25125. (webkitWebViewBaseContainerAdd): Only add non-internal widgets to the children map.
  25126. (webkitWebViewBaseAddAuthenticationDialog): Added.
  25127. (webkitWebViewBaseAddWebInspector): Added this more-foolproof method of adding a web inspector
  25128. to the WebView. This also aligns it with the way the authentication dialog is added.
  25129. (webkitWebViewBaseContainerRemove): When removing the authentication dialog, zero out the
  25130. field in the private structure.
  25131. (webkitWebViewBaseContainerForall): Add support for the authentication dialog here too.
  25132. (webkitWebViewBaseChildMoveResize): Don't pass on move_resize events to internal children.
  25133. (webkit_web_view_base_init): Zero out the authentication dialog member on init.
  25134. (webkitWebViewBaseDraw): If the authentication dialog is active, draw a shadow over web content.
  25135. (resizeWebKitWebViewBaseFromAllocation): Make the authentication dialog centered in the view.
  25136. (webkitWebViewBaseKeyPressEvent): Pass on key events to the authentication dialog if active.
  25137. (webkitWebViewBaseButtonPressEvent): If the authentication dialog is active don't pass button events
  25138. to web content.
  25139. (webkitWebViewBaseButtonReleaseEvent): Ditto.
  25140. (webkitWebViewBaseScrollEvent): Ditto.
  25141. (webkitWebViewBaseMotionNotifyEvent): Ditto.
  25142. (webkitWebViewBaseFocus): Pass on focus events to the authentication dialog so that tabbing between
  25143. elements in the dialog works correctly.
  25144. (webkit_web_view_base_class_init): Hook up the focus event.
  25145. * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add new methods for adding the authentication dialog
  25146. and the web inspector.
  25147. * UIProcess/gtk/WebInspectorProxyGtk.cpp:
  25148. (WebKit::WebInspectorProxy::createInspectorWindow): Use the new method for adding the web inspector.
  25149. 2012-11-29 Andrei Bucur <abucur@adobe.com>
  25150. Fix the build after r136095
  25151. https://bugs.webkit.org/show_bug.cgi?id=103629
  25152. Unreviewed.
  25153. Add a static_cast to fix the build.
  25154. * Shared/mac/ObjCObjectGraphCoders.mm:
  25155. (WebKit::ObjCObjectGraphEncoder::baseEncode):
  25156. 2012-11-29 Christophe Dumez <christophe.dumez@intel.com>
  25157. [CoordinatedGraphics] Have LayerTreeRenderer::ensureLayer() return the layer
  25158. https://bugs.webkit.org/show_bug.cgi?id=103645
  25159. Reviewed by Noam Rosenthal.
  25160. The current LayerTreeRenderer code keep calling ensureLayer() and then
  25161. LayerMap::find() to retrieve the layer. Since ensureLayer() already has
  25162. a pointer to the layer, we can simply have the function return it.
  25163. This is slightly more efficient and it makes the code a bit simpler.
  25164. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  25165. (WebKit::LayerTreeRenderer::setLayerChildren):
  25166. (WebKit::LayerTreeRenderer::setLayerFilters):
  25167. (WebKit::LayerTreeRenderer::setLayerState):
  25168. (WebKit::LayerTreeRenderer::ensureLayer):
  25169. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  25170. 2012-11-29 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  25171. [WK2] TiledBackingStore: User events are sent to web page before it is shown
  25172. https://bugs.webkit.org/show_bug.cgi?id=101753
  25173. Reviewed by Jocelyn Turcotte.
  25174. User events are suppressed on WEB process side while drawing area is frozen.
  25175. * WebProcess/WebPage/WebPage.cpp:
  25176. (WebKit::WebPage::mouseEvent):
  25177. (WebKit::WebPage::wheelEvent):
  25178. (WebKit::WebPage::keyEvent):
  25179. (WebKit::WebPage::gestureEvent):
  25180. (WebKit::WebPage::touchEvent):
  25181. (WebKit::WebPage::sendIfEventCannotBeHandled):
  25182. (WebKit):
  25183. (WebKit::WebPage::didCompletePageTransition):
  25184. * WebProcess/WebPage/WebPage.h:
  25185. (WebPage):
  25186. 2012-11-29 Allan Sandfeld Jensen <allan.jensen@digia.com>
  25187. Possible to resize out of bounds
  25188. https://bugs.webkit.org/show_bug.cgi?id=103521
  25189. Reviewed by Jocelyn Turcotte.
  25190. Enforce the viewportBounds after resize, and ensure a user fitted page remains
  25191. fit on viewport resize, but not on content growth.
  25192. * UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml: Added.
  25193. * UIProcess/PageViewportController.cpp:
  25194. (WebKit::PageViewportController::didChangeContentsSize):
  25195. (WebKit::PageViewportController::didChangeViewportAttributes):
  25196. (WebKit::PageViewportController::updateMinimumScaleToFit):
  25197. * UIProcess/PageViewportController.h:
  25198. (PageViewportController):
  25199. 2012-11-29 Michael Brüning <michael.bruning@digia.com>
  25200. [Qt][WK2] Commit the preedit string in the input method when focus is about to be moved.
  25201. https://bugs.webkit.org/show_bug.cgi?id=97774
  25202. Reviewed by Kenneth Rohde Christiansen.
  25203. Implements the handler for willSetInputMethodState in WebKit2 in Qt.
  25204. This is needed to tell the input method instance in Qt to commit its
  25205. preedit content when the focus has moved to another node to prevent a
  25206. bug where the old preedit string was kept as the preedit string and
  25207. the editor moved focus back to the old node when continuing to enter
  25208. text via the input method.
  25209. This behavior is analog to the behavior of the QtQuick text input
  25210. elements.
  25211. * UIProcess/API/qt/raw/qrawwebview.cpp:
  25212. (QRawWebViewPrivate::handleWillSetInputMethodState):
  25213. * UIProcess/API/qt/raw/qrawwebview_p_p.h:
  25214. (QRawWebViewPrivate):
  25215. * UIProcess/PageClient.h:
  25216. (PageClient):
  25217. * UIProcess/WebPageProxy.h:
  25218. (WebPageProxy):
  25219. * UIProcess/WebPageProxy.messages.in:
  25220. * UIProcess/qt/QtPageClient.cpp:
  25221. (WebKit::QtPageClient::handleWillSetInputMethodState):
  25222. (WebKit):
  25223. * UIProcess/qt/QtPageClient.h:
  25224. (QtPageClient):
  25225. * UIProcess/qt/QtWebPageEventHandler.cpp:
  25226. (WebKit::QtWebPageEventHandler::handleWillSetInputMethodState):
  25227. (WebKit):
  25228. * UIProcess/qt/QtWebPageEventHandler.h:
  25229. (QtWebPageEventHandler):
  25230. * UIProcess/qt/WebPageProxyQt.cpp:
  25231. (WebKit::WebPageProxy::willSetInputMethodState):
  25232. (WebKit):
  25233. * WebProcess/WebCoreSupport/WebEditorClient.cpp:
  25234. (WebKit::WebEditorClient::willSetInputMethodState):
  25235. 2012-11-28 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  25236. [Qt] The WebView should be flickable only using touch events
  25237. https://bugs.webkit.org/show_bug.cgi?id=100964
  25238. Reviewed by Kenneth Rohde Christiansen.
  25239. Let a user interacting with the WebView using a mouse the same way that a
  25240. desktop browser would.
  25241. This allows normal behaviors like text selecting, hover events, mouse cursors
  25242. as well as avoid touch highlighting and touch adjustment.
  25243. To do so we let all mouse events to be handled by the page directly instead
  25244. of sending them to QtWebPageEventHandler. Since unhandled mouse events aren't
  25245. pushed back to the PageClient like touch events does, this have the intended
  25246. behavior of not letting mouse events affect QQuickFlickable.
  25247. * UIProcess/API/qt/qquickwebview.cpp:
  25248. * UIProcess/API/qt/qquickwebview_p_p.h:
  25249. (QQuickWebViewFlickablePrivate):
  25250. 2012-11-29 Andras Becsi <andras.becsi@digia.com>
  25251. [Qt] Fix installation of QtWebProcess binary
  25252. https://bugs.webkit.org/show_bug.cgi?id=101735
  25253. Reviewed by Simon Hausmann.
  25254. If available use QLibraryInfo::LibraryExecutablesPath to find
  25255. the web process and the plugin process and deploy both helper
  25256. processes to QT_INSTALL_LIBEXECS.
  25257. The effective fallback used to find the helper processes becomes:
  25258. 1. Application directory
  25259. 2. Qt library executables directory (QLibraryInfo::LibraryExecutablesPath)
  25260. 3. Qt binaries directory (QLibraryInfo::BinariesPath)
  25261. 4. No absolute path used
  25262. * PluginProcess.pro:
  25263. * Shared/qt/ProcessExecutablePathQt.cpp:
  25264. (WebKit::executablePath):
  25265. * WebProcess.pro:
  25266. 2012-11-28 Ryuan Choi <ryuan.choi@gmail.com>
  25267. [EFL] Generate big_button_theme.edj
  25268. https://bugs.webkit.org/show_bug.cgi?id=103511
  25269. Reviewed by Gyuyoung Kim.
  25270. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
  25271. (EWK2UnitTest::EWK2UnitTestEnvironment::pathForTheme):
  25272. (EWK2UnitTest):
  25273. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
  25274. (EWK2UnitTestEnvironment):
  25275. * UIProcess/API/efl/tests/resources/big_button_theme.edj: Removed.
  25276. * UIProcess/API/efl/tests/test_ewk2_view.cpp: Modified to use generated big_button_theme.edj
  25277. (TEST_F):
  25278. 2012-11-28 Sheriff Bot <webkit.review.bot@gmail.com>
  25279. Unreviewed, rolling out r135973.
  25280. http://trac.webkit.org/changeset/135973
  25281. https://bugs.webkit.org/show_bug.cgi?id=103604
  25282. It made API test crash on EFL bots (Requested by gyuyoung on
  25283. #webkit).
  25284. * UIProcess/API/efl/ewk_view.cpp:
  25285. (createEwkView):
  25286. 2012-11-28 Michael Pruett <michael@68k.org>
  25287. IndexedDB: Remove duplicate toWireString() and createFromWire() methods in JSC SerializedScriptValue
  25288. https://bugs.webkit.org/show_bug.cgi?id=103554
  25289. Reviewed by Kentaro Hara.
  25290. In r135022, duplicate createFromWire() and toWireString() methods
  25291. were added to the JSC version of SerializedScriptValue. In
  25292. order to allow the JSC SerializedScriptValue to compile when
  25293. ENABLE(INDEXED_DATABASE) is turned on, these new methods have
  25294. been removed and the old methods have been moved outside the
  25295. ENABLE(INDEXED_DATABASE) guard.
  25296. * win/WebKit2.def:
  25297. * win/WebKit2CFLite.def:
  25298. 2012-11-28 Sam Weinig <sam@webkit.org>
  25299. Fix 32bit build.
  25300. * Shared/mac/ObjCObjectGraphCoders.mm:
  25301. (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
  25302. (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
  25303. 2012-11-28 Sam Weinig <sam@webkit.org>
  25304. Add an objc object graph wrapper and coder for WKConnection message bodies
  25305. https://bugs.webkit.org/show_bug.cgi?id=103589
  25306. Reviewed by Anders Carlsson.
  25307. Adds a new type of UserMessageCoder for objc object graphs that allows encoding/decoding
  25308. WKBrowsingContextController across the wire.
  25309. * Shared/APIClient.h:
  25310. (APIClient):
  25311. (WebKit::APIClient::client):
  25312. Add accessor for the ClientInterface.
  25313. * Shared/APIObject.h:
  25314. Add new TypeObjCObjectGraph type.
  25315. * Shared/mac/ObjCObjectGraph.h: Added.
  25316. (ObjCObjectGraph):
  25317. (WebKit::ObjCObjectGraph::create):
  25318. (WebKit::ObjCObjectGraph::root):
  25319. (WebKit::ObjCObjectGraph::ObjCObjectGraph):
  25320. (WebKit::ObjCObjectGraph::type):
  25321. * Shared/mac/ObjCObjectGraph.mm: Added.
  25322. Wraps
  25323. * Shared/mac/ObjCObjectGraphCoders.h: Added.
  25324. (WebContextObjCObjectGraphEncoder):
  25325. (WebContextObjCObjectGraphDecoder):
  25326. (InjectedBundleObjCObjectGraphEncoder):
  25327. (InjectedBundleObjCObjectGraphDecoder):
  25328. * Shared/mac/ObjCObjectGraphCoders.mm: Added.
  25329. (WebKit::typeFromObject):
  25330. (ObjCObjectGraphEncoder):
  25331. (WebKit::ObjCObjectGraphEncoder::baseEncode):
  25332. (WebKit::ObjCObjectGraphEncoder::ObjCObjectGraphEncoder):
  25333. (ObjCObjectGraphDecoder):
  25334. (WebKit::ObjCObjectGraphDecoder::baseDecode):
  25335. (WebKit::ObjCObjectGraphDecoder::ObjCObjectGraphDecoder):
  25336. (WebContextObjCObjectGraphEncoderImpl):
  25337. (WebKit::WebContextObjCObjectGraphEncoderImpl::WebContextObjCObjectGraphEncoderImpl):
  25338. (WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
  25339. (WebContextObjCObjectGraphDecoderImpl):
  25340. (WebKit::WebContextObjCObjectGraphDecoderImpl::WebContextObjCObjectGraphDecoderImpl):
  25341. (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
  25342. (InjectedBundleObjCObjectGraphEncoderImpl):
  25343. (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::InjectedBundleObjCObjectGraphEncoderImpl):
  25344. (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
  25345. (InjectedBundleObjCObjectGraphDecoderImpl):
  25346. (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::InjectedBundleObjCObjectGraphDecoderImpl):
  25347. (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
  25348. (WebKit::WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder):
  25349. (WebKit::WebContextObjCObjectGraphEncoder::encode):
  25350. (WebKit::WebContextObjCObjectGraphDecoder::WebContextObjCObjectGraphDecoder):
  25351. (WebKit::WebContextObjCObjectGraphDecoder::decode):
  25352. (WebKit::InjectedBundleObjCObjectGraphEncoder::InjectedBundleObjCObjectGraphEncoder):
  25353. (WebKit::InjectedBundleObjCObjectGraphEncoder::encode):
  25354. (WebKit::InjectedBundleObjCObjectGraphDecoder::InjectedBundleObjCObjectGraphDecoder):
  25355. (WebKit::InjectedBundleObjCObjectGraphDecoder::decode):
  25356. Added.
  25357. * UIProcess/API/mac/WKBrowsingContextController.mm:
  25358. (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
  25359. * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
  25360. Expose the accessor to get the WKPageRef from a WKBrowsingContextController and add a
  25361. new method to get a WKBrowsingContextController from a WKPageRef.
  25362. * UIProcess/API/mac/WKConnection.mm:
  25363. (-[WKConnection sendMessageWithName:body:]):
  25364. (didReceiveMessage):
  25365. Switch WKConnection to use ObjCObjectGraph to encode the messageBody.
  25366. * UIProcess/WebContextUserMessageCoders.h:
  25367. (WebKit::WebContextUserMessageEncoder::encode):
  25368. (WebKit::WebContextUserMessageDecoder::decode):
  25369. * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
  25370. (WebKit::InjectedBundleUserMessageEncoder::encode):
  25371. (WebKit::InjectedBundleUserMessageDecoder::decode):
  25372. Proxy to ObjCObjectGraph coders when user message encoding/decoding ObjCObjectGraph APIObjects.
  25373. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
  25374. (-[WKWebProcessPlugInController _browserContextControllerForBundlePageRef:]):
  25375. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
  25376. Add method to get WKWebProcessPlugInController from the WKBundlePageRef.
  25377. * WebKit2.xcodeproj/project.pbxproj:
  25378. Add new files.
  25379. 2012-11-28 Sergio Villar Senin <svillar@igalia.com>
  25380. [WK2][Qt] Add drag&drop support to Flickable webView
  25381. https://bugs.webkit.org/show_bug.cgi?id=100778
  25382. Reviewed by Jocelyn Turcotte.
  25383. Enable the ItemAcceptsDrops flag in the flickable WebView. This
  25384. will allow the WebView to receive drag&drop events.
  25385. * UIProcess/API/qt/qquickwebview.cpp:
  25386. (QQuickWebViewPrivate::initialize):
  25387. 2012-11-28 Shinya Kawanaka <shinyak@chromium.org>
  25388. [Shadow] Move Distribution stuffs from ShadowRoot
  25389. https://bugs.webkit.org/show_bug.cgi?id=103481
  25390. Reviewed by Hajime Morita.
  25391. * win/WebKit2.def:
  25392. * win/WebKit2CFLite.def:
  25393. 2012-11-28 Tim Horton <timothy_horton@apple.com>
  25394. [mac] Dictionary lookup bubble loses intrarange formatting
  25395. https://bugs.webkit.org/show_bug.cgi?id=103496
  25396. <rdar://problem/12762172>
  25397. Reviewed by Alexey Proskuryakov.
  25398. Pass an NSAttributedString (made via WebHTMLConverter on the WebProcess side) through
  25399. when showing dictionary popups, so that we preserve more formatting in the yellow dictionary
  25400. highlight. Also, remove the fontInfo member from DictionaryPopupInfo, since we don't need it anymore.
  25401. * Shared/DictionaryPopupInfo.cpp:
  25402. (WebKit::DictionaryPopupInfo::encode): Don't encode the now-removed fontInfo member.
  25403. (WebKit::DictionaryPopupInfo::decode): Don't decode the now-removed fontInfo member.
  25404. * Shared/DictionaryPopupInfo.h: Remove the fontInfo member.
  25405. * UIProcess/API/mac/PageClientImpl.h:
  25406. (PageClientImpl): didPerformDictionaryLookup should take an AttributedString instead of a plain String, and
  25407. no longer needs to take the page scale factor.
  25408. * UIProcess/API/mac/PageClientImpl.mm:
  25409. (WebKit::PageClientImpl::didPerformDictionaryLookup): Use the AttributedString we're handed from the WebProcess
  25410. instead of constructing one ourselves; this way, we have all the attributes instead of just a single font.
  25411. * UIProcess/PageClient.h:
  25412. (PageClient): didPerformDictionaryLookup should take an AttributedString instead of a plain String.
  25413. * UIProcess/WebPageProxy.h:
  25414. (WebPageProxy): didPerformDictionaryLookup should take an AttributedString instead of a plain String.
  25415. * UIProcess/WebPageProxy.messages.in: DidPerformDictionaryLookup should take an AttributedString instead of a plain String.
  25416. * UIProcess/mac/WebPageProxyMac.mm:
  25417. (WebKit::WebPageProxy::didPerformDictionaryLookup): didPerformDictionaryLookup should take an AttributedString instead of a plain String.
  25418. * WebProcess/WebPage/mac/WebPageMac.mm:
  25419. (WebKit::WebPage::performDictionaryLookupForRange): performDictionaryLookupForRange should hand WebPageProxy an AttributedString
  25420. constructed via WebHTMLConverter instead of a plain text string paired with a single font descriptor.
  25421. Also, scale the size of every font attribute by the current pageScaleFactor.
  25422. 2012-11-28 peavo@outlook.com <peavo@outlook.com>
  25423. [WinCairo] Crash when requesting favicon.
  25424. https://bugs.webkit.org/show_bug.cgi?id=102689
  25425. Reviewed by Brent Fulgham.
  25426. * win/WebKit2CFLite.def: Link fixes.
  25427. * win/WebKit2.def: Link fixes.
  25428. 2012-11-28 Christophe Dumez <christophe.dumez@intel.com>
  25429. Regression(r135962): m_pendingSyncBackingStores needs to be cleared in LayerTreeRenderer::purgeGLResources()
  25430. https://bugs.webkit.org/show_bug.cgi?id=103527
  25431. Reviewed by Jocelyn Turcotte.
  25432. Make sure m_pendingSyncBackingStores is cleared in
  25433. LayerTreeRenderer::purgeGLResources() to avoid trying to assign
  25434. backing store to layers after everything has been invalidated.
  25435. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  25436. (WebKit::LayerTreeRenderer::purgeGLResources):
  25437. 2012-11-28 Christophe Dumez <christophe.dumez@intel.com>
  25438. Regression(r135962): ASSERTION FAILED: !m_pedningSyncBackingStores.contains(layer)
  25439. https://bugs.webkit.org/show_bug.cgi?id=103498
  25440. Reviewed by Kenneth Rohde Christiansen.
  25441. We hit the !m_pedningSyncBackingStores.contains(layer) assertion
  25442. in LayerTreeRenderer when 2 asynchronous backing store operations
  25443. are pending. The current code checks if the layer already has a
  25444. backing store in its guard but this is insufficient as it is not
  25445. checking the m_pendingSyncBackingStores hash for pending backing
  25446. store changes.
  25447. In this patch, we improve the guards in createBackingStoreIfNeeded()
  25448. and removeBackingStoreIfNeeded() to check not only if the layer has
  25449. already a backing store but also check m_pendingSyncBackingStores
  25450. for pending changes. This is safer and it allows for optimizations
  25451. in the cases where we have both a removal and a creation pending.
  25452. In those cases, we can simply cancel the pending operation instead
  25453. of queueing a new one.
  25454. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  25455. (WebKit::LayerTreeRenderer::getBackingStore):
  25456. (WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
  25457. (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
  25458. (WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
  25459. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  25460. 2012-11-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
  25461. [EFL][WK2] MiniBrowser rendering should not get blurry when scrolled down with different scale values
  25462. https://bugs.webkit.org/show_bug.cgi?id=103079
  25463. Reviewed by Simon Hausmann.
  25464. The problem was caused because we moved the page inside our viewport
  25465. in non-discrete units.
  25466. Now instead of changing the content visible in our viewport by
  25467. applying scale, and then transforming the CSS offset, we now first
  25468. discretely position the page in UI coordinates.
  25469. This patch also removes some dead code.
  25470. * UIProcess/API/efl/EwkViewImpl.cpp:
  25471. (EwkViewImpl::transformFromScene):
  25472. (EwkViewImpl::displayTimerFired):
  25473. Transform according to the page position.
  25474. * UIProcess/API/efl/EwkViewImpl.h:
  25475. (EwkViewImpl::setPagePosition): Now stores a float.
  25476. (EwkViewImpl::discretePagePosition): Returns the discrete page position.
  25477. (EwkViewImpl):
  25478. * UIProcess/efl/PageClientLegacyImpl.cpp:
  25479. (WebKit::PageClientLegacyImpl::updateViewportSize):
  25480. (WebKit::PageClientLegacyImpl::pageDidRequestScroll):
  25481. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  25482. (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
  25483. (WebKit::PageViewportControllerClientEfl::setViewportPosition): Convert to page position.
  25484. (WebKit::PageViewportControllerClientEfl::setContentsScale):
  25485. (WebKit::PageViewportControllerClientEfl::didResumeContent):
  25486. * UIProcess/efl/PageViewportControllerClientEfl.h:
  25487. (WebKit::PageViewportControllerClientEfl::scaleFactor): Use the value
  25488. from the view directly.
  25489. (WebKit::PageViewportControllerClientEfl::contentPosition):
  25490. (PageViewportControllerClientEfl):
  25491. 2012-11-28 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  25492. [EFL][WK2][AC] No need to export GL properties from EwkViewImpl class
  25493. https://bugs.webkit.org/show_bug.cgi?id=103505
  25494. Reviewed by Kenneth Rohde Christiansen.
  25495. No need to export GL data members from EwkViewImpl class,
  25496. those are internal implementation objects not used by anyone outside the class.
  25497. * UIProcess/API/efl/EwkViewImpl.cpp:
  25498. (EwkViewImpl::displayTimerFired):
  25499. (EwkViewImpl::createGLSurface):
  25500. * UIProcess/API/efl/EwkViewImpl.h:
  25501. (EwkViewImpl):
  25502. (EwkViewImpl::evasGLContext):
  25503. (EwkViewImpl::evasGLSurface):
  25504. 2012-11-28 Joone Hur <joone.hur@intel.com>
  25505. [EFL][WK2][AC] Clear the viewport with white color
  25506. https://bugs.webkit.org/show_bug.cgi?id=103495
  25507. When initializing a GL surface, we should clear the buffer with white color.
  25508. Reviewed by Kenneth Rohde Christiansen.
  25509. * UIProcess/API/efl/EwkViewImpl.cpp:
  25510. (EwkViewImpl::createGLSurface):
  25511. 2012-11-27 Jinwoo Song <jinwoo7.song@samsung.com>
  25512. [EFL][WK2] Duplicated WebPageGroup initialization
  25513. https://bugs.webkit.org/show_bug.cgi?id=103229
  25514. Reviewed by Gyuyoung Kim.
  25515. WebPageGroup does not need to be created in creating EwkView when the pageGroupRef is 0
  25516. because the default WebPageGroup(m_defaultPageGroup) is created in WebContext constructor.
  25517. As a side effect on the duplicated initialization, pageGroupID increases even when the EwkView
  25518. is created with default context.
  25519. * UIProcess/API/efl/ewk_view.cpp:
  25520. (createEwkView):
  25521. 2012-11-27 Huang Dongsung <luxtella@company100.net>
  25522. REGRESSION(r135620): ASSERT(m_state.drawsContent && m_state.contentsVisible && !m_size.isEmpty()) hits in TextureMapperLayer::paintSelf().
  25523. https://bugs.webkit.org/show_bug.cgi?id=103171
  25524. Reviewed by Noam Rosenthal.
  25525. Ensure that TextureMapperLayer has a backing store when the layer has
  25526. drawsContent and contentsVisible properties and the size of the layer is not
  25527. empty.
  25528. LayerTreeRenderer::setLayerState() must not set a backing store to
  25529. TextureMapperLayer because setLayerState() just changes states of
  25530. GraphicsLayerTextureMapper instead of TextureMapperLayer.
  25531. Now LayerTreeRenderer::flushLayerChanges() sets a backing store as well as layer
  25532. states to TextureMapperLayer.
  25533. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  25534. (WebKit::LayerTreeRenderer::getBackingStore):
  25535. (WebKit::LayerTreeRenderer::prepareContentBackingStore):
  25536. (WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
  25537. (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
  25538. (WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
  25539. (WebKit::LayerTreeRenderer::flushLayerChanges):
  25540. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  25541. (WebCore):
  25542. 2012-11-27 Tim Horton <timothy_horton@apple.com>
  25543. PDFPlugin: Should not be able to edit read-only text annotations
  25544. https://bugs.webkit.org/show_bug.cgi?id=103387
  25545. <rdar://problem/12752313>
  25546. Reviewed by Alexey Proskuryakov.
  25547. Don't allow read-only annotations to become active.
  25548. * WebKit2.xcodeproj/project.pbxproj: Add PDFAnnotationTextWidgetDetails.h.
  25549. * WebProcess/Plugins/PDF/PDFAnnotationTextWidgetDetails.h: Added.
  25550. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  25551. (WebKit::PDFPlugin::setActiveAnnotation): Bail if the annotation is read-only.
  25552. * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: Move PDFAnnotationTextWidget details category to PDFAnnotationTextWidgetDetails.h
  25553. 2012-11-27 Huang Dongsung <luxtella@company100.net>
  25554. Coordinated Graphics: Refactor code managing a backing store in LayerTreeRenderer.
  25555. https://bugs.webkit.org/show_bug.cgi?id=103298
  25556. Reviewed by Noam Rosenthal.
  25557. This patch makes LayerTreeRenderer assign a content backing store to
  25558. TextureMapperLayer only in setLayerState(). Currently, createTile() can assign
  25559. the backing store to TextureMapperLayer and it can break the invariant condition
  25560. of TextureMapperLayer: TextureMapperLayer can have its own backing store only if
  25561. the layer has following conditions: drawsContent, contentsVisible and non empty
  25562. size.
  25563. In addition, the modified code about creating and removing a backing store
  25564. matches the same purpose code of CoordinatedGraphicsLayer and
  25565. GraphicsLayerTextureMapepr.
  25566. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  25567. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
  25568. (CoordinatedBackingStore):
  25569. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  25570. (WebKit::layerShouldHaveBackingStore):
  25571. (WebKit):
  25572. (WebKit::LayerTreeRenderer::setLayerState):
  25573. (WebKit::LayerTreeRenderer::getBackingStore):
  25574. (WebKit::LayerTreeRenderer::prepareContentBackingStore):
  25575. (WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
  25576. (WebKit::LayerTreeRenderer::removeBackingStore):
  25577. (WebKit::LayerTreeRenderer::resetBackingStoreSizeToLayerSize):
  25578. (WebKit::LayerTreeRenderer::createTile):
  25579. (WebKit::LayerTreeRenderer::removeTile):
  25580. (WebKit::LayerTreeRenderer::updateTile):
  25581. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  25582. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  25583. (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
  25584. This method does not create a backing store anymore because flushCompositingStateForThisLayerOnly()
  25585. can create a backing store if needed. Moreover, we must sync a layer state prior to creating a backing store
  25586. after this patch, because LayerTreeRenderer::createTile() does not create a backing store anymore.
  25587. 2012-11-27 James Simonsen <simonjam@chromium.org>
  25588. Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
  25589. https://bugs.webkit.org/show_bug.cgi?id=102151
  25590. Reviewed by Adam Barth.
  25591. * WebProcess/Plugins/PluginView.cpp:
  25592. (WebKit::PluginView::performFrameLoadURLRequest):
  25593. * WebProcess/WebPage/WebPage.cpp:
  25594. (WebKit::WebPage::loadURLRequest):
  25595. (WebKit::WebPage::loadData):
  25596. 2012-10-22 Jer Noble <jer.noble@apple.com>
  25597. [WK2] [Mac] WebKit Full Screen API should use NSWindow full screen API.
  25598. https://bugs.webkit.org/show_bug.cgi?id=100025
  25599. Reviewed by Dan Bernstein.
  25600. Use the NSWindow full screen API when taking the WebView full screen. To facility the case where the browser window is already
  25601. in full screen mode, no longer hide the browser window when entering full screen. Instead, provide a placeholder view with
  25602. instructions to click the placeholder to exit full screen.
  25603. * UIProcess/mac/WKFullScreenWindowController.h:
  25604. * UIProcess/mac/WKFullScreenWindowController.mm:
  25605. (-[WKFullScreenWindowController init]): Set self as the window's delegate; enable window's full screen action.
  25606. (-[WKFullScreenWindowController dealloc]): Clear our window's delegate.
  25607. (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Remove reference to _updateWindowAndDockForFullScreen.
  25608. (-[WKFullScreenWindowController enterFullScreen:]): Ditto. Create a WKFullScreenPlaceholderView instead of generic NSImageView.
  25609. (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]): Ditto. Call NSWindow enterFullScreen: API.
  25610. (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Show the warning view.
  25611. (-[WKFullScreenWindowController exitFullScreen]): Hide the warning view.
  25612. (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): Add special case where we are exiting
  25613. from full screen mode when the full screen window is not on screen.
  25614. (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Remove reference to _updateMenuAndDockForFullScreen.
  25615. (-[WKFullScreenWindowController customWindowsToEnterFullScreenForWindow:]): Added. Return the background window and the full screen window.
  25616. (-[WKFullScreenWindowController customWindowsToExitFullScreenForWindow:]): Ditto.
  25617. (-[WKFullScreenWindowController window:startCustomAnimationToEnterFullScreenWithDuration:]): Added. Call through to _startEnterFullScreenAnimationWithDuration:
  25618. (-[WKFullScreenWindowController window:startCustomAnimationToExitFullScreenWithDuration:]): Added. Call through to _startExitFullScreenAnimationWithDuration:
  25619. 2012-11-27 Yael Aharon <yael.aharon@intel.com>
  25620. [EFL][WK2] 3D pixel tests are failing
  25621. https://bugs.webkit.org/show_bug.cgi?id=102833
  25622. Reviewed by Kenneth Rohde Christiansen.
  25623. Added an API for generating a snapshot, to be used from WebKitTestRunner.
  25624. * PlatformEfl.cmake:
  25625. * UIProcess/API/C/efl/WKView.cpp:
  25626. (WKViewGetSnapshot):
  25627. * UIProcess/API/C/efl/WKView.h:
  25628. * UIProcess/API/efl/EwkViewImpl.cpp:
  25629. (EwkViewImpl::onFaviconChanged):
  25630. (EwkViewImpl::takeSnapshot):
  25631. * UIProcess/API/efl/EwkViewImpl.h:
  25632. (EwkViewImpl):
  25633. * UIProcess/API/efl/SnapshotImageGL.cpp: Added.
  25634. (getImageFromCurrentTexture):
  25635. * UIProcess/API/efl/SnapshotImageGL.h: Added.
  25636. 2012-11-27 Tim Horton <timothy_horton@apple.com>
  25637. PDFPlugin: Page scale factor should affect subframe PDFs
  25638. https://bugs.webkit.org/show_bug.cgi?id=103291
  25639. <rdar://problem/12555249>
  25640. Reviewed by Darin Adler.
  25641. For subframe PDFs, hand PDFKit the pageScaleFactor for the parent page
  25642. so it can scale its drawing appropriately.
  25643. * WebProcess/Plugins/PDF/PDFPlugin.h: Add updatePageAndDeviceScaleFactors.
  25644. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  25645. (WebKit::PDFPlugin::pdfDocumentDidLoad): Call updatePageAndDeviceScaleFactors
  25646. instead of manually updating PDFLayerController's device scale factor.
  25647. (WebKit::PDFPlugin::updatePageAndDeviceScaleFactors): Hand PDFLayerController
  25648. the "underlying" (non-zoom) content scale, which is the product of the
  25649. device scale and the page scale.
  25650. (WebKit::PDFPlugin::contentsScaleFactorChanged): Use updatePageAndDeviceScaleFactors.
  25651. (WebKit::PDFPlugin::geometryDidChange): Use updatePageAndDeviceScaleFactors to keep
  25652. PDFLayerController's notion of the page scale up to date when the plugin's
  25653. geometry changes.
  25654. 2012-11-27 Tim Horton <timothy_horton@apple.com>
  25655. PDFPlugin: Scroll bars do not grow on hover
  25656. https://bugs.webkit.org/show_bug.cgi?id=103382
  25657. <rdar://problem/12555262>
  25658. Reviewed by Beth Dakin.
  25659. PDFPlugin needs to forward relevant mouse events to the scrollbars.
  25660. In addition, it needs to implement currentMousePosition so ScrollableArea and friends
  25661. can find the mouse position at arbitrary times.
  25662. I also took this opportunity to factor some coordinate space conversion functions out.
  25663. * WebProcess/Plugins/PDF/PDFPlugin.h:
  25664. (WebKit::PDFPlugin::currentMousePosition): Added. Return the last mouse position in our coordinate space.
  25665. (WebKit::PDFPlugin::convertFromRootViewToPlugin): Added.
  25666. (WebKit::PDFPlugin::convertFromPluginToPDFView): Added.
  25667. (PDFPlugin):
  25668. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  25669. (WebKit::PDFPlugin::convertFromRootViewToPlugin): Convert a point from content space to plugin space, via the transform we get in geometryDidChange.
  25670. (WebKit::PDFPlugin::convertFromPluginToPDFView): Convert a point from plugin space to PDFLayerController's flipped coordinate space.
  25671. (WebKit::PDFPlugin::geometryDidChange): Use convertFromPluginToPDFView.
  25672. (WebKit::PDFPlugin::nsEventForWebMouseEvent): Cache the mouse position in plugin space instead of PDFLayerController space. Use our new conversion functions.
  25673. (WebKit::PDFPlugin::handleMouseEvent): Forward relevant mouse events to scrollbars:
  25674. Determine which scrollbar the mouse is over now, and which it was previously over, and use that to:
  25675. If the mouse is moved over a scrollbar, send mouseEntered to the scrollbar.
  25676. If the mouse is moved out of a scrollbar, send mouseExited to the scrollbar.
  25677. If the mouse is currently over a scrollbar, send mouseMoved/Up/Down to the scrollbar instead of PDFLayerController.
  25678. If the mouse is currently over the scroll corner, bail, because nobody should get those events.
  25679. 2012-11-27 Dan Bernstein <mitz@apple.com>
  25680. Entering Tab View after a bunch of YouTube pages were opened in background tabs makes all of them start playing simultaneously
  25681. https://bugs.webkit.org/show_bug.cgi?id=103358
  25682. Reviewed by Adele Peterson.
  25683. To fix this, this patch adds WKPageSetMayStartMediaWhenInWindow(), which allows the client to
  25684. prevent media from starting automatically when the view is put in a window.
  25685. * Shared/WebPageCreationParameters.cpp:
  25686. (WebKit::WebPageCreationParameters::encode): Encode mayStartMediaWhenInWindow.
  25687. (WebKit::WebPageCreationParameters::decode): Decode mayStartMediaWhenInWindow.
  25688. * Shared/WebPageCreationParameters.h:
  25689. (WebPageCreationParameters): Added boolean member mayStartMediaWhenInWindow.
  25690. * UIProcess/API/C/WKPage.cpp:
  25691. (WKPageSetMayStartMediaWhenInWindow): Added. Calls through to WebPageProxy.
  25692. * UIProcess/API/C/WKPagePrivate.h: Declared WKPageSetMayStartMediaWhenInWindow.
  25693. * UIProcess/WebPageProxy.cpp:
  25694. (WebKit::WebPageProxy::WebPageProxy): Added initializiation of m_mayStartMediaWhenInWindow
  25695. to true, the value matching the current behavior.
  25696. (WebKit::WebPageProxy::setMayStartMediaWhenInWindow): Added. Updates
  25697. m_mayStartMediaWhenInWindow and sends a message to the Web process to do the same.
  25698. (WebKit::WebPageProxy::creationParameters): Changed to set mayStartMediaWhenInWindow in the
  25699. process creation parameters.
  25700. * UIProcess/WebPageProxy.h:
  25701. (WebPageProxy): Declared setMayStartMediaWhenInWindow() and added member variable
  25702. m_mayStartMediaWhenInWindow.
  25703. * WebProcess/WebPage/WebPage.cpp:
  25704. (WebKit::WebPage::WebPage): Initialized m_mayStartMediaWhenInWindow from the creation
  25705. parameters.
  25706. (WebKit::WebPage::setIsInWindow): Made starting of media upon being added to a window
  25707. conditional on m_mayStartMediaWhenInWindow.
  25708. (WebKit::WebPage::setMayStartMediaWhenInWindow): Added. Sets m_mayStartMediaWhenInWindow. If
  25709. already in a window when changing from false to true, starts m_setCanStartMediaTimer.
  25710. * WebProcess/WebPage/WebPage.h:
  25711. (WebPage): Declared setMayStartMediaWhenInWindow() and added member variable m_mayStartMediaWhenInWindow.
  25712. * WebProcess/WebPage/WebPage.messages.in: Added SetMayStartMediaWhenInWindow.
  25713. 2012-11-27 Pratik Solanki <psolanki@apple.com>
  25714. objc/objc-runtime.h does not exist on all PLATFORM(MAC)
  25715. https://bugs.webkit.org/show_bug.cgi?id=101780
  25716. Reviewed by Brent Fulgham.
  25717. Clean up header includes so we don't include objc/objc-runtime.h.
  25718. * PluginProcess/mac/PluginProcessShim.mm:
  25719. * UIProcess/API/mac/PDFViewController.mm:
  25720. 2012-11-27 Alexey Proskuryakov <ap@apple.com>
  25721. [WK2] WebPageProxy::relatedPages() cannot assume that this page is known to process
  25722. https://bugs.webkit.org/show_bug.cgi?id=103433
  25723. <rdar://problem/12543513>
  25724. Reviewed by Jessie Berlin.
  25725. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::relatedPages): Removed an incorrect
  25726. assertion, and modified code to not rely on its condition being true.
  25727. 2012-11-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  25728. [EFL][Qt][WK2] Tiles not always painted
  25729. https://bugs.webkit.org/show_bug.cgi?id=103271
  25730. Reviewed by Kenneth Rohde Christiansen.
  25731. The problem turned up because visible content was synchromized before the new fixed
  25732. layout size had been applied in the web process.
  25733. * UIProcess/PageViewportController.cpp:
  25734. (WebKit::PageViewportController::didChangeViewportSize):
  25735. (WebKit::PageViewportController::didChangeViewportAttributes):
  25736. 2012-11-27 Yael Aharon <yael.aharon@intel.com>
  25737. [EFL] Graphics layer edges are sometimes very pixelated
  25738. https://bugs.webkit.org/show_bug.cgi?id=103302
  25739. Reviewed by Kenneth Rohde Christiansen.
  25740. The call setEnableEdgeDistanceAntialiasing(true) was lost in the refactoring of
  25741. http://trac.webkit.org/changeset/135401.
  25742. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  25743. (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
  25744. 2012-11-27 KwangYong Choi <ky0.choi@samsung.com>
  25745. [X11] Allow empty plugin name and description during scan plugin
  25746. https://bugs.webkit.org/show_bug.cgi?id=103234
  25747. Reviewed by Simon Hausmann.
  25748. Empty entries should be allowed when split the output string of scan plugin
  25749. because the plugin name and the description can be empty string.
  25750. * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
  25751. (WebKit::PluginProcessProxy::scanPlugin):
  25752. * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
  25753. (WebKit::PluginProcessProxy::scanPlugin):
  25754. 2012-11-27 Sheriff Bot <webkit.review.bot@gmail.com>
  25755. Unreviewed, rolling out r135819.
  25756. http://trac.webkit.org/changeset/135819
  25757. https://bugs.webkit.org/show_bug.cgi?id=103388
  25758. It broke many tests on Qt and EFL WK2 platforms (Requested by
  25759. Ossy on #webkit).
  25760. * Shared/WebPageCreationParameters.cpp:
  25761. (WebKit::WebPageCreationParameters::encode):
  25762. (WebKit::WebPageCreationParameters::decode):
  25763. * Shared/WebPageCreationParameters.h:
  25764. (WebPageCreationParameters):
  25765. * UIProcess/API/C/WKPage.cpp:
  25766. (WKPageCopyRelatedPages):
  25767. * UIProcess/API/C/WKPagePrivate.h:
  25768. * UIProcess/WebPageProxy.cpp:
  25769. (WebKit::WebPageProxy::WebPageProxy):
  25770. (WebKit::WebPageProxy::creationParameters):
  25771. * UIProcess/WebPageProxy.h:
  25772. (WebPageProxy):
  25773. * WebProcess/WebPage/WebPage.cpp:
  25774. (WebKit::WebPage::WebPage):
  25775. (WebKit::WebPage::setIsInWindow):
  25776. * WebProcess/WebPage/WebPage.h:
  25777. (WebPage):
  25778. * WebProcess/WebPage/WebPage.messages.in:
  25779. 2012-11-27 Kyungjin Kim <gen.kim@samsung.com>
  25780. [WK2] Expose Accelerated2dCanvas flag set and get in WebKit2
  25781. https://bugs.webkit.org/show_bug.cgi?id=103008
  25782. Reviewed by Gyuyoung Kim.
  25783. Fix API names in WKPreferences from 2d to 2D.
  25784. * UIProcess/API/C/WKPreferences.cpp:
  25785. (WKPreferencesSetAccelerated2DCanvasEnabled):
  25786. (WKPreferencesGetAccelerated2DCanvasEnabled):
  25787. * UIProcess/API/C/WKPreferencesPrivate.h:
  25788. 2012-11-27 Sheriff Bot <webkit.review.bot@gmail.com>
  25789. Unreviewed, rolling out r135786.
  25790. http://trac.webkit.org/changeset/135786
  25791. https://bugs.webkit.org/show_bug.cgi?id=103379
  25792. It made 3 plugin tests timeout on several platforms (Requested
  25793. by Ossy on #webkit).
  25794. * WebProcess/Plugins/PluginView.cpp:
  25795. (WebKit::PluginView::performFrameLoadURLRequest):
  25796. * WebProcess/WebPage/WebPage.cpp:
  25797. (WebKit::WebPage::loadURLRequest):
  25798. (WebKit::WebPage::loadData):
  25799. (WebKit::WebPage::linkClicked):
  25800. 2012-11-27 Huang Dongsung <luxtella@company100.net>
  25801. Coordinated Graphics: Remove the maskTarget member of CoordinatedGraphicsLayer.
  25802. https://bugs.webkit.org/show_bug.cgi?id=103297
  25803. Reviewed by Noam Rosenthal.
  25804. Remove the maskTarget member of CoordinatedGraphicsLayer, which is not used.
  25805. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  25806. (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
  25807. (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
  25808. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  25809. (CoordinatedGraphicsLayer):
  25810. 2012-11-26 Sheriff Bot <webkit.review.bot@gmail.com>
  25811. Unreviewed, rolling out r135822.
  25812. http://trac.webkit.org/changeset/135822
  25813. https://bugs.webkit.org/show_bug.cgi?id=103369
  25814. Undo the revert of r135818, since that change does not affect
  25815. code used by Chromium (Requested by apavlov on #webkit).
  25816. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  25817. (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
  25818. (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
  25819. 2012-11-26 Sheriff Bot <webkit.review.bot@gmail.com>
  25820. Unreviewed, rolling out r135818.
  25821. http://trac.webkit.org/changeset/135818
  25822. https://bugs.webkit.org/show_bug.cgi?id=103368
  25823. platform/chromium/virtual/threaded/compositing/visibility
  25824. /visibility-simple-webgl-layer.html crash on Mountain Lion
  25825. (Requested by apavlov on #webkit).
  25826. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  25827. (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
  25828. (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
  25829. 2012-11-26 Dan Bernstein <mitz@apple.com>
  25830. <rdar://problem/11931191> Entering Tab View after a bunch of YouTube pages were opened in background tabs makes all of them start playing simultaneously
  25831. https://bugs.webkit.org/show_bug.cgi?id=103358
  25832. Reviewed by Adele Peterson.
  25833. To fix this, this patch adds WKPageSetMayStartMediaWhenInWindow(), which allows the client to
  25834. prevent media from starting automatically when the view is put in a window.
  25835. * Shared/WebPageCreationParameters.cpp:
  25836. (WebKit::WebPageCreationParameters::encode): Encode mayStartMediaWhenInWindow.
  25837. (WebKit::WebPageCreationParameters::decode): Decode mayStartMediaWhenInWindow.
  25838. * Shared/WebPageCreationParameters.h:
  25839. (WebPageCreationParameters): Added boolean member mayStartMediaWhenInWindow.
  25840. * UIProcess/API/C/WKPage.cpp:
  25841. (WKPageSetMayStartMediaWhenInWindow): Added. Calls through to WebPageProxy.
  25842. * UIProcess/API/C/WKPagePrivate.h: Declared WKPageSetMayStartMediaWhenInWindow.
  25843. * UIProcess/WebPageProxy.cpp:
  25844. (WebKit::WebPageProxy::WebPageProxy): Added initializiation of m_mayStartMediaWhenInWindow
  25845. to true, the value matching the current behavior.
  25846. (WebKit::WebPageProxy::setMayStartMediaWhenInWindow): Added. Updates
  25847. m_mayStartMediaWhenInWindow and sends a message to the Web process to do the same.
  25848. (WebKit::WebPageProxy::creationParameters): Changed to set mayStartMediaWhenInWindow in the
  25849. process creation parameters.
  25850. * UIProcess/WebPageProxy.h:
  25851. (WebPageProxy): Declared setMayStartMediaWhenInWindow() and added member variable
  25852. m_mayStartMediaWhenInWindow.
  25853. * WebProcess/WebPage/WebPage.cpp:
  25854. (WebKit::WebPage::WebPage): Initialized m_mayStartMediaWhenInWindow from the creation
  25855. parameters.
  25856. (WebKit::WebPage::setIsInWindow): Made starting of media upon being added to a window
  25857. conditional on m_mayStartMediaWhenInWindow.
  25858. (WebKit::WebPage::setMayStartMediaWhenInWindow): Added. Sets m_mayStartMediaWhenInWindow. If
  25859. already in a window when changing from false to true, starts m_setCanStartMediaTimer.
  25860. * WebProcess/WebPage/WebPage.h:
  25861. (WebPage): Declared setMayStartMediaWhenInWindow() and added member variable m_mayStartMediaWhenInWindow.
  25862. * WebProcess/WebPage/WebPage.messages.in: Added SetMayStartMediaWhenInWindow.
  25863. 2012-11-26 Huang Dongsung <luxtella@company100.net>
  25864. Coordinated Graphics: Set visibility to a mask layer in GraphicsLayer::setContentsVisible().
  25865. https://bugs.webkit.org/show_bug.cgi?id=103297
  25866. Reviewed by Noam Rosenthal.
  25867. GraphicsLayerTextureMapper and CoordinatedGraphicsLayer set the visibility of a
  25868. mask layer in setContentsVisible() and setMaskLayer() like setting a size.
  25869. This patch is needed because RenderLayerBacking does not set the visibility to a
  25870. mask layer like the size.
  25871. This patch does not change user experience because an invisible layer is not
  25872. rendered although the mask layer is rendered. In that sense, it is an
  25873. optimization patch.
  25874. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  25875. (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
  25876. (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
  25877. 2012-11-26 Kyungjin Kim <gen.kim@samsung.com>
  25878. [WK2] Expose Accelerated2dCanvas flag set and get in WebKit2
  25879. https://bugs.webkit.org/show_bug.cgi?id=103008
  25880. Reviewed by Gyuyoung Kim.
  25881. Add setting APIs for accelerated 2d canvas in WebKit2.
  25882. * Shared/WebPreferencesStore.h:
  25883. (WebKit):
  25884. * UIProcess/API/C/WKPreferences.cpp:
  25885. (WKPreferencesSetAccelerated2dCanvasEnabled):
  25886. (WKPreferencesGetAccelerated2dCanvasEnabled):
  25887. * UIProcess/API/C/WKPreferencesPrivate.h:
  25888. * WebProcess/WebPage/WebPage.cpp:
  25889. (WebKit::WebPage::updatePreferences):
  25890. 2012-11-26 Tim Horton <timothy_horton@apple.com>
  25891. Ensure that plugins are initialized before using handleEditingCommand/isEditingCommandEnabled/shouldAllowScripting
  25892. https://bugs.webkit.org/show_bug.cgi?id=103288
  25893. Reviewed by Dan Bernstein.
  25894. Other PluginView methods that use m_plugin null-check m_plugin and check
  25895. that the plugin has finished initializing before using it. These three
  25896. should do the same thing.
  25897. * WebProcess/Plugins/PluginView.cpp:
  25898. (WebKit::PluginView::handleEditingCommand):
  25899. (WebKit::PluginView::isEditingCommandEnabled):
  25900. (WebKit::PluginView::shouldAllowScripting):
  25901. 2012-11-26 Tim Horton <timothy_horton@apple.com>
  25902. PDFPlugin: Subframe PDF context menus are in the wrong place
  25903. https://bugs.webkit.org/show_bug.cgi?id=103284
  25904. <rdar://problem/12727972>
  25905. Reviewed by Dan Bernstein.
  25906. Event position is in window coordinates, not content coordinates.
  25907. Since we have no windowToScreen(), use windowToContents and contentsToScreen
  25908. to get to screen coordinate space, which WKPopupContextMenu wants.
  25909. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  25910. (WebKit::PDFPlugin::handleContextMenuEvent):
  25911. 2012-11-26 Tim Horton <timothy_horton@apple.com>
  25912. PDFPlugin: Ctrl-click opens a link in a PDF in addition to context menu
  25913. https://bugs.webkit.org/show_bug.cgi?id=103282
  25914. <rdar://problem/12710892>
  25915. Reviewed by Dan Bernstein.
  25916. Don't send standard mouse events to PDFKit if a click will also show/hide the context menu.
  25917. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  25918. (WebKit::PDFPlugin::handleMouseEvent):
  25919. 2012-11-26 Ryuan Choi <ryuan.choi@gmail.com>
  25920. [EFL] Unreviewed build fix after r135767 without Tiled Backing Store
  25921. https://bugs.webkit.org/show_bug.cgi?id=103320
  25922. Unreviewed build fix.
  25923. * WebProcess/Plugins/Plugin.cpp:
  25924. * WebProcess/Plugins/Plugin.h:
  25925. (WebCore):
  25926. 2012-11-26 James Simonsen <simonjam@chromium.org>
  25927. Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
  25928. https://bugs.webkit.org/show_bug.cgi?id=102151
  25929. Reviewed by Adam Barth.
  25930. * WebProcess/Plugins/PluginView.cpp:
  25931. (WebKit::PluginView::performFrameLoadURLRequest):
  25932. * WebProcess/WebPage/WebPage.cpp:
  25933. (WebKit::WebPage::loadURLRequest):
  25934. (WebKit::WebPage::loadData):
  25935. 2012-11-26 Jon Lee <jonlee@apple.com>
  25936. Pass clicks through to the restarted plugin
  25937. https://bugs.webkit.org/show_bug.cgi?id=102150
  25938. <rdar://problem/12695575>
  25939. Reviewed by Simon Fraser.
  25940. Expose convertToRootView() as a public function for all plugins. It converts the click point
  25941. from local plugin coordinates to root view coordinates. When the events are sent to the
  25942. plugin, the coordinate gets converted back to the local reference frame.
  25943. * WebProcess/Plugins/Plugin.cpp:
  25944. (WebKit::Plugin::convertToRootView): Default implementation should not be reached.
  25945. * WebProcess/Plugins/Plugin.h: Promote convertToRootView() from NetscapePlugin.h.
  25946. * WebProcess/Plugins/Netscape/NetscapePlugin.h: An implementation already existed. Make the
  25947. method virtual.
  25948. * WebProcess/Plugins/PluginProxy.h:
  25949. * WebProcess/Plugins/PluginProxy.cpp:
  25950. (WebKit::PluginProxy::convertToRootView): Apply the transform to the provided point to return
  25951. a point in root view coordinates.
  25952. Change the threshold state to PlayingWithPendingMouseClick instead of Playing, since that is
  25953. the earliest state where the plugin is playing.
  25954. * WebProcess/Plugins/PluginView.cpp: Give the snapshot a little more time to generate.
  25955. (WebKit::PluginView::didInitializePlugin): When the plugin has initialized, tell the plugin
  25956. element to dispatch the pending mouse click.
  25957. (WebKit::PluginView::paint):
  25958. (WebKit::PluginView::createWebEvent): Helper function to convert a WebCore mouse event to a
  25959. WebMouseEvent.
  25960. (WebKit::PluginView::handleEvent): If the event is simulated, there is no source event from
  25961. the UI process. So we fabricate one based on the simulated event.
  25962. (WebKit::PluginView::invalidateRect):
  25963. (WebKit::PluginView::isAcceleratedCompositingEnabled):
  25964. * WebProcess/Plugins/PluginView.h:
  25965. 2012-11-26 Kalev Lember <kalevlember@gmail.com>
  25966. [GTK] Explicitly link against librt
  25967. https://bugs.webkit.org/show_bug.cgi?id=103194
  25968. Reviewed by Martin Robinson.
  25969. Fixes broken build with undefined references to shm_open / shm_unlink
  25970. symbols. SharedMemoryUnix.cpp uses these so we need to link with -lrt.
  25971. * GNUmakefile.am:
  25972. 2012-11-26 Christophe Dumez <christophe.dumez@intel.com>
  25973. [EFL][WK2] Add setting to enable / disable HTML5 local storage functionality
  25974. https://bugs.webkit.org/show_bug.cgi?id=103224
  25975. Reviewed by Laszlo Gombos.
  25976. Add API to ewk_settings to enable / disable the HTML5
  25977. local storage functionality. The functionality is
  25978. enabled by default.
  25979. * UIProcess/API/efl/ewk_settings.cpp:
  25980. (ewk_settings_local_storage_enabled_set):
  25981. (ewk_settings_local_storage_enabled_get):
  25982. * UIProcess/API/efl/ewk_settings.h:
  25983. * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
  25984. (TEST_F): Add API test for ewk_settings_local_storage_enabled_get / set.
  25985. 2012-11-26 Rafael Brandao <rafael.lobo@openbossa.org>
  25986. [CoordinatedGraphics] Access to LayerTreeRenderer::m_renderQueue should be thread safe
  25987. https://bugs.webkit.org/show_bug.cgi?id=101341
  25988. Reviewed by Noam Rosenthal.
  25989. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  25990. (WebKit::LayerTreeRenderer::syncRemoteContent): The previous swap already clears the
  25991. vector on m_renderQueue. It is also done in a thread-safe way, so clearing it afterward
  25992. can be harmful as we've already released the lock.
  25993. 2012-11-26 Jaehun Lim <ljaehun.lim@samsung.com>
  25994. Text Autosizing: Add Text Autosizing APIs for WK2
  25995. https://bugs.webkit.org/show_bug.cgi?id=100633
  25996. Reviewed by Sam Weinig.
  25997. Implement basic Text Autosizing APIs for WK2.
  25998. Text Autosizing is a useful feature for mobile browsers. It adjusts the font size
  25999. of text in wide columns, and makes text more legible.
  26000. This patch adds setting APIs for Text Autosizing in WK2.
  26001. * Shared/WebPreferencesStore.h:
  26002. (WebKit):
  26003. * UIProcess/API/C/WKPreferences.cpp:
  26004. (WKPreferencesSetTextAutosizingEnabled):
  26005. (WKPreferencesGetTextAutosizingEnabled):
  26006. * UIProcess/API/C/WKPreferences.h:
  26007. * WebProcess/WebPage/WebPage.cpp:
  26008. (WebKit::WebPage::updatePreferences):
  26009. 2012-11-26 Pierre Rossi <pierre.rossi@gmail.com>
  26010. [Qt] REGRESSION(r135575): It made all tests assert
  26011. https://bugs.webkit.org/show_bug.cgi?id=103169
  26012. Reviewed by Simon Hausmann.
  26013. This fixes another regression introduced in r135515:
  26014. initializeWebKitQt shouldn't implicitely call initializeWebCoreQt
  26015. since it can be called from WebKit2 to initialize QStyle for testing.
  26016. This would then lead to things such as PlatformStrategies being
  26017. initialized twice.
  26018. * qt/MainQt.cpp: No need to initialize anything if we're not using QStyle.
  26019. (WebKit):
  26020. (main):
  26021. 2012-11-26 Huang Dongsung <luxtella@company100.net>
  26022. REGRESSION(134142): ASSERT(!m_size.isZero()) hits in CoordinatedBackingStore::paintToTextureMapper().
  26023. https://bugs.webkit.org/show_bug.cgi?id=103217
  26024. Reviewed by Noam Rosenthal.
  26025. It is possible for CoordinatedBackingStore of directed composited image to not
  26026. have tiles, because CoordinatedImageBacking does not create tiles when the image
  26027. is invisible.
  26028. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  26029. (WebKit::CoordinatedBackingStore::paintToTextureMapper):
  26030. 2012-11-25 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  26031. [WK2] TiledBackingStore: page contents is scaled wrongly
  26032. https://bugs.webkit.org/show_bug.cgi?id=103090
  26033. Reviewed by Kenneth Rohde Christiansen.
  26034. Before this change the page contents scaling in PageViewportController was
  26035. defined all the times by m_rawAttributes.initialScale. If initial scale had not
  26036. been specified in the viewport meta tag it was set to m_minimumScaleToFit inside
  26037. PageViewportController::didChangeViewportAttributes().
  26038. The problem was that m_minimumScaleToFit could have wrong value as contents size
  26039. might have not be updated by the time PageViewportController::didChangeViewportAttributes()
  26040. was invoked.
  26041. The solution is to use m_minimumScaleToFit for contents scaling if initial scale
  26042. is not specified in the viewport meta tag, as it is updated all the time.
  26043. Also a flag m_initiallyFitToViewport is added to PageViewportController to detect
  26044. whether m_minimumScaleToFit should be used for scaling.
  26045. * UIProcess/PageViewportController.cpp:
  26046. (WebKit::PageViewportController::PageViewportController):
  26047. (WebKit::PageViewportController::didChangeContentsSize):
  26048. (WebKit::PageViewportController::pageTransitionViewportReady):
  26049. (WebKit::PageViewportController::didChangeViewportAttributes):
  26050. * UIProcess/PageViewportController.h:
  26051. (PageViewportController):
  26052. 2012-11-24 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  26053. [EFL][WK2] Stop the mess with DECLARE_EWK_VIEW_CALLBACK arg type definition
  26054. https://bugs.webkit.org/show_bug.cgi?id=103187
  26055. Reviewed by Kenneth Rohde Christiansen.
  26056. Now the client should pass to DECLARE_EWK_VIEW_CALLBACK macro exacly the
  26057. same arg type s/he wants to have in the Ewk_View callback.
  26058. * UIProcess/API/efl/EwkViewCallbacks.h:
  26059. (EvasObjectHolder):
  26060. (EwkViewCallbacks::EvasObjectHolder::EvasObjectHolder):
  26061. (EwkViewCallbacks):
  26062. 2012-11-24 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  26063. [EFL][WK2] Check errors in EwkView callbacks usage at compile time
  26064. https://bugs.webkit.org/show_bug.cgi?id=103177
  26065. Reviewed by Kenneth Rohde Christiansen.
  26066. Errors in EwkView callbacks usage are now checked at compile time.
  26067. * UIProcess/API/efl/EwkViewCallbacks.h:
  26068. (CallBack):
  26069. (EwkViewCallbacks::CallBack::CallBack):
  26070. (EwkViewCallbacks::CallBack::call):
  26071. 2012-11-23 Sheriff Bot <webkit.review.bot@gmail.com>
  26072. Unreviewed, rolling out r135575.
  26073. http://trac.webkit.org/changeset/135575
  26074. https://bugs.webkit.org/show_bug.cgi?id=103169
  26075. It made all tests assert (Requested by Ossy on #webkit).
  26076. * qt/MainQt.cpp:
  26077. (WebKit):
  26078. (main):
  26079. 2012-11-23 Alexis Menard <alexis@webkit.org>
  26080. [CSS3 Backgrounds and Borders] Implement new CSS3 background-position parsing.
  26081. https://bugs.webkit.org/show_bug.cgi?id=102104
  26082. Reviewed by Julien Chaffraix.
  26083. Protect the new feature behind a feature flag.
  26084. * Configurations/FeatureDefines.xcconfig:
  26085. 2012-11-23 Huang Dongsung <luxtella@company100.net>
  26086. Coordinated Graphics: Match the behavior of selfOrAncestorHaveNonAffineTransforms() to its name.
  26087. https://bugs.webkit.org/show_bug.cgi?id=103097
  26088. Reviewed by Noam Rosenthal.
  26089. CoordinatedGraphicsLayer::selfOrAncestorHaveNonAffineTransforms() does
  26090. not check its ancestor. This patch makes this method check its ancestor
  26091. to match its name.
  26092. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  26093. (WebCore::CoordinatedGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):
  26094. 2012-11-23 Huang Dongsung <luxtella@company100.net>
  26095. Coordinated Graphics: LayerTreeRenderer::removeTile() does not remove tiles actually.
  26096. https://bugs.webkit.org/show_bug.cgi?id=103030
  26097. Reviewed by Noam Rosenthal.
  26098. LayerTreeRenderer::removeTile() must add a backing store into
  26099. m_backingStoresWithPendingBuffers. Otherwise, tiles are not removed.
  26100. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  26101. (WebKit::LayerTreeRenderer::removeTile):
  26102. 2012-11-23 Huang Dongsung <luxtella@company100.net>
  26103. [TexMap] Remove dependency of TextureMapperLayer on GraphicsLayerTextureMapper.
  26104. https://bugs.webkit.org/show_bug.cgi?id=103046
  26105. Reviewed by Noam Rosenthal.
  26106. This patch makes GraphicsLayerTextureMapper create its own backing
  26107. store. However, LayerTreeRenderer also creates its own backing store. So
  26108. when LayerTreeRenderer uses GraphicsLayerTextureMapper,
  26109. LayerTreeRenderer needs GraphicsLayerTextureMapper to not create its own
  26110. backing store.
  26111. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  26112. (WebKit::LayerTreeRenderer::createLayer):
  26113. (WebKit::LayerTreeRenderer::getBackingStore):
  26114. 2012-11-23 Huang Dongsung <luxtella@company100.net>
  26115. REGRESSION(r135486): ASSERT(isMainThread()) hit in LayerTreeRenderer::setActive(bool)
  26116. https://bugs.webkit.org/show_bug.cgi?id=103077
  26117. Reviewed by Noam Rosenthal.
  26118. Currently, the painting thread uses purgeGLResources() and setActive().
  26119. QQuickWebPage::updatePaintNode() indirectly calls both methods after
  26120. locking the main thread.
  26121. This patch changes two points.
  26122. 1. Remove ASSERT(isMainThread()) in methods that the painting thread can
  26123. call.
  26124. 2. Make purgeGLResources() and setActive() call methods of
  26125. LayerTreeCoordinatorProxy via dispatchOnMainThread().
  26126. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  26127. (WebKit::LayerTreeRenderer::LayerTreeRenderer):
  26128. (WebKit::LayerTreeRenderer::renderNextFrame):
  26129. (WebKit::LayerTreeRenderer::purgeGLResources):
  26130. (WebKit):
  26131. (WebKit::LayerTreeRenderer::purgeBackingStores):
  26132. (WebKit::LayerTreeRenderer::setActive):
  26133. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  26134. (LayerTreeRenderer):
  26135. 2012-11-23 Christophe Dumez <christophe.dumez@intel.com>
  26136. [EFL][WK2][AC] EwkViewImpl::transformToScreen() does not retrieve the Ecore_X_Window properly
  26137. https://bugs.webkit.org/show_bug.cgi?id=103133
  26138. Reviewed by Kenneth Rohde Christiansen.
  26139. If accelerated compositing is enabled, EwkViewImpl::transformToScreen() should
  26140. attempt to retrieve the Ecore_X_Window using ecore_evas_gl_x11_window_get() first
  26141. and only fall back to ecore_evas_software_x11_window_get().
  26142. * UIProcess/API/efl/EwkViewImpl.cpp:
  26143. (EwkViewImpl::transformToScreen):
  26144. 2012-11-23 Wojciech Bielawski <w.bielawski@samsung.com>
  26145. [WK2][WKTR] WebKitTestRunner needs eventSender.contextClick()
  26146. https://bugs.webkit.org/show_bug.cgi?id=86881
  26147. Reviewed by Kenneth Rohde Christiansen.
  26148. InjectedBundle API extended to retrieve contextMenu entries names.
  26149. WebContextMenu exteded with function to retrieve menu items.
  26150. This API is required by layout tests.
  26151. Common code in WebContextMenu.cpp moved to separate method menuItemsWithUserData().
  26152. Behaviour of dependend methods is unchanged.
  26153. * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  26154. (WKBundlePageGetContextMenuEntriesNames):
  26155. * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  26156. * WebProcess/WebPage/WebContextMenu.cpp:
  26157. (WebKit::WebContextMenu::items):
  26158. (WebKit):
  26159. * WebProcess/WebPage/WebContextMenu.h:
  26160. (WebContextMenu):
  26161. 2012-11-22 Pierre Rossi <pierre.rossi@gmail.com>
  26162. [Qt] Avoid initializing PlatformStrategies twice.
  26163. Rubber-stamped by Simon Hausmann.
  26164. This fixes another regression introduced in r135515:
  26165. initializeWebKitQt shouldn't implicitely call initializeWebCoreQt
  26166. since it can be called from WebKit2 to initialize QStyle for testing.
  26167. This would then lead to things such as PlatformStrategies being
  26168. initialized twice.
  26169. * qt/MainQt.cpp: No need to initialize anything if we're not using QStyle.
  26170. (WebKit):
  26171. (main):
  26172. 2012-11-22 Carlos Garcia Campos <cgarcia@igalia.com>
  26173. [GTK] Use custom private macros to define GObjects
  26174. https://bugs.webkit.org/show_bug.cgi?id=99705
  26175. Reviewed by Martin Robinson.
  26176. Add WEBKIT_DEFINE_TYPE macros, similar and compatible with
  26177. G_DEFINE_TYPE macros, to define GObject types. These macros also
  26178. define the init and finalize functions reducing the GObject
  26179. boilerplate and hiding the placement new syntax that causes some
  26180. confusion. The patch replaces the use of G_DEFINE_TYPE macros by
  26181. WEBKIT_DEFINE_TYPE ones and removes the init and finalize
  26182. implementations, moving custom code when needed to the private
  26183. struct constructor/destructor or constructed/dispose virtual
  26184. methods when appropriate.
  26185. * UIProcess/API/gtk/WebKitBackForwardList.cpp:
  26186. * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
  26187. (webkit_back_forward_list_item_class_init):
  26188. * UIProcess/API/gtk/WebKitContextMenu.cpp:
  26189. (webkitContextMenuDispose):
  26190. (webkit_context_menu_class_init):
  26191. * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
  26192. (_WebKitContextMenuItemPrivate::~_WebKitContextMenuItemPrivate):
  26193. (_WebKitContextMenuItemPrivate):
  26194. (webkit_context_menu_item_class_init):
  26195. * UIProcess/API/gtk/WebKitCookieManager.cpp:
  26196. (_WebKitCookieManagerPrivate::~_WebKitCookieManagerPrivate):
  26197. (_WebKitCookieManagerPrivate):
  26198. * UIProcess/API/gtk/WebKitDownload.cpp:
  26199. (webkit_download_class_init):
  26200. * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
  26201. (webkit_favicon_database_class_init):
  26202. * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
  26203. (webkitFileChooserRequestDispose):
  26204. (webkit_file_chooser_request_class_init):
  26205. * UIProcess/API/gtk/WebKitFindController.cpp:
  26206. (webkit_find_controller_class_init):
  26207. * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
  26208. (webkitFormSubmissionRequestDispose):
  26209. (webkit_form_submission_request_class_init):
  26210. * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp:
  26211. (webkitGeolocationPermissionRequestDispose):
  26212. (webkit_geolocation_permission_request_class_init):
  26213. * UIProcess/API/gtk/WebKitHitTestResult.cpp:
  26214. (webkit_hit_test_result_class_init):
  26215. * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
  26216. (webkit_navigation_policy_decision_class_init):
  26217. * UIProcess/API/gtk/WebKitPlugin.cpp:
  26218. (_WebKitPluginPrivate::~_WebKitPluginPrivate):
  26219. (_WebKitPluginPrivate):
  26220. (webkit_plugin_class_init):
  26221. * UIProcess/API/gtk/WebKitPolicyDecision.cpp:
  26222. (webkitPolicyDecisionDispose):
  26223. (webkit_policy_decision_class_init):
  26224. (webkit_policy_decision_use):
  26225. (webkit_policy_decision_ignore):
  26226. (webkit_policy_decision_download):
  26227. * UIProcess/API/gtk/WebKitPrintOperation.cpp:
  26228. (_WebKitPrintOperationPrivate::~_WebKitPrintOperationPrivate):
  26229. (_WebKitPrintOperationPrivate):
  26230. (webkit_print_operation_class_init):
  26231. * UIProcess/API/gtk/WebKitPrivate.h:
  26232. * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
  26233. (webkit_response_policy_decision_class_init):
  26234. * UIProcess/API/gtk/WebKitSecurityManager.cpp:
  26235. (webkit_security_manager_class_init):
  26236. * UIProcess/API/gtk/WebKitSettings.cpp:
  26237. (_WebKitSettingsPrivate::_WebKitSettingsPrivate):
  26238. (_WebKitSettingsPrivate):
  26239. (webkit_settings_class_init):
  26240. * UIProcess/API/gtk/WebKitURIRequest.cpp:
  26241. (webkit_uri_request_class_init):
  26242. * UIProcess/API/gtk/WebKitURIResponse.cpp:
  26243. (webkit_uri_response_class_init):
  26244. * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
  26245. (webkit_uri_scheme_request_class_init):
  26246. * UIProcess/API/gtk/WebKitWebContext.cpp:
  26247. * UIProcess/API/gtk/WebKitWebInspector.cpp:
  26248. (_WebKitWebInspectorPrivate::~_WebKitWebInspectorPrivate):
  26249. (_WebKitWebInspectorPrivate):
  26250. (webkit_web_inspector_class_init):
  26251. * UIProcess/API/gtk/WebKitWebResource.cpp:
  26252. (webkit_web_resource_class_init):
  26253. * UIProcess/API/gtk/WebKitWebView.cpp:
  26254. (_WebKitWebViewPrivate::~_WebKitWebViewPrivate):
  26255. (_WebKitWebViewPrivate):
  26256. (webkitWebViewConstructed):
  26257. (webkitWebViewDispose):
  26258. (webkit_web_view_class_init):
  26259. * UIProcess/API/gtk/WebKitWebViewBase.cpp:
  26260. (_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):
  26261. (_WebKitWebViewBasePrivate):
  26262. (_WebKitWebViewBasePrivate::~_WebKitWebViewBasePrivate):
  26263. (webkitWebViewBaseDispose):
  26264. (webkitWebViewBaseConstructed):
  26265. (webkit_web_view_base_class_init):
  26266. * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp:
  26267. (webkit_web_view_base_accessible_class_init):
  26268. * UIProcess/API/gtk/WebKitWindowProperties.cpp:
  26269. (webkit_window_properties_class_init):
  26270. 2012-11-22 KwangYong Choi <ky0.choi@samsung.com>
  26271. [EFL][WK2] Buildfix when ENABLE_NETSCAPE_PLUGIN_API is disabled
  26272. https://bugs.webkit.org/show_bug.cgi?id=103044
  26273. Reviewed by Kentaro Hara.
  26274. enum ProcessType has PluginProcess only if ENABLE(PLUGIN_PROCESS) is enabled.
  26275. So, guard PluginProcess with ENABLE(PLUGIN_PROCESS).
  26276. * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
  26277. (WebKit::ProcessLauncher::launchProcess):
  26278. 2012-09-26 Gustavo Noronha Silva <gns@gnome.org>
  26279. [GTK] Split SVG from WebCore to work-around make limitation
  26280. https://bugs.webkit.org/show_bug.cgi?id=97735
  26281. Reviewed by Carlos Garcia Campos.
  26282. Add a new libtool convenience library, libWebCoreSVG.la, to work-around
  26283. make limitation when linking libWebCore.
  26284. * GNUmakefile.am: link libWebCoreSVG.la into libwebkit2gtk.
  26285. 2012-11-22 Simon Hausmann <simon.hausmann@digia.com>, Pierre Rossi <pierre.rossi@digia.com>
  26286. [Qt] Separate QWidget dependant code into separate WebKitWidgets static library
  26287. https://bugs.webkit.org/show_bug.cgi?id=102800
  26288. Reviewed by Tor Arne Vestbø.
  26289. This patch separates code that needs to use QWidget related APIs in
  26290. WebKit/qt/WebCoreSupport and Api from code that doesn't. This means for
  26291. example FrameLoaderClientQt.cpp remains in the WebKit1 static library,
  26292. while qwebpage.cpp and qwebframe.cpp become part of the WebKitWidgets
  26293. static library. WebKit1 is compiled without QT += widgets and therefore
  26294. any widget related dependency has been moved "up" and out of WebKit1 into
  26295. the WebKitWidgets library.
  26296. Between the code in WebKit.a and WebKitWidgets.a new adapters and
  26297. interfaces have been introduced, such as QWebPageAdapter and
  26298. QWebFrameAdapter. QWebPageAdapter, when used from WebKit1, is a way to
  26299. call out into the API layer, implemented by QWebPage (QWebPagePrivate).
  26300. The other way around if QWebPage wants to access WebCore or
  26301. WebCoreSupport related functionality, it will go through
  26302. QWebPageAdapater (as base class). The separation in the direction up
  26303. into the API layer is complete with this patch, no code in WebKit1
  26304. depends on QtWidgets. The separation the other way around, code in the
  26305. API layer not using any WebCore types, is not complete yet.
  26306. Some classes such as QWebSettings, QWebElement or
  26307. DumpRenderTreeSupportQt remain in WebKit1. While they are API layer,
  26308. they do not depend on widget related Qt APIs and they make much more
  26309. use of WebCore internal APIs and therefore are easier to keep in
  26310. WebKit1.
  26311. In the future we plan to place a real shared library boundary between
  26312. WebKit1 and WebKitWidgets, by keeping the WebKit1 static library as
  26313. part of the QtWebKit shared library and by turning the WebKitWidgets
  26314. static library into a shared one.
  26315. * qt/MainQt.cpp:
  26316. (WebKit):
  26317. (main):
  26318. 2012-11-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
  26319. [WK2][EFL] No need to remove surface before replacing
  26320. https://bugs.webkit.org/show_bug.cgi?id=103055
  26321. Rubberstamped by Simon Hausmann.
  26322. The surface is stored in a OwnPtr which automatically
  26323. frees the existing surface after replacing it with a new
  26324. one. For some reason, this also fixes resizing issues on
  26325. my Nvidia driver.
  26326. * UIProcess/API/efl/EwkViewImpl.cpp:
  26327. (EwkViewImpl::createGLSurface):
  26328. * UIProcess/API/efl/EwkViewImpl.h:
  26329. * UIProcess/API/efl/ewk_view.cpp:
  26330. (_ewk_view_smart_calculate):
  26331. 2012-11-22 Christophe Dumez <christophe.dumez@intel.com>
  26332. WebKitTestRunner needs layoutTestController.setCacheModel
  26333. https://bugs.webkit.org/show_bug.cgi?id=42684
  26334. Reviewed by Kenneth Rohde Christiansen.
  26335. Add Bundle C API for WebKitTestRunner to set the
  26336. cache model.
  26337. * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
  26338. (WKBundleSetCacheModel):
  26339. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  26340. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  26341. (WebKit::InjectedBundle::setCacheModel):
  26342. (WebKit):
  26343. * WebProcess/InjectedBundle/InjectedBundle.h:
  26344. (InjectedBundle):
  26345. * WebProcess/WebProcess.h:
  26346. (WebProcess):
  26347. 2012-11-22 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  26348. REGRESSION(r135399): Wrong assertion causing an assertion failure: m_rawAttributes.initialScale > 0
  26349. https://bugs.webkit.org/show_bug.cgi?id=102971
  26350. Reviewed by Kenneth Rohde Christiansen.
  26351. m_rawAttributes.initialScale has to be initialized even if m_minimumScaleToFit hasn't changed
  26352. it's value.
  26353. * UIProcess/PageViewportController.cpp:
  26354. (WebKit::PageViewportController::didChangeViewportAttributes):
  26355. 2012-11-22 Eunmi Lee <eunmi15.lee@samsung.com>
  26356. [EFL][WK2] Correct the parameters of WebPlatformTouchPoint.
  26357. https://bugs.webkit.org/show_bug.cgi?id=102865
  26358. Reviewed by Kenneth Rohde Christiansen.
  26359. Set the screen position as a third parameter and contents position as
  26360. a fourth parameter of WebPlatformTouchPoint().
  26361. * Shared/efl/WebEventFactory.cpp:
  26362. (WebKit::WebEventFactory::createWebTouchEvent):
  26363. 2012-11-22 Huang Dongsung <luxtella@company100.net>
  26364. Coordinated Graphics: Remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
  26365. https://bugs.webkit.org/show_bug.cgi?id=102894
  26366. Reviewed by Kenneth Rohde Christiansen.
  26367. CoordinatedGraphicsLayer does not need to have a backing store
  26368. if (!drawsContent() || !contentsAreVisible() || m_size.isEmpty()).
  26369. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  26370. (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
  26371. 2012-11-22 Huang Dongsung <luxtella@company100.net>
  26372. Coordinated Graphics: refactor LayerTreeRenderer.
  26373. https://bugs.webkit.org/show_bug.cgi?id=103004
  26374. Reviewed by Noam Rosenthal.
  26375. This patch changes two subjects.
  26376. 1. Add ASSERT(isMainThread()) in all methods that are called in the main thread.
  26377. In addition, make dispatchOnMainThread() use callOnMainThread(const Function<void()>&
  26378. function) instead of its own implementation.
  26379. 2. Remove setAccelerationMode() because we don't use m_accelerationMode member
  26380. except for the setter.
  26381. * UIProcess/API/efl/EwkViewImpl.cpp:
  26382. (EwkViewImpl::createGLSurface):
  26383. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  26384. (WebKit):
  26385. (WebKit::LayerTreeRenderer::dispatchOnMainThread):
  26386. (WebKit::LayerTreeRenderer::LayerTreeRenderer):
  26387. (WebKit::LayerTreeRenderer::animationFrameReady):
  26388. (WebKit::LayerTreeRenderer::updateViewport):
  26389. (WebKit::LayerTreeRenderer::renderNextFrame):
  26390. (WebKit::LayerTreeRenderer::purgeGLResources):
  26391. (WebKit::LayerTreeRenderer::detach):
  26392. (WebKit::LayerTreeRenderer::setActive):
  26393. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  26394. (LayerTreeRenderer):
  26395. * UIProcess/efl/PageClientBase.cpp:
  26396. (WebKit::PageClientBase::createDrawingAreaProxy):
  26397. 2012-11-21 Jinwoo Song <jinwoo7.song@samsung.com>
  26398. [EFL][WK2] Use consistent class names in the clients
  26399. https://bugs.webkit.org/show_bug.cgi?id=102684
  26400. Reviewed by Gyuyoung Kim.
  26401. WebKit EFL classes do not use '_' since r135117 but '_' is still remained
  26402. in some clients classes. This patch removed the '_' to make class names
  26403. to be consistent.
  26404. * UIProcess/efl/ContextHistoryClientEfl.cpp:
  26405. (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
  26406. * UIProcess/efl/DownloadManagerEfl.cpp:
  26407. (WebKit::DownloadManagerEfl::didFail):
  26408. * UIProcess/efl/FormClientEfl.cpp:
  26409. (WebKit::FormClientEfl::willSubmitForm):
  26410. * UIProcess/efl/PageLoadClientEfl.cpp:
  26411. (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
  26412. (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
  26413. (WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
  26414. (WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
  26415. (WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
  26416. * UIProcess/efl/PagePolicyClientEfl.cpp:
  26417. (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
  26418. (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
  26419. * UIProcess/efl/PageUIClientEfl.cpp:
  26420. (WebKit::PageUIClientEfl::runOpenPanel):
  26421. * UIProcess/efl/RequestManagerClientEfl.cpp:
  26422. (WebKit::EwkUrlSchemeHandler::EwkUrlSchemeHandler):
  26423. (WebKit::RequestManagerClientEfl::didReceiveURIRequest):
  26424. (WebKit::RequestManagerClientEfl::registerURLSchemeHandler):
  26425. * UIProcess/efl/RequestManagerClientEfl.h:
  26426. (RequestManagerClientEfl):
  26427. * UIProcess/efl/ResourceLoadClientEfl.cpp:
  26428. (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
  26429. (WebKit::ResourceLoadClientEfl::didSendRequestForResource):
  26430. (WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
  26431. (WebKit::ResourceLoadClientEfl::didFinishLoadForResource):
  26432. (WebKit::ResourceLoadClientEfl::didFailLoadForResource):
  26433. * UIProcess/efl/ResourceLoadClientEfl.h:
  26434. (ResourceLoadClientEfl):
  26435. 2012-11-21 Jaehun Lim <ljaehun.lim@samsung.com>
  26436. [EFL][WK2] Remove #include "ewk_view_private.h" in PageViewportControllerClientEfl.cpp
  26437. https://bugs.webkit.org/show_bug.cgi?id=102773
  26438. Reviewed by Gyuyoung Kim.
  26439. PageViewportControllerClientEfl.cpp doesn't need to include ewk_view_private.h.
  26440. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  26441. 2012-11-21 Huang Dongsung <luxtella@company100.net>
  26442. Coordinated Graphics: refactor changing children code in CoordinatedGraphicsLayer.
  26443. https://bugs.webkit.org/show_bug.cgi?id=102896
  26444. Reviewed by Noam Rosenthal.
  26445. When changing children, we don't need to sync a layer state because
  26446. there is no more need to send the parent ID every time the layer tree
  26447. hierarchy changes. So this patch removes didChangeLayerState() in
  26448. methods which change children.
  26449. In addition, purgeBackingStores() does not need to call didChangeChildren()
  26450. because purgeBackingStores() does not change children.
  26451. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  26452. (WebCore::CoordinatedGraphicsLayer::setChildren):
  26453. (WebCore::CoordinatedGraphicsLayer::addChild):
  26454. (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
  26455. (WebCore::CoordinatedGraphicsLayer::addChildAbove):
  26456. (WebCore::CoordinatedGraphicsLayer::addChildBelow):
  26457. (WebCore::CoordinatedGraphicsLayer::replaceChild):
  26458. (WebCore::CoordinatedGraphicsLayer::removeFromParent):
  26459. (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
  26460. 2012-11-21 Huang Dongsung <luxtella@company100.net>
  26461. REGRESSION(r135212): Fix crash due to an infinite rect.
  26462. https://bugs.webkit.org/show_bug.cgi?id=102891
  26463. Reviewed by Noam Rosenthal.
  26464. When CoordinatedGraphicsLayer has a 3D transform, tiledBackingStoreVisibleRect()
  26465. can calculate an infinite rect. However, TiledBackingStore cannot handle the
  26466. infinite rect. This patch clamps the infinite rect to avoid crash in
  26467. TiledBackingStore.
  26468. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  26469. (WebCore::clampToContentsRectIfRectIsInfinite):
  26470. (WebCore):
  26471. (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
  26472. 2012-11-21 Allan Sandfeld Jensen <allan.jensen@digia.com>
  26473. Disambiguate innerNodeFramePoint and mainFramePoint
  26474. https://bugs.webkit.org/show_bug.cgi?id=98139
  26475. Reviewed by Julien Chaffraix.
  26476. Switch to using HitTestResult::innerNodeFrame and HitTestResult::innerNodeFramePoint.
  26477. * WebProcess/WebPage/WebContextMenu.cpp:
  26478. (WebKit::WebContextMenu::show):
  26479. * WebProcess/WebPage/mac/WebPageMac.mm:
  26480. (WebKit::WebPage::characterIndexForPoint):
  26481. 2012-11-21 Simon Hausmann <simon.hausmann@digia.com>
  26482. Unreviewed Qt/Windows build fix.
  26483. https://bugs.webkit.org/show_bug.cgi?id=102787
  26484. Remove inclusion of QtQml, which drags in QtNetwork, which drags in qnetworksession.h, which
  26485. defines a member function called "interface". Since windows headers also define a pre-processor
  26486. macro called "interface", it has to do that. However we have now a dependency between combaseapi.h,
  26487. which #defines interface and is included earlier (before qnetworksession.h) and shlwapi.h, which _needs_
  26488. the interface macro and is included afterwards. Since this module-wide QtQml inclusion is unnecessary
  26489. and just slows down the build, this patch removes it.
  26490. * UIProcess/API/qt/qwebkittest_p.h:
  26491. 2012-11-21 Huang Dongsung <luxtella@company100.net>
  26492. Coordinated Graphics: refactor LayerTreeRenderer::syncRemoteContent().
  26493. https://bugs.webkit.org/show_bug.cgi?id=102900
  26494. Reviewed by Noam Rosenthal.
  26495. Currently, QQuickWebPage::updatePaintNode() calls
  26496. LayerTreeRenderer::syncRemoteContent() with locking the main thread.
  26497. syncRemoteContent() is heavy, so we should not call syncRemoteContent() in
  26498. updatePaintNode(). Calling syncRemoteContent() in the painting thread is
  26499. thread-safe because syncRemoteContent() does not access any data
  26500. structures, which the main thread use.
  26501. After this patch, syncRemoteContent() is used only internally, so
  26502. syncRemoteContent() becomes private.
  26503. * UIProcess/API/efl/EwkViewImpl.cpp:
  26504. (EwkViewImpl::displayTimerFired):
  26505. * UIProcess/API/qt/qquickwebpage.cpp:
  26506. (QQuickWebPage::updatePaintNode):
  26507. * UIProcess/API/qt/raw/qrawwebview.cpp:
  26508. (QRawWebView::paint):
  26509. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  26510. (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
  26511. (WebKit::LayerTreeRenderer::ensureRootLayer):
  26512. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  26513. (LayerTreeRenderer):
  26514. 2012-11-21 Andras Becsi <andras.becsi@digia.com>
  26515. [WK2] Viewport meta tag broken after r134801
  26516. https://bugs.webkit.org/show_bug.cgi?id=102801
  26517. Reviewed by Kenneth Rohde Christiansen.
  26518. If the initial-scale attribute is not explicitly specified it is left -1 by the
  26519. viewport meta algorithm and if the content is not scalable the min and max scales
  26520. are restricted by restrictScaleFactorToInitialScaleIfNotUserScalable() which resulted
  26521. in negative scales on the UI side.
  26522. Make sure that the minimum scale to fit the viewport is calculated before restricting
  26523. the scales and use this scale as the initial scale if no explicit initial scale was set.
  26524. * UIProcess/PageViewportController.cpp:
  26525. (WebKit::PageViewportController::PageViewportController):
  26526. (WebKit::PageViewportController::pageTransitionViewportReady):
  26527. (WebKit::PageViewportController::didChangeViewportAttributes):
  26528. (WebKit::PageViewportController::updateMinimumScaleToFit):
  26529. 2012-11-21 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  26530. [EFL][WK2] Support Context Menu
  26531. https://bugs.webkit.org/show_bug.cgi?id=96200
  26532. Reviewed by Laszlo Gombos.
  26533. This patch supports WK2 EFL's context menu as WK1 implementation because we can't use elementary in inside WebKit.
  26534. Only basic functionalities of context menu are supported. Beside this implementation follows GTK's implementation.
  26535. For example, ewk_context_menu_new, ewk_context_menu_item_append, ewk_context_menu_item_remove are supported.
  26536. In addition, ewk_defines.h file is added in order to support cross inclusion as GTK port.
  26537. * PlatformEfl.cmake:
  26538. * UIProcess/API/efl/EWebKit2.h:
  26539. * UIProcess/API/efl/EwkViewImpl.cpp:
  26540. (EwkViewImpl::EwkViewImpl):
  26541. (EwkViewImpl::showContextMenu):
  26542. (EwkViewImpl::hideContextMenu):
  26543. * UIProcess/API/efl/EwkViewImpl.h:
  26544. (WebKit):
  26545. (EwkViewImpl):
  26546. * UIProcess/API/efl/ewk_context_menu.cpp: Added.
  26547. (EwkContextMenu::EwkContextMenu):
  26548. (EwkContextMenu::~EwkContextMenu):
  26549. (EwkContextMenu::hide):
  26550. (Ewk_Context_Menu::appendItem):
  26551. (Ewk_Context_Menu::removeItem):
  26552. (EwkContextMenu::contextMenuItemSelected):
  26553. (ewk_context_menu_new):
  26554. (ewk_context_menu_new_with_items):
  26555. (ewk_context_menu_item_append):
  26556. (ewk_context_menu_item_remove):
  26557. (ewk_context_menu_hide):
  26558. (ewk_context_menu_items_get):
  26559. (ewk_context_menu_item_select):
  26560. * UIProcess/API/efl/ewk_context_menu.h: Added.
  26561. * UIProcess/API/efl/ewk_context_menu_item.cpp: Added.
  26562. (EwkContextMenuItem::EwkContextMenuItem):
  26563. (ewk_context_menu_item_new):
  26564. (ewk_context_menu_item_new_with_submenu):
  26565. (ewk_context_menu_item_type_get):
  26566. (ewk_context_menu_item_type_set):
  26567. (ewk_context_menu_item_action_get):
  26568. (ewk_context_menu_item_action_set):
  26569. (ewk_context_menu_item_title_get):
  26570. (ewk_context_menu_item_title_set):
  26571. (ewk_context_menu_item_checked_get):
  26572. (ewk_context_menu_item_checked_set):
  26573. (ewk_context_menu_item_enabled_get):
  26574. (ewk_context_menu_item_enabled_set):
  26575. * UIProcess/API/efl/ewk_context_menu_item.h: Added.
  26576. * UIProcess/API/efl/ewk_context_menu_item_private.h: Added.
  26577. (EwkContextMenuItem):
  26578. (EwkContextMenuItem::create):
  26579. (EwkContextMenuItem::action):
  26580. (EwkContextMenuItem::setAction):
  26581. (EwkContextMenuItem::title):
  26582. (EwkContextMenuItem::setTitle):
  26583. (EwkContextMenuItem::type):
  26584. (EwkContextMenuItem::setType):
  26585. (EwkContextMenuItem::checked):
  26586. (EwkContextMenuItem::setChecked):
  26587. (EwkContextMenuItem::enabled):
  26588. (EwkContextMenuItem::setEnabled):
  26589. * UIProcess/API/efl/ewk_context_menu_private.h: Added.
  26590. (WebKit):
  26591. (EwkContextMenu):
  26592. (EwkContextMenu::create):
  26593. (EwkContextMenu::items):
  26594. * UIProcess/API/efl/ewk_defines.h: Added.
  26595. * UIProcess/API/efl/ewk_view.h:
  26596. * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp: Added.
  26597. (checkBasicContextMenuItem):
  26598. (showContextMenu):
  26599. (TEST_F):
  26600. * UIProcess/efl/ContextMenuClientEfl.cpp: Added.
  26601. (toContextClientEfl):
  26602. (ContextMenuClientEfl::ContextMenuClientEfl):
  26603. (ContextMenuClientEfl::getContextMenuFromProposedMenu):
  26604. * UIProcess/efl/ContextMenuClientEfl.h: Added.
  26605. (WebKit):
  26606. (ContextMenuClientEfl):
  26607. (WebKit::ContextMenuClientEfl::create):
  26608. * UIProcess/efl/PageClientBase.cpp:
  26609. (WebKit::PageClientBase::createContextMenuProxy):
  26610. * UIProcess/efl/WebContextMenuProxyEfl.cpp: Added.
  26611. (WebKit):
  26612. (WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl):
  26613. (WebKit::WebContextMenuProxyEfl::~WebContextMenuProxyEfl):
  26614. (WebKit::WebContextMenuProxyEfl::showContextMenu):
  26615. (WebKit::WebContextMenuProxyEfl::hideContextMenu):
  26616. (WebKit::WebContextMenuProxyEfl::contextMenuItemSelected):
  26617. * UIProcess/efl/WebContextMenuProxyEfl.h: Added.
  26618. (WebKit):
  26619. (WebContextMenuProxyEfl):
  26620. (WebKit::WebContextMenuProxyEfl::create):
  26621. 2012-11-21 Jongseok Yang <js45.yang@samsung.com>
  26622. [EFL][WK2] Rename ewk_view_setting_encoding_custom_XXX to ewk_view_custom_encoding_XXX
  26623. https://bugs.webkit.org/show_bug.cgi?id=102867
  26624. Reviewed by Gyuyoung Kim.
  26625. Rename ewk_view_setting_encoding_custom_XXX to ewk_view_custom_encoding_XXX.
  26626. ewk_view_setting_encoding_custom_XXX APIs might be misunderstanded as the "setting" word
  26627. because ewk_view_setting_encoding_custom_set triggers the "reload" operation.
  26628. And ewk_view_setting_XXX is not correct because there is ewk_settings object for settings.
  26629. * UIProcess/API/efl/ewk_view.cpp:
  26630. (ewk_view_encoding_custom_get):
  26631. (ewk_view_encoding_custom_set):
  26632. * UIProcess/API/efl/ewk_view.h:
  26633. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  26634. (TEST_F):
  26635. 2012-11-20 Jinwoo Song <jinwoo7.song@samsung.com>
  26636. [EFL][WK2] Remove unnecessary #include in API test
  26637. https://bugs.webkit.org/show_bug.cgi?id=102674
  26638. Reviewed by Laszlo Gombos.
  26639. Removed duplicated header files from the API test cases.
  26640. Now, EWK2UnitTestBase.h includes the basic header files,
  26641. so test cases may only include this one and add the addtional
  26642. header files if necessary.
  26643. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
  26644. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
  26645. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp:
  26646. * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
  26647. * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
  26648. * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
  26649. * UIProcess/API/efl/tests/test_ewk2_context.cpp:
  26650. * UIProcess/API/efl/tests/test_ewk2_context_history_callbacks.cpp:
  26651. * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
  26652. * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp:
  26653. * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
  26654. * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
  26655. * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
  26656. * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
  26657. * UIProcess/API/efl/tests/test_ewk2_intents.cpp:
  26658. * UIProcess/API/efl/tests/test_ewk2_object.cpp:
  26659. * UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp:
  26660. * UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp:
  26661. * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
  26662. * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
  26663. * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
  26664. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  26665. 2012-11-19 Sam Weinig <sam@webkit.org>
  26666. Simplify WebConnection by removing its underlying CoreIPC::Connection
  26667. https://bugs.webkit.org/show_bug.cgi?id=102771
  26668. Reviewed by Anders Carlsson.
  26669. Instead of having WebConnection subclasses own the CoreIPC::Connection,
  26670. move back to having the WebProcess and WebProcessProxy own it (and be
  26671. its Connection::Client) and use the new MessageReceiver class to vend
  26672. messages to the WebConnection.
  26673. * Shared/WebConnection.cpp:
  26674. (WebKit::WebConnection::WebConnection):
  26675. (WebKit::WebConnection::postMessage):
  26676. (WebKit::WebConnection::didClose):
  26677. (WebKit::WebConnection::didReceiveMessage):
  26678. * Shared/WebConnection.h:
  26679. Make WebConnection both a MessageReceiver and MessageSender
  26680. and add virtual functions for derived classes to fill in.
  26681. * UIProcess/WebConnectionToWebProcess.cpp:
  26682. (WebKit::WebConnectionToWebProcess::create):
  26683. (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
  26684. (WebKit::WebConnectionToWebProcess::invalidate):
  26685. (WebKit::WebConnectionToWebProcess::decodeMessageBody):
  26686. (WebKit::WebConnectionToWebProcess::connection):
  26687. (WebKit::WebConnectionToWebProcess::destinationID):
  26688. (WebKit::WebConnectionToWebProcess::hasValidConnection):
  26689. * UIProcess/WebConnectionToWebProcess.h:
  26690. * UIProcess/WebProcessProxy.cpp:
  26691. (WebKit::WebProcessProxy::~WebProcessProxy):
  26692. (WebKit::WebProcessProxy::fromConnection):
  26693. (WebKit::WebProcessProxy::disconnect):
  26694. (WebKit::WebProcessProxy::addMessageReceiver):
  26695. (WebKit::WebProcessProxy::didClose):
  26696. (WebKit::WebProcessProxy::didReceiveInvalidMessage):
  26697. (WebKit::WebProcessProxy::didFinishLaunching):
  26698. * UIProcess/WebProcessProxy.h:
  26699. (WebKit::WebProcessProxy::connection):
  26700. (WebProcessProxy):
  26701. (WebKit::WebProcessProxy::webConnection):
  26702. * WebProcess/WebConnectionToUIProcess.cpp:
  26703. (WebKit::WebConnectionToUIProcess::create):
  26704. (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
  26705. (WebKit):
  26706. (WebKit::WebConnectionToUIProcess::invalidate):
  26707. (WebKit::WebConnectionToUIProcess::connection):
  26708. (WebKit::WebConnectionToUIProcess::destinationID):
  26709. (WebKit::WebConnectionToUIProcess::hasValidConnection):
  26710. * WebProcess/WebConnectionToUIProcess.h:
  26711. (WebConnectionToUIProcess):
  26712. * WebProcess/WebProcess.cpp:
  26713. (WebKit::WebProcess::initialize):
  26714. (WebKit::WebProcess::terminate):
  26715. * WebProcess/WebProcess.h:
  26716. (WebKit::WebProcess::connection):
  26717. (WebKit::WebProcess::webConnectionToUIProcess):
  26718. Move the CoreIPC::Connection back to the processes.
  26719. 2012-11-20 Jinwoo Song <jinwoo7.song@samsung.com>
  26720. [EFL][WK2] Add Ewk_Window_Features API and related UI callbacks
  26721. https://bugs.webkit.org/show_bug.cgi?id=99114
  26722. Reviewed by Gyuyoung Kim.
  26723. Added Ewk_Window_Features API so that we can create new windows
  26724. with various window features such as location, size, toolbar, menubar,
  26725. statusbar, locationbar, scrollbar, resizable, and fullscreen.
  26726. UI client callbacks related to window features also implemented
  26727. so that it is possible to retrieve the window object property values.
  26728. * PlatformEfl.cmake:
  26729. * UIProcess/API/efl/EWebKit2.h:
  26730. * UIProcess/API/efl/EwkViewCallbacks.h:
  26731. (EwkViewCallbacks):
  26732. * UIProcess/API/efl/EwkViewImpl.cpp:
  26733. (EwkViewImpl::windowFeatures):
  26734. (EwkViewImpl::createNewPage):
  26735. (EwkViewImpl::closePage):
  26736. * UIProcess/API/efl/EwkViewImpl.h:
  26737. (EwkViewImpl):
  26738. * UIProcess/API/efl/ewk_view.h:
  26739. * UIProcess/efl/PageUIClientEfl.cpp:
  26740. (WebKit::PageUIClientEfl::createNewPage):
  26741. (WebKit::PageUIClientEfl::toolbarsAreVisible):
  26742. (WebKit):
  26743. (WebKit::PageUIClientEfl::setToolbarsAreVisible):
  26744. (WebKit::PageUIClientEfl::menuBarIsVisible):
  26745. (WebKit::PageUIClientEfl::setMenuBarIsVisible):
  26746. (WebKit::PageUIClientEfl::statusBarIsVisible):
  26747. (WebKit::PageUIClientEfl::setStatusBarIsVisible):
  26748. (WebKit::PageUIClientEfl::isResizable):
  26749. (WebKit::PageUIClientEfl::setIsResizable):
  26750. (WebKit::PageUIClientEfl::PageUIClientEfl):
  26751. * UIProcess/efl/PageUIClientEfl.h:
  26752. (PageUIClientEfl):
  26753. 2012-11-20 Sheriff Bot <webkit.review.bot@gmail.com>
  26754. Unreviewed, rolling out r135295.
  26755. http://trac.webkit.org/changeset/135295
  26756. https://bugs.webkit.org/show_bug.cgi?id=102834
  26757. This patch causes assertion to some layout tests on chromium
  26758. (Requested by jianli on #webkit).
  26759. * WebProcess/Plugins/PluginView.cpp:
  26760. (WebKit::PluginView::performFrameLoadURLRequest):
  26761. * WebProcess/WebPage/WebPage.cpp:
  26762. (WebKit::WebPage::loadURLRequest):
  26763. (WebKit::WebPage::loadData):
  26764. (WebKit::WebPage::linkClicked):
  26765. 2012-11-20 James Simonsen <simonjam@chromium.org>
  26766. Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
  26767. https://bugs.webkit.org/show_bug.cgi?id=102151
  26768. Reviewed by Adam Barth.
  26769. * WebProcess/Plugins/PluginView.cpp:
  26770. (WebKit::PluginView::performFrameLoadURLRequest):
  26771. * WebProcess/WebPage/WebPage.cpp:
  26772. (WebKit::WebPage::loadURLRequest):
  26773. (WebKit::WebPage::loadData):
  26774. 2012-11-20 peavo@outlook.com <peavo@outlook.com>
  26775. WinCairo build fails to link.
  26776. https://bugs.webkit.org/show_bug.cgi?id=102804
  26777. Reviewed by Alexey Proskuryakov.
  26778. * win/WebKit2CFLite.def:
  26779. 2012-11-20 Thiago Marcos P. Santos <thiago.santos@intel.com>
  26780. [WTR] WebKitTestRunner should be able to run tests using fixed layout
  26781. https://bugs.webkit.org/show_bug.cgi?id=102517
  26782. Reviewed by Kenneth Rohde Christiansen.
  26783. Update EFL private API so we can create a view with fixed layout. We
  26784. can keep this as private as I don't see a real life use case for it
  26785. outside WTR and the WebInspector.
  26786. * UIProcess/API/C/efl/WKView.cpp:
  26787. (WKViewCreate):
  26788. (WKViewCreateWithFixedLayout):
  26789. * UIProcess/API/C/efl/WKView.h:
  26790. * UIProcess/API/efl/ewk_view.cpp:
  26791. (ewk_view_base_add):
  26792. * UIProcess/API/efl/ewk_view_private.h:
  26793. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  26794. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  26795. 2012-11-20 Allan Sandfeld Jensen <allan.jensen@digia.com>
  26796. [Qt] PageViewportControllerClient::didChangeViewportAttributes called twice
  26797. https://bugs.webkit.org/show_bug.cgi?id=102790
  26798. Reviewed by Kenneth Rohde Christiansen.
  26799. Change updateMinimumScaleToFit to no longer call PageViewportControllerClient::didChangeViewportAttributes,
  26800. but instead return whether it has changed the minimumScaleToFit.
  26801. * UIProcess/PageViewportController.cpp:
  26802. (WebKit::PageViewportController::didChangeContentsSize):
  26803. (WebKit::PageViewportController::updateMinimumScaleToFit):
  26804. * UIProcess/PageViewportController.h:
  26805. (PageViewportController):
  26806. 2012-11-20 Allan Sandfeld Jensen <allan.jensen@digia.com>
  26807. [Qt] No test of double-click to zoom out
  26808. https://bugs.webkit.org/show_bug.cgi?id=102810
  26809. Reviewed by Kenneth Rohde Christiansen.
  26810. Adds tests of zoom-stack behaviour, the ability to restore previous zoom levels. It tests
  26811. that zoom out always goes to lower zoom levels.
  26812. * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
  26813. 2012-11-20 Allan Sandfeld Jensen <allan.jensen@digia.com>
  26814. [Qt] Large areas highlighted on touch
  26815. https://bugs.webkit.org/show_bug.cgi?id=97216
  26816. Reviewed by Simon Hausmann.
  26817. Restrict highlighting of scripted event-handlers to inline elements only.
  26818. * WebProcess/WebPage/WebPage.cpp:
  26819. (WebKit::WebPage::highlightPotentialActivation):
  26820. 2012-11-20 Allan Sandfeld Jensen <allan.jensen@digia.com>
  26821. [Qt] Zoom logic confused by page and pinch resize
  26822. https://bugs.webkit.org/show_bug.cgi?id=102803
  26823. Reviewed by Kenneth Rohde Christiansen.
  26824. Clear the zoom-out stack after page resize, and ensure the zoom logic can still detect
  26825. zoom-out and zoom-back when the zoom-out stack is empty.
  26826. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  26827. (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
  26828. (WebKit::PageViewportControllerClientQt::clearRelativeZoomState):
  26829. (WebKit::PageViewportControllerClientQt::setContentsScale):
  26830. (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
  26831. (WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
  26832. * UIProcess/qt/PageViewportControllerClientQt.h:
  26833. (PageViewportControllerClientQt):
  26834. 2012-11-19 KyungTae Kim <ktf.kim@samsung.com>
  26835. [WK2] Unused parameters on CoordinatedGraphicsLayer.cpp
  26836. https://bugs.webkit.org/show_bug.cgi?id=102760
  26837. Reviewed by Laszlo Gombos.
  26838. Because the 'platformLayer' parameter is not used when !USE(GRAPHICS_SURFACE),
  26839. use UNUSED_PARAM macro to fix build warning -Wunused-parameter
  26840. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  26841. (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
  26842. 2012-11-19 Huang Dongsung <luxtella@company100.net>
  26843. Coordinated Graphics: Remove tiles of a layer when they are off the viewport.
  26844. https://bugs.webkit.org/show_bug.cgi?id=102313
  26845. Reviewed by Noam Rosenthal.
  26846. Currently, we don't remove tiles of the layer with the special properties: a
  26847. transform animation and non affine transform. If a page has a lot of layers with
  26848. a transform animation, we will encounter OOM. So this patch removes the
  26849. privilege of the layer.
  26850. There are two changes.
  26851. 1. computeTransformedVisibleRect() calculates a layer transform using the
  26852. current local transform which a transform animation applied.
  26853. 2. tiledBackingStoreVisibleRect() calculates a visible
  26854. rect of all layers, even if the layer includes the property: a transform
  26855. animation or non affine transform.
  26856. Test: animations/animation-offscreen-to-onscreen.html
  26857. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  26858. (WebCore::CoordinatedGraphicsLayer::effectiveContentsScale):
  26859. (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
  26860. (WebCore::CoordinatedGraphicsLayer::hasPendingVisibleChanges):
  26861. (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
  26862. (WebCore::CoordinatedGraphicsLayer::selfOrAncestorHasActiveTransformAnimation):
  26863. (WebCore):
  26864. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  26865. (CoordinatedGraphicsLayer):
  26866. 2012-11-19 Huang Dongsung <luxtella@company100.net>
  26867. Coordinated Graphics: Remove a texture if an direct composited image is off the viewport.
  26868. https://bugs.webkit.org/show_bug.cgi?id=102449
  26869. Reviewed by Noam Rosenthal.
  26870. Currently, once uploading textures for composited images, Coordinated Graphics
  26871. does not release the textures until all layers using images are destroyed.
  26872. This patch removes a texture if we don't need to render an image. This mechanism
  26873. is similar how TiledBackingStore removes invisible tiles.
  26874. When all layers are invisible, we wait 3 seconds to remove the content
  26875. of the image, because we want to prevent a transform animation from
  26876. creating and destroying a texture over and over again.
  26877. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  26878. (WebKit::CoordinatedBackingStore::removeAllTiles):
  26879. (WebKit):
  26880. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
  26881. (CoordinatedBackingStore):
  26882. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  26883. (WebKit::LayerTreeCoordinatorProxy::clearImageBackingContents):
  26884. (WebKit):
  26885. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  26886. (LayerTreeCoordinatorProxy):
  26887. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  26888. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  26889. (WebKit::LayerTreeRenderer::clearImageBackingContents):
  26890. (WebKit):
  26891. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  26892. (LayerTreeRenderer):
  26893. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  26894. (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
  26895. (WebCore::CoordinatedGraphicsLayer::imageBackingVisible):
  26896. (WebCore):
  26897. (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
  26898. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  26899. (CoordinatedGraphicsLayer):
  26900. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp:
  26901. (WebKit::CoordinatedImageBacking::CoordinatedImageBacking):
  26902. (WebKit::CoordinatedImageBacking::addHost):
  26903. (WebKit::CoordinatedImageBacking::removeHost):
  26904. (WebKit::CoordinatedImageBacking::update):
  26905. (WebKit):
  26906. (WebKit::CoordinatedImageBacking::updateVisibilityIfNeeded):
  26907. (WebKit::CoordinatedImageBacking::clearContentsTimerFired):
  26908. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
  26909. (Coordinator):
  26910. (Host):
  26911. (CoordinatedImageBacking):
  26912. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  26913. (WebKit::LayerTreeCoordinator::clearImageBackingContents):
  26914. (WebKit):
  26915. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  26916. (LayerTreeCoordinator):
  26917. 2012-11-19 Sheriff Bot <webkit.review.bot@gmail.com>
  26918. Unreviewed, rolling out r135201.
  26919. http://trac.webkit.org/changeset/135201
  26920. https://bugs.webkit.org/show_bug.cgi?id=102725
  26921. Broke all non-Mac WK2 builds. (Requested by rakuco on
  26922. #webkit).
  26923. * Shared/mac/PlatformCertificateInfo.h:
  26924. * Shared/mac/PlatformCertificateInfo.mm:
  26925. (WebKit):
  26926. * WebKit2.xcodeproj/project.pbxproj:
  26927. * WebProcess/Authentication/AuthenticationManager.cpp:
  26928. * WebProcess/Authentication/AuthenticationManager.h:
  26929. (AuthenticationManager):
  26930. * WebProcess/Authentication/mac/AuthenticationManager.mac.mm: Copied from Source/WebKit2/Shared/mac/PlatformCertificateInfo.mm.
  26931. (WebKit):
  26932. (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
  26933. 2012-11-19 Brady Eidson <beidson@apple.com>
  26934. Move tryUsePlatformCertificateInfoForChallenge from AuthenticationManager to PlatformCertificateInfo.
  26935. https://bugs.webkit.org/show_bug.cgi?id=102718
  26936. Reviewed by Sam Weinig.
  26937. Add the shared PlatformCertificateInfo version of the method:
  26938. * Shared/mac/PlatformCertificateInfo.h:
  26939. * Shared/mac/PlatformCertificateInfo.mm:
  26940. (WebKit::tryUsePlatformCertificateInfoForChallenge):
  26941. Use the new shared version:
  26942. * WebProcess/Authentication/AuthenticationManager.cpp:
  26943. Remove the old member version:
  26944. * WebProcess/Authentication/AuthenticationManager.h:
  26945. * WebProcess/Authentication/mac/AuthenticationManager.mac.mm: Removed.
  26946. * WebKit2.xcodeproj/project.pbxproj:
  26947. 2012-11-19 Huang Dongsung <luxtella@company100.net>
  26948. Coordinated Graphics: refactor syncCanvas to handle the lifecycle clearly.
  26949. https://bugs.webkit.org/show_bug.cgi?id=102664
  26950. Reviewed by Noam Rosenthal.
  26951. This patch makes sync canvas code handle the lifecycle of the canvas
  26952. GraphicsSurface in the similar style to a directly image compositing and
  26953. an update atlas code. This patch moves the canvas lifecycle handling
  26954. code from LayerTreeRenderer to CoordinatedGraphicsLayer, because
  26955. CoordinatedGraphicsLayer knows best when to create and remove the canvas
  26956. GraphicsSurface.
  26957. After this patch, we can remove the canvas GraphicsSurface in UI Process as soon
  26958. as the canvas platform layer is unset in Web Process.
  26959. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  26960. (WebKit::LayerTreeCoordinatorProxy::createCanvas):
  26961. (WebKit):
  26962. (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
  26963. (WebKit::LayerTreeCoordinatorProxy::destroyCanvas):
  26964. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  26965. (LayerTreeCoordinatorProxy):
  26966. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  26967. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  26968. (WebKit::LayerTreeRenderer::createCanvas):
  26969. (WebKit):
  26970. (WebKit::LayerTreeRenderer::syncCanvas):
  26971. (WebKit::LayerTreeRenderer::destroyCanvas):
  26972. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  26973. (LayerTreeRenderer):
  26974. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  26975. (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
  26976. (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
  26977. (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
  26978. (WebCore::CoordinatedGraphicsLayer::syncCanvas):
  26979. (WebCore):
  26980. (WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
  26981. (WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
  26982. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  26983. (CoordinatedGraphicsLayerClient):
  26984. (CoordinatedGraphicsLayer):
  26985. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  26986. (WebKit::LayerTreeCoordinator::createCanvas):
  26987. (WebKit):
  26988. (WebKit::LayerTreeCoordinator::syncCanvas):
  26989. (WebKit::LayerTreeCoordinator::destroyCanvas):
  26990. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  26991. (LayerTreeCoordinator):
  26992. 2012-11-19 Brady Eidson <beidson@apple.com>
  26993. Replace an unneeded #include with a forward declaration after r135179.
  26994. Reviewed by nobody, but suggested by Alexey Proskuryakov.
  26995. * WebProcess/Network/WebResourceLoader.h:
  26996. 2012-11-19 Martin Robinson <mrobinson@igalia.com>
  26997. [GTK] REGRESSION(r134955): Plugins are broken due to unresolved symbol in plugin process
  26998. https://bugs.webkit.org/show_bug.cgi?id=102613
  26999. Unreviewed build fix.
  27000. * GNUmakefile.am: Fix the build after one of my previous patches introduced
  27001. a link dependency on libsecret.
  27002. 2012-11-19 Yael Aharon <yael.aharon@intel.com>
  27003. [EFL][WK2] Web Inspector crashes if evas_gl is not available
  27004. https://bugs.webkit.org/show_bug.cgi?id=102531
  27005. Reviewed by Kenneth Rohde Christiansen.
  27006. Teach Web Inspector to fallback gracefully to the software path when evas_gl engine is not available.
  27007. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  27008. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  27009. 2012-11-19 Brady Eidson <beidson@apple.com>
  27010. Remove the source files for NetworkRequest from the repository.
  27011. They were obsoleted and removed from the project file awhile ago, but I forgot to nuke the source.
  27012. Unreviewed.
  27013. * NetworkProcess/NetworkRequest.cpp: Removed.
  27014. * NetworkProcess/NetworkRequest.h: Removed.
  27015. 2012-11-19 Brady Eidson <beidson@apple.com>
  27016. Add 64-bit specializations for atomicIncrement and atomicDecrement
  27017. https://bugs.webkit.org/show_bug.cgi?id=102702
  27018. Reviewed by Eric Carlson.
  27019. Move away from the Darwin-specific OSAtomicIncrement64Barrier and use WTF::atomicIncrement instead.
  27020. * NetworkProcess/NetworkResourceLoader.cpp:
  27021. (WebKit::generateWillSendRequestID): Adopt WTF::atomicIncrement.
  27022. (WebKit::generateCanAuthenticateAgainstProtectionSpaceID): Ditto.
  27023. * WebProcess/mac/KeychainItemShimMethods.mm:
  27024. (WebKit::generateSecKeychainItemRequestID): Ditto.
  27025. * WebProcess/mac/SecItemShimMethods.mm:
  27026. (WebKit::generateSecItemRequestID): Ditto.
  27027. 2012-11-19 Brady Eidson <beidson@apple.com>
  27028. NetworkProcess Authentication.
  27029. https://bugs.webkit.org/show_bug.cgi?id=102592
  27030. Reviewed by Alexey Proskuryakov.
  27031. This get's basic HTTP authentication working with the NetworkProcess by dispatching authentication
  27032. related events to the WebProcess and relying on existing client APIs to answer them.
  27033. Implement ResourceHandleClient methods related to auth challenges and message them to the WebProcess.
  27034. Also implement messaging back from the WebProcess to response to those auth challenges:
  27035. * NetworkProcess/NetworkResourceLoader.cpp:
  27036. (WebKit::willSendRequestResponseMap):
  27037. (WebKit::NetworkResourceLoader::willSendRequest):
  27038. (WebKit::NetworkResourceLoader::willSendRequestHandled):
  27039. (WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
  27040. (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
  27041. (WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge):
  27042. (WebKit::NetworkResourceLoader::receivedCancellation):
  27043. (WebKit::NetworkResourceLoader::receivedAuthenticationCredential):
  27044. (WebKit::NetworkResourceLoader::receivedRequestToContinueWithoutAuthenticationCredential):
  27045. (WebKit::NetworkResourceLoader::receivedAuthenticationCancellation):
  27046. (WebKit::canAuthenticateAgainstProtectionSpaceResponseMap):
  27047. (WebKit::generateCanAuthenticateAgainstProtectionSpaceID):
  27048. (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
  27049. (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceHandled):
  27050. * NetworkProcess/NetworkResourceLoader.h:
  27051. * NetworkProcess/NetworkResourceLoader.messages.in:
  27052. Implement messaging to response to auth challenges from the NetworkProcess, and implement
  27053. AuthenticationClient to response to auth responses from WebProcess clients:
  27054. * WebProcess/Network/WebResourceLoader.cpp:
  27055. (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace):
  27056. (WebKit::WebResourceLoader::didReceiveAuthenticationChallenge):
  27057. (WebKit::WebResourceLoader::didCancelAuthenticationChallenge):
  27058. (WebKit::WebResourceLoader::receivedCredential):
  27059. (WebKit::WebResourceLoader::receivedRequestToContinueWithoutCredential):
  27060. (WebKit::WebResourceLoader::receivedCancellation):
  27061. * WebProcess/Network/WebResourceLoader.h:
  27062. (WebKit::WebResourceLoader::refAuthenticationClient):
  27063. (WebKit::WebResourceLoader::derefAuthenticationClient):
  27064. * WebProcess/Network/WebResourceLoader.messages.in:
  27065. Add a BlockingResponseMap for bool responses, which don't need OwnPtr trickery:
  27066. * Shared/BlockingResponseMap.h:
  27067. (BlockingBoolResponseMap::waitForResponse):
  27068. (BlockingBoolResponseMap::didReceiveResponse):
  27069. Add "allowsStoredCredentials" to NetworkResourceLoadParameters so the NetworkProcess
  27070. already has the answer when the question is asked:
  27071. * Shared/Network/NetworkResourceLoadParameters.cpp:
  27072. (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
  27073. (WebKit::NetworkResourceLoadParameters::encode):
  27074. (WebKit::NetworkResourceLoadParameters::decode):
  27075. * Shared/Network/NetworkResourceLoadParameters.h:
  27076. (WebKit::NetworkResourceLoadParameters::allowStoredCredentials):
  27077. Grab the value for "allowsStoredCredentials" when scheduling the load in the NetworkProcess:
  27078. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  27079. (WebKit::WebResourceLoadScheduler::scheduleLoad):
  27080. Add a FIXME for client certs:
  27081. * WebProcess/Authentication/mac/AuthenticationManager.mac.mm:
  27082. (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
  27083. Add a FIXME for downloads:
  27084. * WebProcess/Downloads/mac/DownloadMac.mm:
  27085. Remove unused messaging related methods:
  27086. * WebProcess/Network/NetworkProcessConnection.cpp:
  27087. * WebProcess/Network/NetworkProcessConnection.h:
  27088. 2012-11-19 Kihong Kwon <kihong.kwon@samsung.com>
  27089. Add PROXIMITY_EVENTS feature
  27090. https://bugs.webkit.org/show_bug.cgi?id=102658
  27091. Reviewed by Kentaro Hara.
  27092. Add PROXIMITY_EVENTS feature to xcode project for WebKit2.
  27093. * Configurations/FeatureDefines.xcconfig:
  27094. 2012-11-19 Christophe Dumez <christophe.dumez@intel.com>
  27095. [EFL][WK2] Fix possible crash in EwkViewImpl::displayTimerFired()
  27096. https://bugs.webkit.org/show_bug.cgi?id=102682
  27097. Reviewed by Kenneth Rohde Christiansen.
  27098. Add NULL check for DrawingAreaProxy and LayerTreeCoordinatorProxy
  27099. in displayTimerFired() to avoid crashing if those have already
  27100. been destroyed by the time to timer is fired.
  27101. * UIProcess/API/efl/EwkViewImpl.cpp:
  27102. (EwkViewImpl::layerTreeRenderer):
  27103. (EwkViewImpl::displayTimerFired):
  27104. (EwkViewImpl::createGLSurface):
  27105. (EwkViewImpl::enterAcceleratedCompositingMode):
  27106. * UIProcess/API/efl/EwkViewImpl.h:
  27107. (WebKit):
  27108. (EwkViewImpl):
  27109. 2012-11-19 Christophe Dumez <christophe.dumez@intel.com>
  27110. [WK2][WTR] Memory leak in TestController::initialize()
  27111. https://bugs.webkit.org/show_bug.cgi?id=102616
  27112. Reviewed by Kenneth Rohde Christiansen.
  27113. Export a few additional WTF symbols for windows port.
  27114. * win/WebKit2.def:
  27115. 2012-11-19 Carlos Garcia Campos <cgarcia@igalia.com>
  27116. [GTK] Test /webkit2/WebKitWebView/create-ready-close is failing after r134586
  27117. https://bugs.webkit.org/show_bug.cgi?id=102668
  27118. Reviewed by Philippe Normand.
  27119. Check only that window properties match when creating a new window
  27120. if the expected window properties has been set. Also remove a
  27121. FIXME and actually check that x and y are equal to the expected
  27122. one, now that the issue is fixed.
  27123. * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
  27124. 2012-11-19 Balazs Kelemen <kbalazs@webkit.org>
  27125. Unreviewed buildfix.
  27126. Fix -Wdelete-non-virtual-destructor error with gcc 4.7 after r135056.
  27127. * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:
  27128. (WebCustomFilterProgramProxy): This is a polymorphic derived class
  27129. so the destructor should be virtual.
  27130. 2012-11-19 Christophe Dumez <christophe.dumez@intel.com>
  27131. [CG][WK2] Assertion in CoordinatedGraphicsLayer::setContentsToImage(WebCore::Image*)
  27132. https://bugs.webkit.org/show_bug.cgi?id=102652
  27133. Reviewed by Kenneth Rohde Christiansen.
  27134. Handle null return of nativeImageForCurrentFrame similarly to Chromium
  27135. port in r130610. This can happen if there is an error early in the
  27136. decoding of an image.
  27137. Test: Already covered by compositing/images/truncated-direct-png-image.html
  27138. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  27139. (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
  27140. 2012-11-18 Jaehun Lim <ljaehun.lim@samsung.com>
  27141. [EFL][WK2] Remove underscore characters in Ewk class names.
  27142. https://bugs.webkit.org/show_bug.cgi?id=102641
  27143. Reviewed by Gyuyoung Kim.
  27144. WebKit EFL doesn't use '_' in C++ class names.
  27145. * UIProcess/API/efl/EwkViewCallbacks.h:
  27146. * UIProcess/API/efl/EwkViewImpl.h:
  27147. (EwkViewImpl::settings):
  27148. (EwkViewImpl::backForwardList):
  27149. (EwkViewImpl):
  27150. * UIProcess/API/efl/ewk_auth_request.h:
  27151. * UIProcess/API/efl/ewk_auth_request_private.h:
  27152. * UIProcess/API/efl/ewk_back_forward_list.cpp:
  27153. (EwkBackForwardList::EwkBackForwardList):
  27154. (EwkBackForwardList::nextItem):
  27155. (EwkBackForwardList::previousItem):
  27156. (EwkBackForwardList::currentItem):
  27157. (EwkBackForwardList::itemAt):
  27158. (EwkBackForwardList::size):
  27159. (EwkBackForwardList::backList):
  27160. (EwkBackForwardList::forwardList):
  27161. (EwkBackForwardList::getFromCacheOrCreate):
  27162. (EwkBackForwardList::createEinaList):
  27163. (EwkBackForwardList::update):
  27164. * UIProcess/API/efl/ewk_back_forward_list.h:
  27165. * UIProcess/API/efl/ewk_back_forward_list_item.h:
  27166. * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
  27167. * UIProcess/API/efl/ewk_back_forward_list_private.h:
  27168. (EwkBackForwardList::create):
  27169. (EwkBackForwardList):
  27170. * UIProcess/API/efl/ewk_color_picker.cpp:
  27171. (EwkColorPicker::EwkColorPicker):
  27172. (EwkColorPicker::setColor):
  27173. (EwkColorPicker::color):
  27174. * UIProcess/API/efl/ewk_color_picker.h:
  27175. * UIProcess/API/efl/ewk_color_picker_private.h:
  27176. (EwkColorPicker::create):
  27177. (EwkColorPicker):
  27178. * UIProcess/API/efl/ewk_context.h:
  27179. * UIProcess/API/efl/ewk_context_private.h:
  27180. * UIProcess/API/efl/ewk_cookie_manager.cpp:
  27181. (EwkCookieManager::EwkCookieManager):
  27182. (EwkCookieManager::~EwkCookieManager):
  27183. (EwkCookieManager::setPersistentStorage):
  27184. (EwkCookieManager::setHTTPAcceptPolicy):
  27185. (EwkCookieManager::clearHostnameCookies):
  27186. (EwkCookieManager::clearAllCookies):
  27187. (EwkCookieManager::watchChanges):
  27188. (EwkCookieManager::isWatchingForChanges):
  27189. (EwkCookieManager::getHostNamesWithCookies):
  27190. (EwkCookieManager::getHTTPAcceptPolicy):
  27191. (EwkCookieManager::cookiesDidChange):
  27192. * UIProcess/API/efl/ewk_cookie_manager.h:
  27193. * UIProcess/API/efl/ewk_cookie_manager_private.h:
  27194. (EwkCookieManager::create):
  27195. (EwkCookieManager):
  27196. * UIProcess/API/efl/ewk_database_manager.cpp:
  27197. (EwkDatabaseManager::EwkDatabaseManager):
  27198. (EwkDatabaseManager::getDatabaseOrigins):
  27199. (EwkDatabaseManager::createOriginList):
  27200. * UIProcess/API/efl/ewk_database_manager.h:
  27201. * UIProcess/API/efl/ewk_database_manager_private.h:
  27202. (EwkDatabaseManager::create):
  27203. (EwkDatabaseManager):
  27204. * UIProcess/API/efl/ewk_download_job.h:
  27205. * UIProcess/API/efl/ewk_download_job_private.h:
  27206. * UIProcess/API/efl/ewk_error.cpp:
  27207. (EwkError::EwkError):
  27208. (EwkError::url):
  27209. (EwkError::description):
  27210. (EwkError::domain):
  27211. (EwkError::errorCode):
  27212. (EwkError::isCancellation):
  27213. * UIProcess/API/efl/ewk_error.h:
  27214. * UIProcess/API/efl/ewk_error_private.h:
  27215. (EwkError::create):
  27216. (EwkError):
  27217. * UIProcess/API/efl/ewk_favicon_database.cpp:
  27218. (EwkFaviconDatabase::EwkFaviconDatabase):
  27219. (EwkFaviconDatabase::~EwkFaviconDatabase):
  27220. (EwkFaviconDatabase::iconURLForPageURL):
  27221. (EwkFaviconDatabase::watchChanges):
  27222. (EwkFaviconDatabase::unwatchChanges):
  27223. (EwkFaviconDatabase::iconForPageURL):
  27224. (EwkFaviconDatabase::didChangeIconForPageURL):
  27225. (EwkFaviconDatabase::getIconSurfaceSynchronously):
  27226. (EwkFaviconDatabase::iconDataReadyForPageURL):
  27227. * UIProcess/API/efl/ewk_favicon_database.h:
  27228. * UIProcess/API/efl/ewk_favicon_database_private.h:
  27229. (EwkFaviconDatabase::create):
  27230. (EwkFaviconDatabase):
  27231. * UIProcess/API/efl/ewk_file_chooser_request.h:
  27232. * UIProcess/API/efl/ewk_file_chooser_request_private.h:
  27233. * UIProcess/API/efl/ewk_form_submission_request.h:
  27234. * UIProcess/API/efl/ewk_form_submission_request_private.h:
  27235. * UIProcess/API/efl/ewk_intent.h:
  27236. * UIProcess/API/efl/ewk_intent_private.h:
  27237. * UIProcess/API/efl/ewk_intent_service.h:
  27238. * UIProcess/API/efl/ewk_intent_service_private.h:
  27239. * UIProcess/API/efl/ewk_navigation_data.h:
  27240. * UIProcess/API/efl/ewk_navigation_data_private.h:
  27241. * UIProcess/API/efl/ewk_navigation_policy_decision.h:
  27242. * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
  27243. * UIProcess/API/efl/ewk_object.h:
  27244. * UIProcess/API/efl/ewk_object_private.h:
  27245. (EwkObject::~EwkObject):
  27246. (ewk_object_is_of_type):
  27247. (ewk_object_cast_check):
  27248. (ewk_object_cast):
  27249. * UIProcess/API/efl/ewk_popup_menu.cpp:
  27250. (EwkPopupMenu::EwkPopupMenu):
  27251. (EwkPopupMenu::~EwkPopupMenu):
  27252. (EwkPopupMenu::close):
  27253. (EwkPopupMenu::items):
  27254. (EwkPopupMenu::selectedIndex):
  27255. (EwkPopupMenu::setSelectedIndex):
  27256. * UIProcess/API/efl/ewk_popup_menu.h:
  27257. * UIProcess/API/efl/ewk_popup_menu_item.cpp:
  27258. (EwkPopupMenuItem::EwkPopupMenuItem):
  27259. (EwkPopupMenuItem::type):
  27260. (EwkPopupMenuItem::textDirection):
  27261. (EwkPopupMenuItem::text):
  27262. (EwkPopupMenuItem::tooltipText):
  27263. (EwkPopupMenuItem::accessibilityText):
  27264. (EwkPopupMenuItem::hasTextDirectionOverride):
  27265. (EwkPopupMenuItem::isEnabled):
  27266. (EwkPopupMenuItem::isLabel):
  27267. (EwkPopupMenuItem::isSelected):
  27268. * UIProcess/API/efl/ewk_popup_menu_item.h:
  27269. * UIProcess/API/efl/ewk_popup_menu_item_private.h:
  27270. (EwkPopupMenuItem::create):
  27271. (EwkPopupMenuItem):
  27272. * UIProcess/API/efl/ewk_popup_menu_private.h:
  27273. (EwkPopupMenu::create):
  27274. (EwkPopupMenu):
  27275. * UIProcess/API/efl/ewk_resource.h:
  27276. * UIProcess/API/efl/ewk_resource_private.h:
  27277. * UIProcess/API/efl/ewk_security_origin.h:
  27278. * UIProcess/API/efl/ewk_security_origin_private.h:
  27279. * UIProcess/API/efl/ewk_settings.cpp:
  27280. (EwkSettings::preferences):
  27281. * UIProcess/API/efl/ewk_settings.h:
  27282. * UIProcess/API/efl/ewk_settings_private.h:
  27283. (EwkSettings::create):
  27284. (EwkSettings::EwkSettings):
  27285. * UIProcess/API/efl/ewk_storage_manager.cpp:
  27286. (EwkStorageManager::EwkStorageManager):
  27287. (EwkStorageManager::getStorageOrigins):
  27288. (EwkStorageManager::createOriginList):
  27289. * UIProcess/API/efl/ewk_storage_manager.h:
  27290. * UIProcess/API/efl/ewk_storage_manager_private.h:
  27291. (EwkStorageManager::create):
  27292. (EwkStorageManager):
  27293. * UIProcess/API/efl/ewk_url_request.h:
  27294. * UIProcess/API/efl/ewk_url_request_private.h:
  27295. * UIProcess/API/efl/ewk_url_response.h:
  27296. * UIProcess/API/efl/ewk_url_response_private.h:
  27297. * UIProcess/API/efl/ewk_url_scheme_request.h:
  27298. * UIProcess/API/efl/ewk_url_scheme_request_private.h:
  27299. * UIProcess/API/efl/tests/test_ewk2_object.cpp:
  27300. (TEST_F):
  27301. 2012-11-18 Yael Aharon <yael.aharon@intel.com>
  27302. [EFL][WK2] Wrong transform when using software path.
  27303. https://bugs.webkit.org/show_bug.cgi?id=102549
  27304. Reviewed by Kenneth Rohde Christiansen.
  27305. When using the software path, our transform is not correct and results
  27306. in drawing the wrong part of the page. This becomes more obvious after scrolling.
  27307. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  27308. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  27309. 2012-11-18 Carlos Garcia Campos <cgarcia@igalia.com>
  27310. [WK2] REGRESSION: After web process crash a new web process is created for every existing page
  27311. https://bugs.webkit.org/show_bug.cgi?id=102520
  27312. Reviewed by Alexey Proskuryakov.
  27313. When process model is SharedSecondaryProcess a new shared process
  27314. should be created instead of a new process per page.
  27315. * UIProcess/WebContext.cpp:
  27316. (WebKit::WebContext::ensureSharedWebProcess): Ensure a shared web
  27317. process and return it.
  27318. (WebKit::WebContext::createWebPage): Update to change in
  27319. ensureSharedWebProcess() that returns the shared web process now.
  27320. * UIProcess/WebContext.h:
  27321. (WebContext): Remove relaunchProcessIfNecessary().
  27322. (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
  27323. Use ensureSharedWebProcess() instead of relaunchProcessIfNecessary().
  27324. * UIProcess/WebPageProxy.cpp:
  27325. (WebKit::WebPageProxy::reattachToWebProcess): Ensure a shared web
  27326. process for SharedSecondaryProcess model or create a new web
  27327. process for multi-process models.
  27328. 2012-11-17 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
  27329. Remove 8-bit related assertion from NetscapePluginModuleX11.
  27330. https://bugs.webkit.org/show_bug.cgi?id=102588
  27331. Reviewed by Andreas Kling.
  27332. Follow-up to r135043: since String::fromUTF8() is not guaranteed
  27333. to give us a 16-bit string, the assertion in
  27334. truncateToSingleLine() will fail in that case.
  27335. This should make the EFL WK2 Debug bot stop failing all
  27336. plugin-related tests because "WebKit Test Plugin" is returned as
  27337. an 8-bit string.
  27338. * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
  27339. (WebKit::truncateToSingleLine):
  27340. 2012-11-17 Alexandru Chiculita <achicu@adobe.com>
  27341. [Texmap][CSS Shaders] Reuse the precompiled shader for custom filters in TextureMapperGL
  27342. https://bugs.webkit.org/show_bug.cgi?id=101801
  27343. Reviewed by Noam Rosenthal.
  27344. Changed the encoding code for ValidatedCustomFilterOperation to only encode the ID of the program.
  27345. LayerTreeCoordinator makes sure to send the programs in full before the encoder runs.
  27346. LayerTreeRenderer will maintain a HashMap from these IDs to the real CustomFilterProgram.
  27347. The UI process will also receive a message from the WebProcess when the shader is no longer in needed.
  27348. LayerTreeRenderer calls the TextureMapper's removeCachedCustomFilterProgram to notify
  27349. about the removed CustomFilterProgram.
  27350. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  27351. (CoreIPC::::encode):
  27352. (CoreIPC::::decode):
  27353. (CoreIPC):
  27354. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
  27355. (WebCore):
  27356. * Shared/CoordinatedGraphics/WebCustomFilterOperation.h: Added.
  27357. (WebCore):
  27358. (WebCustomFilterOperation):
  27359. (WebCore::WebCustomFilterOperation::create):
  27360. (WebCore::WebCustomFilterOperation::programID):
  27361. (WebCore::WebCustomFilterOperation::WebCustomFilterOperation):
  27362. * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:
  27363. (WebKit::WebCustomFilterProgramProxy::create):
  27364. (WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):
  27365. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  27366. (WebKit):
  27367. (WebKit::LayerTreeCoordinatorProxy::removeCustomFilterProgram):
  27368. (WebKit::LayerTreeCoordinatorProxy::createCustomFilterProgram):
  27369. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  27370. (LayerTreeCoordinatorProxy):
  27371. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  27372. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  27373. (WebKit::LayerTreeRenderer::setLayerFilters):
  27374. (WebKit):
  27375. (WebKit::LayerTreeRenderer::injectCachedCustomFilterPrograms):
  27376. (WebKit::LayerTreeRenderer::createCustomFilterProgram):
  27377. (WebKit::LayerTreeRenderer::removeCustomFilterProgram):
  27378. (WebKit::LayerTreeRenderer::setLayerAnimations):
  27379. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  27380. (WebCore):
  27381. (LayerTreeRenderer):
  27382. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  27383. (WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
  27384. (WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
  27385. (WebKit::LayerTreeCoordinator::setLayerAnimations):
  27386. 2012-11-17 Brady Eidson <beidson@apple.com>
  27387. Add an integer identifier field to AuthenticationChallengeBase.
  27388. https://bugs.webkit.org/show_bug.cgi?id=102593
  27389. Reviewed by Darin Adler.
  27390. Properly encode/decode the identifier when sending the challenge over CoreIPC.
  27391. * Shared/WebCoreArgumentCoders.cpp:
  27392. (CoreIPC::::encode):
  27393. (CoreIPC::::decode):
  27394. 2012-11-17 Balazs Kelemen <kbalazs@webkit.org>
  27395. 8bit-unaware String usage in NetscapePluginModuleX11.cpp
  27396. https://bugs.webkit.org/show_bug.cgi?id=102482
  27397. Reviewed by Michael Saboff.
  27398. String::fromUTF8 is not guaranteed to give a 16 bit string.
  27399. * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
  27400. (WebKit::truncateToSingleLine): Do an explicit 16 bit conversion.
  27401. 2012-11-16 Jaehun Lim <ljaehun.lim@samsung.com>
  27402. [EFL][WK2] Remove unnecessary #include statemtns
  27403. https://bugs.webkit.org/show_bug.cgi?id=102577
  27404. Reviewed by Anders Carlsson.
  27405. ewk_*_private.h doesn't need to include RefCounted.h after Ewk_Object refactoring.
  27406. * UIProcess/API/efl/ewk_auth_request_private.h:
  27407. * UIProcess/API/efl/ewk_database_manager.cpp:
  27408. * UIProcess/API/efl/ewk_file_chooser_request_private.h:
  27409. * UIProcess/API/efl/ewk_form_submission_request_private.h:
  27410. * UIProcess/API/efl/ewk_navigation_data_private.h:
  27411. * UIProcess/API/efl/ewk_resource_private.h:
  27412. * UIProcess/API/efl/ewk_storage_manager.cpp:
  27413. 2012-11-16 Sam Weinig <weinig@apple.com>
  27414. Fix the windows build.
  27415. * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
  27416. (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
  27417. (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
  27418. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  27419. (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
  27420. (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
  27421. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  27422. (WebKit::WebPlatformStrategies::defaultCookieStorage):
  27423. * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
  27424. (WebFrameNetworkingContext):
  27425. * WebProcess/WebPage/WebPage.cpp:
  27426. (WebKit::WebPage::updatePreferences):
  27427. * WebProcess/WebPage/win/WebPageWin.cpp:
  27428. (WebKit::cachedResponseForURL):
  27429. * WebProcess/WebProcess.cpp:
  27430. (WebKit::WebProcess::initializeWebProcess):
  27431. * WebProcess/win/WebProcessWin.cpp:
  27432. (WebKit::WebProcess::platformSetCacheModel):
  27433. (WebKit::WebProcess::platformClearResourceCaches):
  27434. (WebKit::WebProcess::platformInitializeWebProcess):
  27435. 2012-11-16 Alec Flett <alecflett@chromium.org>
  27436. Add tests for explicit serialization values
  27437. https://bugs.webkit.org/show_bug.cgi?id=96818
  27438. Reviewed by Adam Barth.
  27439. Add exports for SerializedScriptValue changes.
  27440. * win/WebKit2.def:
  27441. * win/WebKit2CFLite.def:
  27442. 2012-11-16 Kiran Muppala <cmuppala@apple.com>
  27443. Set task priority of WebKit2 processes to zero on Mac
  27444. https://bugs.webkit.org/show_bug.cgi?id=102567
  27445. Reviewed by Mark Rowe.
  27446. Explicitly set task priority of WebKit2 processes to zero, to
  27447. override automatic priority determination by the system.
  27448. * Shared/ChildProcess.cpp:
  27449. (WebKit::ChildProcess::ChildProcess): Add call to platformInitialize() and
  27450. move MAC specific call to disableProcessSuppression to platformInitialize.
  27451. (WebKit::ChildProcess::platformInitialize): Dummy for non MAC platforms.
  27452. * Shared/ChildProcess.h:
  27453. * Shared/mac/ChildProcessMac.mm:
  27454. (WebKit::ChildProcess::platformInitialize): Add call to setpriority().
  27455. 2012-11-16 Brady Eidson <beidson@apple.com>
  27456. Move resource loader messaging from NetworkConnectionToWebProcess directly to NetworkResourceLoader
  27457. https://bugs.webkit.org/show_bug.cgi?id=102570
  27458. Reviewed by Alexey Proskuryakov.
  27459. This patch adds the ability for WebResourceLoader to message NetworkResourceLoader directly.
  27460. This further cements the 1-to-1 relationship between the two classes and makes it easy to add/change
  27461. loader related messaging going forward.
  27462. Build/infrastructure stuff:
  27463. * Platform/CoreIPC/MessageID.h:
  27464. * WebKit2.xcodeproj/project.pbxproj:
  27465. * DerivedSources.make:
  27466. Remove the WillSendRequestHandled message, and forward NetworkResourceLoader messages on to the correct object:
  27467. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  27468. (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
  27469. * NetworkProcess/NetworkConnectionToWebProcess.h:
  27470. * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  27471. Hang on to a master map of identifiers to NetworkResourceLoaders:
  27472. * NetworkProcess/NetworkResourceLoadScheduler.cpp:
  27473. (WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
  27474. (WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
  27475. (WebKit::NetworkResourceLoadScheduler::networkResourceLoaderForIdentifier):
  27476. * NetworkProcess/NetworkResourceLoadScheduler.h:
  27477. Change the way "willSendRequestHandled" comes in to be a direct message:
  27478. * NetworkProcess/NetworkResourceLoader.cpp:
  27479. (WebKit::NetworkResourceLoader::willSendRequest):
  27480. (WebKit::NetworkResourceLoader::willSendRequestHandled):
  27481. * NetworkProcess/NetworkResourceLoader.h:
  27482. * NetworkProcess/NetworkResourceLoader.messages.in:
  27483. Make WebResourceLoader a MessageSender:
  27484. * WebProcess/Network/WebResourceLoader.cpp:
  27485. (WebKit::WebResourceLoader::connection):
  27486. (WebKit::WebResourceLoader::destinationID):
  27487. (WebKit::WebResourceLoader::willSendRequest): Use MessageSender abilities to message the NetworkResourceLoader.
  27488. * WebProcess/Network/WebResourceLoader.h:
  27489. 2012-11-16 Tony Chang <tony@chromium.org>
  27490. Remove ENABLE_CSS_HIERARCHIES since it's no longer in use
  27491. https://bugs.webkit.org/show_bug.cgi?id=102554
  27492. Reviewed by Andreas Kling.
  27493. As mentioned in https://bugs.webkit.org/show_bug.cgi?id=79939#c41 ,
  27494. we're going to revist this feature once additional vendor support is
  27495. achieved.
  27496. * Configurations/FeatureDefines.xcconfig:
  27497. 2012-11-16 Brent Fulgham <bfulgham@webkit.org>
  27498. [WinCairo] Build correction after r134960.
  27499. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Stub out
  27500. calls to CFNetwork-based implementation.
  27501. 2012-11-16 Martin Robinson <mrobinson@igalia.com>
  27502. Move authentication dialog to the UIProcess
  27503. [GTK] [WebKit2] Move GtkAuthenticationDialog to the UIProcess
  27504. https://bugs.webkit.org/show_bug.cgi?id=101843
  27505. Reviewed by Gustavo Noronha Silva.
  27506. Move the use of GtkAuthenticationDialog to the UIProcess along with the rest of
  27507. the GTK+ widgets. This will allow us to to embed the dialog into the WebView
  27508. in the future and to test authentication with the WebKit2 C API.
  27509. * GNUmakefile.list.am: Add the new class to the source list and remove the
  27510. GTK+-only WebFrameLoader implementation file.
  27511. * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp: Added. A subclass of GtkAuthenticationDialog
  27512. which uses the WebKit2 classes to do the UIProcess-side authentication.
  27513. * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Added.
  27514. * UIProcess/API/gtk/WebKitLoaderClient.cpp: Add a callback for didReceiveAuthenticationChallengeInFrame.
  27515. (didReceiveAuthenticationChallengeInFrame): Added.
  27516. (attachLoaderClientToView): Use the new callback.
  27517. * UIProcess/Authentication/AuthenticationChallengeProxy.h:
  27518. (WebKit::AuthenticationChallengeProxy::core): Add this getter for the WebCore class.
  27519. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  27520. (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): Share the implementation
  27521. again.
  27522. * WebProcess/WebCoreSupport/gtk/WebFrameLoaderClientGtk.cpp: Removed.
  27523. 2012-11-15 Alexey Proskuryakov <ap@apple.com>
  27524. Private Browsing is a per-page setting that sets a global value
  27525. https://bugs.webkit.org/show_bug.cgi?id=67870
  27526. Reviewed by Sam Weinig.
  27527. * NetworkProcess/mac/RemoteNetworkingContext.h: Added storageSession().
  27528. * NetworkProcess/mac/RemoteNetworkingContext.mm:
  27529. (WebKit::RemoteNetworkingContext::storageSession): Just always fall back to default
  27530. so far.
  27531. * WebKit2.xcodeproj/project.pbxproj: Added WebPlatformStrategiesMac.mm for strategy
  27532. code that uses Objective C.
  27533. * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
  27534. (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Use WebFrameNetworkingContext
  27535. instead of hardcoding access to sessiosn here.
  27536. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  27537. (WebKit::InjectedBundle::setPrivateBrowsingEnabled): Create and destroy private
  27538. browsing session as appropriate.
  27539. (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession): Use WebFrameNetworkingContext
  27540. instead of hardcoding access to sessiosn here.
  27541. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  27542. * WebProcess/WebCoreSupport/mac/WebPlatformStrategiesMac.mm: Added.
  27543. (WebKit::WebPlatformStrategies::defaultCookieStorage):
  27544. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  27545. (WebKit::WebPlatformStrategies::defaultCookieStorage):
  27546. Implemented defaultCookieStorage() through WebFrameNetworkingContext.
  27547. * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
  27548. * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
  27549. Moved code for dealing with global contexts here from WebCore.
  27550. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences):
  27551. Create a global private session when any page enters private browsing, and
  27552. delete it when any page exits private browsing. This is handling a preference
  27553. change, so all pages get it once.
  27554. * WebProcess/WebPage/mac/WebPageMac.mm:
  27555. (WebKit::WebPage::platformHasLocalDataForURL): Use main frame's context.
  27556. (WebKit::cachedResponseForURL): Ditto.
  27557. * WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess): Updated
  27558. to talk to WebFrameNetworkingContext instead of ResourceHandle for global session.
  27559. 2012-11-16 Viatcheslav Ostapenko <v.ostapenko@samsung.com>
  27560. [EFL][WK2] White flicker when scrolling big pages with dark background on slower hardware.
  27561. https://bugs.webkit.org/show_bug.cgi?id=102000
  27562. Reviewed by Kenneth Rohde Christiansen.
  27563. Add matching of view background color to the page background. This helps to reduce
  27564. visibility of flicker during scrolling/scaling/repainting where page tiles are not
  27565. ready. View background color matching is disabled by default and can be enabled
  27566. with new API function ewk_view_draws_page_background_set .
  27567. View background color can interfere with semi-transparent pages and should be
  27568. disabled by default.
  27569. Upstreaming changes by Youngtaeck Song(youngtaeck.song@samsung.com).
  27570. * UIProcess/API/efl/EwkViewImpl.cpp:
  27571. (EwkViewImpl::EwkViewImpl):
  27572. (EwkViewImpl::displayTimerFired):
  27573. * UIProcess/API/efl/EwkViewImpl.h:
  27574. (EwkViewImpl::setDrawsBackground):
  27575. (EwkViewImpl):
  27576. * UIProcess/API/efl/ewk_view.cpp:
  27577. (ewk_view_draws_page_background_set):
  27578. * UIProcess/API/efl/ewk_view.h:
  27579. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  27580. (WebKit::LayerTreeCoordinatorProxy::setBackgroundColor):
  27581. (WebKit):
  27582. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  27583. (LayerTreeCoordinatorProxy):
  27584. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  27585. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  27586. (WebKit::LayerTreeRenderer::LayerTreeRenderer):
  27587. (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
  27588. (WebKit::LayerTreeRenderer::paintToGraphicsContext):
  27589. (WebKit::LayerTreeRenderer::setBackgroundColor):
  27590. (WebKit):
  27591. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  27592. (LayerTreeRenderer):
  27593. (WebKit::LayerTreeRenderer::setDrawsBackground):
  27594. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  27595. (WebKit::LayerTreeCoordinator::setBackgroundColor):
  27596. (WebKit):
  27597. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  27598. (LayerTreeCoordinator):
  27599. * WebProcess/WebPage/LayerTreeHost.h:
  27600. (WebKit::LayerTreeHost::setBackgroundColor):
  27601. * WebProcess/WebPage/WebPage.cpp:
  27602. (WebKit::WebPage::WebPage):
  27603. (WebKit::WebPage::mainFrameDidLayout):
  27604. * WebProcess/WebPage/WebPage.h:
  27605. (WebPage):
  27606. 2012-11-16 Krzysztof Czech <k.czech@samsung.com>
  27607. [WK2][GTK][EFL] Share WebKit2-GTK's WebProcess Accessibility implementation with other WebKit ports.
  27608. https://bugs.webkit.org/show_bug.cgi?id=101748
  27609. Reviewed by Martin Robinson.
  27610. Remove and rename files related to Accessibility from WebPage/gtk to WebPage/atk.
  27611. * GNUmakefile.am:
  27612. * GNUmakefile.list.am:
  27613. * WebProcess/WebPage/atk/WebPageAccessibilityObject.h: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.h.
  27614. (WebKit):
  27615. (_WebPageAccessibilityObject):
  27616. (_WebPageAccessibilityObjectClass):
  27617. * WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.cpp.
  27618. (accessibilityRootObjectWrapper):
  27619. (webPageAccessibilityObjectInitialize):
  27620. (webPageAccessibilityObjectGetIndexInParent):
  27621. (webPageAccessibilityObjectGetNChildren):
  27622. (webPageAccessibilityObjectRefChild):
  27623. (web_page_accessibility_object_init):
  27624. (web_page_accessibility_object_class_init):
  27625. (webPageAccessibilityObjectNew):
  27626. (webPageAccessibilityObjectRefresh):
  27627. 2012-11-16 Alexandru Chiculita <achicu@adobe.com>
  27628. [Texmap][CSS Shaders] Make the CustomFilterValidatedProgram maintain the platform compiled program
  27629. https://bugs.webkit.org/show_bug.cgi?id=102414
  27630. Reviewed by Noam Rosenthal.
  27631. This is the first part of shader caching implementation for the Custom Filters in WK2 LayerTreeCoordinator.
  27632. In this patch it will just make the LayerTreeCoordinator knowledgeable about the life-time
  27633. of the custom filter programs. It can allocate IDs for the filters and it also gets a callback when the
  27634. filters are not needed anymore.
  27635. The UI process is still recreating the shader every time, but https://bugs.webkit.org/show_bug.cgi?id=101801
  27636. will fix that and try to reuse existing custom filters.
  27637. * CMakeLists.txt:
  27638. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  27639. (CoreIPC::::encode):
  27640. * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.cpp: Added.
  27641. (WebKit):
  27642. (WebKit::WebCustomFilterProgramProxy::~WebCustomFilterProgramProxy):
  27643. * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h: Added.
  27644. (WebKit):
  27645. (WebCustomFilterProgramProxyClient):
  27646. (WebCustomFilterProgramProxy):
  27647. (WebKit::WebCustomFilterProgramProxy::create):
  27648. (WebKit::WebCustomFilterProgramProxy::id):
  27649. (WebKit::WebCustomFilterProgramProxy::refFromValidatedProgram):
  27650. (WebKit::WebCustomFilterProgramProxy::derefFromValidatedProgram):
  27651. (WebKit::WebCustomFilterProgramProxy::setClient):
  27652. (WebKit::WebCustomFilterProgramProxy::client):
  27653. (WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):
  27654. * Target.pri:
  27655. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  27656. (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
  27657. (WebKit::LayerTreeCoordinator::syncLayerFilters):
  27658. (WebKit):
  27659. (WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
  27660. (WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
  27661. (WebKit::LayerTreeCoordinator::disconnectCustomFilterPrograms):
  27662. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  27663. (LayerTreeCoordinator):
  27664. 2012-11-16 Peter Gal <galpeter@inf.u-szeged.hu>
  27665. [Qt][Mac] Fix the build after r124873
  27666. https://bugs.webkit.org/show_bug.cgi?id=102475
  27667. Reviewed by Noam Rosenthal.
  27668. Change the CoordinatedImageBackingID typedef from uintptr_t to uint64_t.
  27669. * Shared/WebLayerTreeInfo.h:
  27670. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  27671. 2012-11-16 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  27672. [EFL][WK2] Unset the tooltip when the web process has crashed
  27673. https://bugs.webkit.org/show_bug.cgi?id=102232
  27674. Reviewed by Gyuyoung Kim.
  27675. Emit 'tooltip,text,unset' signal to unset the tooltip
  27676. when the web process has crashed.
  27677. * UIProcess/efl/PageClientBase.cpp:
  27678. (WebKit::PageClientBase::processDidCrash):
  27679. 2012-11-16 Helder Correia <helder.correia@nokia.com>
  27680. [CoordGfx] Follow coding style on explicit constructors
  27681. https://bugs.webkit.org/show_bug.cgi?id=102451
  27682. Reviewed by Noam Rosenthal.
  27683. Use the explicit keyword on single argument constructors.
  27684. No new tests needed.
  27685. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
  27686. (WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):
  27687. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
  27688. (CoordinatedTileBackend):
  27689. 2012-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
  27690. Unreviewed, rolling out r134908.
  27691. http://trac.webkit.org/changeset/134908
  27692. https://bugs.webkit.org/show_bug.cgi?id=102473
  27693. Broke the Apple Windows Debug build. (Requested by dydx on
  27694. #webkit).
  27695. * win/WebKit2.def:
  27696. * win/WebKit2CFLite.def:
  27697. 2012-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
  27698. Unreviewed, rolling out r134913.
  27699. http://trac.webkit.org/changeset/134913
  27700. https://bugs.webkit.org/show_bug.cgi?id=102472
  27701. Incorrect fix. (Requested by dydx on #webkit).
  27702. * win/WebKit2.def:
  27703. * win/WebKit2CFLite.def:
  27704. 2012-11-16 Daniel Bates <dbates@webkit.org>
  27705. Attempt to fix the Apple Windows Debug build after http://trac.webkit.org/changeset/134908
  27706. (https://bugs.webkit.org/show_bug.cgi?id=102354).
  27707. Add symbol.
  27708. * win/WebKit2.def:
  27709. * win/WebKit2CFLite.def:
  27710. 2012-11-16 KyungTae Kim <ktf.kim@samsung.com>
  27711. [WK2] Bug on ASSERT code in CoordinatedBackingStore.cpp
  27712. https://bugs.webkit.org/show_bug.cgi?id=102465
  27713. Reviewed by Noam Rosenthal.
  27714. The ASSERT code should be fixed because the 'operator>=' is not defined for WebCore::IntSize.
  27715. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  27716. (WebKit::CoordinatedBackingStoreTile::swapBuffers):
  27717. 2012-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
  27718. Unreviewed, rolling out r134865.
  27719. http://trac.webkit.org/changeset/134865
  27720. https://bugs.webkit.org/show_bug.cgi?id=102466
  27721. Broke the Apple Windows Debug build. (Requested by dydx on
  27722. #webkit).
  27723. * win/WebKit2.def:
  27724. * win/WebKit2CFLite.def:
  27725. 2012-11-16 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  27726. Avoid copying of ViewportArguments in computeViewportAttributes function
  27727. https://bugs.webkit.org/show_bug.cgi?id=102354
  27728. Reviewed by Kenneth Rohde Christiansen.
  27729. Update exported symbols.
  27730. * win/WebKit2.def:
  27731. * win/WebKit2CFLite.def:
  27732. 2012-11-15 Huang Dongsung <luxtella@company100.net>
  27733. Coordinated Graphics: Refactor code related to directly composited images.
  27734. https://bugs.webkit.org/show_bug.cgi?id=101023
  27735. Reviewed by Noam Rosenthal.
  27736. Internal Review by Gwang Yoon Hwang and Jae Hyun Park.
  27737. Currently, LayerTreeCoordinator manages composited images using
  27738. ShareableBitmap. This patch introduces CoordinatedImageBacking which
  27739. plays a role in managing composited images. CoordinatedImageBacking makes us
  27740. gather code related to a directly composited image into a single class.
  27741. We create only one CoordinatedImageBacking per image. For example, in the leaves
  27742. demo, we create only 3 textures of leaves.
  27743. * CMakeLists.txt:
  27744. * Shared/WebLayerTreeInfo.h:
  27745. (WebKit::WebLayerInfo::WebLayerInfo):
  27746. (WebLayerInfo):
  27747. * Target.pri:
  27748. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  27749. (WebKit::CoordinatedBackingStoreTile::swapBuffers):
  27750. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  27751. (WebKit::LayerTreeCoordinatorProxy::createImageBacking):
  27752. (WebKit::LayerTreeCoordinatorProxy::updateImageBacking):
  27753. (WebKit):
  27754. (WebKit::LayerTreeCoordinatorProxy::removeImageBacking):
  27755. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  27756. (LayerTreeCoordinatorProxy):
  27757. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  27758. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  27759. (WebKit::LayerTreeRenderer::setLayerState):
  27760. (WebKit::LayerTreeRenderer::createImageBacking):
  27761. (WebKit::LayerTreeRenderer::updateImageBacking):
  27762. (WebKit::LayerTreeRenderer::removeImageBacking):
  27763. (WebKit):
  27764. (WebKit::LayerTreeRenderer::assignImageBackingToLayer):
  27765. (WebKit::LayerTreeRenderer::removeReleasedImageBackingsIfNeeded):
  27766. (WebKit::LayerTreeRenderer::flushLayerChanges):
  27767. (WebKit::LayerTreeRenderer::purgeGLResources):
  27768. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  27769. (LayerTreeRenderer):
  27770. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  27771. (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
  27772. (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
  27773. (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
  27774. (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
  27775. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  27776. (CoordinatedGraphicsLayerClient):
  27777. (CoordinatedGraphicsLayer):
  27778. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp: Added.
  27779. (WebKit):
  27780. (WebKit::CoordinatedImageBacking::getCoordinatedImageBackingID):
  27781. (WebKit::CoordinatedImageBacking::create):
  27782. (WebKit::CoordinatedImageBacking::CoordinatedImageBacking):
  27783. (WebKit::CoordinatedImageBacking::~CoordinatedImageBacking):
  27784. (WebKit::CoordinatedImageBacking::addLayerClient):
  27785. (WebKit::CoordinatedImageBacking::removeLayerClient):
  27786. (WebKit::CoordinatedImageBacking::markDirty):
  27787. (WebKit::CoordinatedImageBacking::update):
  27788. (WebKit::CoordinatedImageBacking::releaseSurfaceIfNeeded):
  27789. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h: Added.
  27790. (WebCore):
  27791. (WebKit):
  27792. (CoordinatedImageBacking):
  27793. (Coordinator):
  27794. (WebKit::CoordinatedImageBacking::id):
  27795. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  27796. (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
  27797. (WebKit::LayerTreeCoordinator::createImageBackingIfNeeded):
  27798. (WebKit::LayerTreeCoordinator::createImageBacking):
  27799. (WebKit::LayerTreeCoordinator::updateImageBacking):
  27800. (WebKit::LayerTreeCoordinator::removeImageBacking):
  27801. (WebKit::LayerTreeCoordinator::flushPendingImageBackingChanges):
  27802. (WebKit::LayerTreeCoordinator::purgeBackingStores):
  27803. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  27804. (LayerTreeCoordinator):
  27805. 2012-11-15 Huang Dongsung <luxtella@company100.net>
  27806. Coordinated Graphics: A Minor optimization of calculating transforms in CoordinagedGraphicsLayer.
  27807. https://bugs.webkit.org/show_bug.cgi?id=102309
  27808. We calculate an inverse transform each tiledBackingStoreVisibleRect() call by
  27809. a TiledBackingStore and every tiles.
  27810. This patch caches the inverse transform to reuse it.
  27811. Reviewed by Noam Rosenthal.
  27812. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  27813. (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
  27814. (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
  27815. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  27816. (CoordinatedGraphicsLayer):
  27817. 2012-11-15 Alec Flett <alecflett@chromium.org>
  27818. Add tests for explicit serialization values
  27819. https://bugs.webkit.org/show_bug.cgi?id=96818
  27820. Reviewed by Adam Barth.
  27821. Add exports for SerializedScriptValue changes.
  27822. * win/WebKit2.def:
  27823. * win/WebKit2CFLite.def:
  27824. 2012-11-15 Gustavo Noronha Silva <gns@gnome.org>
  27825. [GTK] Split WebCore/platform into a separate library
  27826. https://bugs.webkit.org/show_bug.cgi?id=94435
  27827. Reviewed by Martin Robinson.
  27828. More people have been reporting problems when linking WebCore because
  27829. the command line limit is being exceeded. Splitting WebCore a bit more
  27830. is in order.
  27831. * GNUmakefile.am: link libWebCorePlatform into libwebkit2gtk
  27832. 2012-11-15 Anders Carlsson <andersca@apple.com>
  27833. Consolidate four accelerated compositing WKView methods into a single method
  27834. https://bugs.webkit.org/show_bug.cgi?id=102419
  27835. Reviewed by Andreas Kling.
  27836. Add a single -[WKView _setAcceleratedCompositingModeRootLayer:] method and have
  27837. the existing PageClientImpl member functions call it. Also, add a new
  27838. PageClient member function, setAcceleratedCompositingRootLayer.
  27839. * UIProcess/API/mac/PageClientImpl.h:
  27840. * UIProcess/API/mac/PageClientImpl.mm:
  27841. (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
  27842. (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
  27843. (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
  27844. (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
  27845. * UIProcess/API/mac/WKView.mm:
  27846. (-[WKView _processDidCrash]):
  27847. (-[WKView _setAcceleratedCompositingModeRootLayer:]):
  27848. * UIProcess/API/mac/WKViewInternal.h:
  27849. * UIProcess/PageClient.h:
  27850. * UIProcess/WebPageProxy.h:
  27851. * UIProcess/mac/RemoteLayerTreeHost.mm:
  27852. (WebKit::RemoteLayerTreeHost::commit):
  27853. * UIProcess/mac/WebPageProxyMac.mm:
  27854. (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
  27855. 2012-11-15 Rick Byers <rbyers@chromium.org>
  27856. No tests for changing mouse cursors
  27857. https://bugs.webkit.org/show_bug.cgi?id=100550
  27858. Reviewed by Brent Fulgham.
  27859. Add necessary exports for Internals::getCurrentCursorInfo
  27860. * win/WebKit2.def:
  27861. * win/WebKit2CFLite.def:
  27862. 2012-11-15 Kenneth Rohde Christiansen <kenneth@webkit.org>
  27863. Remove initiallyFitToViewport attribute
  27864. https://bugs.webkit.org/show_bug.cgi?id=102392
  27865. Reviewed by Noam Rosenthal.
  27866. Remove the initiallyFitToViewport which shouldn't have been
  27867. added in the first place. We now reset userScalable to auto (-1)
  27868. in case it was not explicitly set by the web author.
  27869. Same behavior, covered by existing tests.
  27870. * UIProcess/PageViewportController.cpp:
  27871. (WebKit::PageViewportController::PageViewportController):
  27872. (WebKit::PageViewportController::pageTransitionViewportReady):
  27873. * WebProcess/WebPage/WebPage.cpp:
  27874. (WebKit::WebPage::sendViewportAttributesChanged):
  27875. 2012-11-15 Balazs Kelemen <kbalazs@webkit.org>
  27876. Coordinated Graphics: support the "freeze animations" API
  27877. https://bugs.webkit.org/show_bug.cgi?id=100703
  27878. Reviewed by Noam Rosenthal.
  27879. Implement suspendAnimations and resumeAnimations in CoordinatedGraphicsLayer.
  27880. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  27881. (WebCore::CoordinatedGraphicsLayer::suspendAnimations):
  27882. (WebCore):
  27883. (WebCore::CoordinatedGraphicsLayer::resumeAnimations):
  27884. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  27885. (CoordinatedGraphicsLayer):
  27886. 2012-11-15 Yuni Jeong <yhnet.jung@samsung.com>
  27887. [EFL][WK2] Add APIs to get/set whether scripts can open new windows.
  27888. https://bugs.webkit.org/show_bug.cgi?id=102054
  27889. Reviewed by Gyuyoung Kim.
  27890. Added setting APIs make it possible to allow or prevent scripts from opening new windows automatically.
  27891. * UIProcess/API/efl/ewk_settings.cpp:
  27892. (ewk_settings_scripts_can_open_windows_set):
  27893. (ewk_settings_scripts_can_open_windows_get):
  27894. * UIProcess/API/efl/ewk_settings.h:
  27895. * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
  27896. (TEST_F):
  27897. 2012-11-14 Sheriff Bot <webkit.review.bot@gmail.com>
  27898. Unreviewed, rolling out r134691, r134703, r134715, r134716,
  27899. and r134733.
  27900. http://trac.webkit.org/changeset/134691
  27901. http://trac.webkit.org/changeset/134703
  27902. http://trac.webkit.org/changeset/134715
  27903. http://trac.webkit.org/changeset/134716
  27904. http://trac.webkit.org/changeset/134733
  27905. https://bugs.webkit.org/show_bug.cgi?id=102342
  27906. "Broke the Apple Windows Debug and GTK builds." (Requested by
  27907. dydx on #webkit).
  27908. * win/WebKit2.def:
  27909. * win/WebKit2CFLite.def:
  27910. 2012-11-14 Sheriff Bot <webkit.review.bot@gmail.com>
  27911. Unreviewed, rolling out r134741.
  27912. http://trac.webkit.org/changeset/134741
  27913. https://bugs.webkit.org/show_bug.cgi?id=102337
  27914. "Change is incorrect." (Requested by dydx on #webkit).
  27915. * win/WebKit2.def:
  27916. * win/WebKit2CFLite.def:
  27917. 2012-11-14 Daniel Bates <dbates@webkit.org>
  27918. Attempt to fix the Apple Windows Debug and GTK builds after <http://trac.webkit.org/changeset/134691>
  27919. (https://bugs.webkit.org/show_bug.cgi?id=96818)
  27920. Export symbols of the form:
  27921. ?deserializeBuffer@Internals@WebCore[...]
  27922. ?serializeObject@Internals@WebCore[...]
  27923. * win/WebKit2.def:
  27924. * win/WebKit2CFLite.def:
  27925. 2012-11-14 Alec Flett <alecflett@chromium.org>
  27926. Fix windows build exports (again)
  27927. https://bugs.webkit.org/show_bug.cgi?id=102324
  27928. Unreviewed windows-only build fix.
  27929. Add one more export that was causing unit tests to fail to link.
  27930. * win/WebKit2.def:
  27931. * win/WebKit2CFLite.def:
  27932. 2012-11-14 Brent Fulgham <bfulgham@webkit.org>
  27933. [WinCairo] Build correction after r134703.
  27934. * win/WebKit2CFLite.def: Add exports to CFLite version of
  27935. Windows build to match Alec's last update.
  27936. 2012-11-14 Alec Flett <alecflett@chromium.org>
  27937. Fix Windows exports for TestWebKit
  27938. https://bugs.webkit.org/show_bug.cgi?id=102302
  27939. Unreviewed, fixing Safari Win build.
  27940. Add missing exports.
  27941. * win/WebKit2.def:
  27942. 2012-11-14 Huang Dongsung <luxtella@company100.net>
  27943. Coordinated Graphics: Remove unused members and methods in CoordinatedGraphicsLayer.
  27944. https://bugs.webkit.org/show_bug.cgi?id=102172
  27945. Reviewed by Noam Rosenthal.
  27946. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  27947. (CoordinatedGraphicsLayer):
  27948. 2012-11-14 Brady Eidson <beidson@apple.com>
  27949. Move loading responsibility out of WebResourceLoadScheduler into a new WebResourceLoader
  27950. https://bugs.webkit.org/show_bug.cgi?id=102259
  27951. Reviewed by Alexey Proskuryakov.
  27952. Add a new WebResourceLoader message class which allows NetworkResourceLoader to message
  27953. WebResourceLoaders directly.
  27954. Consolidate the NetworkProcessConnection and WebResourceLoadScheduler messaging responsibilities
  27955. directly into WebResourceLoader.
  27956. Build-system infrastructure stuff:
  27957. * DerivedSources.make:
  27958. * Platform/CoreIPC/MessageID.h:
  27959. * WebKit2.xcodeproj/project.pbxproj:
  27960. Message directly to WebResourceLoader instead of NetworkProcessConnection:
  27961. * NetworkProcess/NetworkResourceLoader.cpp:
  27962. (WebKit::NetworkResourceLoader::connection):
  27963. (WebKit::NetworkResourceLoader::didReceiveResponse):
  27964. (WebKit::NetworkResourceLoader::didReceiveData):
  27965. (WebKit::NetworkResourceLoader::didFinishLoading):
  27966. (WebKit::NetworkResourceLoader::didFail):
  27967. (WebKit::NetworkResourceLoader::willSendRequest):
  27968. * NetworkProcess/NetworkResourceLoader.h:
  27969. (WebKit::NetworkResourceLoader::destinationID):
  27970. For now handle the only relevant message class which is the WebResourceLoader class:
  27971. * WebProcess/Network/NetworkProcessConnection.cpp:
  27972. (WebKit::NetworkProcessConnection::didReceiveMessage):
  27973. * WebProcess/Network/NetworkProcessConnection.h:
  27974. * WebProcess/Network/NetworkProcessConnection.messages.in:
  27975. Allow access to WebResourceLoaders by identifier:
  27976. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  27977. * WebProcess/Network/WebResourceLoadScheduler.h:
  27978. (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):
  27979. Directly handle resource loading messages instead of having WebResourceLoadScheduler do it:
  27980. * WebProcess/Network/WebResourceLoader.cpp:
  27981. (WebKit::WebResourceLoader::willSendRequest):
  27982. (WebKit::WebResourceLoader::didReceiveResponse):
  27983. (WebKit::WebResourceLoader::didReceiveData):
  27984. (WebKit::WebResourceLoader::didFinishResourceLoad):
  27985. (WebKit::WebResourceLoader::didFailResourceLoad):
  27986. (WebKit::WebResourceLoader::didReceiveResource):
  27987. * WebProcess/Network/WebResourceLoader.h:
  27988. * WebProcess/Network/WebResourceLoader.messages.in:
  27989. 2012-11-14 Andy Estes <aestes@apple.com>
  27990. Fix the Lion build after r134681.
  27991. * WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
  27992. 2012-11-08 Andy Estes <aestes@apple.com>
  27993. [WebKit2] Need API in UIProcess to enable loading of custom protocols
  27994. https://bugs.webkit.org/show_bug.cgi?id=101674
  27995. Reviewed by Brady Eidson.
  27996. Enable clients of WebKit2 to implement NSURLProtocol subclasses to
  27997. control the loading of resources with schemes that WebKit2 cannot
  27998. handle natively. Since loading happens in a different process, we
  27999. accomplish this by registering a global NSURLProtocol in the web
  28000. process and proxying NSURLProtocol and NSURLProtocolClient calls to
  28001. the client's NSURLProtocol in the UI process.
  28002. * DerivedSources.make: Addded new .messages.in files.
  28003. * Platform/CoreIPC/MessageID.h:
  28004. * Shared/WebProcessCreationParameters.cpp: Added the list of supported schemes.
  28005. (WebKit::WebProcessCreationParameters::encode):
  28006. (WebKit::WebProcessCreationParameters::decode):
  28007. * Shared/WebProcessCreationParameters.h:
  28008. * UIProcess/API/mac/WKBrowsingContextController.h:
  28009. * UIProcess/API/mac/WKBrowsingContextController.mm:
  28010. (+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
  28011. Added a class method where a client can register a scheme that it supports.
  28012. (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):
  28013. Added a class method where a client can unregister a scheme that it no longer supports.
  28014. (+[WKBrowsingContextController customSchemes]):
  28015. * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
  28016. * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: Added.
  28017. * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in: Added.
  28018. * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm: Added.
  28019. Implemented an NSURLConnectionDelegate that proxies messages to the
  28020. equivalent NSURLProtocolClient in the web process:
  28021. (-[WKCustomProtocolLoader initWithCustomProtocolManagerProxy:customProtocolID:request:connection:]):
  28022. (-[WKCustomProtocolLoader dealloc]):
  28023. (-[WKCustomProtocolLoader connection:didFailWithError:]):
  28024. (-[WKCustomProtocolLoader connection:willCacheResponse:]):
  28025. (-[WKCustomProtocolLoader connection:didReceiveResponse:]):
  28026. (-[WKCustomProtocolLoader connection:didReceiveData:]):
  28027. (-[WKCustomProtocolLoader connection:willSendRequest:redirectResponse:]):
  28028. (-[WKCustomProtocolLoader connectionDidFinishLoading:]):
  28029. Implemented a proxy that recieves -startLoading and -stopLoading
  28030. messages from the NSURLProtocol in the web process and starts an
  28031. NSURLConnection in the UI process, which will instantiate the client's NSURLProtocol:
  28032. (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
  28033. (WebKit::CustomProtocolManagerProxy::didReceiveMessage):
  28034. (WebKit::CustomProtocolManagerProxy::startLoading):
  28035. (WebKit::CustomProtocolManagerProxy::stopLoading):
  28036. * UIProcess/WebContext.h: Declared strings that store names of
  28037. NSNotifications used for scheme registration in the UI process.
  28038. * UIProcess/WebProcessProxy.cpp:
  28039. (WebKit::WebProcessProxy::WebProcessProxy):
  28040. (WebKit::WebProcessProxy::didReceiveMessage): Forwarded messages to the
  28041. CustomProtocolManagerProxy.
  28042. * UIProcess/WebProcessProxy.h:
  28043. * UIProcess/mac/WebContextMac.mm:
  28044. (WebKit::WebContext::platformInitializeWebProcess): Added the currently
  28045. registered schemes to the WebProcessCreationParameters and register
  28046. NSNotification observers for new scheme registration that forwards to
  28047. the context's web processes.
  28048. * WebKit2.xcodeproj/project.pbxproj:
  28049. * WebKit2Prefix.h: Enabled the CUSTOM_PROTOCOLS macro for the Mac.
  28050. * WebProcess/Network/CustomProtocols/CustomProtocolManager.h: Added.
  28051. * WebProcess/Network/CustomProtocols/CustomProtocolManager.messages.in: Added.
  28052. * WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Added.
  28053. (generateCustomProtocolID): Generate a per-WebProcess unique ID.
  28054. Implemented a global NSURLProtocol that claims to support all schemes
  28055. registered in the UI process. When NSURLConnection calls -startLoading
  28056. and -stopLoading, we forward these messages to the client's NSURLProtocol
  28057. in the UI process:
  28058. (+[WKCustomProtocol canInitWithRequest:]):
  28059. (+[WKCustomProtocol canonicalRequestForRequest:]):
  28060. (+[WKCustomProtocol requestIsCacheEquivalent:toRequest:]):
  28061. (-[WKCustomProtocol initWithRequest:cachedResponse:client:]):
  28062. (-[WKCustomProtocol startLoading]):
  28063. (-[WKCustomProtocol stopLoading]):
  28064. Implemented a manager that receives NSURLConnectionDelegate messages
  28065. forwarded from the UI process and passes them to the global NSURLProtocol's NSURLProtocolClient:
  28066. (WebKit::CustomProtocolManager::shared):
  28067. (WebKit::CustomProtocolManager::registerCustomProtocolClass):
  28068. (WebKit::CustomProtocolManager::addCustomProtocol):
  28069. (WebKit::CustomProtocolManager::removeCustomProtocol):
  28070. (WebKit::CustomProtocolManager::registerScheme):
  28071. (WebKit::CustomProtocolManager::unregisterScheme):
  28072. (WebKit::CustomProtocolManager::supportsScheme):
  28073. (WebKit::CustomProtocolManager::didReceiveMessage):
  28074. (WebKit::CustomProtocolManager::didFailWithError):
  28075. (WebKit::CustomProtocolManager::didLoadData):
  28076. (WebKit::CustomProtocolManager::didReceiveResponse):
  28077. (WebKit::CustomProtocolManager::didFinishLoading):
  28078. (WebKit::CustomProtocolManager::protocolForID):
  28079. * WebProcess/WebProcess.cpp:
  28080. (WebKit::WebProcess::didReceiveMessage): Forwarded messages to the
  28081. shared CustomProtocolManager.
  28082. (WebKit::WebProcess::registerSchemeForCustomProtocol): Register a
  28083. scheme received from the UI process.
  28084. (WebKit::WebProcess::unregisterSchemeForCustomProtocol): Unregister a
  28085. scheme received from the UI process.
  28086. * WebProcess/WebProcess.h:
  28087. * WebProcess/WebProcess.messages.in: Declared messages for passing
  28088. supported schemes from the UI process the web process.
  28089. * WebProcess/mac/WebProcessMac.mm:
  28090. (WebKit::WebProcess::platformInitializeWebProcess): Register the
  28091. schemes contained in the WebProcessCreationParameters.
  28092. 2012-11-14 Helder Correia <helder.correia@nokia.com>
  28093. [TexMap][Cairo] Accelerated compositing debug visuals
  28094. https://bugs.webkit.org/show_bug.cgi?id=101883
  28095. Reviewed by Kenneth Rohde Christiansen.
  28096. No new tests, just introducing a debug feature.
  28097. Add a Cairo implementation to complement the patch from bug 90116
  28098. (http://trac.webkit.org/changeset/122275).
  28099. For this feature to be enabled, the environment variable
  28100. WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled,
  28101. both repaint counters and tile borders will be painted.
  28102. A Cairo-specific drawRepaintCounter() implementation was added to
  28103. TextureMapperGL. A cairo_surface_t is used as scratch buffer to paint
  28104. the counters. It is then uploaded to a BitmapTexture acquired
  28105. from the pool and finally draw by TextureMapper. The actual compositing
  28106. happens inside LayerBackingStore::paintToTextureMapper(). Each
  28107. LayerBackingStoreTile has a repaint counter which gets incremented in
  28108. LayerBackingStore::updateTile().
  28109. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  28110. (WebKit::shouldShowTileDebugVisuals):
  28111. 2012-11-14 No'am Rosenthal <noam.rosenthal@nokia.com>
  28112. Coordinated Graphics: Rename m_CoordinatedGraphicsLayerClient to m_coordinator
  28113. https://bugs.webkit.org/show_bug.cgi?id=102133
  28114. Renamed m_CoordinatedGraphicsLayerClient to m_coordinator.
  28115. Also, there is no need for calling setCoordinator every time the tree changes,
  28116. since we can call it once when the layer is created, now that LayerTreeCoordinator
  28117. is the GraphicsLayerFactory.
  28118. Reviewed by Kenneth Rohde Christiansen
  28119. No change in functionality.
  28120. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  28121. (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
  28122. (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
  28123. (WebCore::CoordinatedGraphicsLayer::setChildren):
  28124. (WebCore::CoordinatedGraphicsLayer::addChild):
  28125. (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
  28126. (WebCore::CoordinatedGraphicsLayer::addChildAbove):
  28127. (WebCore::CoordinatedGraphicsLayer::addChildBelow):
  28128. (WebCore::CoordinatedGraphicsLayer::replaceChild):
  28129. (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
  28130. (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
  28131. (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
  28132. (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
  28133. (WebCore::CoordinatedGraphicsLayer::syncChildren):
  28134. (WebCore::CoordinatedGraphicsLayer::syncFilters):
  28135. (WebCore::CoordinatedGraphicsLayer::syncLayerState):
  28136. (WebCore::CoordinatedGraphicsLayer::syncAnimations):
  28137. (WebCore::CoordinatedGraphicsLayer::syncCanvas):
  28138. (WebCore::CoordinatedGraphicsLayer::ensureImageBackingStore):
  28139. (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
  28140. (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
  28141. (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
  28142. (WebCore::CoordinatedGraphicsLayer::createTile):
  28143. (WebCore::CoordinatedGraphicsLayer::updateTile):
  28144. (WebCore::CoordinatedGraphicsLayer::removeTile):
  28145. (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
  28146. (WebCore::CoordinatedGraphicsLayer::setCoordinator):
  28147. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  28148. (CoordinatedGraphicsLayer):
  28149. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  28150. (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
  28151. (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
  28152. (WebKit::LayerTreeCoordinator::paintContents):
  28153. 2012-11-14 Anders Carlsson <andersca@apple.com>
  28154. More steps towards actually hosting layers in the UI process
  28155. https://bugs.webkit.org/show_bug.cgi?id=102275
  28156. Reviewed by Andreas Kling.
  28157. * Shared/mac/RemoteLayerTreeTransaction.h:
  28158. (WebKit::RemoteLayerTreeTransaction::rootLayerID):
  28159. Add a getter for the root layer ID.
  28160. * UIProcess/mac/RemoteLayerTreeHost.h:
  28161. (RemoteLayerTreeHost):
  28162. Add root layer member variable. Make the RemoteLayerTreeHost class a GraphicsLayerClient.
  28163. * UIProcess/mac/RemoteLayerTreeHost.mm:
  28164. (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
  28165. Initialize the root layer to null.
  28166. (WebKit::RemoteLayerTreeHost::notifyAnimationStarted):
  28167. (WebKit::RemoteLayerTreeHost::notifyFlushRequired):
  28168. (WebKit::RemoteLayerTreeHost::paintContents):
  28169. Add empty stubs.
  28170. (WebKit::RemoteLayerTreeHost::commit):
  28171. Try to get the root layer.
  28172. (WebKit::RemoteLayerTreeHost::getOrCreateLayer):
  28173. Look up the layer with the given ID in the m_layers hash table and create it if it doesn't exist.
  28174. 2012-11-14 Brady Eidson <beidson@apple.com>
  28175. Fix the Production build after r134640 broke it.
  28176. * WebProcess/Network/WebResourceLoader.h:
  28177. (WebKit::WebResourceLoader::resourceLoadIdentifier): Use the un-used.
  28178. 2012-11-14 Tim Horton <timothy_horton@apple.com>
  28179. PDFPlugin should make use of PDFKit's fluid zooming
  28180. https://bugs.webkit.org/show_bug.cgi?id=101962
  28181. <rdar://problem/12555229>
  28182. Reviewed by Anders Carlsson.
  28183. Expose the notion of a frame that handles page scale gestures via WebFrame and to the bundle via WKBundleFrame.
  28184. The only frames that will purport to handle page scale gestures are those which contain PluginDocuments
  28185. backed by PDFPlugin, for now. Also, allow PDFKit to do its own fluid zooming animation.
  28186. * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
  28187. (WKBundleFrameHandlesPageScaleGesture): Provide WKBundleFrameHandlesPageScaleGesture to
  28188. inform the injected bundle whether or not the frame handles scaling itself.
  28189. * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Add WKBundleFrameHandlesPageScaleGesture.
  28190. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  28191. (WebKit::PDFPlugin::geometryDidChange): Allow PDFKit to use its fluid zooming instead of changing
  28192. the scale factor immediately.
  28193. * WebProcess/WebPage/WebFrame.cpp:
  28194. (WebKit::WebFrame::handlesPageScaleGesture): For now, the only frames that handle page scale
  28195. gestures themselves are plugins that purport to handle page scale changes themselves (i.e. only PDFPlugin).
  28196. * WebProcess/WebPage/WebFrame.h:
  28197. (WebFrame):
  28198. 2012-11-14 Tim Horton <timothy_horton@apple.com>
  28199. PDFPlugin should support downloading PDFs
  28200. https://bugs.webkit.org/show_bug.cgi?id=102152
  28201. <rdar://problem/12555313>
  28202. Reviewed by Alexey Proskuryakov.
  28203. Clicking on the "Download PDF" HUD button should download the current
  28204. PDF to the Downloads folder.
  28205. * UIProcess/WebPageProxy.cpp:
  28206. (WebKit::WebPageProxy::savePDFToFileInDownloadsFolder): Added. Save the
  28207. PDF data to disk, in the Downloads folder. This will only save files with
  28208. the .pdf extension, and of MIME type "application/pdf".
  28209. * UIProcess/WebPageProxy.h:
  28210. (WebPageProxy): Add savePDFToFileInDownloadsFolder.
  28211. * UIProcess/WebPageProxy.messages.in: Add savePDFToFileInDownloadsFolder.
  28212. * WebProcess/Plugins/PDF/PDFPlugin.h:
  28213. (PDFPlugin): Add saveToPDF().
  28214. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  28215. (-[WKPDFLayerControllerDelegate saveToPDF]): Forward saveToPDF delegate callback to PDFPlugin.
  28216. (WebKit::PDFPlugin::saveToPDF): Hand WebPageProxy the raw data for the
  28217. current PDF, which it will save to the Downloads folder. We receive
  28218. the suggested filename during loading.
  28219. * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
  28220. (WebKit::SimplePDFPlugin::suggestedFilename): Expose a getter for suggestedFilename.
  28221. * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
  28222. (WebKit::SimplePDFPlugin::pluginInfo): Add a missing space after an operator.
  28223. 2012-11-14 Brady Eidson <beidson@apple.com>
  28224. Part of "Move loading responsibility out of WebResourceLoadScheduler into a new WebResourceLoader"
  28225. https://bugs.webkit.org/show_bug.cgi?id=102259
  28226. Reviewed by Alexey Proskuryakov.
  28227. WebResourceLoadScheduler has taken on too many responsibilities that shouldn't belong to it.
  28228. We should create a WebResourceLoader that will eventually act as an intermediary between
  28229. WebCore::ResourceLoader and NetworkResourceLoader.
  28230. This patch is prep-work: It adds a new skeleton class to the WebProcess.
  28231. * WebKit2.xcodeproj/project.pbxproj:
  28232. Add the new WebResourceLoader class which is a very thin skeleton for now:
  28233. * WebProcess/Network/WebResourceLoader.cpp: Added.
  28234. (WebKit::WebResourceLoader::create):
  28235. (WebKit::WebResourceLoader::WebResourceLoader):
  28236. (WebKit::WebResourceLoader::~WebResourceLoader):
  28237. * WebProcess/Network/WebResourceLoader.h: Added.
  28238. (WebKit::WebResourceLoader::coreLoader):
  28239. Adapt WebResourceLoadScheduler to use this new class where appropriate:
  28240. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  28241. (WebKit::WebResourceLoadScheduler::scheduleLoad):
  28242. (WebKit::WebResourceLoadScheduler::addMainResourceLoad):
  28243. (WebKit::WebResourceLoadScheduler::remove):
  28244. (WebKit::WebResourceLoadScheduler::willSendRequest):
  28245. (WebKit::WebResourceLoadScheduler::didReceiveResponse):
  28246. (WebKit::WebResourceLoadScheduler::didReceiveData):
  28247. (WebKit::WebResourceLoadScheduler::didFinishResourceLoad):
  28248. (WebKit::WebResourceLoadScheduler::didReceiveResource):
  28249. (WebKit::WebResourceLoadScheduler::didFailResourceLoad):
  28250. * WebProcess/Network/WebResourceLoadScheduler.h:
  28251. 2012-11-14 Brady Eidson <beidson@apple.com>
  28252. Deliver data from NetworkProcess to resources progressively.
  28253. https://bugs.webkit.org/show_bug.cgi?id=102171
  28254. Reviewed by Alexey Proskuryakov.
  28255. Instead of buffering up the data for an entire resource and delivering it in one chunk, we need
  28256. to deliver data progressively.
  28257. This allows progressive parsing of textual resources and progressive rendering of images,
  28258. as well as allows endless multipart resources (e.g., multipart jpegs) to work at all.
  28259. * NetworkProcess/NetworkResourceLoader.cpp:
  28260. (WebKit::NetworkResourceLoader::didReceiveData): Don't buffer data locally (for now) but rather
  28261. pass it straight through to the WebProcess.
  28262. (WebKit::NetworkResourceLoader::didFinishLoading): Only notify didFinishLoading instead of
  28263. delivering a chunk of buffered data.
  28264. (WebKit::NetworkResourceLoader::didFail):
  28265. * NetworkProcess/NetworkResourceLoader.h:
  28266. * WebProcess/Network/NetworkProcessConnection.cpp:
  28267. (WebKit::NetworkProcessConnection::didReceiveData): Pass through towards ResourceLoader.
  28268. (WebKit::NetworkProcessConnection::didFinishResourceLoad):
  28269. (WebKit::NetworkProcessConnection::didFailResourceLoad):
  28270. * WebProcess/Network/NetworkProcessConnection.h:
  28271. * WebProcess/Network/NetworkProcessConnection.messages.in:
  28272. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  28273. (WebKit::WebResourceLoadScheduler::didReceiveData): Hand this chunk of data to the ResourceLoader directly.
  28274. (WebKit::WebResourceLoadScheduler::didFinishResourceLoad):
  28275. * WebProcess/Network/WebResourceLoadScheduler.h:
  28276. 2012-11-14 Anton Obzhirov <a.obzhirov@samsung.com>
  28277. Add platform implementation of remote web inspector server for GTK port.
  28278. https://bugs.webkit.org/show_bug.cgi?id=88094
  28279. Reviewed by Gustavo Noronha Silva.
  28280. The platform implementation is based on GSocket API (WebInspectorServerGtk.cpp and WebSocketServerGtk.cpp).
  28281. The server listens on port 2999 by default. IP address of the server can be set
  28282. in WEBKIT_INSPECTOR_SERVER (for example export WEBKIT_INSPECTOR_SERVER="192.168.124.130:2999").
  28283. The server is started during WebKit context initialization.
  28284. Once a page is loaded insector server can be accessed via other WebKit based browser.
  28285. New WebKit API gtk tests have beed added.
  28286. inspectorPageIndex.html has been moved to new location to share the file between GTK and Qt ports.
  28287. Test: test-page-list, test-remote-debugging-message, test-open-debugging-session
  28288. * GNUmakefile.am:
  28289. * GNUmakefile.list.am:
  28290. * Platform/Logging.cpp:
  28291. (WebKit):
  28292. (WebKit::getChannelFromName):
  28293. (WebKit::initializeLogChannelsIfNecessary):
  28294. * Platform/Logging.h:
  28295. (WebKit):
  28296. * UIProcess/API/gtk/tests/GNUmakefile.am:
  28297. * UIProcess/API/gtk/tests/InspectorTestServer.cpp: Added.
  28298. (loadChangedCallback):
  28299. (main):
  28300. * UIProcess/API/gtk/tests/TestInspectorServer.cpp: Added.
  28301. (stopTestServer):
  28302. (sigAbortHandler):
  28303. (testServerMonitorThreadFunc):
  28304. (startTestServerMonitor):
  28305. (startTestServer):
  28306. (testInspectorServerPageList):
  28307. (testRemoteDebuggingMessage):
  28308. (openRemoteDebuggingSession):
  28309. (beforeAll):
  28310. (afterAll):
  28311. * UIProcess/InspectorServer/WebInspectorServer.h:
  28312. (WebInspectorServer):
  28313. * UIProcess/InspectorServer/WebSocketServer.h:
  28314. (WebSocketServer):
  28315. * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
  28316. (WebKit::WebSocketServerConnection::WebSocketServerConnection):
  28317. (WebKit::WebSocketServerConnection::shutdownNow):
  28318. (WebKit::WebSocketServerConnection::shutdownAfterSendOrNow):
  28319. (WebKit::WebSocketServerConnection::didCloseSocketStream):
  28320. (WebKit::WebSocketServerConnection::didReceiveSocketStreamData):
  28321. (WebKit):
  28322. (WebKit::WebSocketServerConnection::didUpdateBufferedAmount):
  28323. * UIProcess/InspectorServer/WebSocketServerConnection.h:
  28324. (WebSocketServerConnection):
  28325. * UIProcess/InspectorServer/front-end: Added.
  28326. * UIProcess/InspectorServer/front-end/inspectorPageIndex.html: Added.
  28327. * UIProcess/InspectorServer/gtk: Added.
  28328. * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: Added.
  28329. (WebKit):
  28330. (WebKit::WebInspectorServer::platformResourceForPath):
  28331. (WebKit::WebInspectorServer::buildPageList):
  28332. * UIProcess/InspectorServer/gtk/WebSocketServerGtk.cpp: Added.
  28333. (WebKit):
  28334. (WebKit::connectionCallback):
  28335. (WebKit::WebSocketServer::platformInitialize):
  28336. (WebKit::WebSocketServer::platformListen):
  28337. (WebKit::WebSocketServer::platformClose):
  28338. * UIProcess/gtk/WebContextGtk.cpp:
  28339. (WebKit::initInspectorServer):
  28340. (WebKit):
  28341. (WebKit::WebContext::platformInitializeWebProcess):
  28342. * WebKit2.qrc:
  28343. * config.h:
  28344. * qt/Resources/inspectorPageIndex.html: Removed.
  28345. 2012-11-14 Christophe Dumez <christophe.dumez@intel.com>
  28346. [EFL][WK2][AC] Print out warning if we fallback back to software mode
  28347. https://bugs.webkit.org/show_bug.cgi?id=102188
  28348. Reviewed by Kenneth Rohde Christiansen.
  28349. Print out a warning if accelerated compositing is enabled but the
  28350. implementation is falling back to software mode for some reason.
  28351. * UIProcess/API/efl/EwkViewImpl.cpp:
  28352. (EwkViewImpl::createGLSurface):
  28353. 2012-11-14 Sheriff Bot <webkit.review.bot@gmail.com>
  28354. Unreviewed, rolling out r134531.
  28355. http://trac.webkit.org/changeset/134531
  28356. https://bugs.webkit.org/show_bug.cgi?id=102193
  28357. Makes >70 tests crash on EFL and Qt bots. (Requested by drott
  28358. on #webkit).
  28359. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  28360. (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
  28361. (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
  28362. (WebCore::CoordinatedGraphicsLayer::setChildren):
  28363. (WebCore::CoordinatedGraphicsLayer::addChild):
  28364. (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
  28365. (WebCore::CoordinatedGraphicsLayer::addChildAbove):
  28366. (WebCore::CoordinatedGraphicsLayer::addChildBelow):
  28367. (WebCore::CoordinatedGraphicsLayer::replaceChild):
  28368. (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
  28369. (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
  28370. (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
  28371. (WebCore::CoordinatedGraphicsLayer::syncChildren):
  28372. (WebCore::CoordinatedGraphicsLayer::syncFilters):
  28373. (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
  28374. (WebCore::CoordinatedGraphicsLayer::syncLayerState):
  28375. (WebCore::CoordinatedGraphicsLayer::syncAnimations):
  28376. (WebCore::CoordinatedGraphicsLayer::syncCanvas):
  28377. (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
  28378. (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
  28379. (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
  28380. (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
  28381. (WebCore::CoordinatedGraphicsLayer::createTile):
  28382. (WebCore::CoordinatedGraphicsLayer::updateTile):
  28383. (WebCore::CoordinatedGraphicsLayer::removeTile):
  28384. (WebCore::CoordinatedGraphicsLayer::setCoordinatedGraphicsLayerClient):
  28385. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  28386. (CoordinatedGraphicsLayer):
  28387. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  28388. (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
  28389. (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
  28390. (WebKit::LayerTreeCoordinator::createGraphicsLayer):
  28391. 2012-11-13 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  28392. [EFL][WK2] Add a button parameter to mouseClick, mouseDown, mouseUp functions
  28393. https://bugs.webkit.org/show_bug.cgi?id=102065
  28394. Reviewed by Laszlo Gombos.
  28395. mouseClick(), mouseDown() and mouseUp() test functions are only able to test a left button of mouse now.
  28396. However, EFL API test framwork needs to test various mouse buttons. For example, context menu test needs
  28397. to simulate a right mouse button. So, button type parameter needs to be added for it.
  28398. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
  28399. (EWK2UnitTest::EWK2UnitTestBase::mouseClick):
  28400. (EWK2UnitTest::EWK2UnitTestBase::mouseDown):
  28401. (EWK2UnitTest::EWK2UnitTestBase::mouseUp):
  28402. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
  28403. (EWK2UnitTestBase):
  28404. 2012-11-13 Yael Aharon <yael.aharon@intel.com>
  28405. [EFL][WK2] New window size should consult the window attributes
  28406. https://bugs.webkit.org/show_bug.cgi?id=102122
  28407. Reviewed by Kenneth Rohde Christiansen.
  28408. Pass the size that was specified in window.open to the embedder.
  28409. * UIProcess/API/efl/EwkViewImpl.cpp:
  28410. (EwkViewImpl::createNewPage):
  28411. * UIProcess/API/efl/EwkViewImpl.h:
  28412. (EwkViewImpl):
  28413. * UIProcess/API/efl/ewk_view.h:
  28414. * UIProcess/efl/PageUIClientEfl.cpp:
  28415. (WebKit::PageUIClientEfl::createNewPage):
  28416. 2012-11-13 No'am Rosenthal <noam.rosenthal@nokia.com>
  28417. Coordinated Graphics: Rename m_CoordinatedGraphicsLayerClient to m_coordinator
  28418. https://bugs.webkit.org/show_bug.cgi?id=102133
  28419. Renamed m_CoordinatedGraphicsLayerClient to m_coordinator.
  28420. Also, there is no need for calling setCoordinator every time the tree changes,
  28421. since we can call it once when the layer is created, now that LayerTreeCoordinator
  28422. is the GraphicsLayerFactory.
  28423. Reviewed by Kenneth Rohde Christiansen.
  28424. No change in functionality.
  28425. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  28426. (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
  28427. (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
  28428. (WebCore::CoordinatedGraphicsLayer::setChildren):
  28429. (WebCore::CoordinatedGraphicsLayer::addChild):
  28430. (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
  28431. (WebCore::CoordinatedGraphicsLayer::addChildAbove):
  28432. (WebCore::CoordinatedGraphicsLayer::addChildBelow):
  28433. (WebCore::CoordinatedGraphicsLayer::replaceChild):
  28434. (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
  28435. (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
  28436. (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
  28437. (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
  28438. (WebCore::CoordinatedGraphicsLayer::syncChildren):
  28439. (WebCore::CoordinatedGraphicsLayer::syncFilters):
  28440. (WebCore::CoordinatedGraphicsLayer::syncLayerState):
  28441. (WebCore::CoordinatedGraphicsLayer::syncAnimations):
  28442. (WebCore::CoordinatedGraphicsLayer::syncCanvas):
  28443. (WebCore::CoordinatedGraphicsLayer::ensureImageBackingStore):
  28444. (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
  28445. (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
  28446. (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
  28447. (WebCore::CoordinatedGraphicsLayer::createTile):
  28448. (WebCore::CoordinatedGraphicsLayer::updateTile):
  28449. (WebCore::CoordinatedGraphicsLayer::removeTile):
  28450. (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
  28451. (WebCore::CoordinatedGraphicsLayer::setCoordinator):
  28452. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  28453. (CoordinatedGraphicsLayer):
  28454. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  28455. (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
  28456. (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
  28457. (WebKit::LayerTreeCoordinator::paintContents):
  28458. 2012-11-13 Brady Eidson <beidson@apple.com>
  28459. REGRESSION(r134328) - ASSERT(isMainThread()) when subresources redirect in the NetworkProcessPass through
  28460. https://bugs.webkit.org/show_bug.cgi?id=102167
  28461. Reviewed by Simon Fraser.
  28462. willSendRequest comes in on a background thread but we need to do HostRecord accounting on the main thread.
  28463. So we'll just dispatch the receivedRedirect call to the main thread RunLoop.
  28464. * NetworkProcess/NetworkResourceLoader.cpp:
  28465. (WebKit::NetworkResourceLoader::willSendRequest):
  28466. 2012-11-13 Timothy Hatcher <timothy@apple.com>
  28467. Make InspectorFrontendHost.moveWindowBy work in WebKit2 for Mac.
  28468. https://bugs.webkit.org/show_bug.cgi?id=102154
  28469. Reviewed by Joseph Pecoraro.
  28470. * UIProcess/WebInspectorProxy.h:
  28471. * UIProcess/mac/WebInspectorProxyMac.mm:
  28472. (WebKit::getWindowFrame): Added. Call setInspectorWindowFrame.
  28473. (WebKit::setWindowFrame): Added. Call inspectorWindowFrame.
  28474. (WebKit::WebInspectorProxy::setInspectorWindowFrame): Added.
  28475. (WebKit::WebInspectorProxy::inspectorWindowFrame): Added.
  28476. (WebKit::WebInspectorProxy::platformCreateInspectorPage): Create and set the WKPageUIClient
  28477. with getWindowFrame and setWindowFrame.
  28478. 2012-11-13 Jon Lee <jonlee@apple.com>
  28479. Reduce snapshot waiting time
  28480. https://bugs.webkit.org/show_bug.cgi?id=102147
  28481. <rdar://problem/12695539>
  28482. Reviewed by Brian Weinstein.
  28483. * WebProcess/Plugins/PluginView.cpp: Reduce to 1 second. Improves impressions of responsiveness.
  28484. 2012-11-13 Anders Carlsson <andersca@apple.com>
  28485. Factor the code to enter accelerated compositing given a layer out into a separate method
  28486. https://bugs.webkit.org/show_bug.cgi?id=102155
  28487. Reviewed by Andreas Kling.
  28488. * UIProcess/API/mac/WKView.mm:
  28489. (-[WKView _enterAcceleratedCompositingMode:]):
  28490. (-[WKView _enterAcceleratedCompositingModeWithRootLayer:]):
  28491. * UIProcess/API/mac/WKViewInternal.h:
  28492. 2012-11-13 Anders Carlsson <andersca@apple.com>
  28493. RemoteGraphicsLayer destructor should call GraphicsLayer::willBeDestroyed
  28494. https://bugs.webkit.org/show_bug.cgi?id=102135
  28495. Reviewed by Andreas Kling.
  28496. Call GraphicsLayer::willBeDestroyed from the RemoteGraphicsLayer destructor and move
  28497. the call to RemoteLayerTreeContext::layerWillBeDestroyed to the overridden
  28498. willBeDestroyed member function.
  28499. * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
  28500. (RemoteGraphicsLayer):
  28501. * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
  28502. (WebKit::RemoteGraphicsLayer::~RemoteGraphicsLayer):
  28503. (WebKit::RemoteGraphicsLayer::willBeDestroyed):
  28504. (WebKit):
  28505. 2012-11-13 Brady Eidson <beidson@apple.com>
  28506. Split NetworkRequest up into a request class and a loading class.
  28507. https://bugs.webkit.org/show_bug.cgi?id=102049
  28508. Reviewed by Alexey Proskuryakov.
  28509. NetworkRequest unintentionally grew into a class that managed actual loading.
  28510. This patch splits it into "NetworkResourceLoadParameters" for all request-related data
  28511. and "NetworkResourceLoader" for handling the actual load itself.
  28512. Change HostRecord to manage NetworkResourceLoaders instead of NetworkRequests:
  28513. * NetworkProcess/HostRecord.cpp:
  28514. (WebKit::HostRecord::~HostRecord):
  28515. (WebKit::HostRecord::schedule):
  28516. (WebKit::HostRecord::addLoadInProgress):
  28517. (WebKit::HostRecord::remove):
  28518. (WebKit::HostRecord::hasRequests):
  28519. (WebKit::HostRecord::limitRequests):
  28520. * NetworkProcess/HostRecord.h:
  28521. (WebKit::HostRecord::loadersPending):
  28522. A new class to be a container for all the data required to start a network load:
  28523. * Shared/Network/NetworkResourceLoadParameters.cpp:
  28524. (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
  28525. (WebKit::NetworkResourceLoadParameters::encode):
  28526. (WebKit::NetworkResourceLoadParameters::decode):
  28527. * Shared/Network/NetworkResourceLoadParameters.h:
  28528. (WebKit::NetworkResourceLoadParameters::request):
  28529. (WebKit::NetworkResourceLoadParameters::priority):
  28530. (WebKit::NetworkResourceLoadParameters::contentSniffingPolicy):
  28531. Pass a single NetworkResourceLoadParameters around instead of multiple bits of data:
  28532. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  28533. (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
  28534. * NetworkProcess/NetworkConnectionToWebProcess.h:
  28535. * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  28536. * NetworkProcess/NetworkResourceLoadScheduler.cpp:
  28537. (WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
  28538. (WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost):
  28539. * NetworkProcess/NetworkResourceLoadScheduler.h:
  28540. The actual ResourceHandleClient that does the actual loading:
  28541. * NetworkProcess/NetworkResourceLoader.cpp: Renamed from Source/WebKit2/NetworkProcess/NetworkRequest.cpp.
  28542. (WebKit::NetworkResourceLoader::NetworkResourceLoader):
  28543. (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
  28544. (WebKit::NetworkResourceLoader::priority):
  28545. (WebKit::NetworkResourceLoader::start):
  28546. (WebKit::requestsToStopMutex):
  28547. (WebKit::requestsToStop):
  28548. (WebKit::NetworkResourceLoader::scheduleStopOnMainThread):
  28549. (WebKit::NetworkResourceLoader::performStops):
  28550. (WebKit::NetworkResourceLoader::stop):
  28551. (WebKit::NetworkResourceLoader::connectionToWebProcessDidClose):
  28552. (WebKit::NetworkResourceLoader::didReceiveResponse):
  28553. (WebKit::NetworkResourceLoader::didReceiveData):
  28554. (WebKit::NetworkResourceLoader::didFinishLoading):
  28555. (WebKit::NetworkResourceLoader::didFail):
  28556. (WebKit::responseMap):
  28557. (WebKit::generateWillSendRequestID):
  28558. (WebKit::didReceiveWillSendRequestHandled):
  28559. (WebKit::NetworkResourceLoader::willSendRequest):
  28560. (WebKit::NetworkResourceLoader::didSendData):
  28561. (WebKit::NetworkResourceLoader::didReceiveCachedMetadata):
  28562. (WebKit::NetworkResourceLoader::wasBlocked):
  28563. (WebKit::NetworkResourceLoader::cannotShowURL):
  28564. (WebKit::NetworkResourceLoader::willCacheResponse):
  28565. (WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
  28566. (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
  28567. (WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge):
  28568. (WebKit::NetworkResourceLoader::receivedCancellation):
  28569. (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
  28570. (WebKit::NetworkResourceLoader::supportsDataArray):
  28571. (WebKit::NetworkResourceLoader::didReceiveDataArray):
  28572. (WebKit::NetworkResourceLoader::willStopBufferingData):
  28573. (WebKit::NetworkResourceLoader::createAsyncFileStream):
  28574. * NetworkProcess/NetworkResourceLoader.h:
  28575. (WebKit::NetworkResourceLoader::create):
  28576. (WebKit::NetworkResourceLoader::identifier):
  28577. (WebKit::NetworkResourceLoader::connectionToWebProcess):
  28578. * WebKit2.xcodeproj/project.pbxproj:
  28579. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  28580. (WebKit::WebResourceLoadScheduler::scheduleLoad):
  28581. 2012-11-13 Anders Carlsson <andersca@apple.com>
  28582. Store destroyed layers in the remote layer tree transaction
  28583. https://bugs.webkit.org/show_bug.cgi?id=102127
  28584. Reviewed by Andreas Kling.
  28585. * Shared/mac/RemoteLayerTreeTransaction.h:
  28586. (RemoteLayerTreeTransaction):
  28587. * Shared/mac/RemoteLayerTreeTransaction.mm:
  28588. (WebKit::RemoteLayerTreeTransaction::encode):
  28589. (WebKit::RemoteLayerTreeTransaction::decode):
  28590. (WebKit::RemoteLayerTreeTransaction::setDestroyedLayerIDs):
  28591. (WebKit):
  28592. (WebKit::RemoteLayerTreeTransaction::dump):
  28593. * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
  28594. (RemoteGraphicsLayer):
  28595. * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
  28596. (WebKit::RemoteGraphicsLayer::~RemoteGraphicsLayer):
  28597. (WebKit::RemoteGraphicsLayer::removeFromParent):
  28598. * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
  28599. (RemoteLayerTreeContext):
  28600. * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
  28601. (WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
  28602. (WebKit::RemoteLayerTreeContext::flushLayers):
  28603. 2012-11-13 Timothy Hatcher <timothy@apple.com>
  28604. Adjust the Web Inspector window title frame if needed to prevent it from intersecting the dock button.
  28605. https://bugs.webkit.org/show_bug.cgi?id=102073
  28606. Reviewed by Joseph Pecoraro.
  28607. * UIProcess/mac/WebInspectorProxyMac.mm:
  28608. (-[WKWebInspectorWindow _customTitleFrame]): Added. Adjust the title frame.
  28609. 2012-11-13 Anders Carlsson <andersca@apple.com>
  28610. Store layer positions and sizes in the transaction
  28611. https://bugs.webkit.org/show_bug.cgi?id=102115
  28612. Reviewed by Andreas Kling.
  28613. * Shared/mac/RemoteLayerTreeTransaction.h:
  28614. (LayerProperties):
  28615. * Shared/mac/RemoteLayerTreeTransaction.mm:
  28616. (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
  28617. (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
  28618. (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
  28619. (WebKit::dumpChangedLayers):
  28620. * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
  28621. (RemoteGraphicsLayer):
  28622. * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
  28623. (WebKit::RemoteGraphicsLayer::setPosition):
  28624. (WebKit::RemoteGraphicsLayer::setSize):
  28625. 2012-11-13 Anders Carlsson <andersca@apple.com>
  28626. The layer tree transaction should include the root layer
  28627. https://bugs.webkit.org/show_bug.cgi?id=102109
  28628. Reviewed by Andreas Kling.
  28629. Keep the root layer ID in the layer tree transaction and encode/decode and dump it.
  28630. * Shared/mac/RemoteLayerTreeTransaction.h:
  28631. (RemoteLayerTreeTransaction):
  28632. * Shared/mac/RemoteLayerTreeTransaction.mm:
  28633. (WebKit::RemoteLayerTreeTransaction::encode):
  28634. (WebKit::RemoteLayerTreeTransaction::decode):
  28635. (WebKit::RemoteLayerTreeTransaction::setRootLayerID):
  28636. (WebKit):
  28637. (WebKit::RemoteLayerTreeTransaction::dump):
  28638. * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
  28639. (RemoteLayerTreeContext):
  28640. * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
  28641. (WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
  28642. (WebKit::RemoteLayerTreeContext::setRootLayer):
  28643. (WebKit::RemoteLayerTreeContext::flushLayers):
  28644. 2012-11-13 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  28645. [WK2] TiledBackingStore: WebChromeClient::pageRect() should consider viewport size
  28646. https://bugs.webkit.org/show_bug.cgi?id=101946
  28647. Reviewed by Noam Rosenthal.
  28648. WebChromeClient::pageRect() should consider viewport size when TILED_BACKING_STORE enabled.
  28649. Based on patch by Kenneth Rohde Christiansen.
  28650. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  28651. (WebKit::WebChromeClient::pageRect):
  28652. 2012-11-13 Huang Dongsung <luxtella@company100.net>
  28653. Coordinated Graphics: Directly composited animated GIFs only render the first image.
  28654. https://bugs.webkit.org/show_bug.cgi?id=102043
  28655. Reviewed by Noam Rosenthal.
  28656. CoordinatedGraphicsLayer::setContentsToImage() checks the pointer to the image,
  28657. not nativeImagePtr, so Coordinated Graphics currently draws only the first frame
  28658. of gif animations. This patch makes Coordinated Graphics draw gif animations.
  28659. In addition, this patch modifies the style of direct image compositing
  28660. code to match other parts of CoordinatedGraphicsLayer.
  28661. Test: ManualTests/animated-gif-on-compositing-layer.html
  28662. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  28663. (WebCore::CoordinatedGraphicsLayer::didChangeImageBacking):
  28664. (WebCore):
  28665. (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
  28666. (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
  28667. (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
  28668. (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
  28669. (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
  28670. (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
  28671. (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
  28672. (WebCore::CoordinatedGraphicsLayer::hasPendingVisibleChanges):
  28673. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  28674. (CoordinatedGraphicsLayer):
  28675. 2012-11-12 Huang Dongsung <luxtella@company100.net>
  28676. [Qt] REGRESSION(134142): overscaled tiles in pixel test results and MiniBrowser
  28677. https://bugs.webkit.org/show_bug.cgi?id=101918
  28678. Reviewed by Noam Rosenthal.
  28679. Currently, CoordinatedBackingStore can keep out-dated contents size, because the
  28680. size of CoordinatedBackingStore is set by only LayerTreeRenderer::createTile().
  28681. Although the size of GraphicsLayer is changed, LayerTreeRenderer::createTile()
  28682. is not called. However, LayerTreeRenderer::createTile() is always called, when
  28683. the contents scale of GraphicsLayer is changed.
  28684. This patch makes sure that we reset the backing store's size to the
  28685. layer size when UpdateTile or RemoveTile are called.
  28686. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  28687. (WebKit::CoordinatedBackingStore::setSize):
  28688. (WebKit::CoordinatedBackingStore::paintToTextureMapper):
  28689. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
  28690. (CoordinatedBackingStore):
  28691. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  28692. (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
  28693. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  28694. (LayerTreeCoordinatorProxy):
  28695. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  28696. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  28697. (WebKit::LayerTreeRenderer::getBackingStore):
  28698. (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
  28699. (WebKit::LayerTreeRenderer::resetBackingStoreSizeToLayerSize):
  28700. (WebKit):
  28701. (WebKit::LayerTreeRenderer::createTile):
  28702. (WebKit::LayerTreeRenderer::removeTile):
  28703. (WebKit::LayerTreeRenderer::updateTile):
  28704. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  28705. (LayerTreeRenderer):
  28706. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  28707. (WebCore::CoordinatedGraphicsLayer::createTile):
  28708. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  28709. (CoordinatedGraphicsLayerClient):
  28710. (CoordinatedGraphicsLayer):
  28711. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
  28712. (WebKit::CoordinatedTile::updateBackBuffer):
  28713. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
  28714. (CoordinatedTileClient):
  28715. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  28716. (WebKit::LayerTreeCoordinator::createTile):
  28717. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  28718. (LayerTreeCoordinator):
  28719. 2012-11-12 Sam Weinig <sam@webkit.org>
  28720. <rdar://problem/12445176>
  28721. WebProcess needs permission to open AppleUpstreamUserClient
  28722. Rubber-stamped by Dan Bernstein.
  28723. * WebProcess/com.apple.WebProcess.sb.in:
  28724. 2012-11-12 Simon Fraser <simon.fraser@apple.com>
  28725. Build fix after r134346 and 134347.
  28726. Use frameView.isFlipped, not frameView.flipped in the assertion.
  28727. * UIProcess/mac/WebInspectorProxyMac.mm:
  28728. (WebKit::WebInspectorProxy::createInspectorWindow):
  28729. 2012-11-12 Timothy Hatcher <timothy@apple.com>
  28730. Add a dock button to the top right corner of the Web Inspector window (similar to the full screen button).
  28731. https://bugs.webkit.org/show_bug.cgi?id=102023
  28732. Reviewed by Anders Carlsson.
  28733. * Resources/Dock.pdf: Added.
  28734. * UIProcess/WebInspectorProxy.cpp:
  28735. (WebKit::WebInspectorProxy::attach): Set the SetAttachedWindow message.
  28736. (WebKit::WebInspectorProxy::detach): Ditto.
  28737. (WebKit::WebInspectorProxy::attachAvailabilityChanged): Added. Call platformAttachAvailabilityChanged.
  28738. * UIProcess/WebInspectorProxy.h:
  28739. * UIProcess/WebInspectorProxy.messages.in: Added AttachAvailabilityChanged message.
  28740. * UIProcess/mac/WebInspectorProxyMac.mm:
  28741. (-[WKWebInspectorProxyObjCAdapter attach:]): Added. Call WebInspectorProxy::attach.
  28742. (-[WKWebInspectorWindow _cursorForResizeDirection:]): Added.
  28743. (WebKit::WebInspectorProxy::createInspectorWindow): Create the dock button and add it.
  28744. (WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Added. Update hidden state of the dock button.
  28745. * WebKit2.xcodeproj/project.pbxproj: Added Dock.pdf.
  28746. * WebProcess/WebPage/WebInspector.cpp:
  28747. (WebKit::WebInspector::setAttachedWindow): Added. Call through to the frontend client.
  28748. (WebKit::WebInspector::updateDockingAvailability): Send AttachAvailabilityChanged message.
  28749. * WebProcess/WebPage/WebInspector.h:
  28750. * WebProcess/WebPage/WebInspector.messages.in: Added SetAttachedWindow message.
  28751. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  28752. (WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Added stub.
  28753. * UIProcess/gtk/WebInspectorProxyGtk.cpp:
  28754. (WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Ditto.
  28755. * UIProcess/qt/WebInspectorProxyQt.cpp:
  28756. (WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Ditto.
  28757. * UIProcess/win/WebInspectorProxyWin.cpp:
  28758. (WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Ditto.
  28759. 2012-11-12 Anders Carlsson <andersca@apple.com>
  28760. Include child layers in the remote layer tree transaction
  28761. https://bugs.webkit.org/show_bug.cgi?id=102026
  28762. Reviewed by Andreas Kling.
  28763. * Shared/mac/RemoteLayerTreeTransaction.h:
  28764. * Shared/mac/RemoteLayerTreeTransaction.mm:
  28765. (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
  28766. (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
  28767. Encode and decode child layer IDs.
  28768. (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
  28769. Grab all child layer IDs and stick them in a vector.
  28770. (WebKit::dumpChangedLayers):
  28771. Dump child layer IDs as well.
  28772. * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
  28773. * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
  28774. (WebKit::RemoteGraphicsLayer::setChildren):
  28775. (WebKit::RemoteGraphicsLayer::addChild):
  28776. (WebKit::RemoteGraphicsLayer::addChildAtIndex):
  28777. (WebKit::RemoteGraphicsLayer::addChildAbove):
  28778. (WebKit::RemoteGraphicsLayer::addChildBelow):
  28779. (WebKit::RemoteGraphicsLayer::replaceChild):
  28780. Call noteSublayersChanged.
  28781. (WebKit::RemoteGraphicsLayer::noteSublayersChanged):
  28782. Note that the Children property changed.
  28783. 2012-11-12 Anders Carlsson <andersca@apple.com>
  28784. Send along the current remote layer tree transaction with the commit message
  28785. https://bugs.webkit.org/show_bug.cgi?id=102014
  28786. Reviewed by Tim Horton.
  28787. Add encode and decode member functions to RemoteLayerTreeTransaction and RemoteLayerTreeTransaction::LayerProperties.
  28788. * Shared/mac/RemoteLayerTreeTransaction.h:
  28789. * Shared/mac/RemoteLayerTreeTransaction.mm:
  28790. (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
  28791. (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
  28792. (WebKit::RemoteLayerTreeTransaction::encode):
  28793. (WebKit::RemoteLayerTreeTransaction::decode):
  28794. * UIProcess/mac/RemoteLayerTreeHost.h:
  28795. * UIProcess/mac/RemoteLayerTreeHost.messages.in:
  28796. * UIProcess/mac/RemoteLayerTreeHost.mm:
  28797. (WebKit::RemoteLayerTreeHost::commit):
  28798. * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
  28799. (WebKit::RemoteLayerTreeContext::flushLayers):
  28800. 2012-11-12 Brady Eidson <beidson@apple.com>
  28801. Get rid of the CrossOriginRedirectReceived message to the NetworkProcess.
  28802. https://bugs.webkit.org/show_bug.cgi?id=102010
  28803. Reviewed by Alexey Proskuryakov.
  28804. This message was a stop-gap measure for when the NetworkProcess did scheduling but not loading.
  28805. Now that the NetworkProcess does loading it doesn't need to be told when redirect is received.
  28806. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  28807. * NetworkProcess/NetworkConnectionToWebProcess.messages.in: Get rid of the message to the NetworkProcess.
  28808. * NetworkProcess/NetworkRequest.cpp:
  28809. (WebKit::NetworkRequest::willSendRequest): After willSendRequest is dispatched to the WebProcess, directly call
  28810. "receivedRedirect" on the NetworkResourceLoadScheduler.
  28811. * NetworkProcess/NetworkResourceLoadScheduler.cpp:
  28812. (WebKit::NetworkResourceLoadScheduler::receivedRedirect): Renamed from crossOriginRedirectReceived, as the
  28813. function already checks to see if the redirect was actually cross-origin.
  28814. * NetworkProcess/NetworkResourceLoadScheduler.h:
  28815. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  28816. (WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived): A no-op so the WebProcess doesn't
  28817. do any host record accounting of its own.
  28818. 2012-11-12 Tim Horton <timothy_horton@apple.com>
  28819. PDFPlugin should use PDFKit's context menu instead of the default WebKit one
  28820. https://bugs.webkit.org/show_bug.cgi?id=101896
  28821. <rdar://problem/12555173>
  28822. Reviewed by Anders Carlsson.
  28823. Show the context menu that PDFKit vends us instead of the default WebKit one
  28824. when PDFPlugin is told to show a context menu.
  28825. Also, react to the didChangeContentScaleFactor callback, so that when the context
  28826. menu (or HUD) is used to change the scale factor, we can inform PluginView.
  28827. * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
  28828. Add pdfLayerController:didChangeContentScaleFactor: delegate callback.
  28829. Rename tileScaleFactor to contentScaleFactor.
  28830. Add rightMouseDown: and menuForEvent: on PDFLayerController.
  28831. * WebProcess/Plugins/PDF/PDFPlugin.h:
  28832. (PDFPlugin):
  28833. Add notifyContentScaleFactorChanged, handleContextMenuEvent, and nsEventForWebMouseEvent.
  28834. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  28835. (-[WKPDFLayerControllerDelegate pdfLayerController:didChangeContentScaleFactor:]): Forward content scale factor changes to PDFPlugin.
  28836. (WebKit::PDFPlugin::pdfDocumentDidLoad): Rename tileScaleFactor to contentScaleFactor.
  28837. (WebKit::PDFPlugin::geometryDidChange): Rename tileScaleFactor to contentScaleFactor.
  28838. (WebKit::eventTypeFromWebEvent): It turns out we can infer whether the mouse is being dragged during a MouseMove event
  28839. by whether it has a mouse button associated with it or not, so we don't need to track this state manually.
  28840. (WebKit::PDFPlugin::nsEventForWebMouseEvent): Factor the part of handleMouseEvent that creates NSEvents* out into its own function.
  28841. (WebKit::PDFPlugin::handleMouseEvent):
  28842. Don't track mouseButtonIsDown manually, make use of the new nsEventForWebMouseEvent.
  28843. Hand rightMouseDown: to PDFLayerController instead of mouseDown: if necessary.
  28844. (WebKit::PDFPlugin::handleContextMenuEvent): Grab the relevant NSMenu from PDFKit and display it.
  28845. (WebKit::PDFPlugin::handleKeyboardEvent): Don't pass a bogus mouseButtonIsDown to eventTypeFromWebEvent.
  28846. (WebKit::PDFPlugin::notifyContentScaleFactorChanged): Update PluginView and co.'s notion of page scale when
  28847. PDFKit changes it (generally from the context menu/HUD). Also update page size and scrollbar size/position.
  28848. (WebKit::PDFPlugin::setScrollOffset): Don't call SimplePDFPlugin's implementation, as PDFKit handles invalidation itself.
  28849. * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
  28850. (WebKit::PDFPluginChoiceAnnotation::updateGeometry): Rename tileScaleFactor to contentScaleFactor.
  28851. * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
  28852. (WebKit::PDFPluginTextAnnotation::updateGeometry): Rename tileScaleFactor to contentScaleFactor.
  28853. * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Make m_scrollOffset protected.
  28854. 2012-11-12 Anders Carlsson <andersca@apple.com>
  28855. Add a RemoteLayerTreeHost object in the UI process
  28856. https://bugs.webkit.org/show_bug.cgi?id=101999
  28857. Reviewed by Tim Horton.
  28858. Add a (mostly empty) RemoteLayerTreeHost class that will live in the UI process and host the layer tree.
  28859. * DerivedSources.make:
  28860. Add RemoteLayerTreeHost.messages.in.
  28861. * Platform/CoreIPC/MessageID.h:
  28862. Add a RemoteLayerTreeHost message class.
  28863. * UIProcess/WebProcessProxy.cpp:
  28864. (WebKit::WebProcessProxy::addMessageReceiver):
  28865. (WebKit::WebProcessProxy::removeMessageReceiver):
  28866. (WebKit::WebProcessProxy::didReceiveMessage):
  28867. (WebKit::WebProcessProxy::didReceiveSyncMessage):
  28868. * UIProcess/WebProcessProxy.h:
  28869. Add a message receiver map to the web process proxy.
  28870. * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
  28871. * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
  28872. Add a RemoteLayerTreeHost member variable.
  28873. * UIProcess/mac/RemoteLayerTreeHost.h:
  28874. Add new class.
  28875. * UIProcess/mac/RemoteLayerTreeHost.messages.in:
  28876. Add new messages file with a single Commit message.
  28877. * UIProcess/mac/RemoteLayerTreeHost.mm:
  28878. (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
  28879. Add the layer tree host as a message receiver.
  28880. (WebKit::RemoteLayerTreeHost::~RemoteLayerTreeHost):
  28881. Remote the layer tree host as a message receiver.
  28882. (WebKit::RemoteLayerTreeHost::didReceiveMessage):
  28883. Call the generated member function.
  28884. (WebKit::RemoteLayerTreeHost::commit):
  28885. Add an empty stub for now.
  28886. * WebKit2.xcodeproj/project.pbxproj:
  28887. Add new files.
  28888. * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
  28889. (WebKit::RemoteLayerTreeContext::flushLayers):
  28890. Send a commit message to the remote layer tree host.
  28891. 2012-11-12 Tim Horton <timothy_horton@apple.com>
  28892. PDFPlugin should support non-1 device scale factor
  28893. https://bugs.webkit.org/show_bug.cgi?id=101923
  28894. Reviewed by Alexey Proskuryakov.
  28895. Do the appropriate plumbing to ensure that PDFPlugin handles device scale factor > 1
  28896. (it's called contentsScaleFactor in plugins), both for normal drawing and for snapshotting.
  28897. * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add deviceScaleFactor setter/getter to PDFLayerController.
  28898. * WebProcess/Plugins/PDF/PDFPlugin.h:
  28899. (PDFPlugin): Override contentsScaleFactorChanged.
  28900. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  28901. (WebKit::PDFPlugin::pdfDocumentDidLoad): Plumb device scale factor through to PDFLayerController.
  28902. (WebKit::PDFPlugin::contentsScaleFactorChanged): Plumb device scale factor through to PDFLayerController
  28903. when we're notified that it has changed.
  28904. (WebKit::PDFPlugin::snapshot): Create snapshots with the device scale factor applied.
  28905. 2012-11-12 Anders Carlsson <andersca@apple.com>
  28906. Rename RemoteLayerTreeController to RemoteLayerTreeContext
  28907. https://bugs.webkit.org/show_bug.cgi?id=101993
  28908. Reviewed by Andreas Kling.
  28909. * WebKit2.xcodeproj/project.pbxproj:
  28910. * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
  28911. (RemoteGraphicsLayer):
  28912. * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
  28913. (WebKit::RemoteGraphicsLayer::create):
  28914. (WebKit::RemoteGraphicsLayer::RemoteGraphicsLayer):
  28915. (WebKit::RemoteGraphicsLayer::flushCompositingStateForThisLayerOnly):
  28916. * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeController.h.
  28917. * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeController.mm.
  28918. * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  28919. (RemoteLayerTreeDrawingArea):
  28920. * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
  28921. (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
  28922. (WebKit::RemoteLayerTreeDrawingArea::graphicsLayerFactory):
  28923. (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
  28924. (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
  28925. 2012-11-12 Anders Carlsson <andersca@apple.com>
  28926. Add debug only code to dump the contents of a transaction
  28927. https://bugs.webkit.org/show_bug.cgi?id=101991
  28928. Reviewed by Andreas Kling.
  28929. * Shared/mac/RemoteLayerTreeTransaction.h:
  28930. * Shared/mac/RemoteLayerTreeTransaction.mm:
  28931. (WebKit::writeIndent):
  28932. (WebKit::dumpChangedLayers):
  28933. (WebKit::RemoteLayerTreeTransaction::dump):
  28934. 2012-11-12 Anders Carlsson <andersca@apple.com>
  28935. Store name changes in the layer transaction
  28936. https://bugs.webkit.org/show_bug.cgi?id=101981
  28937. Reviewed by Andreas Kling.
  28938. * Shared/mac/RemoteLayerTreeTransaction.h:
  28939. (LayerProperties):
  28940. Add new LayerProperties class.
  28941. (RemoteLayerTreeTransaction):
  28942. * Shared/mac/RemoteLayerTreeTransaction.mm:
  28943. (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
  28944. Find the changed layer properties for the given layer and apply the changed properties.
  28945. * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
  28946. (WebKit::RemoteGraphicsLayer::layerID):
  28947. Add new getter.
  28948. * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
  28949. (WebKit::generateLayerID):
  28950. (WebKit::RemoteGraphicsLayer::RemoteGraphicsLayer):
  28951. Give each remote graphics layer a unique ID.
  28952. 2012-11-12 Brady Eidson <beidson@apple.com>
  28953. NetworkProcess: Use an accurate shouldContentSniff value when creating ResourceHandles
  28954. https://bugs.webkit.org/show_bug.cgi?id=101872
  28955. Reviewed by Alexey Proskuryakov.
  28956. The WebProcess now passes "shouldContentSniff" over to the NetworkProcess with the requests so it can be respected.
  28957. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  28958. (WebKit::NetworkConnectionToWebProcess::scheduleNetworkRequest): Update to pass through "shouldContentSniff"
  28959. * NetworkProcess/NetworkConnectionToWebProcess.h:
  28960. * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  28961. * NetworkProcess/NetworkRequest.cpp:
  28962. (WebKit::NetworkRequest::NetworkRequest):
  28963. (WebKit::NetworkRequest::start):
  28964. * NetworkProcess/NetworkRequest.h:
  28965. (WebKit::NetworkRequest::create):
  28966. * NetworkProcess/NetworkResourceLoadScheduler.cpp:
  28967. (WebKit::NetworkResourceLoadScheduler::scheduleNetworkRequest): Update to pass through "shouldContentSniff"
  28968. * NetworkProcess/NetworkResourceLoadScheduler.h:
  28969. * WebProcess/Network/NetworkProcessConnection.h:
  28970. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  28971. (WebKit::WebResourceLoadScheduler::scheduleLoad): Update to pass through "shouldContentSniff"
  28972. 2012-11-12 Anders Carlsson <andersca@apple.com>
  28973. More work towards packaging layer changes up into a transaction object
  28974. https://bugs.webkit.org/show_bug.cgi?id=101969
  28975. Reviewed by Andreas Kling.
  28976. * Shared/mac/RemoteLayerTreeTransaction.h:
  28977. * Shared/mac/RemoteLayerTreeTransaction.mm:
  28978. (WebKit::RemoteLayerTreeTransaction::RemoteLayerTreeTransaction):
  28979. (WebKit::RemoteLayerTreeTransaction::~RemoteLayerTreeTransaction):
  28980. (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
  28981. Add empty stubs.
  28982. * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
  28983. (WebKit::RemoteGraphicsLayer::flushCompositingStateForThisLayerOnly):
  28984. Call layerPropertiesChanged on the current transaction.
  28985. * WebProcess/WebPage/mac/RemoteLayerTreeController.h:
  28986. * WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
  28987. (WebKit::RemoteLayerTreeController::RemoteLayerTreeController):
  28988. Initialize m_currentTransaction till 0.
  28989. (WebKit::RemoteLayerTreeController::currentTransaction):
  28990. Add getter. This may only be called from beneath flushLayers.
  28991. (WebKit::RemoteLayerTreeController::flushLayers):
  28992. Create a transaction before flusing the compositing state.
  28993. 2012-11-12 Anders Carlsson <andersca@apple.com>
  28994. More work on remote layer flushing
  28995. https://bugs.webkit.org/show_bug.cgi?id=101960
  28996. Reviewed by Andreas Kling.
  28997. * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
  28998. * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
  28999. (WebKit::RemoteGraphicsLayer::flushCompositingState):
  29000. Call recursiveCommitChanges.
  29001. (WebKit::RemoteGraphicsLayer::flushCompositingStateForThisLayerOnly):
  29002. Add stub function for now.
  29003. (WebKit::RemoteGraphicsLayer::recursiveCommitChanges):
  29004. Call flushCompositingStateForThisLayerOnly and then call recursiveCommitChanges recursively on all the child layers.
  29005. * WebProcess/WebPage/mac/RemoteLayerTreeController.h:
  29006. * WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
  29007. (WebKit::RemoteLayerTreeController::create):
  29008. (WebKit::RemoteLayerTreeController::RemoteLayerTreeController):
  29009. This now takes a web page.
  29010. (WebKit::RemoteLayerTreeController::setRootLayer):
  29011. Add empty function.
  29012. (WebKit::RemoteLayerTreeController::layerFlushTimerFired):
  29013. Call flushLayers explicitly.
  29014. (WebKit::RemoteLayerTreeController::flushLayers):
  29015. Force a layout and then sync all the compositing layers.
  29016. * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
  29017. (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
  29018. RemoteLayerTreeController::create now takes a web page.
  29019. (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
  29020. Call the remote layer tree controller.
  29021. 2012-11-12 Anders Carlsson <andersca@apple.com>
  29022. Layer property changes should schedule a remote layer flush
  29023. https://bugs.webkit.org/show_bug.cgi?id=101951
  29024. Reviewed by Andreas Kling.
  29025. * Shared/mac/RemoteLayerTreeTransaction.h:
  29026. * Shared/mac/RemoteLayerTreeTransaction.mm:
  29027. New class. For now this just contains the changed layer properties flags but this will be extended
  29028. to cover changed layers as well.
  29029. * WebKit2.xcodeproj/project.pbxproj:
  29030. Add new files.
  29031. * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
  29032. (WebKit::RemoteGraphicsLayer::RemoteGraphicsLayer):
  29033. Initialize m_uncommittedLayerChanges.
  29034. (WebKit::RemoteGraphicsLayer::setName):
  29035. Set the name and call noteLayerPropertiesChanged.
  29036. (WebKit::RemoteGraphicsLayer::noteLayerPropertiesChanged):
  29037. Notify that a flush is required (if required).
  29038. * WebProcess/WebPage/mac/RemoteLayerTreeController.h:
  29039. Add a layer flush timer.
  29040. * WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
  29041. (WebKit::RemoteLayerTreeController::RemoteLayerTreeController):
  29042. Initialize the layer flush timer.
  29043. (WebKit::RemoteLayerTreeController::scheduleLayerFlush):
  29044. Schedule the layer flush timer if needed.
  29045. (WebKit::RemoteLayerTreeController::layerFlushTimerFired):
  29046. Empty stub for now.
  29047. * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
  29048. (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
  29049. Call the remote layer tree controller.
  29050. 2012-11-12 Kenneth Rohde Christiansen <kenneth@webkit.org>
  29051. [EFL] Add implementations of device - user conversion methods
  29052. https://bugs.webkit.org/show_bug.cgi?id=101938
  29053. Reviewed by Laszlo Gombos.
  29054. Consider the deviceScaleFactor when convertion to/from user
  29055. and device units.
  29056. This affects DOM API's such as window.moveTo, resizeTo etc.
  29057. * UIProcess/efl/PageClientBase.cpp:
  29058. * UIProcess/efl/PageClientBase.h:
  29059. (PageClientBase):
  29060. * UIProcess/efl/PageClientDefaultImpl.cpp:
  29061. (WebKit::PageClientDefaultImpl::convertToDeviceSpace):
  29062. (WebKit):
  29063. (WebKit::PageClientDefaultImpl::convertToUserSpace):
  29064. * UIProcess/efl/PageClientDefaultImpl.h:
  29065. (PageClientDefaultImpl):
  29066. * UIProcess/efl/PageClientLegacyImpl.cpp:
  29067. (WebKit::PageClientLegacyImpl::convertToDeviceSpace):
  29068. (WebKit):
  29069. (WebKit::PageClientLegacyImpl::convertToUserSpace):
  29070. * UIProcess/efl/PageClientLegacyImpl.h:
  29071. (PageClientLegacyImpl):
  29072. 2012-11-12 Yael Aharon <yael.aharon@intel.com>
  29073. [EFL][WK2][AC] Black screen when applications use software backend.
  29074. https://bugs.webkit.org/show_bug.cgi?id=101659
  29075. Reviewed by Kenneth Rohde Christiansen.
  29076. If creating openGL context fails, automatically fallback to software rendering.
  29077. * UIProcess/API/efl/EwkViewImpl.cpp:
  29078. (EwkViewImpl::EwkViewImpl):
  29079. (EwkViewImpl::displayTimerFired):
  29080. (EwkViewImpl::createGLSurface):
  29081. (EwkViewImpl::enterAcceleratedCompositingMode):
  29082. * UIProcess/API/efl/EwkViewImpl.h:
  29083. (EwkViewImpl::hardwareAccelerationEnabled):
  29084. (EwkViewImpl):
  29085. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  29086. (WebKit::LayerTreeRenderer::LayerTreeRenderer):
  29087. (WebKit::LayerTreeRenderer::ensureRootLayer):
  29088. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  29089. (WebKit::LayerTreeRenderer::setAccelerationMode):
  29090. (LayerTreeRenderer):
  29091. * UIProcess/efl/PageClientBase.cpp:
  29092. (WebKit::PageClientBase::createDrawingAreaProxy):
  29093. 2012-11-12 Thiago Marcos P. Santos <thiago.santos@intel.com>
  29094. [WK2] Indentation nit on WebPage
  29095. https://bugs.webkit.org/show_bug.cgi?id=101928
  29096. Reviewed by Kenneth Rohde Christiansen.
  29097. * WebProcess/WebPage/WebPage.cpp:
  29098. (WebKit::WebPage::setViewportSize):
  29099. 2012-11-12 Jiyeon Kim <jiyeon0402.kim@samsung.com>
  29100. [EFL][WK2] Add ewk_settings_offline_web_application_cache_enabled set/get APIs
  29101. https://bugs.webkit.org/show_bug.cgi?id=101688
  29102. Reviewed by Gyuyoung Kim.
  29103. Add ewk_settings_offline_web_application_cache_get API to be used for enabling disabling the web application cache.
  29104. Add ewk_settings_offline_web_application_cache_set API to be used for getting the web application cache status.
  29105. In addition, offline web application cache is enabled by default.
  29106. * UIProcess/API/efl/EwkViewImpl.cpp:
  29107. (EwkViewImpl::EwkViewImpl):
  29108. * UIProcess/API/efl/ewk_settings.cpp:
  29109. (ewk_settings_offline_web_application_cache_enabled_set):
  29110. (ewk_settings_offline_web_application_cache_enabled_get):
  29111. * UIProcess/API/efl/ewk_settings.h:
  29112. * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
  29113. (TEST_F):
  29114. 2012-11-11 Shinya Kawanaka <shinyak@chromium.org>
  29115. [Shadow] ElementShadow should have RuleFeatureSet for select attribute selectors.
  29116. https://bugs.webkit.org/show_bug.cgi?id=101180
  29117. Reviewed by Dimitri Glazkov.
  29118. * win/WebKit2.def:
  29119. * win/WebKit2CFLite.def:
  29120. 2012-11-11 Sheriff Bot <webkit.review.bot@gmail.com>
  29121. Unreviewed, rolling out r134144.
  29122. http://trac.webkit.org/changeset/134144
  29123. https://bugs.webkit.org/show_bug.cgi?id=101876
  29124. seems to break win 7 chromium browser test (Requested by
  29125. hayato on #webkit).
  29126. * win/WebKit2.def:
  29127. * win/WebKit2CFLite.def:
  29128. 2012-11-11 Kenichi Ishibashi <bashi@chromium.org>
  29129. WTFString::utf8() should have a mode of conversion to use replacement character
  29130. https://bugs.webkit.org/show_bug.cgi?id=101678
  29131. Reviewed by Alexey Proskuryakov.
  29132. Update the symbol for String::utf8().
  29133. * win/WebKit2.def:
  29134. * win/WebKit2CFLite.def:
  29135. 2012-11-10 Zeno Albisser <zeno@webkit.org>
  29136. [Qt][WK2] Use QLibraryInfo to search for executables.
  29137. https://bugs.webkit.org/show_bug.cgi?id=101774
  29138. Reviewed by Simon Hausmann.
  29139. This allows finding the WebProcess or the PluginProcess
  29140. in it's installed location. This is necessary when
  29141. deploying QtWebKit with an installer.
  29142. * Shared/qt/ProcessExecutablePathQt.cpp:
  29143. (WebKit::executablePath):
  29144. 2012-11-09 Huang Dongsung <luxtella@company100.net>
  29145. Coordinated Graphics: Rename tileRect from targetRect.
  29146. https://bugs.webkit.org/show_bug.cgi?id=101705
  29147. Reviewed by Noam Rosenthal.
  29148. Messages::LayerTreeCoordinatorProxy::CreateTileForLayer contains the targetRect
  29149. variable. The targetRect stands for the rect of the tile created. This patch
  29150. renames tileRect to enhance the clearity.
  29151. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  29152. (WebKit::CoordinatedBackingStoreTile::swapBuffers):
  29153. (WebKit::CoordinatedBackingStoreTile::setBackBuffer):
  29154. (WebKit::CoordinatedBackingStore::updateTile):
  29155. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
  29156. (CoordinatedBackingStoreTile):
  29157. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  29158. (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
  29159. (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
  29160. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  29161. (LayerTreeCoordinatorProxy):
  29162. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  29163. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  29164. (WebKit::LayerTreeRenderer::updateTile):
  29165. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  29166. (TileUpdate):
  29167. (WebKit::LayerTreeRenderer::TileUpdate::TileUpdate):
  29168. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  29169. (WebCore::CoordinatedGraphicsLayer::createTile):
  29170. (WebCore::CoordinatedGraphicsLayer::updateTile):
  29171. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  29172. (CoordinatedGraphicsLayerClient):
  29173. (CoordinatedGraphicsLayer):
  29174. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
  29175. (CoordinatedTileClient):
  29176. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  29177. (WebKit::LayerTreeCoordinator::createTile):
  29178. (WebKit::LayerTreeCoordinator::updateTile):
  29179. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  29180. (LayerTreeCoordinator):
  29181. 2012-11-09 Noam Rosenthal <noam.rosenthal@nokia.com>
  29182. Allow ports to decide whether an image should be directly composited
  29183. https://bugs.webkit.org/show_bug.cgi?id=101827
  29184. Reviewed by Simon Fraser.
  29185. Implement shouldDirectlyCompositeImage for coordinated graphics, effectively disabling direct
  29186. compositing of images with width or height larger than 2000 pixels.
  29187. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  29188. (WebCore::CoordinatedGraphicsLayer::shouldDirectlyCompositeImage):
  29189. (WebCore):
  29190. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  29191. (CoordinatedGraphicsLayer):
  29192. 2012-11-09 Huang Dongsung <luxtella@company100.net>
  29193. Coordinated Graphics: Antialias the edge-tiles of CoordinatedBackingStore.
  29194. https://bugs.webkit.org/show_bug.cgi?id=101818
  29195. Reviewed by Noam Rosenthal.
  29196. Since we now have the entire surfaceRect, we can antialias the edge-tiles.
  29197. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  29198. (WebKit::CoordinatedBackingStore::paintTilesToTextureMapper):
  29199. (WebKit::CoordinatedBackingStore::paintToTextureMapper):
  29200. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
  29201. (CoordinatedBackingStore):
  29202. 2012-11-09 Rick Byers <rbyers@chromium.org>
  29203. No tests for changing mouse cursors
  29204. https://bugs.webkit.org/show_bug.cgi?id=100550
  29205. Reviewed by Adam Barth.
  29206. Add necessary exports for Internals::getCurrentCursorInfo
  29207. * win/WebKit2.def:
  29208. * win/WebKit2CFLite.def:
  29209. 2012-11-09 Vivek Galatage <vivekgalatage@gmail.com>
  29210. Add missing exports setMediaTypeOverride, setResolutionOverride and layerTreeAsText to WebKit2CFLite.def
  29211. https://bugs.webkit.org/show_bug.cgi?id=101816
  29212. Reviewed by Anders Carlsson.
  29213. Add missing exports setMediaTypeOverride, setResolutionOverride and layerTreeAsText to WebKit2CFLite.def to fix win-cairo build.
  29214. * win/WebKit2CFLite.def:
  29215. 2012-11-09 Huang Dongsung <luxtella@company100.net>
  29216. Coordinated Graphics: Amend CoordinatedBackingStore::paintToTextureMapper to fit its own semantic.
  29217. https://bugs.webkit.org/show_bug.cgi?id=101701
  29218. Reviewed by Noam Rosenthal.
  29219. Currently, all subclasses of TextureMapperPlatformLayer implement
  29220. paintToTextureMapper to draw its own texture on the given targetRect. Subclasses
  29221. can scale the texture to fit the size of the targetRect. However, only
  29222. CoordinatedBackingStore::paintToTextureMapper draws its texture using its own
  29223. texture size. There is no bug yet, because TextureMapperLayer uses
  29224. CoordinatedBackingStore only as a backing store, not a content layer. So,
  29225. TextureMapperLayer always request CoordinatedBackingStore to draw using its own
  29226. texture size. However, we can use CoordinatedBackingStore as a content layer in
  29227. the future. So this patch fixes this potential bug.
  29228. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  29229. (WebKit::CoordinatedBackingStore::setSize):
  29230. (WebKit):
  29231. (WebKit::mapToContents):
  29232. (WebKit::paintTilesToTextureMapper):
  29233. (WebKit::CoordinatedBackingStore::paintToTextureMapper):
  29234. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
  29235. (CoordinatedBackingStore):
  29236. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  29237. (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
  29238. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  29239. (LayerTreeCoordinatorProxy):
  29240. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  29241. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  29242. (WebKit::LayerTreeRenderer::createTile):
  29243. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  29244. (LayerTreeRenderer):
  29245. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  29246. (WebCore::CoordinatedGraphicsLayer::createTile):
  29247. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  29248. (CoordinatedGraphicsLayerClient):
  29249. (CoordinatedGraphicsLayer):
  29250. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
  29251. (WebKit::CoordinatedTile::updateBackBuffer):
  29252. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
  29253. (CoordinatedTileClient):
  29254. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  29255. (WebKit::LayerTreeCoordinator::createTile):
  29256. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  29257. (LayerTreeCoordinator):
  29258. 2012-11-09 Brady Eidson <beidson@apple.com>
  29259. Implement NetworkProcess willSendRequest
  29260. https://bugs.webkit.org/show_bug.cgi?id=101812
  29261. Reviewed by Alexey Proskuryakov.
  29262. Message to the WebProcess to get the new request, if any.
  29263. Because network callbacks are coming in on a background thread we have to jump through hoops to synchronously
  29264. ask the WebProcess, but these hoops follow an established pattern of using async messaging with BlockingResourceMap.
  29265. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  29266. (WebKit::NetworkConnectionToWebProcess::willSendRequestHandled): Pass the new request back to NetworkRequest for handling.
  29267. * NetworkProcess/NetworkConnectionToWebProcess.h:
  29268. * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  29269. * NetworkProcess/NetworkRequest.cpp:
  29270. (WebKit::NetworkRequest::didFail):
  29271. (WebKit::responseMap):
  29272. (WebKit::generateWillSendRequestID):
  29273. (WebKit::didReceiveWillSendRequestHandled):
  29274. (WebKit::NetworkRequest::willSendRequest): Asynchronously message the WebProcess but synchronous wait for a reply back.
  29275. * NetworkProcess/NetworkRequest.h:
  29276. * WebProcess/Network/NetworkProcessConnection.cpp:
  29277. (WebKit::NetworkProcessConnection::willSendRequest): Ask the WebResourceLoadScheduler for the new request then
  29278. message back to the NetworkProcess with the reply.
  29279. * WebProcess/Network/NetworkProcessConnection.h:
  29280. * WebProcess/Network/NetworkProcessConnection.messages.in:
  29281. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  29282. (WebKit::WebResourceLoadScheduler::willSendRequest):
  29283. * WebProcess/Network/WebResourceLoadScheduler.h:
  29284. 2012-11-09 Tim Horton <timothy_horton@apple.com>
  29285. PDFPlugin should support clicking on external links
  29286. https://bugs.webkit.org/show_bug.cgi?id=101647
  29287. <rdar://problem/12555222>
  29288. Reviewed by Alexey Proskuryakov.
  29289. * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add details about clickedLinkWithURL: callback.
  29290. * WebProcess/Plugins/PDF/PDFPlugin.h:
  29291. (PDFPlugin): Add clickedLink() and storage for the last mouse event that was dispatched.
  29292. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  29293. (-[WKPDFLayerControllerDelegate pdfLayerController:clickedLinkWithURL:]): Forward the URL to PDFPlugin.
  29294. (WebKit::PDFPlugin::handleMouseEvent): Store the last mouse event that was dispatched.
  29295. We use this to get the correct mouse button and modifier keys, so that command-clicking, etc. links works.
  29296. (WebKit::PDFPlugin::clickedLink): Request a load given the new URL.
  29297. * PluginProcess/PluginControllerProxy.h:
  29298. (PluginControllerProxy):
  29299. * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
  29300. (WebKit::NetscapePlugin::shouldAllowScripting):
  29301. * WebProcess/Plugins/Netscape/NetscapePlugin.h:
  29302. * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
  29303. * WebProcess/Plugins/Plugin.h:
  29304. * WebProcess/Plugins/PluginProxy.cpp:
  29305. (WebKit::PluginProxy::shouldAllowScripting):
  29306. * WebProcess/Plugins/PluginProxy.h:
  29307. * WebProcess/Plugins/PluginView.cpp:
  29308. (WebKit::PluginView::shouldAllowScripting):
  29309. * WebProcess/Plugins/PluginView.h:
  29310. Add shouldAllowScripting() function to Plugin (and plumb through PluginProxy and PluginView, etc.)
  29311. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  29312. (WebKit::WebFrameLoaderClient::allowScript): Override allowScript(); if the frame is hosting a PluginDocument,
  29313. ask its plugin whether it should allow execution of JavaScript and JavaScript URLs or not.
  29314. * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  29315. * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Disable scripting for SimplePDFPlugin (and, by inheritance, PDFPlugin).
  29316. 2012-11-09 Brady Eidson <beidson@apple.com>
  29317. Implement WebResourceBuffer::isEmpty()
  29318. https://bugs.webkit.org/show_bug.cgi?id=101805
  29319. Reviewed by Alexey Proskuryakov.
  29320. This is required to make the existing subresource loading in NetworkProcess work correctly,
  29321. as there's an isEmpty() check in the WebProcess that decides whether or not to actually deliver
  29322. the data to the ResourceLoader.
  29323. * Shared/WebResourceBuffer.cpp:
  29324. (WebKit::WebResourceBuffer::isEmpty):
  29325. * Shared/WebResourceBuffer.h:
  29326. 2012-11-09 Hurnjoo Lee <hurnjoo.lee@samsung.com>
  29327. [EFL][WK2][AC] Fixed layers are shaking when scrolling
  29328. https://bugs.webkit.org/show_bug.cgi?id=101549
  29329. Reviewed by Kenneth Rohde Christiansen.
  29330. At the time of adjusting positions for fixed layers, the locations of
  29331. fixed layers are calculated incorrectly because the contentsSize is empty.
  29332. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  29333. (WebKit::PageViewportControllerClientEfl::didChangeContentsSize): Call the
  29334. setContentsSize function in LayerTreeCoordinatorProxy in order to calculate
  29335. the locations of fixed layers correctly.
  29336. 2012-11-09 Brady Eidson <beidson@apple.com>
  29337. NetworkRequest refactoring
  29338. https://bugs.webkit.org/show_bug.cgi?id=101777
  29339. Reviewed by Alexey Proskuryakov.
  29340. Move all of the ResourceHandleClient stubs from the .h to the .cpp in one patch
  29341. to make future patches cleaner.
  29342. Also completely remove the declaration for shouldCacheResponse() for now.
  29343. * NetworkProcess/NetworkRequest.cpp:
  29344. (WebKit::NetworkRequest::willSendRequest):
  29345. (WebKit::NetworkRequest::didSendData):
  29346. (WebKit::NetworkRequest::didReceiveCachedMetadata):
  29347. (WebKit::NetworkRequest::wasBlocked):
  29348. (WebKit::NetworkRequest::cannotShowURL):
  29349. (WebKit::NetworkRequest::willCacheResponse):
  29350. (WebKit::NetworkRequest::shouldUseCredentialStorage):
  29351. (WebKit::NetworkRequest::didReceiveAuthenticationChallenge):
  29352. (WebKit::NetworkRequest::didCancelAuthenticationChallenge):
  29353. (WebKit::NetworkRequest::receivedCancellation):
  29354. (WebKit::NetworkRequest::canAuthenticateAgainstProtectionSpace):
  29355. (WebKit::NetworkRequest::supportsDataArray):
  29356. (WebKit::NetworkRequest::didReceiveDataArray):
  29357. (WebKit::NetworkRequest::willStopBufferingData):
  29358. (WebKit::NetworkRequest::createAsyncFileStream):
  29359. * NetworkProcess/NetworkRequest.h:
  29360. 2012-11-09 Alexey Proskuryakov <ap@apple.com>
  29361. CookieJar uses Document class, which is a layering violation
  29362. https://bugs.webkit.org/show_bug.cgi?id=101621
  29363. Reviewed by Brady Eidson.
  29364. * UIProcess/API/C/WKAPICast.h: Don't include CookieJar.h, its completely unnecessary.
  29365. 2012-11-09 peavo@outlook.com <peavo@outlook.com>
  29366. WinCairo build fails to link
  29367. https://bugs.webkit.org/show_bug.cgi?id=101739
  29368. Reviewed by Kentaro Hara.
  29369. * win/WebKit2CFLite.def:
  29370. 2012-11-09 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  29371. [EFL][WK2] REGRESSION (r134043): API tests crashes
  29372. https://bugs.webkit.org/show_bug.cgi?id=101742
  29373. Reviewed by Kenneth Rohde Christiansen.
  29374. Do not assert on PassRefPtr<WebContext> after it becomes 0.
  29375. * UIProcess/efl/BatteryProvider.cpp:
  29376. (BatteryProvider::BatteryProvider):
  29377. * UIProcess/efl/NetworkInfoProvider.cpp:
  29378. (NetworkInfoProvider::NetworkInfoProvider):
  29379. 2012-11-09 Yael Aharon <yael.aharon@intel.com>
  29380. [EFL][WK2][AC] Random crashes in layout tests on the bot
  29381. https://bugs.webkit.org/show_bug.cgi?id=101687
  29382. Reviewed by Kenneth Rohde Christiansen.
  29383. Speculative fix for a crash on the bot.
  29384. If didCommitLoad() is called before the view size was set, we will
  29385. try to paint an empty area, and that will crash.
  29386. * UIProcess/API/efl/EwkViewImpl.cpp:
  29387. (EwkViewImpl::update):
  29388. 2012-11-09 Jinwoo Song <jinwoo7.song@samsung.com>
  29389. [EFL][WK2] Make classes for client use WebContext instead of WKContext
  29390. https://bugs.webkit.org/show_bug.cgi?id=101564
  29391. Reviewed by Kenneth Rohde Christiansen.
  29392. EwkContext class has been refactored to use WebContext instead of WKContext in r133844,
  29393. so this patch makes client classes use WebContext
  29394. * UIProcess/API/efl/ewk_context.cpp:
  29395. (EwkContext::EwkContext):
  29396. * UIProcess/efl/BatteryProvider.cpp:
  29397. (BatteryProvider::~BatteryProvider):
  29398. (BatteryProvider::create):
  29399. (BatteryProvider::BatteryProvider):
  29400. (BatteryProvider::didChangeBatteryStatus):
  29401. * UIProcess/efl/BatteryProvider.h:
  29402. (BatteryProvider):
  29403. * UIProcess/efl/ContextHistoryClientEfl.cpp:
  29404. (WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
  29405. * UIProcess/efl/ContextHistoryClientEfl.h:
  29406. (WebKit::ContextHistoryClientEfl::create):
  29407. (ContextHistoryClientEfl):
  29408. * UIProcess/efl/NetworkInfoProvider.cpp:
  29409. (NetworkInfoProvider::create):
  29410. (NetworkInfoProvider::NetworkInfoProvider):
  29411. (NetworkInfoProvider::~NetworkInfoProvider):
  29412. * UIProcess/efl/NetworkInfoProvider.h:
  29413. (NetworkInfoProvider):
  29414. 2012-11-09 Jinwoo Song <jinwoo7.song@samsung.com>
  29415. [EFL][WK2] Fix build warning in test_ewk2_context.cpp: [-Wwrite-strings]
  29416. https://bugs.webkit.org/show_bug.cgi?id=101666
  29417. Reviewed by Kenneth Rohde Christiansen.
  29418. Use constant character pointer to fix [-Wwrite-strings] warning.
  29419. * UIProcess/API/efl/tests/test_ewk2_context.cpp:
  29420. (TEST_F):
  29421. 2012-11-09 Christophe Dumez <christophe.dumez@intel.com>
  29422. [EFL][WK2] Add support for custom cursors
  29423. https://bugs.webkit.org/show_bug.cgi?id=101723
  29424. Reviewed by Kenneth Rohde Christiansen.
  29425. EwkViewImpl::setCursor() now properly handles custom
  29426. cursors.
  29427. * UIProcess/API/efl/EwkViewImpl.cpp:
  29428. (EwkViewImpl::EwkViewImpl):
  29429. (EwkViewImpl::setCursor):
  29430. * UIProcess/API/efl/EwkViewImpl.h:
  29431. (EwkViewImpl):
  29432. 2012-11-08 Grzegorz Czajkowski <g.czajkowski@samsung.com>
  29433. [EFL] Add a method to the TextCheckerEnchant class to check whether any dictionary is loaded
  29434. https://bugs.webkit.org/show_bug.cgi?id=101570
  29435. Reviewed by Gustavo Noronha Silva.
  29436. To do not get the vector of loaded languages, WebKit2-EFL calls
  29437. TextCheckerEnchant::hasDictionary() method to check whether the
  29438. dictionaries vector is empty.
  29439. * UIProcess/API/efl/ewk_settings.cpp:
  29440. (ewk_settings_continuous_spell_checking_enabled_set):
  29441. * UIProcess/API/efl/ewk_text_checker.cpp:
  29442. (Ewk_Text_Checker::hasDictionary):
  29443. (Ewk_Text_Checker):
  29444. * UIProcess/API/efl/ewk_text_checker_private.h:
  29445. (Ewk_Text_Checker):
  29446. 2012-11-08 Timothy Hatcher <timothy@apple.com>
  29447. Always use a textured window for the Web Inspector.
  29448. https://bugs.webkit.org/show_bug.cgi?id=101693
  29449. Reviewed by Joseph Pecoraro.
  29450. * UIProcess/mac/WebInspectorProxyMac.mm:
  29451. (WebKit::WebInspectorProxy::createInspectorWindow): Removed the conditional for a textured window.
  29452. 2012-11-08 Huang Dongsung <luxtella@company100.net>
  29453. Coordinated Graphics: Don't send the messages for releasing resources during purging.
  29454. https://bugs.webkit.org/show_bug.cgi?id=101685
  29455. Reviewed by Noam Rosenthal.
  29456. We don't need to send the messages related to releasing resources to UI Process
  29457. during purging, because UI Process already had removed all resources.
  29458. This patch gives us reducing slight messaging overhead and increasing readability.
  29459. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  29460. (WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
  29461. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  29462. (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
  29463. (WebKit::LayerTreeCoordinator::purgeReleasedImages):
  29464. (WebKit::LayerTreeCoordinator::removeTile):
  29465. (WebKit::LayerTreeCoordinator::removeUpdateAtlas):
  29466. (WebKit::LayerTreeCoordinator::purgeBackingStores):
  29467. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  29468. (LayerTreeCoordinator):
  29469. 2012-11-08 KyungTae Kim <ktf.kim@samsung.com>
  29470. [WK2] Unused parameters on LayerTreeRenderer.cpp
  29471. https://bugs.webkit.org/show_bug.cgi?id=101653
  29472. Reviewed by Noam Rosenthal.
  29473. Because the 'tileID' parameter is not used now,
  29474. comment out it to fix build warning -Wunused-parameter
  29475. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  29476. (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
  29477. 2012-11-08 Christophe Dumez <christophe.dumez@intel.com>
  29478. [EFL][WK2] Add proper support for fullscreen API to MiniBrowser
  29479. https://bugs.webkit.org/show_bug.cgi?id=101615
  29480. Reviewed by Kenneth Rohde Christiansen.
  29481. * UIProcess/API/efl/EwkViewImpl.cpp:
  29482. (EwkViewImpl::enterFullScreen):
  29483. * UIProcess/API/efl/ewk_security_origin.cpp:
  29484. (EwkSecurityOrigin::EwkSecurityOrigin):
  29485. * UIProcess/API/efl/ewk_security_origin_private.h:
  29486. (EwkSecurityOrigin::create): Add factory method to construct a
  29487. EwkSecurityOrigin from a KURL.
  29488. (EwkSecurityOrigin):
  29489. * UIProcess/API/efl/ewk_view.cpp:
  29490. (ewk_view_fullscreen_exit): Add public API function to exit
  29491. fullscreen mode.
  29492. * UIProcess/API/efl/ewk_view.h: Add security origin parameter
  29493. to fullscreen_enter smart function since this information is
  29494. useful to the user agent.
  29495. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  29496. (fullScreenCallback):
  29497. (fullScreenExitCallback):
  29498. (TEST_F):
  29499. 2012-11-08 Brady Eidson <beidson@apple.com>
  29500. Have NetworkProcess do the actual loading of subresources.
  29501. https://bugs.webkit.org/show_bug.cgi?id=101640
  29502. Reviewed by Alexey Proskuryakov.
  29503. This adds actual loading of subresources in the NetworkProcess.
  29504. Currently a resource just gets its entire buffer of data built up and then delivered to the WebProcess in one chunk.
  29505. Many FIXMEs point the path towards much better behavior.
  29506. Project file stuff:
  29507. * WebKit2.xcodeproj/project.pbxproj:
  29508. Add a new Logging channel for scheduling so the one for loading can be separate:
  29509. * Platform/Logging.cpp:
  29510. * Platform/Logging.h:
  29511. Add an enhancement FIXME:
  29512. * NetworkProcess/HostRecord.cpp:
  29513. (WebKit::HostRecord::remove):
  29514. NetworkRequest now derives from ResourceHandleClient and does actual loading, messaging WebProcess as it does:
  29515. * NetworkProcess/NetworkRequest.cpp:
  29516. (WebKit::NetworkRequest::NetworkRequest):
  29517. (WebKit::NetworkRequest::~NetworkRequest):
  29518. (WebKit::NetworkRequest::start):
  29519. (WebKit::requestsToStopMutex):
  29520. (WebKit::requestsToStop):
  29521. (WebKit::NetworkRequest::scheduleStopOnMainThread): Stop
  29522. (WebKit::NetworkRequest::performStops):
  29523. (WebKit::NetworkRequest::stop): Does NetworkRequest cleanup that happens no matter the state of the network load.
  29524. (WebKit::NetworkRequest::didReceiveResponse):
  29525. (WebKit::NetworkRequest::didReceiveData):
  29526. (WebKit::NetworkRequest::didFinishLoading):
  29527. (WebKit::NetworkRequest::didFail):
  29528. * NetworkProcess/NetworkRequest.h:
  29529. Change some logging and now invalid asserts, as well as starting requests in-process instead of relying on WebProcess:
  29530. * NetworkProcess/NetworkResourceLoadScheduler.cpp:
  29531. (WebKit::NetworkResourceLoadScheduler::scheduleNetworkRequest):
  29532. (WebKit::NetworkResourceLoadScheduler::addLoadInProgress):
  29533. (WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
  29534. (WebKit::NetworkResourceLoadScheduler::crossOriginRedirectReceived):
  29535. (WebKit::NetworkResourceLoadScheduler::servePendingRequests):
  29536. (WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost):
  29537. (WebKit::NetworkResourceLoadScheduler::removeScheduledLoadIdentifiers):
  29538. (WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoadIdentifier):
  29539. * NetworkProcess/NetworkResourceLoadScheduler.h:
  29540. (NetworkResourceLoadScheduler):
  29541. Add a "ShareableResource" which includes a SharedMemory block, an offset into that block, and a size:
  29542. * Shared/ShareableResource.cpp: Added.
  29543. (WebKit::ShareableResource::Handle::Handle):
  29544. (WebKit::ShareableResource::Handle::encode):
  29545. (WebKit::ShareableResource::Handle::decode):
  29546. (WebKit::ShareableResource::create):
  29547. (WebKit::ShareableResource::ShareableResource):
  29548. (WebKit::ShareableResource::~ShareableResource):
  29549. (WebKit::ShareableResource::createHandle):
  29550. (WebKit::ShareableResource::data):
  29551. (WebKit::ShareableResource::size):
  29552. * Shared/ShareableResource.h:
  29553. (WebKit::ShareableResource::Handle::isNull):
  29554. (WebKit::ShareableResource::Handle::size):
  29555. Add an implementation of WebCore::ResourceBuffer that wraps a ShareableResource instead of a SharedBuffer:
  29556. * Shared/WebResourceBuffer.cpp:
  29557. (WebKit::WebResourceBuffer::WebResourceBuffer):
  29558. (WebKit::WebResourceBuffer::~WebResourceBuffer):
  29559. (WebKit::WebResourceBuffer::data):
  29560. (WebKit::WebResourceBuffer::size):
  29561. * Shared/WebResourceBuffer.h:
  29562. (WebResourceBuffer):
  29563. (WebKit::WebResourceBuffer::create):
  29564. Add messaging that responds to resource load events from the NetworkProcess and passes them to the scheduler:
  29565. * WebProcess/Network/NetworkProcessConnection.cpp:
  29566. (WebKit::NetworkProcessConnection::didReceiveResponse):
  29567. (WebKit::NetworkProcessConnection::didReceiveResource):
  29568. (WebKit::NetworkProcessConnection::didFailResourceLoad):
  29569. * WebProcess/Network/NetworkProcessConnection.h:
  29570. * WebProcess/Network/NetworkProcessConnection.messages.in:
  29571. Takes resource load events passed from the NetworkProcess and hands them off directly to WebCore ResourceLoaders:
  29572. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  29573. (WebKit::WebResourceLoadScheduler::scheduleLoad): Update some logging.
  29574. (WebKit::WebResourceLoadScheduler::addMainResourceLoad): Ditto.
  29575. (WebKit::WebResourceLoadScheduler::remove): Ditto.
  29576. (WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived): Ditto.
  29577. (WebKit::WebResourceLoadScheduler::servePendingRequests): Ditto.
  29578. (WebKit::WebResourceLoadScheduler::didReceiveResponse): Call through to ResourceLoader.
  29579. (WebKit::WebResourceLoadScheduler::didReceiveResource): Ditto.
  29580. (WebKit::WebResourceLoadScheduler::didFailResourceLoad): Ditto.
  29581. * WebProcess/Network/WebResourceLoadScheduler.h:
  29582. 2012-11-08 Huang Dongsung <luxtella@company100.net>
  29583. Coordinated Graphics: Remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
  29584. https://bugs.webkit.org/show_bug.cgi?id=101424
  29585. Reviewed by Noam Rosenthal.
  29586. We must remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
  29587. Currently, CoordinatedGraphicsLayer only removes a TiledBackingStore if
  29588. !drawsContent() while TextureMapperLayer::updateBackingStore() removes a backing
  29589. store if (!m_state.drawsContent || !m_state.contentsVisible || m_size.isEmpty()).
  29590. CoordinatedGraphicsLayer must have the same behavior.
  29591. In addition, this patch makes LayerTreeRenderer remove a backing store from
  29592. GraphicsLayerTextureMapper when CoordinatedBackingStore does not have any tiles.
  29593. Test: compositing/nested-direct-image-compositing.html
  29594. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  29595. (WebKit::CoordinatedBackingStore::removeTile):
  29596. (WebKit::CoordinatedBackingStore::isEmpty):
  29597. (WebKit):
  29598. (WebKit::CoordinatedBackingStore::commitTileOperations):
  29599. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
  29600. (CoordinatedBackingStore):
  29601. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  29602. (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
  29603. (WebKit):
  29604. (WebKit::LayerTreeRenderer::removeTile):
  29605. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  29606. (LayerTreeRenderer):
  29607. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  29608. (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
  29609. 2012-11-08 Tim Horton <timothy_horton@apple.com>
  29610. [WK2] Print preview should vend images to the UIProcess instead of PDFs
  29611. https://bugs.webkit.org/show_bug.cgi?id=101382
  29612. <rdar://problem/9866766>
  29613. Reviewed by Alexey Proskuryakov.
  29614. In the interests of keeping PDF processing inside the WebProcess, we should
  29615. remove print preview's reliance on PDFs, by handing bitmaps back instead.
  29616. * Shared/ShareableBitmap.cpp:
  29617. (WebKit::ShareableBitmap::create): Add an optional SharedMemory::Protection argument, so we can make
  29618. ShareableBitmaps from read-only handles if desired. Defaults to read-write as previously.
  29619. (WebKit::ShareableBitmap::createHandle): Add an optional SharedMemory::Protection argument, so we can make
  29620. read-only handles if desired. Defaults to read-write as previously.
  29621. * Shared/ShareableBitmap.h:
  29622. * UIProcess/API/mac/WKPrintingView.h:
  29623. (WebImage): Store WebImages instead of raw PDF data for previews.
  29624. * UIProcess/API/mac/WKPrintingView.mm:
  29625. (pageDidDrawToImage): Add a callback for when a preview we've requested is done rendering into an image.
  29626. Cache the image in _pagePreviews if appropriate.
  29627. (pageDidDrawToPDF): Do not handle PDF data unless we are expecting a real print callback (not a preview).
  29628. (-[WKPrintingView _drawPreview:]): Request an image instead of PDF data when doing a print preview.
  29629. * UIProcess/GenericCallback.h:
  29630. (ImageCallback): Add a callback type with one argument: a ShareableBitmap::Handle.
  29631. I can't use the GenericCallback template because ShareableBitmap::Handle doesn't have a corresponding WK type.
  29632. * UIProcess/WebPageProxy.cpp:
  29633. (WebKit::WebPageProxy::close): Add support for ImageCallback.
  29634. (WebKit::WebPageProxy::imageCallback): Add support for ImageCallback.
  29635. (WebKit::WebPageProxy::drawRectToImage): Rename drawRectToPDF to drawRectToImage.
  29636. * UIProcess/WebPageProxy.h:
  29637. (WebPageProxy): Rename drawRectToPDF to drawRectToImage, add support for ImageCallback.
  29638. * UIProcess/WebPageProxy.messages.in: Add support for ImageCallback.
  29639. * WebProcess/WebPage/WebPage.cpp:
  29640. (WebKit::WebPage::drawRectToImage): Rename drawRectToPDF to drawRectToImage.
  29641. Make drawRectToImage create a bitmap snapshot of the page (using the normal snapshotting code),
  29642. or, if the page is backed by a *PDFPlugin, draw the PDF document into a bitmap and use that.
  29643. * WebProcess/WebPage/WebPage.h:
  29644. (WebPage): Rename drawRectToPDF to drawRectToImage.
  29645. * WebProcess/WebPage/WebPage.messages.in: Rename drawRectToPDF to drawRectToImage.
  29646. * WebProcess/WebPage/mac/WebPageMac.mm:
  29647. (WebKit::WebPage::drawPDFDocument): Rename drawRectToPDFFromPDFDocument to drawPDFDocument,
  29648. because it's more like drawImage than anything else.
  29649. 2012-11-08 Simon Hausmann <simon.hausmann@digia.com>
  29650. [Qt] Fix build without WebKit1
  29651. https://bugs.webkit.org/show_bug.cgi?id=101583
  29652. Reviewed by Tor Arne Vestbø.
  29653. WebProcess needs access to the QStyle themeing via the initializeWebKit2Theme() function from
  29654. WebKit1. Try to access it depending on whether WebKit1 is built or not, not depending on whether
  29655. widgets are available not.
  29656. * WebProcess.pro:
  29657. * qt/MainQt.cpp:
  29658. (WebKit):
  29659. (main):
  29660. 2012-11-08 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
  29661. [EFL] Unreviewed build fix after r133880.
  29662. * UIProcess/API/efl/ewk_context.cpp:
  29663. (EwkContext::setAdditionalPluginPath):
  29664. 2012-11-08 KwangYong Choi <ky0.choi@samsung.com>
  29665. [EFL][WK2] Add ewk_context_additional_plugin_path_set API
  29666. https://bugs.webkit.org/show_bug.cgi?id=101530
  29667. Reviewed by Gyuyoung Kim.
  29668. Add ewk_context_additional_plugin_path_set() to set additional plugin directory.
  29669. * UIProcess/API/efl/ewk_context.cpp:
  29670. (EwkContext::setAdditionalPluginPath):
  29671. (ewk_context_additional_plugin_path_set):
  29672. * UIProcess/API/efl/ewk_context.h:
  29673. * UIProcess/API/efl/ewk_context_private.h:
  29674. (EwkContext):
  29675. * UIProcess/API/efl/tests/test_ewk2_context.cpp:
  29676. (TEST_F):
  29677. 2012-11-08 Jinwoo Song <jinwoo7.song@samsung.com>
  29678. [EFL][WK2] Use explicit constructor in BatteryProvider, DownloadManagerEfl, NetworkInfoProvider
  29679. https://bugs.webkit.org/show_bug.cgi?id=101567
  29680. Reviewed by Kentaro Hara.
  29681. Added explicit keyword in constructors of BatteryProvider, DownloadManagerEfl,
  29682. and NetworkInfoProvider in order to avoid implicit type conversion.
  29683. * UIProcess/efl/BatteryProvider.h:
  29684. (BatteryProvider):
  29685. * UIProcess/efl/DownloadManagerEfl.h:
  29686. (DownloadManagerEfl):
  29687. * UIProcess/efl/NetworkInfoProvider.h:
  29688. (NetworkInfoProvider):
  29689. 2012-11-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  29690. [EFL][WK2] Use smart pointers in EwkContext more actively
  29691. https://bugs.webkit.org/show_bug.cgi?id=101565
  29692. Reviewed by Gyuyoung Kim.
  29693. Since we're using WebContext instead of WKContext starting r133844 we should
  29694. use smart pointers accordingly including PassRefPtr.
  29695. * UIProcess/API/efl/ewk_context.cpp:
  29696. (EwkContext::EwkContext):
  29697. (EwkContext::~EwkContext):
  29698. (EwkContext::create):
  29699. (EwkContext::cookieManager):
  29700. (EwkContext::ensureFaviconDatabase):
  29701. (EwkContext::setFaviconDatabaseDirectoryPath):
  29702. (EwkContext::addVisitedLink):
  29703. (EwkContext::setCacheModel):
  29704. (EwkContext::cacheModel):
  29705. * UIProcess/API/efl/ewk_context_private.h:
  29706. (EwkContext):
  29707. (EwkContext::webContext):
  29708. * UIProcess/API/efl/ewk_database_manager_private.h:
  29709. (Ewk_Database_Manager::create):
  29710. * UIProcess/API/efl/ewk_storage_manager_private.h:
  29711. (Ewk_Storage_Manager::create):
  29712. * UIProcess/efl/DownloadManagerEfl.cpp:
  29713. (WebKit::DownloadManagerEfl::DownloadManagerEfl):
  29714. * UIProcess/efl/RequestManagerClientEfl.cpp:
  29715. (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
  29716. 2012-11-08 Kangil Han <kangil.han@samsung.com>
  29717. [EFL][MiniBrowser] Add encoding detector option.
  29718. https://bugs.webkit.org/show_bug.cgi?id=100931
  29719. Reviewed by Gyuyoung Kim.
  29720. Add triggering Settings::setUsesEncodingDetector for WK2 UI process.
  29721. * WebProcess/WebPage/WebPage.cpp:
  29722. (WebKit::WebPage::updatePreferences):
  29723. 2012-11-08 Carlos Garcia Campos <cgarcia@igalia.com>
  29724. [GTK] WebKitWebView doesn't notify of favicon changes for known favicons but new pages
  29725. https://bugs.webkit.org/show_bug.cgi?id=98874
  29726. Reviewed by Martin Robinson.
  29727. If the page is unknown (not registered in the icon database) but
  29728. the icon is known (registered by another page) favicon-ready
  29729. signal is not emitted because the icon has already been imported
  29730. from the database. The view always asks for the favicon when the
  29731. load has been committed, but it's usually too early and the
  29732. favicon of the page is still unkown. We can use
  29733. didChangeIconForPageURLCallback to know when to ask for the
  29734. favicon emitting a favicon-changed signal. The callback
  29735. iconDataReadyForPageURLCallback is still useful to process pending
  29736. icon requests, but the favicon-ready signal can be removed in
  29737. favor of favicon-changed.
  29738. * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
  29739. (_WebKitFaviconDatabasePrivate): Keep a map of page icons that has
  29740. been imported to make sure we only emit favicon-changed signal
  29741. when the favicon URI has actually changed, because
  29742. didChangeIconForPageURLCallback can be called multiple times for
  29743. the same favicon URI in some cases.
  29744. (webkit_favicon_database_class_init): Remove favicon-ready signal
  29745. and add favicon-changed that includes the new favicon URI for the
  29746. given page URI.
  29747. (didChangeIconForPageURLCallback): Emit favicon-changed signal if
  29748. the favicon URI is new or has changed for the given page URI.
  29749. (iconDataReadyForPageURLCallback): Process pending icon requests.
  29750. (webkitFaviconDatabaseCreate): Add implementation for
  29751. didChangeIconForPageURLCallback.
  29752. * UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h:
  29753. * UIProcess/API/gtk/WebKitWebView.cpp:
  29754. (_WebKitWebViewPrivate): Add favicon URI to make sure we only ask for a
  29755. new favicon when the favicon URI has changed.
  29756. (webkitWebViewUpdateFavicon): Update the favicon and emit
  29757. notify::favicon if it has changed.
  29758. (gotFaviconCallback): Update the favicon if the request hasn't
  29759. been cancelled.
  29760. (webkitWebViewRequestFavicon): Ask for the page favicon.
  29761. (webkitWebViewUpdateFaviconURI): Updated the favicon URI and
  29762. request the page favicon if the favicon URI has changed.
  29763. (faviconChangedCallback): Call webkitWebViewUpdateFaviconURI() with
  29764. the given favicon URI.
  29765. (webkitWebViewWatchForChangesInFavicon): Connect to
  29766. WebKitFaviconDatabase::favicon-changed.
  29767. (webkitWebViewDisconnectFaviconDatabaseSignalHandlers): Disconnect
  29768. WebKitFaviconDatabase::favicon-changed signal.
  29769. (webkitWebViewLoadChanged): Call webkitWebViewUpdateFaviconURI()
  29770. with the current favicon URI when the load has been committed.
  29771. * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
  29772. (serverCallback):
  29773. (testNotInitialized):
  29774. (testGetFavicon):
  29775. (testGetFaviconURI):
  29776. (testWebViewFavicon):
  29777. (beforeAll):
  29778. * UIProcess/API/gtk/webkit2marshal.list: Add new marshaler.
  29779. 2012-11-08 Anders Carlsson <andersca@apple.com>
  29780. Attempt to silence a compiler warning.
  29781. * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
  29782. (WebKit::RemoteGraphicsLayer::RemoteGraphicsLayer):
  29783. 2012-11-07 Sheriff Bot <webkit.review.bot@gmail.com>
  29784. Unreviewed, rolling out r133841.
  29785. http://trac.webkit.org/changeset/133841
  29786. https://bugs.webkit.org/show_bug.cgi?id=101542
  29787. Reverted patches were innocent (Requested by shinyak on
  29788. #webkit).
  29789. * win/WebKit2.def:
  29790. * win/WebKit2CFLite.def:
  29791. 2012-11-07 Jinwoo Song <jinwoo7.song@samsung.com>
  29792. [EFL][WK2] Make ewk_context use WebContext instead of WKContext
  29793. https://bugs.webkit.org/show_bug.cgi?id=101477
  29794. Reviewed by Gyuyoung Kim.
  29795. Refactor ewk_context to use WebContext as ewk_context is encapsulated in a C++ classes.
  29796. * UIProcess/API/efl/EwkViewImpl.cpp:
  29797. (EwkViewImpl::EwkViewImpl):
  29798. * UIProcess/API/efl/ewk_context.cpp:
  29799. (EwkContext::EwkContext):
  29800. (EwkContext::~EwkContext):
  29801. (EwkContext::create):
  29802. (EwkContext::defaultContext):
  29803. (EwkContext::cookieManager):
  29804. (EwkContext::ensureFaviconDatabase):
  29805. (EwkContext::setFaviconDatabaseDirectoryPath):
  29806. (EwkContext::addVisitedLink):
  29807. (EwkContext::setCacheModel):
  29808. (EwkContext::cacheModel):
  29809. * UIProcess/API/efl/ewk_context_private.h:
  29810. (EwkContext):
  29811. (EwkContext::webContext):
  29812. * UIProcess/API/efl/ewk_database_manager.cpp:
  29813. (Ewk_Database_Manager::Ewk_Database_Manager):
  29814. (Ewk_Database_Manager::getDatabaseOrigins):
  29815. * UIProcess/API/efl/ewk_database_manager_private.h:
  29816. (Ewk_Database_Manager::create):
  29817. (Ewk_Database_Manager):
  29818. * UIProcess/API/efl/ewk_storage_manager.cpp:
  29819. (Ewk_Storage_Manager::Ewk_Storage_Manager):
  29820. (Ewk_Storage_Manager::getStorageOrigins):
  29821. * UIProcess/API/efl/ewk_storage_manager_private.h:
  29822. (Ewk_Storage_Manager::create):
  29823. (Ewk_Storage_Manager):
  29824. * UIProcess/API/efl/ewk_view.cpp:
  29825. (ewk_view_base_add):
  29826. * UIProcess/efl/DownloadManagerEfl.cpp:
  29827. (WebKit::DownloadManagerEfl::DownloadManagerEfl):
  29828. * UIProcess/efl/RequestManagerClientEfl.cpp:
  29829. (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
  29830. 2012-11-07 Shinya Kawanaka <shinyak@chromium.org>
  29831. Unreviewed, rolling out r133428 and r133749
  29832. https://bugs.webkit.org/show_bug.cgi?id=101533
  29833. These patches might cause memory regression.
  29834. * win/WebKit2.def:
  29835. * win/WebKit2CFLite.def:
  29836. 2012-11-07 Anders Carlsson <andersca@apple.com>
  29837. Add RemoteGraphicsLayer class
  29838. https://bugs.webkit.org/show_bug.cgi?id=101535
  29839. Reviewed by Simon Fraser.
  29840. * WebKit2.xcodeproj/project.pbxproj:
  29841. * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
  29842. * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
  29843. Add RemoteGraphicsLayer, a subclass of WebCore::GraphicsLayer.
  29844. * WebProcess/WebPage/mac/RemoteLayerTreeController.h:
  29845. Make RemoteLayerTreeController a GraphicsLayerFactory.
  29846. * WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
  29847. (WebKit::RemoteLayerTreeController::createGraphicsLayer):
  29848. Create a new RemoteGraphicsLayer.
  29849. * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
  29850. (WebKit::RemoteLayerTreeDrawingArea::graphicsLayerFactory):
  29851. Return the layer tree controller.
  29852. 2012-11-07 Byungwoo Lee <bw80.lee@samsung.com>
  29853. [WK2] Make WebVibrationProxy to be a member of WebPageProxy.
  29854. https://bugs.webkit.org/show_bug.cgi?id=100334
  29855. Reviewed by Anders Carlsson.
  29856. WebVibrationProxy should be a member of WebPageProxy, because the IPC
  29857. messages of WebVibrationProxy have page destination ID.
  29858. The r132386 proposed a way to add/delete message receivers that can
  29859. handle IPC messages with destination ID.
  29860. Previous implementation that creating WebVibrationProxy as a WebContext
  29861. member and using the global message receiver for the proxy can make
  29862. assertions after r132386.
  29863. To handle the vibration IPC messages properly, this patch will do the
  29864. followings.
  29865. 1) Instead of WebContext, WebPageProxy will have the WebVibrationProxy.
  29866. 2) WebVibrationProxy will add itself to the message receiver map of
  29867. the WebContext with page destination ID.
  29868. 3) When WebProcessProxy received vibration ipc messages, it will
  29869. forward the messages to the WebContext first. Then the message
  29870. receiver map of the WebContext will handle the messages with the
  29871. registered WebVibrationProxy.
  29872. 4) APIs will be modified to apply these changes.
  29873. a) WK API to get WKVibrationRef will use WKPageRef not WKContextRef.
  29874. b) EFL APIs and API test for the vibration will also be changed.
  29875. - EwkViewImpl will have vibration client. (EwkContext will not
  29876. have it)
  29877. - Previous API to register the vibration callback will be removed.
  29878. - New signals for vibration will be added to the EwkViewImpl.
  29879. - VibrationProxy will be renamed to VibrationClient for the
  29880. consistency with other clients in EwkViewImpl.
  29881. - VibrationClient will use EwkViewImpl instead of EwkContext.
  29882. - Previous API test for vibration will be moved from context test
  29883. to view test, and it will use the changed API.
  29884. * PlatformEfl.cmake:
  29885. * UIProcess/API/C/WKContext.cpp:
  29886. * UIProcess/API/C/WKContext.h:
  29887. * UIProcess/API/C/WKPage.cpp:
  29888. (WKPageGetVibration):
  29889. * UIProcess/API/C/WKPage.h:
  29890. * UIProcess/API/efl/EwkViewCallbacks.h:
  29891. (EwkViewCallbacks):
  29892. * UIProcess/API/efl/EwkViewImpl.cpp:
  29893. (EwkViewImpl::EwkViewImpl):
  29894. * UIProcess/API/efl/EwkViewImpl.h:
  29895. (WebKit):
  29896. (EwkViewImpl):
  29897. * UIProcess/API/efl/ewk_context.cpp:
  29898. (EwkContext::EwkContext):
  29899. * UIProcess/API/efl/ewk_context.h:
  29900. * UIProcess/API/efl/ewk_context_private.h:
  29901. (WebKit):
  29902. (EwkContext):
  29903. * UIProcess/API/efl/ewk_view.h:
  29904. * UIProcess/API/efl/tests/test_ewk2_context.cpp:
  29905. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  29906. (VibrationCbData):
  29907. (onVibrate):
  29908. (onCancelVibration):
  29909. (loadVibrationHTMLString):
  29910. (TEST_F):
  29911. * UIProcess/WebContext.cpp:
  29912. (WebKit::WebContext::WebContext):
  29913. (WebKit::WebContext::~WebContext):
  29914. (WebKit::WebContext::disconnectProcess):
  29915. * UIProcess/WebContext.h:
  29916. (WebKit):
  29917. (WebContext):
  29918. * UIProcess/WebPageProxy.cpp:
  29919. (WebKit::WebPageProxy::WebPageProxy):
  29920. (WebKit::WebPageProxy::close):
  29921. (WebKit::WebPageProxy::processDidCrash):
  29922. * UIProcess/WebPageProxy.h:
  29923. (WebKit):
  29924. (WebPageProxy):
  29925. (WebKit::WebPageProxy::vibration):
  29926. * UIProcess/WebVibrationProxy.cpp:
  29927. (WebKit::WebVibrationProxy::create):
  29928. (WebKit::WebVibrationProxy::WebVibrationProxy):
  29929. (WebKit::WebVibrationProxy::~WebVibrationProxy):
  29930. (WebKit::WebVibrationProxy::invalidate):
  29931. * UIProcess/WebVibrationProxy.h:
  29932. (WebKit):
  29933. (WebVibrationProxy):
  29934. * UIProcess/efl/VibrationClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/VibrationProvider.cpp.
  29935. (toVibrationClient):
  29936. (VibrationClientEfl::vibrateCallback):
  29937. (VibrationClientEfl::cancelVibrationCallback):
  29938. (VibrationClientEfl::create):
  29939. (VibrationClientEfl::VibrationClientEfl):
  29940. (VibrationClientEfl::~VibrationClientEfl):
  29941. * UIProcess/efl/VibrationClientEfl.h: Renamed from Source/WebKit2/UIProcess/efl/VibrationProvider.h.
  29942. (WebKit):
  29943. (VibrationClientEfl):
  29944. 2012-11-07 Anders Carlsson <andersca@apple.com>
  29945. Add empty RemoteLayerTree class
  29946. https://bugs.webkit.org/show_bug.cgi?id=101524
  29947. Reviewed by Simon Fraser.
  29948. Add a new RemoteLayerTree class which will contain the remote graphics layers.
  29949. * WebKit2.xcodeproj/project.pbxproj:
  29950. * WebProcess/WebPage/mac/RemoteLayerTree.h: Added.
  29951. * WebProcess/WebPage/mac/RemoteLayerTree.mm: Added.
  29952. * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  29953. (RemoteLayerTreeDrawingArea):
  29954. * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
  29955. (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
  29956. 2012-11-07 Christophe Dumez <christophe.dumez@intel.com>
  29957. [EFL][WK2] Allow client to override setWindowFrame() / getWindowFrame()
  29958. https://bugs.webkit.org/show_bug.cgi?id=101496
  29959. Reviewed by Kenneth Rohde Christiansen.
  29960. Add window_geometry_set() / window_geometry_get() smart functions to
  29961. ewk_view allowing the client to provide its own implementation for
  29962. those.
  29963. This is particularly useful if the application uses elm_win because
  29964. the default implementation will not behave correctly in this case.
  29965. This is due to the fact that the default implementation interacts
  29966. with the Ecore_Evas that contains the view and is not aware of the
  29967. parent window widget.
  29968. * UIProcess/API/efl/EwkViewImpl.cpp:
  29969. (EwkViewImpl::windowGeometry):
  29970. (EwkViewImpl::setWindowGeometry):
  29971. * UIProcess/API/efl/EwkViewImpl.h:
  29972. (EwkViewImpl):
  29973. * UIProcess/API/efl/ewk_view.h:
  29974. * UIProcess/efl/PageUIClientEfl.cpp:
  29975. (WebKit::PageUIClientEfl::getWindowFrame):
  29976. (WebKit::PageUIClientEfl::setWindowFrame):
  29977. 2012-11-07 Alexandru Chiculita <achicu@adobe.com>
  29978. CoordinatedGraphicsArgumentCoders should use ValidatedCustomFitlerOperation instead
  29979. https://bugs.webkit.org/show_bug.cgi?id=100905
  29980. Reviewed by Noam Rosenthal.
  29981. The code now knows how to read a ValidatedCustomFitlerOperation and serialize it to the UI process.
  29982. No new tests, the code path is not used yet.
  29983. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  29984. (CoreIPC::::encode):
  29985. (CoreIPC::::decode):
  29986. * Shared/CoordinatedGraphics/WebCustomFilterProgram.h:
  29987. 2012-11-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  29988. [EFL][WK2] Add ewk_settings_preferred_minimum_contents_width_get/set API
  29989. https://bugs.webkit.org/show_bug.cgi?id=101467
  29990. Reviewed by Kenneth Rohde Christiansen.
  29991. Added ewk_settings_preferred_minimum_contents_width_get/set API which is used for setting/getting
  29992. of default minimum contents width for non viewport meta element sites.
  29993. * UIProcess/API/efl/ewk_settings.cpp:
  29994. (ewk_settings_preferred_minimum_contents_width_set):
  29995. (ewk_settings_preferred_minimum_contents_width_get):
  29996. * UIProcess/API/efl/ewk_settings.h:
  29997. * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
  29998. (TEST_F):
  29999. 2012-11-07 Yael Aharon <yael.aharon@intel.com>
  30000. [EFL][WK2][AC] Avoid creating an empty surface
  30001. https://bugs.webkit.org/show_bug.cgi?id=101464
  30002. Reviewed by Kenneth Rohde Christiansen.
  30003. Make sure we have a valid view size before creating a GL surface.
  30004. * UIProcess/API/efl/ewk_view.cpp:
  30005. (_ewk_view_smart_calculate):
  30006. 2012-11-07 Christophe Dumez <christophe.dumez@intel.com>
  30007. [WK2][UNIX] Crash in WebKit::PluginProcessProxy::scanPlugin()
  30008. https://bugs.webkit.org/show_bug.cgi?id=101446
  30009. Reviewed by Kenneth Rohde Christiansen.
  30010. Make sure that the disposition of the SIGCHLD signal is reset to the default
  30011. before calling g_spawn_sync(). If the disposition is set to SIG_IGN, then
  30012. g_spawn_sync() will not be able to return the exit status of the child
  30013. process, our exit failure check will be useless and the following warning
  30014. will be printed:
  30015. GLib-WARNING **: In call to g_spawn_sync(), exit status of a child process
  30016. was requested but SIGCHLD action was set to SIG_IGN and ECHILD was received
  30017. by waitpid(), so exit status can't be returned. This is a bug in the
  30018. program calling g_spawn_sync(); either don't request the exit status, or
  30019. don't set the SIGCHLD action.
  30020. This patch also adds a NULL-check for stdOut to avoid crashing in such
  30021. case and makes use of String::split() to parse stdOut instead of doing it
  30022. manually.
  30023. * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
  30024. (WebKit::PluginProcessProxy::scanPlugin):
  30025. 2012-11-07 Shinya Kawanaka <shinyak@chromium.org>
  30026. [Shadow] Use setPseudo() instead of setShadowPseudoId().
  30027. https://bugs.webkit.org/show_bug.cgi?id=101306
  30028. Reviewed by Kent Tamura.
  30029. Exposes necessary symbols.
  30030. * win/WebKit2.def:
  30031. * win/WebKit2CFLite.def:
  30032. 2012-11-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  30033. [EFL][WK2] Make EWK classes Ewk_Objects
  30034. https://bugs.webkit.org/show_bug.cgi?id=101057
  30035. Reviewed by Kenneth Rohde Christiansen.
  30036. Now all the existing EWK classes share common Ewk_Object ref/unref API.
  30037. * UIProcess/API/efl/EwkViewCallbacks.h:
  30038. * UIProcess/API/efl/EwkViewImpl.h:
  30039. (EwkViewImpl):
  30040. * UIProcess/API/efl/ewk_database_manager.cpp:
  30041. (Ewk_Database_Manager::createOriginList):
  30042. * UIProcess/API/efl/ewk_database_manager_private.h:
  30043. * UIProcess/API/efl/ewk_file_chooser_request.cpp:
  30044. (EwkFileChooserRequest::EwkFileChooserRequest):
  30045. (EwkFileChooserRequest::~EwkFileChooserRequest):
  30046. (EwkFileChooserRequest::allowMultipleFiles):
  30047. (EwkFileChooserRequest::acceptedMIMETypes):
  30048. (EwkFileChooserRequest::cancel):
  30049. (EwkFileChooserRequest::chooseFiles):
  30050. (ewk_file_chooser_request_allow_multiple_files_get):
  30051. (ewk_file_chooser_request_accepted_mimetypes_get):
  30052. (ewk_file_chooser_request_cancel):
  30053. (ewk_file_chooser_request_files_choose):
  30054. (ewk_file_chooser_request_file_choose):
  30055. * UIProcess/API/efl/ewk_file_chooser_request.h:
  30056. * UIProcess/API/efl/ewk_file_chooser_request_private.h:
  30057. (EwkFileChooserRequest):
  30058. (EwkFileChooserRequest::create):
  30059. * UIProcess/API/efl/ewk_form_submission_request.cpp:
  30060. (EwkFormSubmissionRequest::EwkFormSubmissionRequest):
  30061. (EwkFormSubmissionRequest::~EwkFormSubmissionRequest):
  30062. (EwkFormSubmissionRequest::fieldValue):
  30063. (EwkFormSubmissionRequest::fieldNames):
  30064. (EwkFormSubmissionRequest::submit):
  30065. (ewk_form_submission_request_field_names_get):
  30066. (ewk_form_submission_request_field_value_get):
  30067. (ewk_form_submission_request_submit):
  30068. * UIProcess/API/efl/ewk_form_submission_request.h:
  30069. * UIProcess/API/efl/ewk_form_submission_request_private.h:
  30070. (EwkFormSubmissionRequest):
  30071. (EwkFormSubmissionRequest::create):
  30072. * UIProcess/API/efl/ewk_intent.cpp:
  30073. (EwkIntent::EwkIntent):
  30074. (EwkIntent::webIntentData):
  30075. (EwkIntent::action):
  30076. (EwkIntent::type):
  30077. (EwkIntent::service):
  30078. (EwkIntent::suggestions):
  30079. (EwkIntent::extra):
  30080. (EwkIntent::extraKeys):
  30081. (ewk_intent_action_get):
  30082. (ewk_intent_type_get):
  30083. (ewk_intent_service_get):
  30084. (ewk_intent_suggestions_get):
  30085. (ewk_intent_extra_get):
  30086. (ewk_intent_extra_names_get):
  30087. * UIProcess/API/efl/ewk_intent.h:
  30088. * UIProcess/API/efl/ewk_intent_private.h:
  30089. (EwkIntent):
  30090. (EwkIntent::create):
  30091. * UIProcess/API/efl/ewk_intent_service.cpp:
  30092. (EwkIntentService::EwkIntentService):
  30093. (EwkIntentService::action):
  30094. (EwkIntentService::type):
  30095. (EwkIntentService::href):
  30096. (EwkIntentService::title):
  30097. (EwkIntentService::disposition):
  30098. (ewk_intent_service_action_get):
  30099. (ewk_intent_service_type_get):
  30100. (ewk_intent_service_href_get):
  30101. (ewk_intent_service_title_get):
  30102. (ewk_intent_service_disposition_get):
  30103. * UIProcess/API/efl/ewk_intent_service.h:
  30104. * UIProcess/API/efl/ewk_intent_service_private.h:
  30105. (EwkIntentService):
  30106. (EwkIntentService::create):
  30107. * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
  30108. (EwkNavigationPolicyDecision::EwkNavigationPolicyDecision):
  30109. (EwkNavigationPolicyDecision::~EwkNavigationPolicyDecision):
  30110. (EwkNavigationPolicyDecision::navigationType):
  30111. (EwkNavigationPolicyDecision::mouseButton):
  30112. (EwkNavigationPolicyDecision::modifiers):
  30113. (EwkNavigationPolicyDecision::frameName):
  30114. (EwkNavigationPolicyDecision::request):
  30115. (EwkNavigationPolicyDecision::accept):
  30116. (EwkNavigationPolicyDecision::reject):
  30117. (EwkNavigationPolicyDecision::download):
  30118. (ewk_navigation_policy_navigation_type_get):
  30119. (ewk_navigation_policy_mouse_button_get):
  30120. (ewk_navigation_policy_modifiers_get):
  30121. (ewk_navigation_policy_frame_name_get):
  30122. (ewk_navigation_policy_request_get):
  30123. (ewk_navigation_policy_decision_accept):
  30124. (ewk_navigation_policy_decision_reject):
  30125. (ewk_navigation_policy_decision_download):
  30126. * UIProcess/API/efl/ewk_navigation_policy_decision.h:
  30127. * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
  30128. (EwkNavigationPolicyDecision):
  30129. (EwkNavigationPolicyDecision::create):
  30130. * UIProcess/API/efl/ewk_resource.cpp:
  30131. (EwkResource::EwkResource):
  30132. (EwkResource::url):
  30133. (EwkResource::isMainResource):
  30134. (ewk_resource_url_get):
  30135. (ewk_resource_main_resource_get):
  30136. * UIProcess/API/efl/ewk_resource.h:
  30137. * UIProcess/API/efl/ewk_resource_private.h:
  30138. (EwkResource):
  30139. (EwkResource::create):
  30140. * UIProcess/API/efl/ewk_security_origin.cpp:
  30141. (EwkSecurityOrigin::EwkSecurityOrigin):
  30142. (EwkSecurityOrigin::host):
  30143. (EwkSecurityOrigin::protocol):
  30144. (EwkSecurityOrigin::port):
  30145. (ewk_security_origin_host_get):
  30146. (ewk_security_origin_protocol_get):
  30147. (ewk_security_origin_port_get):
  30148. * UIProcess/API/efl/ewk_security_origin.h:
  30149. * UIProcess/API/efl/ewk_security_origin_private.h:
  30150. (EwkSecurityOrigin):
  30151. (EwkSecurityOrigin::create):
  30152. * UIProcess/API/efl/ewk_storage_manager.cpp:
  30153. (Ewk_Storage_Manager::createOriginList):
  30154. * UIProcess/API/efl/ewk_url_scheme_request_private.h:
  30155. (EwkUrlSchemeRequest):
  30156. * UIProcess/API/efl/ewk_view.cpp:
  30157. (ewk_view_intent_deliver):
  30158. * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
  30159. (onFileChooserRequest):
  30160. (TEST_F):
  30161. * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
  30162. (TEST_F):
  30163. * UIProcess/efl/FormClientEfl.cpp:
  30164. (WebKit::FormClientEfl::willSubmitForm):
  30165. * UIProcess/efl/PageLoadClientEfl.cpp:
  30166. (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
  30167. (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
  30168. * UIProcess/efl/PagePolicyClientEfl.cpp:
  30169. (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
  30170. (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
  30171. * UIProcess/efl/PageUIClientEfl.cpp:
  30172. (WebKit::PageUIClientEfl::runOpenPanel):
  30173. * UIProcess/efl/ResourceLoadClientEfl.cpp:
  30174. (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
  30175. * UIProcess/efl/ResourceLoadClientEfl.h:
  30176. 2012-11-07 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
  30177. [WK2] Return earlier if a plugin snapshot cannot be created.
  30178. https://bugs.webkit.org/show_bug.cgi?id=101445
  30179. Reviewed by Kenneth Rohde Christiansen.
  30180. Currently only the Mac port has support for creating snapshots of
  30181. Netscape plugins. Return earlier in PluginProxy::snapshot() so
  30182. that we do not pass a null handler to ShareableBitmap::create()
  30183. and avoid crashing when running pixel tests with plugins.
  30184. * WebProcess/Plugins/PluginProxy.cpp:
  30185. (WebKit::PluginProxy::snapshot):
  30186. 2012-11-07 Kangil Han <kangil.han@samsung.com>
  30187. [EFL][WK2] Change encoding detector API names
  30188. https://bugs.webkit.org/show_bug.cgi?id=101450
  30189. Reviewed by Gyuyoung Kim.
  30190. To make settings API name consistent, we need to change two APIs with respect to encoding detector.
  30191. * UIProcess/API/efl/ewk_settings.cpp:
  30192. (ewk_settings_encoding_detector_enabled_set):
  30193. (ewk_settings_encoding_detector_enabled_get):
  30194. * UIProcess/API/efl/ewk_settings.h:
  30195. * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
  30196. (TEST_F):
  30197. 2012-11-07 Grzegorz Czajkowski <g.czajkowski@samsung.com>
  30198. WebKitTestRunner needs to turn on 'setContinuousSpellCheckingEnabled'
  30199. https://bugs.webkit.org/show_bug.cgi?id=93611
  30200. Reviewed by Gyuyoung Kim.
  30201. When WebKitTestRunner turns on the spelling feature with the resetStateToConsistentValues() method,
  30202. it happens that the WebProcess is still not launched (although it is already created).
  30203. In this case, isValid() method returns false.
  30204. This fix sends a message to the WebProcess messages queue, and the message
  30205. will be handled once the WebProcess is ready.
  30206. * Target.pri:
  30207. Adds missing files to compile spellcheking feature for WebKit2-Qt
  30208. to use WebKit C API from WKTextChecker.h.
  30209. * UIProcess/WebProcessProxy.cpp:
  30210. (WebKit::WebProcessProxy::updateTextCheckerState):
  30211. Uses canSendMessage() method instead of isValid() to check whether the message to
  30212. the WebProcess can be sent.
  30213. * UIProcess/efl/TextCheckerEfl.cpp:
  30214. (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
  30215. Calls TextChecker::setContinuousSpellCheckingEnabled which additionaly invokes the client's method.
  30216. WK2-EFL settings for text checker (ewk_settings.cpp) set the default language (if it wasn't set earlier) to
  30217. perform the spelling. It allows to pass the tests from editing/spelling directory.
  30218. 2012-11-07 Christophe Dumez <christophe.dumez@intel.com>
  30219. Add replaceWithLiteral() method to WTF::String
  30220. https://bugs.webkit.org/show_bug.cgi?id=101257
  30221. Reviewed by Benjamin Poulain.
  30222. Substitute String::replace() calls by String::replaceWithLiteral() where
  30223. adequate, for efficiency.
  30224. * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
  30225. (WebKit::makeURLString):
  30226. 2012-11-06 Vivek Galatage <vivekgalatage@gmail.com>
  30227. Move DrawingAreaImpl methods graphicsLayerFactory, setRootCompositingLayer & scheduleCompositingLayerSync under ACCELERATED_COMPOSITING
  30228. https://bugs.webkit.org/show_bug.cgi?id=101427
  30229. Reviewed by Anders Carlsson.
  30230. Moving these methods under the ACCELERATED_COMPOSITING flag.
  30231. This fixes broken wincairo due to use of override specifier.
  30232. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  30233. (WebKit):
  30234. * WebProcess/WebPage/DrawingAreaImpl.h:
  30235. (DrawingAreaImpl):
  30236. 2012-11-06 Viatcheslav Ostapenko <v.ostapenko@samsung.com>
  30237. [EFL][WK2] API test crash with accelerated compositing on.
  30238. https://bugs.webkit.org/show_bug.cgi?id=101384
  30239. Reviewed by Gyuyoung Kim.
  30240. If accelerated compositing is enabled API tests should create GL evas engine
  30241. instead of default one.
  30242. Also, in API tests first window resize and display often comes earlier
  30243. than enterAcceleratedCompositingMode call, so let's create GL surface in
  30244. _ewk_view_smart_calculate on first window resize.
  30245. * UIProcess/API/efl/ewk_view.cpp:
  30246. (_ewk_view_smart_calculate):
  30247. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
  30248. (EWK2UnitTest::EWK2UnitTestBase::SetUp):
  30249. 2012-11-06 Anders Carlsson <andersca@apple.com>
  30250. Update Java related WKSI function names
  30251. https://bugs.webkit.org/show_bug.cgi?id=101414
  30252. Reviewed by Sam Weinig.
  30253. * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
  30254. (WebKit::PluginInfoStore::shouldUsePlugin):
  30255. (WebKit::PluginInfoStore::policyForPlugin):
  30256. (WebKit::PluginInfoStore::reactivateInactivePlugin):
  30257. 2012-11-06 Kiran Muppala <cmuppala@apple.com>
  30258. Add application occlusion criterion to enable/disable process suppression on Mac
  30259. https://bugs.webkit.org/show_bug.cgi?id=100997
  30260. Reviewed by Alexey Proskuryakov.
  30261. Provide support for enabling and disabling process suppression when application is completely occluded on Mac.
  30262. * NetworkProcess/NetworkProcess.messages.in: Added message to update application occlusion status.
  30263. * NetworkProcess/mac/NetworkProcessMainMac.mm:
  30264. (WebKit::NetworkProcessMain): Removed call to take process suppression assertion since ChildProcess
  30265. takes one on constrution.
  30266. * PluginProcess/PluginProcess.messages.in: Added message to update application occlusion status.
  30267. * PluginProcess/mac/PluginProcessMainMac.mm:
  30268. (WebKit::PluginProcessMain): Removed call to take process suppression assertion since ChildProcess
  30269. takes one on construction.
  30270. * Shared/ChildProcess.cpp:
  30271. (WebKit::ChildProcess::ChildProcess): Take process suppression assertion on construction.
  30272. * Shared/ChildProcess.h:
  30273. (WebKit::ChildProcess::applicationIsOccluded):
  30274. * Shared/mac/ChildProcessMac.mm: Added.
  30275. (WebKit::ChildProcess::setApplicationIsOccluded): Release process suppression assertion if application
  30276. becomes occluded or take a new assertion if application becomes visible.
  30277. (WebKit::ChildProcess::disableProcessSuppression):
  30278. (WebKit::ChildProcess::enableProcessSuppression):
  30279. Helper methods to take and release process suppression assertion.
  30280. * SharedWorkerProcess/SharedWorkerProcess.messages.in: Added message to update application occlusion status.
  30281. * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
  30282. (WebKit::SharedWorkerProcessMain): Removed call to take process suppression assertion since ChildProcess
  30283. takes one on construction.
  30284. * UIProcess/Network/NetworkProcessManager.h:
  30285. * UIProcess/Network/NetworkProcessProxy.cpp:
  30286. (WebKit::NetworkProcessProxy::didFinishLaunching): Update application occlusion status post launch.
  30287. * UIProcess/Network/NetworkProcessProxy.h:
  30288. (WebKit::NetworkProcessProxy::isValid):
  30289. * UIProcess/Network/mac/NetworkProcessManagerMac.mm: Added.
  30290. (WebKit::NetworkProcessManager::setApplicationIsOccluded):
  30291. * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
  30292. (WebKit::NetworkProcessProxy::setApplicationIsOccluded):
  30293. * UIProcess/Plugins/PluginProcessManager.h:
  30294. * UIProcess/Plugins/PluginProcessProxy.cpp:
  30295. (WebKit::PluginProcessProxy::didFinishLaunching): Update application occlusion status post launch.
  30296. * UIProcess/Plugins/PluginProcessProxy.h:
  30297. (WebKit::PluginProcessProxy::isValid):
  30298. * UIProcess/Plugins/mac/PluginProcessManagerMac.mm: Added.
  30299. (WebKit::PluginProcessManager::setApplicationIsOccluded):
  30300. * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
  30301. (WebKit::PluginProcessProxy::setApplicationIsOccluded):
  30302. * UIProcess/SharedWorkers/SharedWorkerProcessManager.h:
  30303. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
  30304. (WebKit::SharedWorkerProcessProxy::didFinishLaunching): Update application occlusion status post launch.
  30305. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
  30306. (WebKit::SharedWorkerProcessProxy::isValid):
  30307. * UIProcess/SharedWorkers/mac/SharedWorkerProcessManagerMac.mm: Added.
  30308. (WebKit::SharedWorkerProcessManager::setApplicationIsOccluded):
  30309. * UIProcess/SharedWorkers/mac/SharedWorkerProcessProxyMac.mm: Added.
  30310. (WebKit::SharedWorkerProcessProxy::setApplicationIsOccluded):
  30311. * UIProcess/WebContext.cpp:
  30312. (WebKit::WebContext::create): Added call to initialize process suppression support.
  30313. * UIProcess/WebContext.h:
  30314. (WebKit::WebContext::applicationIsOccluded):
  30315. * UIProcess/WebProcessProxy.cpp:
  30316. (WebKit::WebProcessProxy::didFinishLaunching): Update application occlusion status post launch.
  30317. * UIProcess/mac/WebContextMac.mm:
  30318. (WebKit::WebContext::applicationBecameVisible):
  30319. (WebKit::WebContext::applicationBecameOccluded):
  30320. Notification handlers for informing non UI WebKit2 processes of changes to application occlusion state.
  30321. (WebKit::WebContext::registerOcclusionNotificationHandlers):
  30322. (WebKit::WebContext::initializeProcessSuppressionSupport):
  30323. Helper method to register occlusion notification handlers if process suppression support is enabled.
  30324. * WebKit2.xcodeproj/project.pbxproj:
  30325. * WebProcess/WebProcess.messages.in: Added message to update application occlusion status.
  30326. * WebProcess/mac/WebProcessInitialization.mm:
  30327. (WebKit::InitializeWebProcess): Removed call to take process supression assertion since ChildProcess
  30328. takes one on construction.
  30329. 2012-11-06 Alexey Proskuryakov <ap@apple.com>
  30330. Clean up which storage cookie jar functions use
  30331. https://bugs.webkit.org/show_bug.cgi?id=101395
  30332. Reviewed by Brady Eidson.
  30333. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
  30334. Updated for two new functions.
  30335. 2012-11-06 Jihye Kang <jye.kang@samsung.com>
  30336. [EFL][WK2] Add ewk_database_manager APIs
  30337. https://bugs.webkit.org/show_bug.cgi?id=101193
  30338. Reviewed by Gyuyoung Kim.
  30339. Add ewk_database_manager to manage web database and
  30340. ewk_database_manaager_origins_get to get origins list of web storage.
  30341. Add unit tests for ewk_database_manager APIs.
  30342. * PlatformEfl.cmake:
  30343. * UIProcess/API/efl/ewk_context.cpp:
  30344. (Ewk_Context::Ewk_Context):
  30345. (Ewk_Context::databaseManager):
  30346. (ewk_context_database_manager_get):
  30347. * UIProcess/API/efl/ewk_context.h:
  30348. * UIProcess/API/efl/ewk_context_private.h:
  30349. (Ewk_Context):
  30350. * UIProcess/API/efl/ewk_database_manager.cpp: Added.
  30351. (Ewk_Database_Manager::Ewk_Database_Manager):
  30352. (Ewk_Database_Manager::getDatabaseOrigins):
  30353. (Ewk_Database_Manager::createOriginList):
  30354. (Ewk_Database_Origins_Async_Get_Context):
  30355. (Ewk_Database_Origins_Async_Get_Context::Ewk_Database_Origins_Async_Get_Context):
  30356. (getDatabaseOriginsCallback):
  30357. (ewk_database_manager_origins_get):
  30358. * UIProcess/API/efl/ewk_database_manager.h: Added.
  30359. * UIProcess/API/efl/ewk_database_manager_private.h: Added.
  30360. (Ewk_Database_Manager):
  30361. (Ewk_Database_Manager::create):
  30362. * UIProcess/API/efl/tests/test_ewk2_context.cpp:
  30363. (TEST_F):
  30364. * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp: Added.
  30365. (OriginData):
  30366. (OriginData::OriginData):
  30367. (getDatabaseOriginsCallback):
  30368. (timerCallback):
  30369. (TEST_F):
  30370. 2012-11-06 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  30371. [EFL][WK2] Refactor Ewk_Auth_Request, Ewk_Url_Scheme_Request and Ewk_Download_Job to be Ewk_Objects
  30372. https://bugs.webkit.org/show_bug.cgi?id=101383
  30373. Reviewed by Kenneth Rohde Christiansen.
  30374. Ewk_Auth_Request, Ewk_Url_Scheme_Request and Ewk_Download_Job are Ewk_Objects now.
  30375. * UIProcess/API/efl/EwkViewCallbacks.h:
  30376. * UIProcess/API/efl/EwkViewImpl.h:
  30377. * UIProcess/API/efl/ewk_auth_request.cpp:
  30378. (EwkAuthRequest::EwkAuthRequest):
  30379. (EwkAuthRequest::~EwkAuthRequest):
  30380. (EwkAuthRequest::suggestedUsername):
  30381. (EwkAuthRequest::realm):
  30382. (EwkAuthRequest::host):
  30383. (EwkAuthRequest::continueWithoutCredential):
  30384. (EwkAuthRequest::authenticate):
  30385. (EwkAuthRequest::isRetrying):
  30386. (ewk_auth_request_suggested_username_get):
  30387. (ewk_auth_request_cancel):
  30388. (ewk_auth_request_authenticate):
  30389. (ewk_auth_request_retrying_get):
  30390. (ewk_auth_request_realm_get):
  30391. (ewk_auth_request_host_get):
  30392. * UIProcess/API/efl/ewk_auth_request.h:
  30393. * UIProcess/API/efl/ewk_auth_request_private.h:
  30394. (EwkAuthRequest):
  30395. (EwkAuthRequest::create):
  30396. * UIProcess/API/efl/ewk_back_forward_list.h:
  30397. * UIProcess/API/efl/ewk_context_private.h:
  30398. (EwkContext):
  30399. * UIProcess/API/efl/ewk_download_job.cpp:
  30400. (EwkDownloadJob::EwkDownloadJob):
  30401. (EwkDownloadJob::id):
  30402. (EwkDownloadJob::viewImpl):
  30403. (ewk_download_job_state_get):
  30404. (EwkDownloadJob::state):
  30405. (ewk_download_job_request_get):
  30406. (EwkDownloadJob::request):
  30407. (ewk_download_job_response_get):
  30408. (EwkDownloadJob::response):
  30409. (ewk_download_job_destination_get):
  30410. (EwkDownloadJob::destination):
  30411. (ewk_download_job_destination_set):
  30412. (EwkDownloadJob::setDestination):
  30413. (ewk_download_job_suggested_filename_get):
  30414. (EwkDownloadJob::suggestedFileName):
  30415. (ewk_download_job_cancel):
  30416. (EwkDownloadJob::cancel):
  30417. (ewk_download_job_estimated_progress_get):
  30418. (EwkDownloadJob::estimatedProgress):
  30419. (ewk_download_job_elapsed_time_get):
  30420. (EwkDownloadJob::elapsedTime):
  30421. (EwkDownloadJob::setResponse):
  30422. (EwkDownloadJob::setSuggestedFileName):
  30423. (EwkDownloadJob::incrementReceivedData):
  30424. (EwkDownloadJob::setState):
  30425. * UIProcess/API/efl/ewk_download_job.h:
  30426. * UIProcess/API/efl/ewk_download_job_private.h:
  30427. (EwkDownloadJob):
  30428. (EwkDownloadJob::create):
  30429. * UIProcess/API/efl/ewk_url_scheme_request.cpp:
  30430. (EwkUrlSchemeRequest::EwkUrlSchemeRequest):
  30431. (EwkUrlSchemeRequest::id):
  30432. (EwkUrlSchemeRequest::url):
  30433. (EwkUrlSchemeRequest::scheme):
  30434. (EwkUrlSchemeRequest::path):
  30435. (EwkUrlSchemeRequest::finish):
  30436. (ewk_url_scheme_request_scheme_get):
  30437. (ewk_url_scheme_request_url_get):
  30438. (ewk_url_scheme_request_path_get):
  30439. (ewk_url_scheme_request_finish):
  30440. * UIProcess/API/efl/ewk_url_scheme_request.h:
  30441. * UIProcess/API/efl/ewk_url_scheme_request_private.h:
  30442. (EwkUrlSchemeRequest):
  30443. (EwkUrlSchemeRequest::create):
  30444. * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
  30445. (onAuthenticationRequest):
  30446. (TEST_F):
  30447. * UIProcess/efl/DownloadManagerEfl.cpp:
  30448. (WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
  30449. (WebKit::DownloadManagerEfl::didReceiveResponse):
  30450. (WebKit::DownloadManagerEfl::didCreateDestination):
  30451. (WebKit::DownloadManagerEfl::didReceiveData):
  30452. (WebKit::DownloadManagerEfl::didFail):
  30453. (WebKit::DownloadManagerEfl::didCancel):
  30454. (WebKit::DownloadManagerEfl::didFinish):
  30455. (WebKit::DownloadManagerEfl::registerDownload):
  30456. (WebKit::DownloadManagerEfl::downloadJob):
  30457. * UIProcess/efl/DownloadManagerEfl.h:
  30458. (DownloadManagerEfl):
  30459. * UIProcess/efl/PageLoadClientEfl.cpp:
  30460. (WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
  30461. * UIProcess/efl/RequestManagerClientEfl.cpp:
  30462. (WebKit::RequestManagerClientEfl::didReceiveURIRequest):
  30463. 2012-11-06 Yael Aharon <yael.aharon@intel.com>
  30464. [WK2] Wrong scroll position when going back in history
  30465. https://bugs.webkit.org/show_bug.cgi?id=101358
  30466. Reviewed by Kenneth Rohde Christiansen.
  30467. Reset the contentsSize after a new load was committed. We should not continue
  30468. to use the contentsSize of the previous page in any calculation.
  30469. * UIProcess/PageViewportController.cpp:
  30470. (WebKit::PageViewportController::didCommitLoad):
  30471. 2012-11-06 Christophe Dumez <christophe.dumez@intel.com>
  30472. [EFL][WK2] Declare all smart callbacks in EwkViewCallbacks.h
  30473. https://bugs.webkit.org/show_bug.cgi?id=101360
  30474. Reviewed by Kenneth Rohde Christiansen.
  30475. Declare all EwkView smart callbacks in EwkViewCallbacks.h
  30476. and remove remaining calls to evas_object_smart_callback_call().
  30477. It is a good idea to have all the callbacks declared in one
  30478. place for convenience and consistency. We also have better
  30479. argument type checking if we use the new callback mechanism.
  30480. * UIProcess/API/efl/EwkViewCallbacks.h:
  30481. (EwkViewCallbacks::CallBack::call):
  30482. (CallBack):
  30483. (EwkViewCallbacks):
  30484. * UIProcess/API/efl/EwkViewImpl.cpp:
  30485. (EwkViewImpl::informIconChange):
  30486. (EwkViewImpl::informURLChange):
  30487. (EwkViewImpl::createNewPage):
  30488. (EwkViewImpl::closePage):
  30489. 2012-11-05 Anders Carlsson <andersca@apple.com>
  30490. Hook up the remote layer tree drawing area to an environment variable
  30491. https://bugs.webkit.org/show_bug.cgi?id=101267
  30492. Reviewed by Andreas Kling.
  30493. * UIProcess/API/mac/WKView.mm:
  30494. * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
  30495. (WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange):
  30496. (WebKit::RemoteLayerTreeDrawingAreaProxy::deviceScaleFactorDidChange):
  30497. 2012-11-06 Andras Becsi <andras.becsi@digia.com>
  30498. [Qt][WK2] Fit-to-width broken on pages with viewport meta tag
  30499. https://bugs.webkit.org/show_bug.cgi?id=99715
  30500. Reviewed by Jocelyn Turcotte.
  30501. The initial scale from the viewport attributes should only
  30502. be applied if the scale was explicitly specified in the
  30503. viewport meta tag.
  30504. If the initial scale is auto it should be calculated using
  30505. the final contents size, which might be larger than the
  30506. layout size, so that the content fits horizontally into
  30507. the view.
  30508. Also add QML unit tests that cover this functionality.
  30509. * UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml:
  30510. * UIProcess/API/qt/tests/qmltests/common/test5.html: Added.
  30511. * UIProcess/PageViewportController.cpp:
  30512. (WebKit::PageViewportController::PageViewportController):
  30513. (WebKit::PageViewportController::pageTransitionViewportReady):
  30514. 2012-11-06 Huang Dongsung <luxtella@company100.net>
  30515. Coordinated Graphics: Remove a parent member in WebLayerInfo.
  30516. https://bugs.webkit.org/show_bug.cgi?id=101142
  30517. Reviewed by Noam Rosenthal.
  30518. The parent member is not used in UI Process, and GraphicsLayer::setParent is
  30519. internally used only, so we don't need to send the parent layer id to UI Process.
  30520. * Shared/WebLayerTreeInfo.h:
  30521. (WebKit::WebLayerInfo::WebLayerInfo):
  30522. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  30523. (WebCore::CoordinatedGraphicsLayer::syncLayerState):
  30524. 2012-11-06 Huang Dongsung <luxtella@company100.net>
  30525. Coordinated Graphics: Remove two methods' virtual modifiers in CoordinatedGraphicsLayer.
  30526. https://bugs.webkit.org/show_bug.cgi?id=101141
  30527. Reviewed by Noam Rosenthal.
  30528. The methods exist for only CoordinatedGraphicsLayer and we have no plan to
  30529. extend CoordinatedGraphicsLayer.
  30530. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  30531. (CoordinatedGraphicsLayer):
  30532. 2012-11-06 Balazs Kelemen <kbalazs@webkit.org>
  30533. [CoordinatedGraphics] Access to LayerTreeRenderer::m_renderQueue should be thread safe
  30534. https://bugs.webkit.org/show_bug.cgi?id=101341
  30535. Reviewed by Noam Rosenthal.
  30536. The queue can be accessed from public API so we should make
  30537. sure it is not updated concurrently with a threaded render loop.
  30538. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  30539. (WebKit::LayerTreeRenderer::syncRemoteContent):
  30540. (WebKit::LayerTreeRenderer::appendUpdate):
  30541. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  30542. (LayerTreeRenderer):
  30543. 2012-11-06 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  30544. [EFL][WK2] Make Ewk_Context Ewk_Object
  30545. https://bugs.webkit.org/show_bug.cgi?id=101322
  30546. Reviewed by Kenneth Rohde Christiansen.
  30547. Ewk_Context is Ewk_Object now and using common ref/unref API.
  30548. * UIProcess/API/efl/EwkViewImpl.cpp:
  30549. (EwkViewImpl::EwkViewImpl):
  30550. * UIProcess/API/efl/EwkViewImpl.h:
  30551. (EwkViewImpl::ewkContext):
  30552. (EwkViewImpl):
  30553. * UIProcess/API/efl/ewk_context.cpp:
  30554. (EwkContext::EwkContext):
  30555. (EwkContext::~EwkContext):
  30556. (EwkContext::create):
  30557. (EwkContext::defaultContext):
  30558. (EwkContext::cookieManager):
  30559. (EwkContext::ensureFaviconDatabase):
  30560. (EwkContext::setFaviconDatabaseDirectoryPath):
  30561. (EwkContext::faviconDatabase):
  30562. (EwkContext::storageManager):
  30563. (EwkContext::requestManager):
  30564. (EwkContext::vibrationProvider):
  30565. (EwkContext::addVisitedLink):
  30566. (EwkContext::setCacheModel):
  30567. (EwkContext::cacheModel):
  30568. (ewk_context_cookie_manager_get):
  30569. (ewk_context_favicon_database_directory_set):
  30570. (ewk_context_favicon_database_get):
  30571. (ewk_context_storage_manager_get):
  30572. (EwkContext::wkContext):
  30573. (EwkContext::downloadManager):
  30574. (EwkContext::historyClient):
  30575. (ewk_context_default_get):
  30576. (ewk_context_new):
  30577. (ewk_context_new_with_injected_bundle_path):
  30578. (ewk_context_url_scheme_register):
  30579. (ewk_context_vibration_client_callbacks_set):
  30580. (ewk_context_history_callbacks_set):
  30581. (ewk_context_visited_link_add):
  30582. (ewk_context_cache_model_set):
  30583. (ewk_context_cache_model_get):
  30584. * UIProcess/API/efl/ewk_context.h:
  30585. * UIProcess/API/efl/ewk_context_private.h:
  30586. (EwkContext):
  30587. * UIProcess/API/efl/ewk_view.cpp:
  30588. (createEwkView):
  30589. (ewk_view_base_add):
  30590. (ewk_view_smart_add):
  30591. (ewk_view_add_with_context):
  30592. * UIProcess/API/efl/tests/test_ewk2_context.cpp:
  30593. (TEST_F):
  30594. * UIProcess/efl/DownloadManagerEfl.cpp:
  30595. (WebKit::DownloadManagerEfl::DownloadManagerEfl):
  30596. * UIProcess/efl/DownloadManagerEfl.h:
  30597. (WebKit::DownloadManagerEfl::create):
  30598. (DownloadManagerEfl):
  30599. * UIProcess/efl/PageClientBase.cpp:
  30600. (WebKit::PageClientBase::handleDownloadRequest):
  30601. * UIProcess/efl/RequestManagerClientEfl.cpp:
  30602. (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
  30603. * UIProcess/efl/RequestManagerClientEfl.h:
  30604. (WebKit::RequestManagerClientEfl::create):
  30605. (RequestManagerClientEfl):
  30606. 2012-11-06 Balazs Kelemen <kbalazs@webkit.org>
  30607. [CoordinatedGraphics] compositing/iframes/connect-compositing-iframe.html crashes
  30608. https://bugs.webkit.org/show_bug.cgi?id=101232
  30609. Reviewed by Jocelyn Turcotte.
  30610. The crash is happening in CoordinatedGraphicsLayer::flushCompositingState
  30611. because we dereferencing a null m_coordinatedGraphicsLayerClient.
  30612. This happens when the root layer became composited because it has content overlapping
  30613. with an inner iframe that is composited. In this case the RenderLayerCompositor attaches
  30614. the layer with RootLayerAttachedViaEnclosingFrame attachment flag and do not call
  30615. ChromeClient::attachRootGraphcisLayer so we don't have a chance to set m_coordinatedGraphicsLayerClient.
  30616. The solution is to set the client early in the factory method.
  30617. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  30618. (WebKit::LayerTreeCoordinator::createGraphicsLayer):
  30619. 2012-11-06 Viatcheslav Ostapenko <v.ostapenko@samsung.com>
  30620. [EFL] [WK2] Random crash in Minibrowser
  30621. https://bugs.webkit.org/show_bug.cgi?id=101241
  30622. Reviewed by Gyuyoung Kim.
  30623. Do not clear GL context and GL surface in exitAcceleratedCompositing.
  30624. * UIProcess/API/efl/EwkViewImpl.cpp:
  30625. (EwkViewImpl::createGLSurface):
  30626. (EwkViewImpl::enterAcceleratedCompositingMode):
  30627. (EwkViewImpl::exitAcceleratedCompositingMode):
  30628. 2012-11-05 Sam Weinig <sam@webkit.org>
  30629. Need a way to send and receive messages between the WKWebProcessPlugIn object and the client
  30630. https://bugs.webkit.org/show_bug.cgi?id=101282
  30631. Reviewed by Anders Carlsson.
  30632. API wise, this adds:
  30633. - A connection property on the WKWebProcessPlugInController
  30634. - A method to send messages across a WKConnection (sendMessageWithName:body).
  30635. It also implements message sending and receiving for WKConnection. Message bodies are currently
  30636. restricted to being object graphs with values that are property list types, but in the future, should
  30637. support all types conforming to the NSSecureCoding protocol.
  30638. * Shared/WebConnection.cpp:
  30639. (WebKit::WebConnection::postMessage):
  30640. (WebKit::WebConnection::handleMessage):
  30641. * Shared/WebConnection.h:
  30642. (WebConnection):
  30643. * Shared/WebConnection.messages.in:
  30644. Switch HandleMessage to be a variadic message to avoid an extra copy and support attachments correctly.
  30645. * Shared/mac/ArgumentCodersMac.h:
  30646. * Shared/mac/ArgumentCodersMac.mm:
  30647. (CoreIPC::typeFromObject):
  30648. (CoreIPC::encode):
  30649. (CoreIPC::decode):
  30650. Add support for encoding/decoding NSArray, NSDate and NSData.
  30651. * UIProcess/API/mac/WKConnection.h:
  30652. * UIProcess/API/mac/WKConnection.mm:
  30653. (-[WKConnection sendMessageWithName:body:]):
  30654. (didReceiveMessage):
  30655. Implement message sending and receiving.
  30656. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
  30657. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
  30658. (-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundleRef:]):
  30659. (-[WKWebProcessPlugInController connection]):
  30660. Add a wrapper for the WKConnectionRef vended via WKBundleGetApplicationConnection() and expose it as
  30661. API on the WKWebProcessPlugInController.
  30662. 2012-11-05 Jinwoo Song <jinwoo7.song@samsung.com>
  30663. [EFL][WK2] Fix wrong coding style in the boilerplates
  30664. https://bugs.webkit.org/show_bug.cgi?id=101283
  30665. Reviewed by Gyuyoung Kim.
  30666. Fix boilerplate which have wrong coding style.
  30667. * UIProcess/efl/InputMethodContextEfl.cpp:
  30668. * UIProcess/efl/InputMethodContextEfl.h:
  30669. * UIProcess/efl/PageClientDefaultImpl.cpp:
  30670. * UIProcess/efl/PageClientDefaultImpl.h:
  30671. * UIProcess/efl/PageClientLegacyImpl.cpp:
  30672. * UIProcess/efl/PageClientLegacyImpl.h:
  30673. 2012-11-05 KyungTae Kim <ktf.kim@samsung.com>
  30674. [EFL][WK2] Fix build warning in PageClientLegacyImpl.cpp
  30675. https://bugs.webkit.org/show_bug.cgi?id=101266
  30676. Reviewed by Laszlo Gombos.
  30677. The 'size' is not used when !USE(TILED_BACKING_STORE)
  30678. Use UNUSED_PARAM macro for removing -Wunused-parameter warning
  30679. * UIProcess/efl/PageClientLegacyImpl.cpp:
  30680. (WebKit::PageClientLegacyImpl::updateViewportSize):
  30681. 2012-11-05 Anders Carlsson <andersca@apple.com>
  30682. Begin stubbing out the new remote layer tree drawing area
  30683. https://bugs.webkit.org/show_bug.cgi?id=101256
  30684. Reviewed by Andreas Kling.
  30685. * Shared/DrawingAreaInfo.h:
  30686. * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
  30687. * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
  30688. * WebKit2.xcodeproj/project.pbxproj:
  30689. * WebProcess/WebPage/DrawingArea.cpp:
  30690. * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  30691. * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
  30692. 2012-11-05 Alexey Proskuryakov <ap@apple.com>
  30693. Get rid of setCookieStoragePrivateBrowsingEnabled.
  30694. https://bugs.webkit.org/show_bug.cgi?id=101247
  30695. Reviewed by Brady Eidson.
  30696. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  30697. (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession): Added a FIXME.
  30698. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
  30699. We no longer have this function.
  30700. 2012-11-05 Simon Fraser <simon.fraser@apple.com>
  30701. Fix layer borders to cleaning appear and disappear on switching
  30702. https://bugs.webkit.org/show_bug.cgi?id=101136
  30703. Reviewed by Sam Weinig.
  30704. Remove the GraphicsLayerClient methods showDebugBorders() and
  30705. showRepaintCounter().
  30706. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  30707. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  30708. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  30709. (LayerTreeCoordinator):
  30710. * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
  30711. * WebProcess/WebPage/ca/LayerTreeHostCA.h:
  30712. (LayerTreeHostCA):
  30713. * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
  30714. * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
  30715. (LayerTreeHostGtk):
  30716. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  30717. (TiledCoreAnimationDrawingArea):
  30718. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  30719. 2012-11-05 Yael Aharon <yael.aharon@intel.com>
  30720. [EFL][WK2] Allow using ACCELERATED_COMPOSITING without COORDINATED_GRAPHICS
  30721. https://bugs.webkit.org/show_bug.cgi?id=100674
  30722. Reviewed by Kenneth Rohde Christiansen.
  30723. Make a distinction between calling ewk_view_base_add and ewk_view_smart_add.
  30724. Calling ewk_view_base_add creates a desktop style view, that does not support
  30725. fixed layout size, while calling ewk_view_smart_add does support fixed layout size.
  30726. As a result, WebKitTestRunner and the inspector window do not support
  30727. fixed layout size, while MiniBrowser does. This change allows many DumpAsText
  30728. layout tests to pass without modification, when AC is enabled.
  30729. * PlatformEfl.cmake:
  30730. * UIProcess/API/efl/EwkViewImpl.cpp:
  30731. (EwkViewImpl::EwkViewImpl):
  30732. (EwkViewImpl::transformFromScene):
  30733. (EwkViewImpl::informLoadCommitted):
  30734. (EwkViewImpl::enterAcceleratedCompositingMode):
  30735. (EwkViewImpl::informContentsSizeChange):
  30736. * UIProcess/API/efl/EwkViewImpl.h:
  30737. (WebKit):
  30738. (EwkViewImpl):
  30739. (EwkViewImpl::pageClient):
  30740. (EwkViewImpl::setScaleFactor):
  30741. (EwkViewImpl::scaleFactor):
  30742. (EwkViewImpl::setScrollPosition):
  30743. (EwkViewImpl::scrollPosition):
  30744. * UIProcess/API/efl/ewk_view.cpp:
  30745. (_ewk_view_smart_calculate):
  30746. (createEwkView):
  30747. (ewk_view_base_add):
  30748. * UIProcess/efl/PageClientBase.cpp: Copied from Source/WebKit2/UIProcess/efl/PageClientImpl.cpp.
  30749. (WebKit::PageClientBase::PageClientBase):
  30750. (WebKit::PageClientBase::~PageClientBase):
  30751. (WebKit::PageClientBase::viewImpl):
  30752. (WebKit::PageClientBase::createDrawingAreaProxy):
  30753. (WebKit::PageClientBase::setViewNeedsDisplay):
  30754. (WebKit::PageClientBase::displayView):
  30755. (WebKit::PageClientBase::scrollView):
  30756. (WebKit::PageClientBase::viewSize):
  30757. (WebKit::PageClientBase::isViewWindowActive):
  30758. (WebKit::PageClientBase::isViewFocused):
  30759. (WebKit::PageClientBase::isViewVisible):
  30760. (WebKit::PageClientBase::isViewInWindow):
  30761. (WebKit::PageClientBase::processDidCrash):
  30762. (WebKit::PageClientBase::didRelaunchProcess):
  30763. (WebKit::PageClientBase::pageClosed):
  30764. (WebKit::PageClientBase::toolTipChanged):
  30765. (WebKit::PageClientBase::setCursor):
  30766. (WebKit::PageClientBase::setCursorHiddenUntilMouseMoves):
  30767. (WebKit::PageClientBase::registerEditCommand):
  30768. (WebKit::PageClientBase::clearAllEditCommands):
  30769. (WebKit::PageClientBase::canUndoRedo):
  30770. (WebKit::PageClientBase::executeUndoRedo):
  30771. (WebKit::PageClientBase::convertToDeviceSpace):
  30772. (WebKit::PageClientBase::convertToUserSpace):
  30773. (WebKit::PageClientBase::screenToWindow):
  30774. (WebKit::PageClientBase::windowToScreen):
  30775. (WebKit::PageClientBase::doneWithKeyEvent):
  30776. (WebKit::PageClientBase::doneWithTouchEvent):
  30777. (WebKit::PageClientBase::createPopupMenuProxy):
  30778. (WebKit::PageClientBase::createContextMenuProxy):
  30779. (WebKit::PageClientBase::createColorChooserProxy):
  30780. (WebKit::PageClientBase::setFindIndicator):
  30781. (WebKit::PageClientBase::enterAcceleratedCompositingMode):
  30782. (WebKit::PageClientBase::exitAcceleratedCompositingMode):
  30783. (WebKit::PageClientBase::updateAcceleratedCompositingMode):
  30784. (WebKit::PageClientBase::didChangeScrollbarsForMainFrame):
  30785. (WebKit::PageClientBase::didCommitLoadForMainFrame):
  30786. (WebKit::PageClientBase::didFinishLoadingDataForCustomRepresentation):
  30787. (WebKit::PageClientBase::customRepresentationZoomFactor):
  30788. (WebKit::PageClientBase::setCustomRepresentationZoomFactor):
  30789. (WebKit::PageClientBase::flashBackingStoreUpdates):
  30790. (WebKit::PageClientBase::findStringInCustomRepresentation):
  30791. (WebKit::PageClientBase::countStringMatchesInCustomRepresentation):
  30792. (WebKit::PageClientBase::updateTextInputState):
  30793. (WebKit::PageClientBase::handleDownloadRequest):
  30794. * UIProcess/efl/PageClientBase.h: Copied from Source/WebKit2/UIProcess/efl/PageClientImpl.h.
  30795. (PageClientBase):
  30796. * UIProcess/efl/PageClientDefaultImpl.cpp: Added.
  30797. (WebKit):
  30798. (WebKit::PageClientDefaultImpl::PageClientDefaultImpl):
  30799. (WebKit::PageClientDefaultImpl::didCommitLoad):
  30800. (WebKit::PageClientDefaultImpl::updateViewportSize):
  30801. (WebKit::PageClientDefaultImpl::didChangeViewportProperties):
  30802. (WebKit::PageClientDefaultImpl::didChangeContentsSize):
  30803. (WebKit::PageClientDefaultImpl::pageDidRequestScroll):
  30804. (WebKit::PageClientDefaultImpl::didRenderFrame):
  30805. (WebKit::PageClientDefaultImpl::pageTransitionViewportReady):
  30806. * UIProcess/efl/PageClientDefaultImpl.h: Added.
  30807. (WebKit):
  30808. (PageClientDefaultImpl):
  30809. (WebKit::PageClientDefaultImpl::create):
  30810. (WebKit::PageClientDefaultImpl::~PageClientDefaultImpl):
  30811. * UIProcess/efl/PageClientImpl.cpp: Removed.
  30812. * UIProcess/efl/PageClientImpl.h: Removed.
  30813. * UIProcess/efl/PageClientLegacyImpl.cpp: Added.
  30814. (WebKit):
  30815. (WebKit::PageClientLegacyImpl::PageClientLegacyImpl):
  30816. (WebKit::PageClientLegacyImpl::didCommitLoad):
  30817. (WebKit::PageClientLegacyImpl::updateViewportSize):
  30818. (WebKit::PageClientLegacyImpl::didChangeViewportProperties):
  30819. (WebKit::PageClientLegacyImpl::didChangeContentsSize):
  30820. (WebKit::PageClientLegacyImpl::pageDidRequestScroll):
  30821. (WebKit::PageClientLegacyImpl::didRenderFrame):
  30822. (WebKit::PageClientLegacyImpl::pageTransitionViewportReady):
  30823. * UIProcess/efl/PageClientLegacyImpl.h: Added.
  30824. (WebKit):
  30825. (PageClientLegacyImpl):
  30826. (WebKit::PageClientLegacyImpl::create):
  30827. (WebKit::PageClientLegacyImpl::~PageClientLegacyImpl):
  30828. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  30829. (WebKit::PageViewportControllerClientEfl::updateViewportSize):
  30830. (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
  30831. (WebKit::PageViewportControllerClientEfl::setViewportPosition):
  30832. (WebKit::PageViewportControllerClientEfl::setContentsScale):
  30833. * UIProcess/efl/PageViewportControllerClientEfl.h:
  30834. * UIProcess/efl/WebPageProxyEfl.cpp:
  30835. (WebKit::WebPageProxy::viewWidget):
  30836. 2012-11-05 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  30837. [EFL][WK2] Make Ewk_Url_Request, Ewk_Url_Response, Ewk_Navigation_Data Ewk_Objects
  30838. https://bugs.webkit.org/show_bug.cgi?id=101205
  30839. Reviewed by Gyuyoung Kim.
  30840. Ewk_Url_Request, Ewk_Url_Response, Ewk_Navigation_Data are using common Ewk_Object interface now.
  30841. * UIProcess/API/efl/EwkViewImpl.h:
  30842. * UIProcess/API/efl/ewk_download_job.cpp:
  30843. (Ewk_Download_Job::request):
  30844. (Ewk_Download_Job::response):
  30845. (Ewk_Download_Job::setResponse):
  30846. * UIProcess/API/efl/ewk_download_job_private.h:
  30847. (Ewk_Download_Job):
  30848. * UIProcess/API/efl/ewk_navigation_data.cpp:
  30849. (EwkNavigationData::EwkNavigationData):
  30850. (EwkNavigationData::originalRequest):
  30851. (EwkNavigationData::title):
  30852. (EwkNavigationData::url):
  30853. (ewk_navigation_data_title_get):
  30854. (ewk_navigation_data_original_request_get):
  30855. (ewk_navigation_data_url_get):
  30856. * UIProcess/API/efl/ewk_navigation_data.h:
  30857. * UIProcess/API/efl/ewk_navigation_data_private.h:
  30858. (EwkNavigationData):
  30859. (EwkNavigationData::create):
  30860. * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
  30861. (Ewk_Navigation_Policy_Decision::Ewk_Navigation_Policy_Decision):
  30862. (Ewk_Navigation_Policy_Decision::request):
  30863. * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
  30864. (Ewk_Navigation_Policy_Decision::create):
  30865. (Ewk_Navigation_Policy_Decision):
  30866. * UIProcess/API/efl/ewk_url_request.cpp:
  30867. (EwkUrlRequest::EwkUrlRequest):
  30868. (EwkUrlRequest::url):
  30869. (EwkUrlRequest::firstParty):
  30870. (EwkUrlRequest::httpMethod):
  30871. (ewk_url_request_url_get):
  30872. (ewk_request_cookies_first_party_get):
  30873. (ewk_url_request_http_method_get):
  30874. * UIProcess/API/efl/ewk_url_request.h:
  30875. * UIProcess/API/efl/ewk_url_request_private.h:
  30876. (EwkUrlRequest):
  30877. (EwkUrlRequest::create):
  30878. * UIProcess/API/efl/ewk_url_response.cpp:
  30879. (EwkUrlResponse::EwkUrlResponse):
  30880. (EwkUrlResponse::httpStatusCode):
  30881. (EwkUrlResponse::url):
  30882. (EwkUrlResponse::mimeType):
  30883. (EwkUrlResponse::contentLength):
  30884. (ewk_url_response_url_get):
  30885. (ewk_url_response_status_code_get):
  30886. (ewk_url_response_mime_type_get):
  30887. (ewk_url_response_content_length_get):
  30888. * UIProcess/API/efl/ewk_url_response.h:
  30889. * UIProcess/API/efl/ewk_url_response_private.h:
  30890. (EwkUrlResponse):
  30891. (EwkUrlResponse::create):
  30892. * UIProcess/efl/ContextHistoryClientEfl.cpp:
  30893. (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
  30894. * UIProcess/efl/DownloadManagerEfl.cpp:
  30895. (WebKit::DownloadManagerEfl::didReceiveResponse):
  30896. * UIProcess/efl/ResourceLoadClientEfl.cpp:
  30897. (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
  30898. (WebKit::ResourceLoadClientEfl::didSendRequestForResource):
  30899. (WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
  30900. 2012-11-05 Christophe Dumez <christophe.dumez@intel.com>
  30901. [EFL][WK2] EWK2UnitTestBase.ewk_auth_request_cancel API test is failing after r133389
  30902. https://bugs.webkit.org/show_bug.cgi?id=101203
  30903. Reviewed by Kenneth Rohde Christiansen.
  30904. Attempt for continue without credential when the client cancels
  30905. authentication (or does not handle the authentication request)
  30906. instead of cancelling the load. We now get a 402 error when
  30907. when cancelling the authentication, which is the behavior we
  30908. want (and the behavior we used to have before r133389).
  30909. * UIProcess/API/efl/ewk_auth_request.cpp:
  30910. (Ewk_Auth_Request::~Ewk_Auth_Request):
  30911. (Ewk_Auth_Request::continueWithoutCredential):
  30912. (ewk_auth_request_cancel):
  30913. * UIProcess/API/efl/ewk_auth_request_private.h:
  30914. (Ewk_Auth_Request):
  30915. * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
  30916. (TEST_F):
  30917. 2012-11-05 Christophe Dumez <christophe.dumez@intel.com>
  30918. [EFL][WK2] The icon database path should be set by the client
  30919. https://bugs.webkit.org/show_bug.cgi?id=101182
  30920. Reviewed by Kenneth Rohde Christiansen.
  30921. No longer set the favicon database path in database instance getter.
  30922. Instead, a new ewk_context_favicon_database_directory_set() API
  30923. function was added to let the client set the icon database path.
  30924. This is needed because the icon database path can only be set once
  30925. and setting it unconditionally in the getter prevents the client
  30926. from setting it.
  30927. This will also avoid crashes in WebKitTestRunner since WKTR was
  30928. setting the path once and ewk_context was attempting to override it.
  30929. Note that the favicon database functionality is disabled until the
  30930. client sets its path.
  30931. * UIProcess/API/efl/ewk_context.cpp:
  30932. (Ewk_Context::ensureFaviconDatabase):
  30933. (Ewk_Context::setFaviconDatabaseDirectoryPath):
  30934. (Ewk_Context::faviconDatabase):
  30935. (ewk_context_favicon_database_directory_set):
  30936. * UIProcess/API/efl/ewk_context.h:
  30937. * UIProcess/API/efl/ewk_context_private.h:
  30938. (Ewk_Context):
  30939. * UIProcess/API/efl/ewk_favicon_database.cpp:
  30940. (Ewk_Favicon_Database::Ewk_Favicon_Database):
  30941. (Ewk_Favicon_Database::~Ewk_Favicon_Database):
  30942. (Ewk_Favicon_Database::iconURLForPageURL):
  30943. (Ewk_Favicon_Database::iconForPageURL):
  30944. (Ewk_Favicon_Database::getIconSurfaceSynchronously):
  30945. * UIProcess/API/efl/ewk_favicon_database_private.h:
  30946. (WebKit):
  30947. (Ewk_Favicon_Database::create):
  30948. (Ewk_Favicon_Database):
  30949. * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
  30950. (TEST_F):
  30951. 2012-11-04 Halton Huo <halton.huo@intel.com>
  30952. [EFL] Use _LIBRARIES instead of _LIBRARY
  30953. https://bugs.webkit.org/show_bug.cgi?id=101042
  30954. Reviewed by Gyuyoung Kim.
  30955. In CMake Find files, _LIBRARY is intended for internal use, should
  30956. use _LIBRARIES instead.
  30957. * PlatformEfl.cmake: s/_LIBRARY}/_LIBRARIES}
  30958. 2012-11-04 Jon Lee <jonlee@apple.com>
  30959. Expose security origin to BundleFrame
  30960. https://bugs.webkit.org/show_bug.cgi?id=101139
  30961. <rdar://problem/12629900>
  30962. Reviewed by Darin Adler.
  30963. Create a WebSecurityOrigin instance, sharing the security origin instance
  30964. that comes directly from the frame's document. We can do this because the
  30965. WK2 API only retrieves information about the origin, and because those
  30966. results are returned as copies. The security origin holds no references
  30967. that could lead to a retain cycle, avoiding the possibility that the
  30968. injected bundle accidentally keeps something alive.
  30969. * Shared/API/c/WKSharedAPICast.h:
  30970. (WebKit::toCopiedAPI): Create copied API for WebCore::SecurityOrigin
  30971. instances.
  30972. * Shared/WebSecurityOrigin.h:
  30973. (WebKit::WebSecurityOrigin::create): Add a new create() function that
  30974. takes a PassRefPtr to a WebCore SecurityOrigin instance.
  30975. (WebKit::WebSecurityOrigin::createFromString): Refactor to use new create()
  30976. function.
  30977. (WebKit::WebSecurityOrigin::createFromDatabaseIdentifier): Refactor to
  30978. use new create() function.
  30979. (WebKit::WebSecurityOrigin::create): Refactor to use new create()
  30980. function.
  30981. * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
  30982. (WKBundleFrameCopySecurityOrigin): Add function to retrieve the security
  30983. origin as a WK2 API object.
  30984. * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
  30985. 2012-11-02 Kenneth Rohde Christiansen <kenneth@webkit.org>
  30986. [EFL] Unify transforms in WK2
  30987. https://bugs.webkit.org/show_bug.cgi?id=101051
  30988. Reviewed by Simon Hausmann.
  30989. Move our transforms into EwkViewImpl and use them
  30990. everywhere needed.
  30991. * UIProcess/API/efl/EwkViewImpl.cpp:
  30992. (EwkViewImpl::smartData):
  30993. (EwkViewImpl::transformFromScene):
  30994. (EwkViewImpl::transformToScene):
  30995. (EwkViewImpl::transformToScreen):
  30996. (EwkViewImpl::displayTimerFired):
  30997. * UIProcess/API/efl/EwkViewImpl.h:
  30998. (WebCore):
  30999. (EwkViewImpl):
  31000. (EwkViewImpl::pageViewportControllerClient):
  31001. (EwkViewImpl::pageViewportController):
  31002. * UIProcess/API/efl/ewk_view.cpp:
  31003. (_ewk_view_smart_mouse_wheel):
  31004. (_ewk_view_smart_mouse_down):
  31005. (_ewk_view_smart_mouse_up):
  31006. (_ewk_view_smart_mouse_move):
  31007. (ewk_view_feed_touch_event):
  31008. 2012-11-03 Alexey Proskuryakov <ap@apple.com>
  31009. Get rid of USE(CFURLSTORAGESESSIONS)
  31010. https://bugs.webkit.org/show_bug.cgi?id=101131
  31011. Reviewed by Sam Weinig.
  31012. * Shared/WebProcessCreationParameters.cpp:
  31013. (WebKit::WebProcessCreationParameters::encode):
  31014. (WebKit::WebProcessCreationParameters::decode):
  31015. * Shared/WebProcessCreationParameters.h:
  31016. (WebProcessCreationParameters):
  31017. * UIProcess/win/WebContextWin.cpp:
  31018. (WebKit::WebContext::platformInitializeWebProcess):
  31019. * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
  31020. (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
  31021. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  31022. (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
  31023. * WebProcess/WebPage/mac/WebPageMac.mm:
  31024. (WebKit::WebPage::platformHasLocalDataForURL):
  31025. (WebKit::cachedResponseForURL):
  31026. * WebProcess/WebPage/win/WebPageWin.cpp:
  31027. (WebKit::cachedResponseForURL):
  31028. * WebProcess/WebProcess.cpp:
  31029. (WebKit::WebProcess::initializeWebProcess):
  31030. * WebProcess/win/WebProcessWin.cpp:
  31031. (WebKit::WebProcess::platformSetCacheModel):
  31032. (WebKit::WebProcess::platformClearResourceCaches):
  31033. 2012-11-03 Pavel Feldman <pfeldman@chromium.org>
  31034. REGRESSION (r132014-r132047): Webkit Inspector Window docking broken
  31035. https://bugs.webkit.org/show_bug.cgi?id=101125
  31036. Reviewed by Vsevolod Vlasov.
  31037. Migrated from ?docked= to ?dockSide= format.
  31038. * UIProcess/WebInspectorProxy.cpp:
  31039. (WebKit::WebInspectorProxy::createInspectorPage):
  31040. 2012-10-25 Martin Robinson <mrobinson@igalia.com>
  31041. [GTK] Move soup authentication from GtkAuthenticationDialog to WebCore
  31042. https://bugs.webkit.org/show_bug.cgi?id=99914
  31043. Reviewed by Carlos Garcia Campos.
  31044. Instead of passing the libsoup objects to the GtkAuthenticationDialog, pass the
  31045. AuthenticationChallenge itself.
  31046. * WebProcess/WebCoreSupport/gtk/WebFrameLoaderClientGtk.cpp:
  31047. (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
  31048. 2012-11-02 Anders Carlsson <andersca@apple.com>
  31049. Very speculative ArgumentDecoder crash fix
  31050. https://bugs.webkit.org/show_bug.cgi?id=101130
  31051. <rdar://problem/11917046>
  31052. Reviewed by Sam Weinig.
  31053. Switch from fastMalloc/fastFree to system malloc/free in the hopes that it'll give more information about
  31054. a crash inside TCMalloc when freeing the argument data. (It seems unlikely that this is a bug in TCMalloc, but
  31055. switching to the system malloc could potentially give better error reporting).
  31056. * Platform/CoreIPC/ArgumentDecoder.cpp:
  31057. (CoreIPC::ArgumentDecoder::~ArgumentDecoder):
  31058. (CoreIPC::ArgumentDecoder::initialize):
  31059. 2012-11-02 Anders Carlsson <andersca@apple.com>
  31060. Don't instantiate the Java plug-in if it's inactive
  31061. https://bugs.webkit.org/show_bug.cgi?id=101102
  31062. <rdar://problem/12595679>
  31063. Reviewed by Andreas Kling.
  31064. * Shared/Plugins/PluginModuleInfo.h:
  31065. Add a PluginModuleLoadPolicy enum.
  31066. * UIProcess/Plugins/PluginInfoStore.cpp:
  31067. (WebKit::PluginInfoStore::policyForPlugin):
  31068. * UIProcess/Plugins/PluginInfoStore.h:
  31069. (PluginInfoStore):
  31070. Rename shouldBlockPlugin to policyForPlugin and make it return an enum so we can handle inactive plug-ins.
  31071. * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
  31072. (WebKit::shouldBlockPlugin):
  31073. Add helper function.
  31074. (WebKit::PluginInfoStore::policyForPlugin):
  31075. If the Java plug-in is inactive, return PluginModuleInactive.
  31076. (WebKit::PluginInfoStore::reactivateInactivePlugin):
  31077. If the given plug-in is the Java plug-in, call WKJLReportWebComponentsUsed() to reactivate it.
  31078. * UIProcess/WebPageProxy.cpp:
  31079. (WebKit::WebPageProxy::unavailablePluginButtonClicked):
  31080. If the plug-in is inactive, try to reactivate it and reload the page if reactivation succeeded.
  31081. * UIProcess/WebProcessProxy.cpp:
  31082. (WebKit::WebProcessProxy::getPluginPath):
  31083. * UIProcess/WebProcessProxy.h:
  31084. This now returns a plug-in load policy.
  31085. * UIProcess/WebProcessProxy.messages.in:
  31086. GetPluginPack now returns a load policy enum.
  31087. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  31088. (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
  31089. Change this to a switch statement and always return true for RenderEmbeddedObject::PluginInactive.
  31090. (WebKit::WebChromeClient::unavailablePluginButtonClicked):
  31091. Add RenderEmbeddedObject::PluginInactive to the assertion.
  31092. * WebProcess/WebPage/WebPage.cpp:
  31093. (WebKit::WebPage::createPlugin):
  31094. Update now that GetPluginPath returns a pluginLoadPolicy enum.
  31095. (WebKit::canPluginHandleResponse):
  31096. Ditto.
  31097. 2012-11-02 Alexey Proskuryakov <ap@apple.com>
  31098. [Mac] ResourceHandle changes for network process
  31099. https://bugs.webkit.org/show_bug.cgi?id=101111
  31100. Reviewed by Jessie Berlin.
  31101. * NetworkProcess/mac/NetworkProcessMainMac.mm: (WebKit::NetworkProcessMain):
  31102. We want to use WebKitSystemInterface in network process.
  31103. * NetworkProcess/mac/RemoteNetworkingContext.h:
  31104. (WebKit::RemoteNetworkingContext::create): Added a constructor and a create function.
  31105. Switched from scheduledRunLoopPairs() to the new scheduledOperationQueue().
  31106. * NetworkProcess/mac/RemoteNetworkingContext.mm:
  31107. (WebKit::RemoteNetworkingContext::RemoteNetworkingContext):
  31108. (WebKit::RemoteNetworkingContext::scheduledOperationQueue):
  31109. Ditto.
  31110. 2012-11-02 Simon Fraser <simon.fraser@apple.com>
  31111. Enable SUBPIXEL_LAYOUT on Mac
  31112. https://bugs.webkit.org/show_bug.cgi?id=101076
  31113. Reviewed by Dave Hyatt.
  31114. Define ENABLE_SUBPIXEL_LAYOUT and include it in FEATURE_DEFINES.
  31115. * Configurations/FeatureDefines.xcconfig:
  31116. 2012-11-02 Anders Carlsson <andersca@apple.com>
  31117. Add a PluginInactive plug-in unavailability reason
  31118. https://bugs.webkit.org/show_bug.cgi?id=101089
  31119. Reviewed by Sam Weinig.
  31120. * UIProcess/WebPageProxy.cpp:
  31121. (WebKit::WebPageProxy::unavailablePluginButtonClicked):
  31122. 2012-11-02 Adam Barth <abarth@webkit.org>
  31123. ENABLE(UNDO_MANAGER) is disabled everywhere and is not under active development
  31124. https://bugs.webkit.org/show_bug.cgi?id=100711
  31125. Reviewed by Eric Seidel.
  31126. * Configurations/FeatureDefines.xcconfig:
  31127. 2012-11-02 Christophe Dumez <christophe.dumez@intel.com>
  31128. [WK2][EFL] Crash when calling WebOpenPanelResultListenerProxy::cancel() after PageClient is destroyed
  31129. https://bugs.webkit.org/show_bug.cgi?id=100977
  31130. Reviewed by Alexey Proskuryakov.
  31131. Call WebPageProxy::close() in EwkViewImpl's destructor to avoid crashes
  31132. if other objects keep a reference to the WebPageProxy and try to use
  31133. it after the view (and therefore the PageClient) is destroyed.
  31134. * UIProcess/API/efl/EwkViewImpl.cpp:
  31135. (EwkViewImpl::~EwkViewImpl):
  31136. 2012-11-02 Martin Robinson <mrobinson@igalia.com>
  31137. [GTK] Remove dependency on SoupPasswordManager
  31138. https://bugs.webkit.org/show_bug.cgi?id=100775
  31139. Reviewed by Carlos Garcia Campos.
  31140. Add a libsecret dependency to the build. This is necessary so that we can remove
  31141. a dependency on SoupPasswordManager.
  31142. * GNUmakefile.am: Add libsecret CFLAGS to the WebKit2 build.
  31143. 2012-11-02 Byungwoo Lee <bw80.lee@samsung.com>
  31144. [EFL][WK2] Change the scope of locking in WorkQueueEfl.cpp.
  31145. https://bugs.webkit.org/show_bug.cgi?id=98978
  31146. Reviewed by Kenneth Rohde Christiansen.
  31147. Release the m_workItemQueueLock and m_timerWorkItemsLock mutexes
  31148. immediately after the protected resource is no longer modified to
  31149. prevent a possible source of a deadlock.
  31150. And additional mutex locker for the m_writeToPipeDescriptor is added
  31151. to ensure thread-safety of the sendMessageToThread() function.
  31152. * Platform/WorkQueue.h:
  31153. (WorkQueue):
  31154. * Platform/efl/WorkQueueEfl.cpp:
  31155. (WorkQueue::insertTimerWorkItem):
  31156. (WorkQueue::performTimerWork):
  31157. (WorkQueue::sendMessageToThread):
  31158. (WorkQueue::dispatch):
  31159. (WorkQueue::dispatchAfterDelay):
  31160. 2012-11-02 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  31161. [EFL][WK2] Add API unit tests for Ewk_Object
  31162. https://bugs.webkit.org/show_bug.cgi?id=101037
  31163. Reviewed by Kenneth Rohde Christiansen.
  31164. Added API unit tests for Ewk_Object.
  31165. * PlatformEfl.cmake:
  31166. * UIProcess/API/efl/tests/test_ewk2_object.cpp: Added.
  31167. (TestEwkObject1):
  31168. (TestEwkObject1::create):
  31169. (TestEwkObject1::~TestEwkObject1):
  31170. (TestEwkObject2):
  31171. (TestEwkObject2::create):
  31172. (TEST_F):
  31173. 2012-11-02 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  31174. REGRESSION (r133075): plugins/plugin-javascript-access.html is failing
  31175. https://bugs.webkit.org/show_bug.cgi?id=101045
  31176. Reviewed by Kenneth Rohde Christiansen.
  31177. Encode the plugin filename in ArgumentCoder<PluginInfo> so that
  31178. plugin.filename returns the filename instead of name of the plugin.
  31179. * Shared/WebCoreArgumentCoders.cpp:
  31180. (CoreIPC::::encode):
  31181. 2012-11-01 Yael Aharon <yael.aharon@intel.com>
  31182. [EFL][WK2][AC] Wrong translation of mouse events
  31183. https://bugs.webkit.org/show_bug.cgi?id=100983
  31184. Reviewed by Kenneth Rohde Christiansen.
  31185. The transform that we build for mouse events is scaled by the scale factor.
  31186. The url bar should not be scaled, so it should be scaled in the oposite
  31187. direction to compensate for that.
  31188. * UIProcess/API/efl/ewk_view.cpp:
  31189. (toWebContentTransform):
  31190. 2012-11-02 Andras Becsi <andras.becsi@digia.com>
  31191. [Qt][WK2] Add missing variable initialization in PageViewportController
  31192. Reviewed by Jocelyn Turcotte.
  31193. Updating the viewport state depends on uninitialized booleans
  31194. which it should not.
  31195. * UIProcess/PageViewportController.cpp:
  31196. (WebKit::PageViewportController::PageViewportController):
  31197. 2012-11-02 Byungwoo Lee <bw80.lee@samsung.com>
  31198. [EFL][WK2] Use MutexLocker instead of lock()/unlock().
  31199. https://bugs.webkit.org/show_bug.cgi?id=101015
  31200. Reviewed by Kenneth Rohde Christiansen.
  31201. Instead of lock()/unlock(), use MutexLocker in WorkQueue::performWork()
  31202. and WorkQueue::performTimerWork().
  31203. The locking scope will be more clear and simple with using MutexLocker.
  31204. * Platform/efl/WorkQueueEfl.cpp:
  31205. (WorkQueue::performWork):
  31206. (WorkQueue::insertTimerWorkItem):
  31207. (WorkQueue::performTimerWork):
  31208. (WorkQueue::dispatchAfterDelay):
  31209. 2012-11-02 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  31210. [EFL][WK2] Common ref and unref functions for EFL WK2 objects
  31211. https://bugs.webkit.org/show_bug.cgi?id=100751
  31212. Reviewed by Kenneth Rohde Christiansen.
  31213. Added common Ewk_Object class with ref/unref API also added several aux functions for safe
  31214. Ewk_Object conversion. Used new approach on ewk_back_forward_list_item as example.
  31215. * PlatformEfl.cmake:
  31216. * UIProcess/API/efl/EWebKit2.h:
  31217. * UIProcess/API/efl/ewk_back_forward_list.cpp:
  31218. (Ewk_Back_Forward_List::getFromCacheOrCreate):
  31219. (Ewk_Back_Forward_List::createEinaList):
  31220. * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
  31221. (EwkBackForwardListItem::EwkBackForwardListItem):
  31222. (EwkBackForwardListItem::url):
  31223. (EwkBackForwardListItem::title):
  31224. (EwkBackForwardListItem::originalURL):
  31225. (ewk_back_forward_list_item_url_get):
  31226. (ewk_back_forward_list_item_title_get):
  31227. (ewk_back_forward_list_item_original_url_get):
  31228. * UIProcess/API/efl/ewk_back_forward_list_item.h:
  31229. * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
  31230. (EwkBackForwardListItem):
  31231. (EwkBackForwardListItem::create):
  31232. * UIProcess/API/efl/ewk_back_forward_list_private.h:
  31233. * UIProcess/API/efl/ewk_object.cpp: Copied from Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item_private.h.
  31234. (ewk_object_ref):
  31235. (ewk_object_unref):
  31236. * UIProcess/API/efl/ewk_object.h: Copied from Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item_private.h.
  31237. * UIProcess/API/efl/ewk_object_private.h: Added.
  31238. (Ewk_Object):
  31239. (Ewk_Object::~Ewk_Object):
  31240. (ewk_object_is_of_type):
  31241. (ewk_object_cast_check):
  31242. (ewk_object_cast):
  31243. * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
  31244. (freeEinaList):
  31245. 2012-11-02 Nandor Huszka <hnandor@inf.u-szeged.hu>
  31246. [Qt][Mac][Win] Unreviewed build fix after r133182
  31247. https://bugs.webkit.org/show_bug.cgi?id=100995
  31248. Remove two methods' OVERRIDE and virtual modifiers, because they cannot be found in any base class.
  31249. Also relocate their prototypes, because they mix with the overridden ones.
  31250. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  31251. (CoordinatedGraphicsLayer):
  31252. 2012-11-02 Jihye Kang <jye.kang@samsung.com>
  31253. [EFL][WK2] Add ewk_security_origin and ewk_storage_manager APIs
  31254. https://bugs.webkit.org/show_bug.cgi?id=92827
  31255. Reviewed by Gyuyoung Kim.
  31256. Add ewk_security_origin APIs to get security origin.
  31257. These APIs will be used to get host, protocol and port of security
  31258. origin.
  31259. Add ewk_storage_manager to manage web storage and
  31260. ewk_storage_manager_origins_get to get origins list of web storage.
  31261. Add Unit tests for ewk_storage_manager and ewk_security_origin APIs.
  31262. * PlatformEfl.cmake:
  31263. * UIProcess/API/efl/EWebKit2.h:
  31264. * UIProcess/API/efl/ewk_context.cpp:
  31265. (Ewk_Context::storageManager):
  31266. (ewk_context_storage_manager_get):
  31267. * UIProcess/API/efl/ewk_context.h:
  31268. * UIProcess/API/efl/ewk_context_private.h:
  31269. (Ewk_Context):
  31270. * UIProcess/API/efl/ewk_security_origin.cpp: Added.
  31271. (Ewk_Security_Origin::Ewk_Security_Origin):
  31272. (Ewk_Security_Origin::host):
  31273. (Ewk_Security_Origin::protocol):
  31274. (Ewk_Security_Origin::port):
  31275. (ewk_security_origin_ref):
  31276. (ewk_security_origin_unref):
  31277. (ewk_security_origin_host_get):
  31278. (ewk_security_origin_protocol_get):
  31279. (ewk_security_origin_port_get):
  31280. * UIProcess/API/efl/ewk_security_origin.h: Added.
  31281. * UIProcess/API/efl/ewk_security_origin_private.h: Added.
  31282. (Ewk_Security_Origin):
  31283. (Ewk_Security_Origin::create):
  31284. * UIProcess/API/efl/ewk_storage_manager.cpp: Added.
  31285. (Ewk_Storage_Manager::Ewk_Storage_Manager):
  31286. (Ewk_Storage_Manager::getStorageOrigins):
  31287. (Ewk_Storage_Manager::createOriginList):
  31288. (_Ewk_Storage_Origins_Async_Get_Context):
  31289. (_Ewk_Storage_Origins_Async_Get_Context::_Ewk_Storage_Origins_Async_Get_Context):
  31290. (getStorageOriginsCallback):
  31291. (ewk_storage_manager_origins_get):
  31292. * UIProcess/API/efl/ewk_storage_manager.h: Added.
  31293. * UIProcess/API/efl/ewk_storage_manager_private.h: Added.
  31294. (Ewk_Storage_Manager):
  31295. (Ewk_Storage_Manager::create):
  31296. * UIProcess/API/efl/tests/test_ewk2_context.cpp:
  31297. (TEST_F):
  31298. * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: Added.
  31299. (getStorageOriginsCallback):
  31300. (TEST_F):
  31301. 2012-11-02 Huang Dongsung <luxtella@company100.net>
  31302. Coordinated Graphics: Manage the lifecycle of shareable surfaces precisely.
  31303. https://bugs.webkit.org/show_bug.cgi?id=100797
  31304. Reviewed by Noam Rosenthal.
  31305. Internal Review by Gwang Yoon Hwang and Jae Hyun Park.
  31306. This patch makes UpdateAtlas manage the lifecycle of shareable surfaces
  31307. containing the updates in the way how CoordinatedTile manages the lifecycle of
  31308. tiles. Currently, UI Process creates the shareable surface when receiving an
  31309. UpdateTileForLayer message, but there is no exact point to remove the shareable
  31310. surface. Now, we introduce new two messages to handle the lifecycle:
  31311. CreateUpdateAtlas and RemoveUpdateAtlas.
  31312. This patch gives us two benefits.
  31313. 1. Reduce file and mmap operations. Web Process does not need to duplicate a
  31314. file handle every tile update. UI Process does not need to create a
  31315. ShareableSurface every UpdateTileForLayer message.
  31316. 2. Save memory. We can remove a ShareableSurface in UI Process when UpdateAtlas
  31317. in Web Process is removed.
  31318. * Shared/SurfaceUpdateInfo.cpp:
  31319. (WebKit::SurfaceUpdateInfo::encode):
  31320. (WebKit::SurfaceUpdateInfo::decode):
  31321. * Shared/SurfaceUpdateInfo.h:
  31322. (SurfaceUpdateInfo):
  31323. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  31324. (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
  31325. (WebKit::LayerTreeCoordinatorProxy::createUpdateAtlas):
  31326. (WebKit):
  31327. (WebKit::LayerTreeCoordinatorProxy::removeUpdateAtlas):
  31328. (WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
  31329. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  31330. (LayerTreeCoordinatorProxy):
  31331. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  31332. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  31333. (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
  31334. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  31335. (CoordinatedGraphicsLayerClient):
  31336. (CoordinatedGraphicsLayer):
  31337. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
  31338. (WebKit::CoordinatedTile::updateBackBuffer):
  31339. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
  31340. (CoordinatedTileClient):
  31341. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  31342. (WebKit::LayerTreeCoordinator::createUpdateAtlas):
  31343. (WebKit):
  31344. (WebKit::LayerTreeCoordinator::removeUpdateAtlas):
  31345. (WebKit::LayerTreeCoordinator::beginContentUpdate):
  31346. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  31347. (LayerTreeCoordinator):
  31348. * WebProcess/WebPage/UpdateAtlas.cpp:
  31349. (WebKit::UpdateAtlas::UpdateAtlas):
  31350. (WebKit):
  31351. (WebKit::UpdateAtlas::~UpdateAtlas):
  31352. (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
  31353. * WebProcess/WebPage/UpdateAtlas.h:
  31354. (UpdateAtlasClient):
  31355. (WebKit):
  31356. (UpdateAtlas):
  31357. 2012-11-02 Jinwoo Song <jinwoo7.song@samsung.com>
  31358. [EFL][WK2] Remove redundant internal function
  31359. https://bugs.webkit.org/show_bug.cgi?id=100969
  31360. Reviewed by Gyuyoung Kim.
  31361. Remove ewk_view_text_found() in ewk_view.cpp which is not used anymore.
  31362. Now, "text,found" signal is emitted by DECLARE_EWK_VIEW_CALLBACK(TextFound, "text,found", unsigned)
  31363. in EwkViewCallback.h
  31364. * UIProcess/API/efl/ewk_view.cpp:
  31365. 2012-11-01 Anders Carlsson <andersca@apple.com>
  31366. Reformat the annotationStyle initializer to appease update-webkit-localizable-strings.
  31367. Rubber-stamped by Dan Bernstein.
  31368. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  31369. 2012-11-01 Alexandru Chiculita <achicu@adobe.com>
  31370. [CSS Shaders] Move MeshBoxType out of CustomFilterOperation
  31371. https://bugs.webkit.org/show_bug.cgi?id=100782
  31372. Reviewed by Dean Jackson.
  31373. Renamed the CustomFilterOperation::MeshBoxType to CustomFilterMeshBoxType.
  31374. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  31375. (CoreIPC::::decode):
  31376. 2012-11-01 Beth Dakin <bdakin@apple.com>
  31377. https://bugs.webkit.org/show_bug.cgi?id=100917
  31378. There should be a way to dump the scrolling tree from the layout tests
  31379. Reviewed by Simon Fraser.
  31380. * win/WebKit2.def:
  31381. * win/WebKit2CFLite.def:
  31382. 2012-11-01 Huang Dongsung <luxtella@company100.net>
  31383. Coordinated Graphics: Clean up headers of Coordinated Graphics.
  31384. https://bugs.webkit.org/show_bug.cgi?id=100907
  31385. Reviewed by Noam Rosenthal.
  31386. This patch performs:
  31387. 1. Remove unused methods.
  31388. 2. Change public methods to private if needed.
  31389. 3. Put virtual, OVERRIDE and explicit keywords if needed.
  31390. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  31391. (LayerTreeCoordinatorProxy):
  31392. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  31393. (LayerTreeRenderer):
  31394. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  31395. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  31396. (CoordinatedGraphicsLayer):
  31397. (WebCore::CoordinatedGraphicsLayer::fixedToViewport):
  31398. (WebCore::CoordinatedGraphicsLayer::setMaskTarget):
  31399. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  31400. (LayerTreeCoordinator):
  31401. 2012-11-01 Christophe Dumez <christophe.dumez@intel.com>
  31402. [EFL][WK2] Add Ewk_Auth_Request API
  31403. https://bugs.webkit.org/show_bug.cgi?id=100858
  31404. Reviewed by Kenneth Rohde Christiansen.
  31405. Add Ewk_Auth_Request API for the client to handle
  31406. HTTP authentication.
  31407. * PlatformEfl.cmake:
  31408. * UIProcess/API/efl/EWebKit2.h:
  31409. * UIProcess/API/efl/EwkViewCallbacks.h:
  31410. (EwkViewCallbacks):
  31411. * UIProcess/API/efl/ewk_auth_request.cpp: Added.
  31412. (Ewk_Auth_Request::Ewk_Auth_Request):
  31413. (Ewk_Auth_Request::~Ewk_Auth_Request):
  31414. (Ewk_Auth_Request::suggestedUsername):
  31415. (Ewk_Auth_Request::realm):
  31416. (Ewk_Auth_Request::host):
  31417. (Ewk_Auth_Request::cancel):
  31418. (Ewk_Auth_Request::authenticate):
  31419. (Ewk_Auth_Request::isRetrying):
  31420. (ewk_auth_request_ref):
  31421. (ewk_auth_request_unref):
  31422. (ewk_auth_request_suggested_username_get):
  31423. (ewk_auth_request_cancel):
  31424. (ewk_auth_request_authenticate):
  31425. (ewk_auth_request_retrying_get):
  31426. (ewk_auth_request_realm_get):
  31427. (ewk_auth_request_host_get):
  31428. * UIProcess/API/efl/ewk_auth_request.h: Added.
  31429. * UIProcess/API/efl/ewk_auth_request_private.h: Added.
  31430. (WebKit):
  31431. (Ewk_Auth_Request):
  31432. (Ewk_Auth_Request::create):
  31433. * UIProcess/API/efl/ewk_view.h:
  31434. * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp: Added corresponding API tests.
  31435. (serverCallback):
  31436. (onAuthenticationRequest):
  31437. (TEST_F):
  31438. (onResourceLoadResponse):
  31439. * UIProcess/efl/PageLoadClientEfl.cpp:
  31440. (WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
  31441. (WebKit):
  31442. (WebKit::PageLoadClientEfl::PageLoadClientEfl):
  31443. * UIProcess/efl/PageLoadClientEfl.h:
  31444. (PageLoadClientEfl):
  31445. 2012-11-01 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  31446. Fix the Mac breakage
  31447. https://bugs.webkit.org/show_bug.cgi?id=100383
  31448. Reviewed by Kenneth Rohde Christiansen.
  31449. acceleratedCompositingForFixedPositionEnabled needs to be enabled
  31450. for fixed layout to work efficiently but it's wrong to force it
  31451. to false if fixed layout isn't enabled.
  31452. Separate hard requirements for fixed layout from rendering optimizations
  31453. and guard the later with USE(COORDINATED_GRAPHICS).
  31454. Also add an early return to make sure that ports always having a false
  31455. useFixedLayout creation parameter won't get their settings adjusted.
  31456. * WebProcess/WebPage/WebPage.cpp:
  31457. (WebKit::WebPage::setUseFixedLayout):
  31458. 2012-10-24 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  31459. WebIconDatabase: Properly clean up on destruction
  31460. https://bugs.webkit.org/show_bug.cgi?id=100237
  31461. Reviewed by Brady Eidson.
  31462. * UIProcess/WebIconDatabase.cpp:
  31463. (WebKit::WebIconDatabase::invalidate):
  31464. Make sure that IconDatabaseBase::iconDatabase won't return a dangling pointer.
  31465. 2012-11-01 Kenneth Rohde Christiansen <kenneth@webkit.org>
  31466. [EFL] Fix event mapping for WebKit2 with coordinated graphics
  31467. https://bugs.webkit.org/show_bug.cgi?id=100956
  31468. Reviewed by Alexis Menard.
  31469. Apply scale after translation.
  31470. * UIProcess/API/efl/ewk_view.cpp:
  31471. (toWebContentTransform):
  31472. 2012-11-01 Kenneth Rohde Christiansen <kenneth@webkit.org>
  31473. [EFL] Correct our use of the coordinated graphics
  31474. https://bugs.webkit.org/show_bug.cgi?id=100947
  31475. Reviewed by Alexis Menard.
  31476. Replace the display(...) call with a regular update() on the view.
  31477. In the coordinated graphics case this updates our view using
  31478. paintToCurrentGLContext with our viewmodel matrix and clips it to
  31479. the viewport. This avoid the need to manually joining update regions.
  31480. Unneeded update calls have also been removed and the resizing
  31481. logic has been improved.
  31482. * UIProcess/API/efl/EwkViewImpl.cpp:
  31483. (EwkViewImpl::displayTimerFired):
  31484. (EwkViewImpl::update):
  31485. * UIProcess/API/efl/EwkViewImpl.h:
  31486. (WebCore):
  31487. (EwkViewImpl):
  31488. (EwkViewImpl::clearEvasGLSurface):
  31489. * UIProcess/API/efl/ewk_view.cpp:
  31490. (_ewk_view_smart_calculate):
  31491. * UIProcess/efl/PageClientImpl.cpp:
  31492. (WebKit::PageClientImpl::setViewNeedsDisplay):
  31493. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  31494. (WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
  31495. (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
  31496. (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
  31497. * UIProcess/efl/PageViewportControllerClientEfl.h:
  31498. (PageViewportControllerClientEfl):
  31499. 2012-11-01 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  31500. [Qt] Double clicks/taps aren't passed down to the page
  31501. https://bugs.webkit.org/show_bug.cgi?id=100949
  31502. Reviewed by Kenneth Rohde Christiansen.
  31503. Since we are passing double click events as press events and that
  31504. they are preceeded by a real press event, double clicks are passed
  31505. down to the page as triple clicks.
  31506. Ignore double click events and let WebCore::EventHandler handle it
  31507. through press and release events.
  31508. * Shared/qt/WebEventFactoryQt.cpp:
  31509. (WebKit::webEventTypeForEvent):
  31510. * UIProcess/API/qt/qquickwebview.cpp:
  31511. (QQuickWebViewPrivate::handleMouseEvent):
  31512. * UIProcess/qt/QtWebPageEventHandler.cpp:
  31513. (WebKit::QtWebPageEventHandler::handleInputEvent):
  31514. 2012-11-01 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  31515. [AC][EFL][WK2] Rename PageViewportControllerClientEfl::m_pageViewportController to m_controller
  31516. https://bugs.webkit.org/show_bug.cgi?id=100933
  31517. Reviewed by Kenneth Rohde Christiansen.
  31518. PageViewportControllerClientEfl::m_pageViewportController has to be renamed to m_controller
  31519. to keep consistency with other ports. Assertinons were also added.
  31520. * UIProcess/efl/PageViewportControllerClientEfl.cpp:
  31521. (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
  31522. (WebKit::PageViewportControllerClientEfl::updateViewportSize):
  31523. (WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
  31524. (WebKit::PageViewportControllerClientEfl::didResumeContent):
  31525. (WebKit::PageViewportControllerClientEfl::setController):
  31526. * UIProcess/efl/PageViewportControllerClientEfl.h:
  31527. (PageViewportControllerClientEfl):
  31528. 2012-11-01 Sheriff Bot <webkit.review.bot@gmail.com>
  31529. Unreviewed, rolling out r133126.
  31530. http://trac.webkit.org/changeset/133126
  31531. https://bugs.webkit.org/show_bug.cgi?id=100925
  31532. This made EFL API test break on EFL buildbots (Requested by
  31533. gyuyoung on #webkit).
  31534. * PlatformEfl.cmake:
  31535. * UIProcess/API/efl/EWebKit2.h:
  31536. * UIProcess/API/efl/ewk_context.cpp:
  31537. (Ewk_Context::Ewk_Context):
  31538. * UIProcess/API/efl/ewk_context.h:
  31539. * UIProcess/API/efl/ewk_context_private.h:
  31540. (Ewk_Context):
  31541. * UIProcess/API/efl/ewk_security_origin.cpp: Removed.
  31542. * UIProcess/API/efl/ewk_security_origin.h: Removed.
  31543. * UIProcess/API/efl/ewk_security_origin_private.h: Removed.
  31544. * UIProcess/API/efl/ewk_storage_manager.cpp: Removed.
  31545. * UIProcess/API/efl/ewk_storage_manager.h: Removed.
  31546. * UIProcess/API/efl/ewk_storage_manager_private.h: Removed.
  31547. * UIProcess/API/efl/tests/test_ewk2_context.cpp:
  31548. * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: Removed.
  31549. 2012-11-01 Yuni Jeong <yhnet.jung@samsung.com>
  31550. [WK2] Add APIs to get/set encoding detector
  31551. https://bugs.webkit.org/show_bug.cgi?id=100066
  31552. Reviewed by Gyuyoung Kim.
  31553. Add setting APIs for encoding dector and a unit test.
  31554. * Shared/WebPreferencesStore.h:
  31555. (WebKit):
  31556. * UIProcess/API/C/WKPreferences.cpp:
  31557. (WKPreferencesSetUsesEncodingDetector):
  31558. (WKPreferencesGetUsesEncodingDetector):
  31559. * UIProcess/API/C/WKPreferences.h:
  31560. * UIProcess/API/efl/ewk_settings.cpp:
  31561. (ewk_setting_uses_encoding_detector_set):
  31562. (ewk_setting_uses_encoding_detector_get):
  31563. * UIProcess/API/efl/ewk_settings.h:
  31564. * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
  31565. (TEST_F):
  31566. 2012-10-31 Jihye Kang <jye.kang@samsung.com>
  31567. [EFL][WK2] Add ewk_security_origin and ewk_storage_manager APIs
  31568. https://bugs.webkit.org/show_bug.cgi?id=92827
  31569. Reviewed by Gyuyoung Kim.
  31570. Add ewk_security_origin APIs to get security origin.
  31571. These APIs will be used to get host, protocol and port of security
  31572. origin.
  31573. Add ewk_storage_manager to manage web storage and
  31574. ewk_storage_manager_origins_get to get origins list of web storage.
  31575. Add Unit tests for ewk_storage_manager and ewk_security_origin APIs.
  31576. * PlatformEfl.cmake:
  31577. * UIProcess/API/efl/EWebKit2.h:
  31578. * UIProcess/API/efl/ewk_context.cpp:
  31579. (Ewk_Context::storageManager):
  31580. (ewk_context_storage_manager_get):
  31581. * UIProcess/API/efl/ewk_context.h:
  31582. * UIProcess/API/efl/ewk_context_private.h:
  31583. (Ewk_Context):
  31584. * UIProcess/API/efl/ewk_security_origin.cpp: Added.
  31585. (Ewk_Security_Origin::Ewk_Security_Origin):
  31586. (Ewk_Security_Origin::host):
  31587. (Ewk_Security_Origin::protocol):
  31588. (Ewk_Security_Origin::port):
  31589. (ewk_security_origin_ref):
  31590. (ewk_security_origin_unref):
  31591. (ewk_security_origin_host_get):
  31592. (ewk_security_origin_protocol_get):
  31593. (ewk_security_origin_port_get):
  31594. * UIProcess/API/efl/ewk_security_origin.h: Added.
  31595. * UIProcess/API/efl/ewk_security_origin_private.h: Added.
  31596. (Ewk_Security_Origin):
  31597. (Ewk_Security_Origin::create):
  31598. * UIProcess/API/efl/ewk_storage_manager.cpp: Added.
  31599. (Ewk_Storage_Manager::Ewk_Storage_Manager):
  31600. (Ewk_Storage_Manager::getStorageOrigins):
  31601. (Ewk_Storage_Manager::createOriginList):
  31602. (_Ewk_Storage_Origins_Async_Get_Context):
  31603. (_Ewk_Storage_Origins_Async_Get_Context::_Ewk_Storage_Origins_Async_Get_Context):
  31604. (getStorageOriginsCallback):
  31605. (ewk_storage_manager_origins_get):
  31606. * UIProcess/API/efl/ewk_storage_manager.h: Added.
  31607. * UIProcess/API/efl/ewk_storage_manager_private.h: Added.
  31608. (Ewk_Storage_Manager):
  31609. (Ewk_Storage_Manager::create):
  31610. * UIProcess/API/efl/tests/test_ewk2_context.cpp:
  31611. (TEST_F):
  31612. * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: Added.
  31613. (getStorageOriginsCallback):
  31614. (TEST_F):
  31615. 2012-10-31 Alexandru Chiculita <achicu@adobe.com>
  31616. CustomFilterOperation parameters list is not decoded correctly in CoordinatedGraphicsArgumentCoders
  31617. https://bugs.webkit.org/show_bug.cgi?id=100889
  31618. Reviewed by Noam Rosenthal.
  31619. The custom filters parameters list was initialized with a specific size and then
  31620. the decoder was expected to fill it with all the decoded parameters. The decoder was
  31621. using the append command which added the paramters at the end, so it doubled the size
  31622. of the vector leaving empty spaces at the beginning of the list. Fixed it by writting
  31623. directly into the allocated space.
  31624. No new tests, the code path is not activated yet.
  31625. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  31626. (CoreIPC::::decode):
  31627. 2012-10-31 Sam Weinig <sam@webkit.org>
  31628. Convert the rest of the encoders to take the encoder as a reference
  31629. https://bugs.webkit.org/show_bug.cgi?id=100821
  31630. Reviewed by Anders Carlsson.
  31631. * Platform/CoreIPC/ArgumentCoders.h:
  31632. (CoreIPC::SimpleArgumentCoder::encode):
  31633. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  31634. (CoreIPC::::encode):
  31635. (CoreIPC::encodeTimingFunction):
  31636. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
  31637. * Shared/PrintInfo.cpp:
  31638. (WebKit::PrintInfo::encode):
  31639. * Shared/SessionState.cpp:
  31640. * Shared/UserMessageCoders.h:
  31641. (WebKit::UserMessageDecoder::baseDecode):
  31642. * Shared/WebCoreArgumentCoders.cpp:
  31643. (CoreIPC::::encode):
  31644. * Shared/WebCoreArgumentCoders.h:
  31645. * Shared/WebGeolocationPosition.cpp:
  31646. (WebKit::WebGeolocationPosition::Data::encode):
  31647. * Shared/WebLayerTreeInfo.cpp:
  31648. (WebKit::WebLayerInfo::encode):
  31649. * Shared/gtk/ArgumentCodersGtk.cpp:
  31650. (CoreIPC::encodeImage):
  31651. (CoreIPC::encodeDataObject):
  31652. (CoreIPC::::encode):
  31653. (CoreIPC::encodeGKeyFile):
  31654. (CoreIPC::encode):
  31655. * Shared/gtk/ArgumentCodersGtk.h:
  31656. * Shared/mac/WebCoreArgumentCodersMac.mm:
  31657. (CoreIPC::::encodePlatformData):
  31658. (CoreIPC::::encode):
  31659. * Shared/qt/ArgumentCodersQt.cpp:
  31660. (CoreIPC::::encode):
  31661. * Shared/qt/ArgumentCodersQt.h:
  31662. (CoreIPC):
  31663. * Shared/qt/WebCoreArgumentCodersQt.cpp:
  31664. (CoreIPC::::encodePlatformData):
  31665. * Shared/soup/WebCoreArgumentCodersSoup.cpp:
  31666. (CoreIPC::::encodePlatformData):
  31667. * Shared/win/WebCoreArgumentCodersWin.cpp:
  31668. (CoreIPC::::encodePlatformData):
  31669. * WebProcess/WebPage/DecoderAdapter.cpp:
  31670. (WebKit::DecoderAdapter::decodeBytes):
  31671. * WebProcess/WebPage/EncoderAdapter.cpp:
  31672. (WebKit::EncoderAdapter::encodeBytes):
  31673. 2012-10-31 Jesse van den Kieboom <jessevdk@gnome.org>
  31674. Enable webkit2 introspection
  31675. https://bugs.webkit.org/show_bug.cgi?id=94313
  31676. Reviewed by Martin Robinson.
  31677. This patch enables generation of introspection information for webkit2
  31678. in the same was as it is done for webkit. The resulting gir and
  31679. typelib file are named WebKit2-3.0.{gir,typelib}.
  31680. * GNUmakefile.am:
  31681. * UIProcess/API/gtk/WebKitBackForwardList.cpp:
  31682. 2012-10-31 Christophe Dumez <christophe.dumez@intel.com>
  31683. [EFL][WK2] Add Ewk_File_Chooser_Request API
  31684. https://bugs.webkit.org/show_bug.cgi?id=100818
  31685. Reviewed by Kenneth Rohde Christiansen.
  31686. Add Ewk_File_Chooser_Request API so that the client
  31687. can handle file chooser requests (e.g. Show a file
  31688. picker dialog) when the user clicks on an input
  31689. element of type "file".
  31690. * PlatformEfl.cmake:
  31691. * UIProcess/API/efl/EWebKit2.h:
  31692. * UIProcess/API/efl/EwkViewCallbacks.h:
  31693. (EwkViewCallbacks):
  31694. * UIProcess/API/efl/ewk_file_chooser_request.cpp: Added.
  31695. (Ewk_File_Chooser_Request::Ewk_File_Chooser_Request):
  31696. (Ewk_File_Chooser_Request::~Ewk_File_Chooser_Request):
  31697. (Ewk_File_Chooser_Request::allowMultipleFiles):
  31698. (Ewk_File_Chooser_Request::acceptedMIMETypes):
  31699. (Ewk_File_Chooser_Request::cancel):
  31700. (Ewk_File_Chooser_Request::chooseFiles):
  31701. (ewk_file_chooser_request_ref):
  31702. (ewk_file_chooser_request_unref):
  31703. (ewk_file_chooser_request_allow_multiple_files_get):
  31704. (ewk_file_chooser_request_accepted_mimetypes_get):
  31705. (ewk_file_chooser_request_cancel):
  31706. (ewk_file_chooser_request_files_choose):
  31707. (ewk_file_chooser_request_file_choose):
  31708. * UIProcess/API/efl/ewk_file_chooser_request.h: Added.
  31709. * UIProcess/API/efl/ewk_file_chooser_request_private.h: Added.
  31710. (WebKit):
  31711. (Ewk_File_Chooser_Request):
  31712. (Ewk_File_Chooser_Request::create):
  31713. (Ewk_File_Chooser_Request::wasHandled):
  31714. * UIProcess/API/efl/ewk_view.h:
  31715. * UIProcess/API/efl/tests/resources/file_chooser.html: Added.
  31716. * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp: Added corresponding
  31717. unit tests.
  31718. (onFileChooserRequest):
  31719. (compareStrings):
  31720. (freeStringList):
  31721. (TEST_F):
  31722. * UIProcess/efl/PageUIClientEfl.cpp:
  31723. (WebKit::PageUIClientEfl::runOpenPanel):
  31724. (WebKit):
  31725. (WebKit::PageUIClientEfl::PageUIClientEfl):
  31726. * UIProcess/efl/PageUIClientEfl.h:
  31727. (PageUIClientEfl):
  31728. 2012-10-31 Noam Rosenthal <noam.rosenthal@nokia.com>
  31729. [Texmap] Enable filter animations in GraphicsLayerAnimation
  31730. https://bugs.webkit.org/show_bug.cgi?id=100318
  31731. Reviewed by Kenneth Rohde Christiansen.
  31732. Encode/decode KeyframeValues of type FilterOperations.
  31733. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  31734. (CoreIPC::::encode):
  31735. (CoreIPC::::decode):
  31736. 2012-10-31 Christophe Dumez <christophe.dumez@intel.com>
  31737. [EFL][WK2][AC] Avoid storing dirty rects in a Vector inside EwkViewImpl
  31738. https://bugs.webkit.org/show_bug.cgi?id=100736
  31739. Reviewed by Kenneth Rohde Christiansen.
  31740. No longer store dirty rectangles in a temporary Vector and construct
  31741. a WebCore::Region directly from them instead. This avoid having to
  31742. iterate over the Vector in EwkViewImpl::displayTimerFired() to construct
  31743. a Region object, which should be more efficient.
  31744. * UIProcess/API/efl/EwkViewImpl.cpp:
  31745. (EwkViewImpl::displayTimerFired):
  31746. (EwkViewImpl::redrawRegion):
  31747. * UIProcess/API/efl/EwkViewImpl.h:
  31748. (WebCore):
  31749. (EwkViewImpl):
  31750. 2012-10-30 Anders Carlsson <andersca@apple.com>
  31751. Connection::Client::didReceiveInvalidMessage should take the full message name
  31752. https://bugs.webkit.org/show_bug.cgi?id=100788
  31753. Reviewed by Sam Weinig.
  31754. Change Connection::Client::didReceiveInvalidMessage to take the message receiver name and message name as parameters
  31755. and make WebProcessProxy::didReceiveInvalidMessage print out the full message name.
  31756. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  31757. (WebKit::NetworkConnectionToWebProcess::didReceiveInvalidMessage):
  31758. * NetworkProcess/NetworkConnectionToWebProcess.h:
  31759. (NetworkConnectionToWebProcess):
  31760. * NetworkProcess/NetworkProcess.cpp:
  31761. (WebKit::NetworkProcess::didReceiveInvalidMessage):
  31762. * NetworkProcess/NetworkProcess.h:
  31763. (NetworkProcess):
  31764. * Platform/CoreIPC/Connection.cpp:
  31765. (CoreIPC::Connection::dispatchMessage):
  31766. * Platform/CoreIPC/Connection.h:
  31767. (Client):
  31768. * Platform/CoreIPC/StringReference.cpp:
  31769. (CoreIPC::StringReference::toString):
  31770. (CoreIPC):
  31771. * Platform/CoreIPC/StringReference.h:
  31772. (StringReference):
  31773. * PluginProcess/PluginProcess.cpp:
  31774. (WebKit::PluginProcess::didReceiveInvalidMessage):
  31775. * PluginProcess/PluginProcess.h:
  31776. (PluginProcess):
  31777. * PluginProcess/WebProcessConnection.cpp:
  31778. (WebKit::WebProcessConnection::didReceiveInvalidMessage):
  31779. * PluginProcess/WebProcessConnection.h:
  31780. (WebProcessConnection):
  31781. * SharedWorkerProcess/SharedWorkerProcess.cpp:
  31782. (WebKit::SharedWorkerProcess::didReceiveInvalidMessage):
  31783. * SharedWorkerProcess/SharedWorkerProcess.h:
  31784. (SharedWorkerProcess):
  31785. * UIProcess/Network/NetworkProcessProxy.cpp:
  31786. (WebKit::NetworkProcessProxy::didReceiveInvalidMessage):
  31787. * UIProcess/Network/NetworkProcessProxy.h:
  31788. (NetworkProcessProxy):
  31789. * UIProcess/Plugins/PluginProcessProxy.cpp:
  31790. (WebKit::PluginProcessProxy::didReceiveInvalidMessage):
  31791. * UIProcess/Plugins/PluginProcessProxy.h:
  31792. (PluginProcessProxy):
  31793. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
  31794. (WebKit::SharedWorkerProcessProxy::didReceiveInvalidMessage):
  31795. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
  31796. (SharedWorkerProcessProxy):
  31797. * UIProcess/WebConnectionToWebProcess.cpp:
  31798. (WebKit::WebConnectionToWebProcess::didReceiveInvalidMessage):
  31799. * UIProcess/WebConnectionToWebProcess.h:
  31800. (WebConnectionToWebProcess):
  31801. * UIProcess/WebProcessProxy.cpp:
  31802. (WebKit::WebProcessProxy::didReceiveInvalidMessage):
  31803. * UIProcess/WebProcessProxy.h:
  31804. (WebProcessProxy):
  31805. * WebProcess/Network/NetworkProcessConnection.cpp:
  31806. (WebKit::NetworkProcessConnection::didReceiveInvalidMessage):
  31807. * WebProcess/Network/NetworkProcessConnection.h:
  31808. (NetworkProcessConnection):
  31809. * WebProcess/Plugins/PluginProcessConnection.cpp:
  31810. (WebKit::PluginProcessConnection::didReceiveInvalidMessage):
  31811. * WebProcess/Plugins/PluginProcessConnection.h:
  31812. (PluginProcessConnection):
  31813. * WebProcess/WebConnectionToUIProcess.cpp:
  31814. (WebKit::WebConnectionToUIProcess::didReceiveInvalidMessage):
  31815. * WebProcess/WebConnectionToUIProcess.h:
  31816. (WebConnectionToUIProcess):
  31817. * WebProcess/WebProcess.cpp:
  31818. (WebKit::WebProcess::didReceiveInvalidMessage):
  31819. * WebProcess/WebProcess.h:
  31820. (WebProcess):
  31821. 2012-10-31 Christophe Dumez <christophe.dumez@intel.com>
  31822. [EFL][WK2][AC] Use smart pointers for Evas_GL types
  31823. https://bugs.webkit.org/show_bug.cgi?id=100745
  31824. Reviewed by Kenneth Rohde Christiansen.
  31825. Replace raw pointers to Evas_GL, Evas_GL_Context and
  31826. Evas_GL_Surface by smart pointers in EwkViewImpl.
  31827. C++ wrappers were added for Evas_GL_Context and
  31828. Evas_GL_Surface in order to use OwnPtr. This is needed
  31829. because their destroy functions need the Evas_GL.
  31830. * PlatformEfl.cmake:
  31831. * UIProcess/API/efl/EvasGLContext.cpp: Added.
  31832. (WebKit):
  31833. (WebKit::EvasGLContext::EvasGLContext):
  31834. (WebKit::EvasGLContext::~EvasGLContext):
  31835. * UIProcess/API/efl/EvasGLContext.h: Added.
  31836. (WebKit):
  31837. (EvasGLContext):
  31838. (WebKit::EvasGLContext::create):
  31839. (WebKit::EvasGLContext::context):
  31840. * UIProcess/API/efl/EvasGLSurface.cpp: Added.
  31841. (WebKit):
  31842. (WebKit::EvasGLSurface::EvasGLSurface):
  31843. (WebKit::EvasGLSurface::~EvasGLSurface):
  31844. * UIProcess/API/efl/EvasGLSurface.h: Added.
  31845. (WebKit):
  31846. (EvasGLSurface):
  31847. (WebKit::EvasGLSurface::create):
  31848. (WebKit::EvasGLSurface::surface):
  31849. * UIProcess/API/efl/EwkViewImpl.cpp:
  31850. (EwkViewImpl::EwkViewImpl):
  31851. (EwkViewImpl::displayTimerFired):
  31852. (EwkViewImpl::createGLSurface):
  31853. (EwkViewImpl::enterAcceleratedCompositingMode):
  31854. (EwkViewImpl::exitAcceleratedCompositingMode):
  31855. * UIProcess/API/efl/EwkViewImpl.h:
  31856. (EwkViewImpl::evasGL):
  31857. (EwkViewImpl::evasGLContext):
  31858. (EwkViewImpl::evasGLSurface):
  31859. (EwkViewImpl::resetEvasGLSurface):
  31860. (EwkViewImpl):
  31861. * UIProcess/API/efl/ewk_view.cpp:
  31862. (_ewk_view_smart_calculate):
  31863. 2012-10-31 Balazs Kelemen <kbalazs@webkit.org>
  31864. [Qt][WK2] Fix "Unable to find a renderable master window QQuickView" warnings in tst_QQuickWebView
  31865. https://bugs.webkit.org/show_bug.cgi?id=100247
  31866. Reviewed by Jocelyn Turcotte.
  31867. Make sure we have a visible window for tests that want to render.
  31868. * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
  31869. (tst_QQuickWebView::showWebView):
  31870. (tst_QQuickWebView::removeFromCanvas):
  31871. (tst_QQuickWebView::multipleWebViewWindows):
  31872. (tst_QQuickWebView::multipleWebViews):
  31873. (tst_QQuickWebView::basicRenderingSanity):
  31874. (tst_QQuickWebView::transparentWebViews):
  31875. Removed some unnecessary resize now that the window have a default size.
  31876. * UIProcess/API/qt/tests/testwindow.h:
  31877. (TestWindow): Resize the window to a default size at construction.
  31878. 2012-10-31 Thiago Marcos P. Santos <thiago.santos@intel.com>
  31879. [EFL] WebContext::platformDefaultIconDatabasePath() should return a path to a file
  31880. https://bugs.webkit.org/show_bug.cgi?id=100679
  31881. Reviewed by Kenneth Rohde Christiansen.
  31882. This patch aligns the EFL implementation with other ports. Before
  31883. that, we had an inconsistence: the return value of the getter could
  31884. not be used on the setter (the setter expects a full path, not a
  31885. directory).
  31886. * UIProcess/API/efl/ewk_context.cpp:
  31887. (Ewk_Context::faviconDatabase):
  31888. * UIProcess/efl/WebContextEfl.cpp:
  31889. (WebKit::WebContext::platformDefaultIconDatabasePath):
  31890. 2012-10-31 Ian Vollick <vollick@chromium.org>
  31891. Add support for text-based repaint testing
  31892. https://bugs.webkit.org/show_bug.cgi?id=100584
  31893. Reviewed by Simon Fraser.
  31894. Allows tracked repaint rects to be dumped as text.
  31895. * mac/WebKit2.order:
  31896. * win/WebKit2.def:
  31897. * win/WebKit2CFLite.def:
  31898. Exports for:
  31899. FrameView::setTracksRepaints(bool)
  31900. Frame::trackedRepaintRectsAsText() const
  31901. 2012-10-31 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  31902. [EFL] Skip EWK2UnitTestBase.ewk_context_vibration_client_callbacks_set API test
  31903. https://bugs.webkit.org/show_bug.cgi?id=100839
  31904. Unreviewed, Skip EWK2UnitTestBase.ewk_context_vibration_client_callbacks_set
  31905. API test since it is failing on the bots.
  31906. * UIProcess/API/efl/tests/test_ewk2_context.cpp:
  31907. (TEST_F):
  31908. 2012-10-31 KyungTae Kim <ktf.kim@samsung.com>
  31909. [WK2][EFL] Assert check need to be changed in InputMethodContextEfl::InputMethodContextEfl
  31910. https://bugs.webkit.org/show_bug.cgi?id=100840
  31911. Reviewed by Kenneth Rohde Christiansen.
  31912. Because 'context' is already set to 'm_context', assert check need to be done for m_context.
  31913. * UIProcess/efl/InputMethodContextEfl.cpp:
  31914. (WebKit::InputMethodContextEfl::InputMethodContextEfl):
  31915. 2012-10-31 Kenneth Rohde Christiansen <kenneth@webkit.org>
  31916. [WK2/EFL] Make sure all our events are transformed correctly
  31917. https://bugs.webkit.org/show_bug.cgi?id=100836
  31918. Reviewed by Alexis Menard.
  31919. When moving to using the tiled backing store, we need to
  31920. transform our events before sending them to the web process.
  31921. We needed to do that before as well, as the webkit view
  31922. doesn't have to be positioned at (0,0), but it was done in
  31923. a hacking way in the WebEvent creating.
  31924. Now we generate two transforms, one for transforming points
  31925. to the web content, and one for transforming them into the
  31926. device screen coordinate system.
  31927. This fixes the global position which was wrong before.
  31928. * Shared/NativeWebMouseEvent.h:
  31929. (NativeWebMouseEvent):
  31930. * Shared/NativeWebTouchEvent.h:
  31931. (NativeWebTouchEvent):
  31932. * Shared/NativeWebWheelEvent.h:
  31933. (NativeWebWheelEvent):
  31934. * Shared/efl/NativeWebMouseEventEfl.cpp:
  31935. (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
  31936. * Shared/efl/NativeWebTouchEventEfl.cpp:
  31937. (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
  31938. * Shared/efl/NativeWebWheelEventEfl.cpp:
  31939. (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
  31940. * Shared/efl/WebEventFactory.cpp:
  31941. (WebKit::WebEventFactory::createWebMouseEvent):
  31942. (WebKit::WebEventFactory::createWebWheelEvent):
  31943. (WebKit::WebEventFactory::createWebTouchEvent):
  31944. * Shared/efl/WebEventFactory.h:
  31945. (WebEventFactory):
  31946. * UIProcess/API/efl/ewk_view.cpp:
  31947. (toDeviceScreenTransform):
  31948. (toWebContentTransform):
  31949. (_ewk_view_smart_mouse_wheel):
  31950. (_ewk_view_smart_mouse_down):
  31951. (_ewk_view_smart_mouse_up):
  31952. (_ewk_view_smart_mouse_move):
  31953. (ewk_view_feed_touch_event):
  31954. 2012-10-31 Byungwoo Lee <bw80.lee@samsung.com>
  31955. [WK2] Change the scope of locking in CoreIPC::Connection class.
  31956. https://bugs.webkit.org/show_bug.cgi?id=98998
  31957. Reviewed by Laszlo Gombos.
  31958. Release the m_incomingMessagesLock and m_outgoingMessagesLock mutexes
  31959. immediately after the protected resource is no longer modified to
  31960. prevent a possible source of a deadlock.
  31961. The change allows the EFL port to prevent an actual dead-lock
  31962. situation with some upcoming changes.
  31963. * Platform/CoreIPC/Connection.cpp:
  31964. (CoreIPC::Connection::sendMessage):
  31965. (CoreIPC::Connection::enqueueIncomingMessage):
  31966. 2012-10-31 Tim Horton <timothy_horton@apple.com>
  31967. Unreviewed, fix header sorting in r132992.
  31968. * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
  31969. * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
  31970. 2012-10-31 Tim Horton <timothy_horton@apple.com>
  31971. Unreviewed, fix 32bit build breakage.
  31972. * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
  31973. (WebKit::PDFPluginAnnotation::updateGeometry):
  31974. 2012-10-31 Tim Horton <timothy_horton@apple.com>
  31975. Full-page PDFPlugin should support inline form editing
  31976. https://bugs.webkit.org/show_bug.cgi?id=100155
  31977. Reviewed by Dan Bernstein.
  31978. Add form controls corresponding to Text and Choice PDF annotations,
  31979. allowing for single- and multi-line text input, and <select>-like input.
  31980. Currently, forms are only implemented for full-page PDF documents.
  31981. * Shared/mac/PDFKitImports.h:
  31982. (WebKit): Add pdfAnnotationTextWidgetClass and pdfAnnotationChoiceWidgetClass.
  31983. * Shared/mac/PDFKitImports.mm:
  31984. (WebKit::pdfAnnotationTextWidgetClass): Add pdfAnnotationTextWidgetClass.
  31985. (WebKit::pdfAnnotationChoiceWidgetClass): Add pdfAnnotationChoiceWidgetClass.
  31986. * WebKit2.xcodeproj/project.pbxproj: Add PDFLayerControllerDetails, PDFPluginTextAnnotation, PDFPluginChoiceAnnotation,
  31987. and PDFPluginAnnotation.
  31988. * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Added. Extract PDFLayerController details category into a header.
  31989. * WebProcess/Plugins/PDF/PDFPlugin.h:
  31990. (PDFPlugin): Add m_activeAnnotation, to keep track of the active PDFPluginAnnotation, and m_annotationContainer,
  31991. the <div> that form controls are inserted into.
  31992. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  31993. (-[WKPDFLayerControllerDelegate pdfLayerController:didChangeActiveAnnotation:]): Forward active annotation changes to PDFPlugin.
  31994. (WebKit::PDFPlugin::PDFPlugin): Add a <div> to the PluginDocument <body>, which will contain <input>, <select>, and <textarea> elements
  31995. corresponding to the active annotation. This div is made to fit to the body, and is "overflow: hidden" so that form elements scrolled
  31996. out of the viewport do not cause the Document to expand to be larger than the Plugin.
  31997. (WebKit::PDFPlugin::pdfDocumentDidLoad): Update PDFPlugin's notion of the scroll position immediately after the document loads, in case
  31998. the scroll position is constrained by PDFKit.
  31999. (WebKit::PDFPlugin::destroy): Tear down any forms for the active annotation.
  32000. (WebKit::PDFPlugin::geometryDidChange): Notify the current annotation that it should update its geometry when the Plugin's geometry changes.
  32001. (WebKit::PDFPlugin::setScrollOffset): Notify the current annotation that it should update its geometry when we scroll.
  32002. (WebKit::PDFPlugin::setActiveAnnotation): Commit changes to the current annotation, if there is one, then make a new PDFPluginAnnotation
  32003. corresponding to the newly active annotation, and attach it to our document.
  32004. * WebProcess/Plugins/PDF/PDFPluginAnnotation.h: Added.
  32005. (WebKit::PDFPluginAnnotation::element): Return the Element corresponding to this object.
  32006. (WebKit::PDFPluginAnnotation::annotation): Return the PDFAnnotation corresponding to this object.
  32007. (WebKit::PDFPluginAnnotation::plugin): Return the Plugin that created this object.
  32008. (WebKit::PDFPluginAnnotation::commit): Commit changes from the form to the PDFAnnotation. This is implemented in subclasses.
  32009. (WebKit::PDFPluginAnnotation::attach): Attach a PDFPluginAnnotation to its parent Element.
  32010. (WebKit::PDFPluginAnnotation::parent): Return the parent Element that we're attach()ed to.
  32011. (WebKit::PDFPluginAnnotation::pdfLayerController): Return the pdfLayerController that the PDFAnnotation comes from.
  32012. (PDFPluginAnnotationEventListener): Add an event listener to respond to "change" and "blur" events from m_element.
  32013. * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm: Added.
  32014. (WebKit::PDFPluginAnnotation::create): Create the appropriate PDFPluginAnnotation subclass (PDFPluginTextAnnotation or
  32015. PDFPluginChoiceAnnotation based on the class of the PDFAnnotation).
  32016. (WebKit::PDFPluginAnnotation::attach): Lazily create the HTML form element corresponding to this annotation. Add it to its parent
  32017. element. Add event listeners for "change" and "blur".
  32018. (WebKit::PDFPluginAnnotation::~PDFPluginAnnotation): Tear down the annotation, by removing event listeners and removing
  32019. the form element from its parent element.
  32020. (WebKit::PDFPluginAnnotation::updateGeometry): Update the size and position of the form element, given the current PDF scale and scrolling position.
  32021. (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::handleEvent): If we get a blur or change event, we should remove the
  32022. form control to match the behavior of PDFKit.
  32023. * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h: Added.
  32024. (WebKit::PDFPluginChoiceAnnotation::choiceAnnotation): Return annotation() with the appropriate cast.
  32025. * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm: Added.
  32026. (WebKit::PDFPluginChoiceAnnotation::updateGeometry): Update the font size of the choice widget given the current PDF scale.
  32027. (WebKit::PDFPluginChoiceAnnotation::commit): Save the value of the currently selected <option> into the PDFAnnotationChoiceWidget.
  32028. (WebKit::PDFPluginChoiceAnnotation::createAnnotationElement): Create a <select> element, populated with <option> elements
  32029. for the PDFAnnotationChoiceWidget's available choices. Select the correct <option> initially.
  32030. * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h: Added.
  32031. (WebKit::PDFPluginTextAnnotation::textAnnotation): Return annotation() with the appropriate cast.
  32032. * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: Added.
  32033. (WebKit::cssAlignmentValueForNSTextAlignment): Return the CSS alignment value for a given NSTextAlignment.
  32034. (WebKit::PDFPluginTextAnnotation::createAnnotationElement): Create a <textarea> or <input> element, depending on whether the
  32035. PDFAnnotationTextWidget supports multiline editing or not.
  32036. (WebKit::PDFPluginTextAnnotation::updateGeometry): Update the font size of the text widget given the current PDF scale.
  32037. (WebKit::PDFPluginTextAnnotation::commit): Save the current string in the form element into the PDFAnnotationTextWidget.
  32038. * WebProcess/WebPage/WebPage.cpp:
  32039. (WebKit::focusedPluginViewForFrame): Return the PluginView for a Frame only if the Plugin's element is focused.
  32040. (WebKit::WebPage::executeEditingCommand): Only forward editing commands to PluginView if the plugin itself is focused.
  32041. (WebKit::WebPage::isEditingCommandEnabled): Ditto.
  32042. (WebKit::WebPage::validateCommand): Ditto.
  32043. 2012-10-30 Joseph Pecoraro <pecoraro@apple.com>
  32044. [Mac] Make WebKit2 Build with NETWORK_PROCESS disabled
  32045. https://bugs.webkit.org/show_bug.cgi?id=100798
  32046. Reviewed by David Kilzer.
  32047. Wrap a few remaining NetworkProcess files and related code in
  32048. ENABLE(NETWORK_PROCESS) guards to avoid being compiled when disabled.
  32049. * NetworkProcess/HostRecord.cpp:
  32050. * NetworkProcess/HostRecord.h:
  32051. * NetworkProcess/NetworkRequest.cpp:
  32052. * NetworkProcess/NetworkRequest.h:
  32053. * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:
  32054. * UIProcess/Network/NetworkProcessManager.cpp:
  32055. * UIProcess/Network/NetworkProcessManager.h:
  32056. Wrap files in guards.
  32057. * UIProcess/Launcher/ProcessLauncher.h:
  32058. * UIProcess/Launcher/ProcessLauncher.cpp:
  32059. (WebKit::ProcessLauncher::processTypeAsString):
  32060. (WebKit::ProcessLauncher::getProcessTypeFromString):
  32061. Wrap NetworkProcess enum access in guards.
  32062. * WebProcess/WebKitMain.cpp:
  32063. (WebKitMain):
  32064. Wrap NetworkProcess enum switch case in guards.
  32065. * WebKit2Prefix.h:
  32066. Remove an extraneous close and reopen of the same guard.
  32067. 2012-10-30 Jae Hyun Park <jae.park@company100.net>
  32068. Coordinated Graphics: Remove unused methods
  32069. https://bugs.webkit.org/show_bug.cgi?id=100799
  32070. Reviewed by Noam Rosenthal.
  32071. Currently, there are several unused methods regarding Coordinated
  32072. Graphics. This patch removes those unused methods.
  32073. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  32074. (LayerTreeCoordinatorProxy):
  32075. * UIProcess/DrawingAreaProxy.h:
  32076. 2012-10-30 Joseph Pecoraro <pecoraro@apple.com>
  32077. [Mac] Sync up FeatureDefine Configuration Files
  32078. https://bugs.webkit.org/show_bug.cgi?id=100171
  32079. Reviewed by David Kilzer.
  32080. Follow up to better coordinate with iOS feature defines. Make:
  32081. - ENABLE_FILTERS always on
  32082. - ENABLE_INPUT_* iphonesimulator values point to the iphoneos values
  32083. * Configurations/FeatureDefines.xcconfig:
  32084. 2012-10-30 Joseph Pecoraro <pecoraro@apple.com>
  32085. [Mac] Sync up FeatureDefine Configuration Files
  32086. https://bugs.webkit.org/show_bug.cgi?id=100171
  32087. Reviewed by David Kilzer.
  32088. Ensure an identical FeatureDefine files across all projects. Changes:
  32089. - ENABLE_CSS_BOX_DECORATION_BREAK should be in all
  32090. - ENABLE_PDFKIT_PLUGIN should be in all
  32091. - ENABLE_RESOLUTION_MEDIA_QUERY should be in all
  32092. - ENABLE_ENCRYPTED_MEDIA should be in all
  32093. - ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING with corrected value
  32094. - Some alphabetical ordering cleanup
  32095. * Configurations/FeatureDefines.xcconfig:
  32096. 2012-10-30 Christophe Dumez <christophe.dumez@intel.com>
  32097. Regression(r132887): Caused segfault in a EWK2UnitTestBase.ewk_view_text_find
  32098. https://bugs.webkit.org/show_bug.cgi?id=100781
  32099. Reviewed by Kenneth Rohde Christiansen.
  32100. Make sure we pass a pointer to zero instead of a NULL pointer
  32101. as parameter to the "text,found" in case the text could not
  32102. be found. This prevents crashing in
  32103. EWK2UnitTestBase.ewk_view_text_find when trying to dereference
  32104. the parameter pointer.
  32105. * UIProcess/efl/FindClientEfl.cpp:
  32106. (WebKit::FindClientEfl::didFailToFindString):
  32107. 2012-10-30 Brady Eidson <beidson@apple.com>
  32108. Crash in WebProcess at com.apple.WebCore: WebCore::ResourceLoader::start
  32109. <rdar://problem/12596761> and https://webkit.org/b/100792
  32110. Reviewed by Tim Hatcher.
  32111. In release builds we can sometimes end up with a null ResourceLoader due to a race condition
  32112. with the WebProcess telling the NetworkProcess to remove a resource load at the very same time
  32113. the NetworkProcess is about to start that load.
  32114. Until we can resolve that race condition an early return will be necessary.
  32115. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  32116. (WebKit::WebResourceLoadScheduler::startResourceLoad):
  32117. 2012-10-30 Jesse van den Kieboom <jessevdk@gnome.org>
  32118. Fixed transfer annotation for default web context
  32119. https://bugs.webkit.org/show_bug.cgi?id=94314
  32120. Reviewed by Martin Robinson.
  32121. Add a missing colon which prevented the transfer annotation of
  32122. webkit_web_context_get_default to be parsed correctly.
  32123. * UIProcess/API/gtk/WebKitWebContext.cpp:
  32124. 2012-10-30 Anders Carlsson <andersca@apple.com>
  32125. Use the message name when dispatching messages
  32126. https://bugs.webkit.org/show_bug.cgi?id=100774
  32127. Reviewed by Andreas Kling.
  32128. Change the message generator to decide which function to call based on the message name instead
  32129. of the MessageID. This is yet another step towards eliminating MessageID completely.
  32130. * Scripts/webkit2/messages.py:
  32131. (async_message_statement):
  32132. (sync_message_statement):
  32133. (generate_message_handler):
  32134. * Scripts/webkit2/messages_unittest.py:
  32135. * UIProcess/WebProcessProxy.h:
  32136. (WebKit::WebProcessProxy::send):
  32137. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  32138. (WebKit::InjectedBundle::postMessage):
  32139. (WebKit::InjectedBundle::postSynchronousMessage):
  32140. 2012-10-29 Sam Weinig <sam@webkit.org>
  32141. Switch more class to use the new << form of encode
  32142. https://bugs.webkit.org/show_bug.cgi?id=100725
  32143. Reviewed by Anders Carlsson.
  32144. - Switches many uses of encoder.encode(foo) to encoder << foo.
  32145. - Switches a few places to take an ArgumentEncoder& rather than an ArgumentEncoder*.
  32146. - Switches a few places away from using encoder.encodeVariableLengthByteArray(foo) to
  32147. using encoder << CoreIPC::DataReference(foo).
  32148. * Platform/CoreIPC/HandleMessage.h:
  32149. (CoreIPC::handleMessage):
  32150. (CoreIPC::handleMessageVariadic):
  32151. * Platform/CoreIPC/StringReference.cpp:
  32152. (CoreIPC::StringReference::encode):
  32153. (CoreIPC::StringReference::decode):
  32154. * Platform/CoreIPC/mac/MachPort.h:
  32155. (CoreIPC::MachPort::encode):
  32156. * Platform/mac/SharedMemoryMac.cpp:
  32157. (WebKit::SharedMemory::Handle::encode):
  32158. * PluginProcess/PluginCreationParameters.cpp:
  32159. (WebKit::PluginCreationParameters::encode):
  32160. * Shared/DictionaryPopupInfo.cpp:
  32161. (WebKit::DictionaryPopupInfo::encode):
  32162. * Shared/EditorState.cpp:
  32163. (WebKit::EditorState::encode):
  32164. * Shared/FontInfo.cpp:
  32165. (WebKit::FontInfo::encode):
  32166. * Shared/Network/NetworkProcessCreationParameters.cpp:
  32167. (WebKit::NetworkProcessCreationParameters::encode):
  32168. * Shared/OriginAndDatabases.cpp:
  32169. (WebKit::OriginAndDatabases::encode):
  32170. * Shared/PlatformPopupMenuData.cpp:
  32171. (WebKit::PlatformPopupMenuData::encode):
  32172. * Shared/Plugins/NPIdentifierData.cpp:
  32173. (WebKit::NPIdentifierData::encode):
  32174. * Shared/Plugins/NPVariantData.cpp:
  32175. (WebKit::NPVariantData::encode):
  32176. * Shared/Plugins/PluginProcessCreationParameters.cpp:
  32177. (WebKit::PluginProcessCreationParameters::encode):
  32178. * Shared/PrintInfo.cpp:
  32179. (WebKit::PrintInfo::encode):
  32180. * Shared/SecurityOriginData.cpp:
  32181. (WebKit::SecurityOriginData::encode):
  32182. * Shared/SessionState.cpp:
  32183. (WebKit::SessionState::encode):
  32184. * Shared/ShareableBitmap.cpp:
  32185. (WebKit::ShareableBitmap::Handle::encode):
  32186. * Shared/SharedWorkerProcessCreationParameters.cpp:
  32187. (WebKit::SharedWorkerProcessCreationParameters::encode):
  32188. * Shared/StatisticsData.cpp:
  32189. (WebKit::StatisticsData::encode):
  32190. * Shared/StringPairVector.h:
  32191. (WebKit::StringPairVector::encode):
  32192. * Shared/UpdateInfo.cpp:
  32193. (WebKit::UpdateInfo::encode):
  32194. * Shared/UserMessageCoders.h:
  32195. (WebKit::UserMessageEncoder::baseEncode):
  32196. * Shared/WebBackForwardListItem.cpp:
  32197. (WebKit::WebBackForwardListItem::encode):
  32198. * Shared/WebContextMenuItemData.cpp:
  32199. (WebKit::WebContextMenuItemData::encode):
  32200. * Shared/WebEvent.cpp:
  32201. (WebKit::WebEvent::encode):
  32202. * Shared/WebGestureEvent.cpp:
  32203. (WebKit::WebGestureEvent::encode):
  32204. * Shared/WebHitTestResult.cpp:
  32205. (WebKit::WebHitTestResult::Data::encode):
  32206. * Shared/WebKeyboardEvent.cpp:
  32207. (WebKit::WebKeyboardEvent::encode):
  32208. * Shared/WebMouseEvent.cpp:
  32209. (WebKit::WebMouseEvent::encode):
  32210. * Shared/WebNavigationDataStore.h:
  32211. (WebKit::WebNavigationDataStore::encode):
  32212. * Shared/WebPageCreationParameters.cpp:
  32213. (WebKit::WebPageCreationParameters::encode):
  32214. * Shared/WebPageGroupData.cpp:
  32215. (WebKit::WebPageGroupData::encode):
  32216. * Shared/WebPlatformTouchPoint.cpp:
  32217. (WebKit::WebPlatformTouchPoint::encode):
  32218. * Shared/WebPopupItem.cpp:
  32219. (WebKit::WebPopupItem::encode):
  32220. * Shared/WebPreferencesStore.cpp:
  32221. (WebKit::WebPreferencesStore::encode):
  32222. * Shared/WebProcessCreationParameters.cpp:
  32223. (WebKit::WebProcessCreationParameters::encode):
  32224. * Shared/WebTouchEvent.cpp:
  32225. (WebKit::WebTouchEvent::encode):
  32226. * Shared/WebWheelEvent.cpp:
  32227. (WebKit::WebWheelEvent::encode):
  32228. * Shared/cf/ArgumentCodersCF.cpp:
  32229. (CoreIPC::encode):
  32230. (CoreIPC::decode):
  32231. * Shared/cf/ArgumentCodersCF.h:
  32232. (CoreIPC):
  32233. * Shared/mac/ArgumentCodersMac.h:
  32234. (CoreIPC):
  32235. * Shared/mac/ArgumentCodersMac.mm:
  32236. (CoreIPC::encode):
  32237. * Shared/mac/AttributedString.mm:
  32238. (WebKit::AttributedString::encode):
  32239. * Shared/mac/ColorSpaceData.mm:
  32240. (WebKit::ColorSpaceData::encode):
  32241. * Shared/mac/KeychainAttribute.cpp:
  32242. (CoreIPC::encode):
  32243. * Shared/mac/KeychainAttribute.h:
  32244. (CoreIPC):
  32245. * Shared/mac/LayerTreeContextMac.mm:
  32246. (WebKit::LayerTreeContext::encode):
  32247. * Shared/mac/PlatformCertificateInfo.mm:
  32248. (WebKit::PlatformCertificateInfo::encode):
  32249. * Shared/mac/SandboxExtensionMac.mm:
  32250. (WebKit::SandboxExtension::Handle::encode):
  32251. (WebKit::SandboxExtension::Handle::decode):
  32252. (WebKit::SandboxExtension::HandleArray::encode):
  32253. (WebKit::SandboxExtension::HandleArray::decode):
  32254. * Shared/mac/SecItemRequestData.cpp:
  32255. (WebKit::SecItemRequestData::encode):
  32256. * Shared/mac/SecItemResponseData.cpp:
  32257. (WebKit::SecItemResponseData::encode):
  32258. * Shared/mac/SecKeychainItemRequestData.cpp:
  32259. (WebKit::SecKeychainItemRequestData::encode):
  32260. (WebKit::SecKeychainItemRequestData::decode):
  32261. * Shared/mac/SecKeychainItemResponseData.cpp:
  32262. (WebKit::SecKeychainItemResponseData::encode):
  32263. * Shared/mac/WebCoreArgumentCodersMac.mm:
  32264. (CoreIPC::::encodePlatformData):
  32265. * UIProcess/WebConnectionToWebProcess.cpp:
  32266. (WebKit::WebConnectionToWebProcess::encodeMessageBody):
  32267. * UIProcess/WebContextUserMessageCoders.h:
  32268. (WebKit::WebContextUserMessageEncoder::encode):
  32269. * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
  32270. (WebKit::InjectedBundleUserMessageEncoder::encode):
  32271. * WebProcess/Plugins/Plugin.cpp:
  32272. (WebKit::Plugin::Parameters::encode):
  32273. * WebProcess/WebConnectionToUIProcess.cpp:
  32274. (WebKit::WebConnectionToUIProcess::encodeMessageBody):
  32275. 2012-10-29 Anders Carlsson <andersca@apple.com>
  32276. Build WebKit as C++11 on Mac
  32277. https://bugs.webkit.org/show_bug.cgi?id=100720
  32278. Reviewed by Daniel Bates.
  32279. * Configurations/Base.xcconfig:
  32280. Add CLANG_CXX_LANGUAGE_STANDARD=gnu++0x.
  32281. * UIProcess/mac/WebCookieManagerProxyMac.mm:
  32282. (WebKit::WebCookieManagerProxy::persistHTTPCookieAcceptPolicy):
  32283. * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
  32284. (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
  32285. Add explicit casts to NSHTTPCookieAcceptPolicy.
  32286. 2012-10-30 Sergio Villar Senin <svillar@igalia.com>
  32287. [WK2][Qt] Enable hover and mouse events in flickable WebView
  32288. https://bugs.webkit.org/show_bug.cgi?id=100296
  32289. Reviewed by Kenneth Rohde Christiansen.
  32290. Flickable WebView is now allowed to handle both hover and mouse
  32291. events. Flickable was initially meant to be the mobile interface and
  32292. was only handling touch events, but now the idea is that it will be
  32293. the WebView for both mobile and desktop environments.
  32294. * UIProcess/API/qt/qquickwebview.cpp:
  32295. (QQuickWebViewPrivate::initialize): refactored hover and mouse
  32296. event handling from children classes.
  32297. (QQuickWebViewLegacyPrivate::initialize):
  32298. (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
  32299. 2012-10-29 Anders Carlsson <andersca@apple.com>
  32300. String::createCFString should return a RetainPtr
  32301. https://bugs.webkit.org/show_bug.cgi?id=100419
  32302. Reviewed by Andreas Kling.
  32303. Update callers of String::createCFString.
  32304. * Platform/mac/ModuleMac.mm:
  32305. (WebKit::Module::load):
  32306. * PluginProcess/mac/PluginProcessMac.mm:
  32307. (WebKit::initializeSandbox):
  32308. * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
  32309. (WebKit::NetscapePluginModule::getPluginInfo):
  32310. (WebKit::NetscapePluginModule::createPluginMIMETypesPreferences):
  32311. * UIProcess/cf/WebBackForwardListCF.cpp:
  32312. (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
  32313. * UIProcess/cf/WebPageProxyCF.cpp:
  32314. (WebKit::WebPageProxy::sessionStateData):
  32315. (WebKit::autosaveKey):
  32316. (WebKit::WebPageProxy::saveRecentSearches):
  32317. * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
  32318. (WebKit::WebResourceCacheManager::clearCacheForOrigin):
  32319. * WebProcess/WebPage/win/WebPageWin.cpp:
  32320. (WebKit::cachedResponseForURL):
  32321. * WebProcess/win/WebProcessWin.cpp:
  32322. (WebKit::WebProcess::platformSetCacheModel):
  32323. (WebKit::WebProcess::platformInitializeWebProcess):
  32324. 2012-10-30 Kondapally Kalyan <kalyan.kondapally@intel.com>
  32325. Regression(r132647)-Enable WebGL in EwkView.
  32326. https://bugs.webkit.org/show_bug.cgi?id=100552.
  32327. Reviewed by Kenneth Rohde Christiansen.
  32328. WebGL is enabled with following changeset: http://trac.webkit.org/changeset/132627.
  32329. Some changes are lost after the following changeset: http://trac.webkit.org/changeset/132647
  32330. i.e setWebGLEnabled(true); in EwkViewImpl.cpp.
  32331. This patch re-applies the lost changes.
  32332. * UIProcess/API/efl/EwkViewImpl.cpp:
  32333. (EwkViewImpl::EwkViewImpl):
  32334. 2012-10-30 No'am Rosenthal <noam.rosenthal@nokia.com>
  32335. [Qt] Animations jump when the page is suspended
  32336. https://bugs.webkit.org/show_bug.cgi?id=100673
  32337. Reviewed by Kenneth Rohde Christiansen.
  32338. GraphicsLayerAnimations::pause() should accept time from start and not an offset.
  32339. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  32340. (WebCore::CoordinatedGraphicsLayer::addAnimation):
  32341. (WebCore::CoordinatedGraphicsLayer::pauseAnimation):
  32342. (WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):
  32343. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  32344. (CoordinatedGraphicsLayer):
  32345. 2012-10-30 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  32346. [EFL][WK2] Fix EFL build after r132887
  32347. https://bugs.webkit.org/show_bug.cgi?id=100748
  32348. Reviewed by Gyuyoung Kim.
  32349. Fixed EFL build failure with WTF_USE_TILED_BACKING_STORE enabled caused by http://trac.webkit.org/changeset/132887.
  32350. * UIProcess/efl/PageLoadClientEfl.cpp:
  32351. (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
  32352. 2012-10-30 Max Vujovic <mvujovic@adobe.com>
  32353. [CSS Shaders] Reject vertex shaders with custom attributes
  32354. https://bugs.webkit.org/show_bug.cgi?id=98973
  32355. Reviewed by Dean Jackson.
  32356. Replace CustomFilterOperation::MeshType with CustomFilterMeshType from
  32357. CustomFilterConstants.h.
  32358. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  32359. (CoreIPC::::encode):
  32360. Read the shader strings directly from the CustomFilterProgram instead of asking for a
  32361. CustomFilterProgramInfo object. Also, encode the meshType earlier so that decoding can
  32362. can use it to create a WebCustomFilterProgram, which now requires a meshType.
  32363. (CoreIPC::::decode):
  32364. Decode the meshType earlier to pass it to the new WebCustomFilterProgram constructor.
  32365. * Shared/CoordinatedGraphics/WebCustomFilterProgram.h:
  32366. (WebKit::WebCustomFilterProgram::create):
  32367. Add a meshType parameter to pass to the base class constructor.
  32368. (WebKit::WebCustomFilterProgram::WebCustomFilterProgram): Ditto.
  32369. 2012-10-30 Andras Becsi <andras.becsi@digia.com>
  32370. [Qt][WK2] Remove ViewportUpdateDeferrer from PageViewportController
  32371. https://bugs.webkit.org/show_bug.cgi?id=100665
  32372. Reviewed by Jocelyn Turcotte.
  32373. Since the original use case of delayed viewport updates and the issue
  32374. of infinite loop conditions between the programmatic adjustmet of the
  32375. viewport and the Qt notification signals are not present any more the
  32376. ViewportUpdateDeferrer became an unnecessary legacy and can be removed.
  32377. * UIProcess/PageViewportController.cpp:
  32378. (WebKit::PageViewportController::PageViewportController):
  32379. (WebKit::PageViewportController::pageDidRequestScroll):
  32380. * UIProcess/PageViewportController.h:
  32381. (WebKit):
  32382. (PageViewportController):
  32383. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  32384. (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
  32385. (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
  32386. (WebKit::PageViewportControllerClientQt::flickMoveStarted):
  32387. (WebKit::PageViewportControllerClientQt::flickMoveEnded):
  32388. (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
  32389. (WebKit::PageViewportControllerClientQt::touchBegin):
  32390. (WebKit::PageViewportControllerClientQt::touchEnd):
  32391. (WebKit::PageViewportControllerClientQt::setContentsRectToNearestValidBounds):
  32392. (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
  32393. (WebKit::PageViewportControllerClientQt::pinchGestureEnded):
  32394. (WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
  32395. * UIProcess/qt/PageViewportControllerClientQt.h:
  32396. (PageViewportControllerClientQt):
  32397. 2012-10-30 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  32398. [EFL][WK2] Simplify signal emitting API in EwkViewImpl
  32399. https://bugs.webkit.org/show_bug.cgi?id=100506
  32400. Reviewed by Kenneth Rohde Christiansen.
  32401. Now signal emitting API in EwkViewImpl is simplified so that
  32402. there is one EwkViewImpl::smartCallback template method
  32403. returning EwkViewCallbacks::CallBack class instance
  32404. which encapsulates Ewk_view callback info and also provide
  32405. arguments type checking.
  32406. * UIProcess/API/efl/EwkViewCallbacks.h: Added.
  32407. (EwkViewCallbacks):
  32408. (CallBackInfo):
  32409. (EwkViewCallbacks::CallBackInfo::name):
  32410. (EwkViewCallbacks::CallBackInfo::hasArguments):
  32411. (CallBack):
  32412. (EwkViewCallbacks::CallBack::CallBack):
  32413. (EwkViewCallbacks::CallBack::call):
  32414. * UIProcess/API/efl/EwkViewImpl.cpp:
  32415. * UIProcess/API/efl/EwkViewImpl.h:
  32416. (EwkViewImpl):
  32417. (EwkViewImpl::smartCallback):
  32418. * UIProcess/efl/DownloadManagerEfl.cpp:
  32419. (WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
  32420. (WebKit::DownloadManagerEfl::didFail):
  32421. (WebKit::DownloadManagerEfl::didCancel):
  32422. (WebKit::DownloadManagerEfl::didFinish):
  32423. * UIProcess/efl/FindClientEfl.cpp:
  32424. (WebKit::FindClientEfl::didFindString):
  32425. (WebKit::FindClientEfl::didFailToFindString):
  32426. * UIProcess/efl/FormClientEfl.cpp:
  32427. (WebKit::FormClientEfl::willSubmitForm):
  32428. * UIProcess/efl/PageClientImpl.cpp:
  32429. (WebKit::PageClientImpl::processDidCrash):
  32430. (WebKit::PageClientImpl::toolTipChanged):
  32431. * UIProcess/efl/PageLoadClientEfl.cpp:
  32432. (WebKit::PageLoadClientEfl::didReceiveTitleForFrame):
  32433. (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
  32434. (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
  32435. (WebKit::PageLoadClientEfl::didChangeProgress):
  32436. (WebKit::PageLoadClientEfl::didFinishLoadForFrame):
  32437. (WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
  32438. (WebKit::PageLoadClientEfl::didStartProvisionalLoadForFrame):
  32439. (WebKit::PageLoadClientEfl::didReceiveServerRedirectForProvisionalLoadForFrame):
  32440. (WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
  32441. (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
  32442. (WebKit::PageLoadClientEfl::didChangeBackForwardList):
  32443. * UIProcess/efl/PagePolicyClientEfl.cpp:
  32444. (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
  32445. (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
  32446. * UIProcess/efl/ResourceLoadClientEfl.cpp:
  32447. (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
  32448. (WebKit::ResourceLoadClientEfl::didSendRequestForResource):
  32449. (WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
  32450. (WebKit::ResourceLoadClientEfl::didFinishLoadForResource):
  32451. (WebKit::ResourceLoadClientEfl::didFailLoadForResource):
  32452. (WebKit::ResourceLoadClientEfl::ResourceLoadClientEfl):
  32453. (WebKit::ResourceLoadClientEfl::~ResourceLoadClientEfl):
  32454. 2012-10-30 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  32455. Coordinated Graphics: Unrelease adopted images
  32456. https://bugs.webkit.org/show_bug.cgi?id=100671
  32457. Reviewed by Kenneth Rohde Christiansen.
  32458. Reloading could cause a crash since r132640 where the directly composited
  32459. image would be re-adopted with the same key before it was properly released
  32460. in the UI process.
  32461. Cancel the release when this happens rather than creating a new image.
  32462. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  32463. (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
  32464. 2012-10-30 Christophe Dumez <christophe.dumez@intel.com>
  32465. [EFL][WK2] Let Ecore_Evas own the cursor object
  32466. https://bugs.webkit.org/show_bug.cgi?id=100731
  32467. Reviewed by Kenneth Rohde Christiansen.
  32468. Ecore_Evas takes care of calling evas_object_del() on
  32469. the cursor object when it is no longer used (e.g. when
  32470. it is replaced by another cursor object). Therefore,
  32471. we don't need to keep a RefPtr to the cursor Evas
  32472. Object as a data member of EwkViewImpl. We pass
  32473. ownership of the cursor object to Ecore_Evas.
  32474. * UIProcess/API/efl/EwkViewImpl.cpp:
  32475. (EwkViewImpl::setCursor):
  32476. * UIProcess/API/efl/EwkViewImpl.h:
  32477. (EwkViewImpl):
  32478. 2012-10-30 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  32479. [EFL][WK2] Simplify getting impl from ewk_view evas object instance
  32480. https://bugs.webkit.org/show_bug.cgi?id=100505
  32481. Reviewed by Kenneth Rohde Christiansen.
  32482. Macros are removed from EwkViewImpl.h. New macro added to EwkViewImpl.cpp
  32483. so that it's possible to get impl directly from ewk view.
  32484. * UIProcess/API/efl/EwkViewImpl.cpp:
  32485. (EwkViewImpl::displayTimerFired):
  32486. * UIProcess/API/efl/EwkViewImpl.h:
  32487. * UIProcess/API/efl/ewk_view.cpp:
  32488. (_ewk_view_smart_focus_in):
  32489. (_ewk_view_smart_focus_out):
  32490. (mapToWebContent):
  32491. (_ewk_view_smart_mouse_wheel):
  32492. (_ewk_view_smart_mouse_down):
  32493. (_ewk_view_smart_mouse_up):
  32494. (_ewk_view_smart_mouse_move):
  32495. (_ewk_view_smart_key_down):
  32496. (_ewk_view_smart_key_up):
  32497. (_ewk_view_on_show):
  32498. (_ewk_view_on_hide):
  32499. (_ewk_view_smart_calculate):
  32500. (_ewk_view_smart_color_set):
  32501. (ewk_view_context_get):
  32502. (ewk_view_url_set):
  32503. (ewk_view_url_get):
  32504. (ewk_view_icon_url_get):
  32505. (ewk_view_reload):
  32506. (ewk_view_reload_bypass_cache):
  32507. (ewk_view_stop):
  32508. (ewk_view_settings_get):
  32509. (ewk_view_title_get):
  32510. (ewk_view_load_progress_get):
  32511. (ewk_view_scale_set):
  32512. (ewk_view_scale_get):
  32513. (ewk_view_device_pixel_ratio_set):
  32514. (ewk_view_device_pixel_ratio_get):
  32515. (ewk_view_theme_set):
  32516. (ewk_view_theme_get):
  32517. (ewk_view_back):
  32518. (ewk_view_forward):
  32519. (ewk_view_intent_deliver):
  32520. (ewk_view_back_possible):
  32521. (ewk_view_forward_possible):
  32522. (ewk_view_back_forward_list_get):
  32523. (ewk_view_html_string_load):
  32524. (ewk_view_setting_encoding_custom_get):
  32525. (ewk_view_setting_encoding_custom_set):
  32526. (ewk_view_text_find):
  32527. (ewk_view_text_find_highlight_clear):
  32528. (ewk_view_text_matches_count):
  32529. (ewk_view_mouse_events_enabled_set):
  32530. (ewk_view_mouse_events_enabled_get):
  32531. (ewk_view_feed_touch_event):
  32532. (ewk_view_touch_events_enabled_set):
  32533. (ewk_view_touch_events_enabled_get):
  32534. (ewk_view_inspector_show):
  32535. (ewk_view_inspector_close):
  32536. (ewk_view_pagination_mode_set):
  32537. (ewk_view_pagination_mode_get):
  32538. 2012-10-30 Byungwoo Lee <bw80.lee@samsung.com>
  32539. [WK2] Remove incorrect use of preprocessor macro in API headers.
  32540. https://bugs.webkit.org/show_bug.cgi?id=100722
  32541. Reviewed by Gyuyoung Kim.
  32542. Remove the preprocessor macro ENABLE(INSPECTOR) from the WKAPICast.h
  32543. and WKInspector.h.
  32544. * UIProcess/API/C/WKAPICast.h:
  32545. (WebKit):
  32546. * UIProcess/API/C/WKInspector.cpp:
  32547. (WKInspectorGetTypeID):
  32548. (WKInspectorGetPage):
  32549. (WKInspectorIsVisible):
  32550. (WKInspectorIsFront):
  32551. (WKInspectorShow):
  32552. (WKInspectorClose):
  32553. (WKInspectorShowConsole):
  32554. (WKInspectorShowResources):
  32555. (WKInspectorShowMainResourceForFrame):
  32556. (WKInspectorIsAttached):
  32557. (WKInspectorAttach):
  32558. (WKInspectorDetach):
  32559. (WKInspectorIsDebuggingJavaScript):
  32560. (WKInspectorToggleJavaScriptDebugging):
  32561. (WKInspectorIsProfilingJavaScript):
  32562. (WKInspectorToggleJavaScriptProfiling):
  32563. (WKInspectorIsProfilingPage):
  32564. (WKInspectorTogglePageProfiling):
  32565. * UIProcess/API/C/WKInspector.h:
  32566. 2012-10-29 Sergio Villar Senin <svillar@igalia.com>
  32567. REGRESSION(r130755): All WebKit2 unit tests are failing in WebKit2 bot
  32568. https://bugs.webkit.org/show_bug.cgi?id=98864
  32569. Reviewed by Martin Robinson.
  32570. Use a dedicated directory to store WebKit2 generated resources.
  32571. * UIProcess/API/gtk/tests/GNUmakefile.am:
  32572. * UIProcess/API/gtk/tests/TestMain.cpp:
  32573. (registerGResource): load the resource from the new directory.
  32574. 2012-10-29 Huang Dongsung <luxtella@company100.net>
  32575. Coordinated Graphics: Delete cached ShareableSurfaces when purging backingStores.
  32576. https://bugs.webkit.org/show_bug.cgi?id=100705
  32577. Reviewed by Noam Rosenthal.
  32578. LayerTreeCoordinatorProxy can be used after calling
  32579. LayerTreeCoordinatorProxy::purgeBackingStores(). So we should clear cached
  32580. ShareableSurfaces.
  32581. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  32582. (WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
  32583. 2012-10-28 Mark Rowe <mrowe@apple.com>
  32584. Simplify Xcode configuration settings that used to vary between OS versions.
  32585. Reviewed by Dan Bernstein.
  32586. * Configurations/Base.xcconfig:
  32587. * Configurations/WebKit2.xcconfig:
  32588. 2012-10-28 Mark Rowe <mrowe@apple.com>
  32589. Remove references to unsupported OS and Xcode versions.
  32590. Reviewed by Anders Carlsson.
  32591. * Configurations/Base.xcconfig:
  32592. * Configurations/CompilerVersion.xcconfig: Removed.
  32593. * Configurations/DebugRelease.xcconfig:
  32594. * Configurations/Version.xcconfig:
  32595. * DerivedSources.make:
  32596. * WebKit2.xcodeproj/project.pbxproj:
  32597. 2012-10-29 Alexey Proskuryakov <ap@apple.com>
  32598. [WK2] Add a NetworkingContext for NetworkProcess
  32599. https://bugs.webkit.org/show_bug.cgi?id=100708
  32600. Reviewed by Anders Carlsson.
  32601. Each request will have a context, because these are so lightweight on Mac, and
  32602. other platforms will need ResourceHandle refactored anyway to use NetworkProcess.
  32603. * NetworkProcess/mac/RemoteNetworkingContext.h: Added.
  32604. * NetworkProcess/mac/RemoteNetworkingContext.mm: Added.
  32605. These go mac/ subdirectory, because NetworkingContext interface is different on
  32606. each platform, as ResourceHandle needs dictate.
  32607. * WebKit2.xcodeproj/project.pbxproj:
  32608. 2012-10-29 Michael Saboff <msaboff@apple.com>
  32609. buildHTTPHeaders() should use a StringBuilder.appendLiteral() for separator
  32610. https://bugs.webkit.org/show_bug.cgi?id=100689
  32611. Reviewed by Darin Adler.
  32612. Changed from using a String temporary for the separator to using StringBuilder.appendLiteral(": ").
  32613. * WebProcess/Plugins/PluginView.cpp:
  32614. (WebKit::buildHTTPHeaders):
  32615. 2012-10-29 Michael Saboff <msaboff@apple.com>
  32616. WKStringCopyCFString() should directly use 8 bit Strings data instead of up converting
  32617. https://bugs.webkit.org/show_bug.cgi?id=100579
  32618. Reviewed by Oliver Hunt.
  32619. Changed to use CFStringCreateWithBytes() for 8 bit strings using characters8() for an 8 bit argument string.
  32620. Changed the current call to characters16().
  32621. * Shared/API/c/cf/WKStringCF.cpp:
  32622. (WKStringCopyCFString):
  32623. 2012-10-29 Enrica Casucci <enrica@apple.com>
  32624. Add ENABLE_USERSELECT_ALL feature flag.
  32625. https://bugs.webkit.org/show_bug.cgi?id=100559
  32626. Reviewed by Eric Seidel.
  32627. * Configurations/FeatureDefines.xcconfig:
  32628. 2012-10-29 Christophe Dumez <christophe.dumez@intel.com>
  32629. [WK2][WKTR] Enable Shadow DOM at runtime if compiled with SHADOW_DOM support
  32630. https://bugs.webkit.org/show_bug.cgi?id=100668
  32631. Reviewed by Kenneth Rohde Christiansen.
  32632. Add Bundle API to enable Shadow DOM functionality. This is
  32633. now needed by WebKitTestRunner.
  32634. * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
  32635. (WKBundleSetShadowDOMEnabled):
  32636. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  32637. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  32638. (WebKit::InjectedBundle::setShadowDOMEnabled):
  32639. (WebKit):
  32640. * WebProcess/InjectedBundle/InjectedBundle.h:
  32641. (InjectedBundle):
  32642. 2012-10-29 Christophe Dumez <christophe.dumez@intel.com>
  32643. [EFL][WK2] Fix cursor change detection in EwkViewImpl::setCursor()
  32644. https://bugs.webkit.org/show_bug.cgi?id=100662
  32645. Reviewed by Kenneth Rohde Christiansen.
  32646. Cursor change detection in EwkViewImpl::setCursor() relies on
  32647. addresses returned by Cursor::platformCursor(). However, the
  32648. value returned is currently assigned to a WKEinaSharedString
  32649. instead of a raw pointer. Therefore, the address is always
  32650. different and we keep recreating Evas Objects for the same
  32651. cursor.
  32652. * UIProcess/API/efl/EwkViewImpl.cpp:
  32653. (EwkViewImpl::EwkViewImpl):
  32654. (EwkViewImpl::setCursor): Call smartData() after same cursor
  32655. detection since it is not needed if the cursor has not changed
  32656. and it may affect performance.
  32657. * UIProcess/API/efl/EwkViewImpl.h:
  32658. (EwkViewImpl):
  32659. 2012-10-29 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  32660. Coordinated Graphics: Make sure that we release images immediately when purging resources
  32661. https://bugs.webkit.org/show_bug.cgi?id=100661
  32662. Reviewed by Noam Rosenthal.
  32663. When we purge, we do both on the UI and web process at the same time,
  32664. both are expected to release references of the other process.
  32665. This creates problem when delaying the release of directly composited
  32666. images.
  32667. Release them immediately in that case.
  32668. Fixes the tst_QQuickWebView::removeFromCanvas API test.
  32669. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  32670. (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
  32671. (WebKit::LayerTreeCoordinator::purgeReleasedImages):
  32672. (WebKit):
  32673. (WebKit::LayerTreeCoordinator::purgeBackingStores):
  32674. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  32675. (LayerTreeCoordinator):
  32676. 2012-10-29 Christophe Dumez <christophe.dumez@intel.com>
  32677. [EFL][WK2] Avoid useless assignment in EwkViewImpl::setCustomTextEncodingName()
  32678. https://bugs.webkit.org/show_bug.cgi?id=100667
  32679. Reviewed by Kenneth Rohde Christiansen.
  32680. Remove useless m_customEncoding assignment in EwkViewImpl::setCustomTextEncodingName()
  32681. since the member is anyway assigned in EwkViewImpl::customTextEncodingName().
  32682. Have EwkViewImpl::setCustomTextEncodingName() take a String in argument instead
  32683. of a const char* to make the API more C++ and since we don't need a const char*
  32684. to assign to m_customEncoding anymore.
  32685. * UIProcess/API/efl/EwkViewImpl.cpp:
  32686. (EwkViewImpl::setCustomTextEncodingName):
  32687. * UIProcess/API/efl/EwkViewImpl.h:
  32688. (EwkViewImpl):
  32689. * UIProcess/API/efl/ewk_view.cpp:
  32690. (ewk_view_setting_encoding_custom_set):
  32691. 2012-10-29 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  32692. [WK2] Enable delegated scrolling as soon as the FrameView is created when using fixed layout
  32693. https://bugs.webkit.org/show_bug.cgi?id=100383
  32694. Reviewed by Kenneth Rohde Christiansen.
  32695. Scroll requests and PageTransitionViewportReady messages depend on
  32696. delegated scrolling being set properly on the FrameView to behave
  32697. properly. Since we were waiting for the viewport information to be
  32698. ready before setting the flag this could cause those messages to be avoided.
  32699. This patch takes most of the flag set by setResizesToContentsUsingLayoutSize
  32700. and apply them as soon as possible in WebPage::setUseFixedLayout and
  32701. WebFrameLoaderClient::transitionToCommittedForNewPage.
  32702. The behavior should be the same except for the following settings which are
  32703. now set outside of USE(TILED_BACKING_STORE) if we're using fixed layout:
  32704. - setAcceleratedCompositingForFixedPositionEnabled
  32705. - setFixedElementsLayoutRelativeToFrame
  32706. - setFixedPositionCreatesStackingContext
  32707. This fixes the tst_QQuickWebView::scrollRequest auto test and improves the
  32708. reliability of the loadVisuallyCommitted signal with pages loaded from disk.
  32709. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  32710. (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
  32711. * WebProcess/WebPage/WebPage.cpp:
  32712. (WebKit::WebPage::sendViewportAttributesChanged):
  32713. (WebKit::WebPage::setUseFixedLayout):
  32714. (WebKit::WebPage::setFixedLayoutSize):
  32715. * WebProcess/WebPage/WebPage.h:
  32716. (WebPage):
  32717. 2012-10-29 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
  32718. Unreviewed build fix after r132709.
  32719. * Shared/WebMemorySampler.cpp: Include unistd.h for getpid(3).
  32720. 2012-10-28 Byungwoo Lee <bw80.lee@samsung.com>
  32721. [WK2] Fix the incorrect use of preprocessor statement in API header.
  32722. https://bugs.webkit.org/show_bug.cgi?id=100610
  32723. Reviewed by Timothy Hatcher.
  32724. Remove the preprocessor statement to check 'ENABLE_INSPECTOR' feature
  32725. from the WKPage.h.
  32726. * UIProcess/API/C/WKPage.cpp:
  32727. (WKPageGetInspector):
  32728. * UIProcess/API/C/WKPage.h:
  32729. 2012-10-28 Yael Aharon <yael.aharon@intel.com>
  32730. [EFL][WK2][AC] Viewport size does not change when the window size changes
  32731. https://bugs.webkit.org/show_bug.cgi?id=100573
  32732. Reviewed by Kenneth Rohde Christiansen.
  32733. The viewport size is set when we create the window the first time
  32734. and does not change automatically afterwards. When we change the window size,
  32735. we need to explicitly change the viewport size as well.
  32736. * UIProcess/API/efl/EwkViewImpl.cpp:
  32737. (EwkViewImpl::createGLSurface):
  32738. 2012-10-27 Noam Rosenthal <noam.rosenthal@nokia.com>
  32739. Unreviewed build fix for breakage to minimal bot caused by r132742.
  32740. * WebProcess/WebPage/LayerTreeHost.h:
  32741. (LayerTreeHost):
  32742. Added appropriate ENABLE(REQUEST_ANIMATION_FRAME) flag.
  32743. 2012-10-27 Sheriff Bot <webkit.review.bot@gmail.com>
  32744. Unreviewed, rolling out r132740.
  32745. http://trac.webkit.org/changeset/132740
  32746. https://bugs.webkit.org/show_bug.cgi?id=100603
  32747. "Causing many crashes" (Requested by weinig on #webkit).
  32748. * UIProcess/Downloads/DownloadProxy.cpp:
  32749. (WebKit::DownloadProxy::DownloadProxy):
  32750. (WebKit::DownloadProxy::invalidate):
  32751. (WebKit):
  32752. * UIProcess/Downloads/DownloadProxy.h:
  32753. (DownloadProxy):
  32754. * UIProcess/WebContext.cpp:
  32755. (WebKit::WebContext::createDownloadProxy):
  32756. (WebKit::WebContext::downloadFinished):
  32757. (WebKit::WebContext::didReceiveMessage):
  32758. (WebKit::WebContext::didReceiveSyncMessage):
  32759. * UIProcess/WebContext.h:
  32760. (WebKit):
  32761. * UIProcess/WebPageProxy.cpp:
  32762. (WebKit::WebPageProxy::WebPageProxy):
  32763. (WebKit::WebPageProxy::~WebPageProxy):
  32764. (WebKit::WebPageProxy::didReceiveMessage):
  32765. (WebKit::WebPageProxy::didReceiveSyncMessage):
  32766. * UIProcess/WebPageProxy.h:
  32767. (CoreIPC):
  32768. (WebPageProxy):
  32769. * UIProcess/WebProcessProxy.cpp:
  32770. (WebKit::WebProcessProxy::didReceiveMessage):
  32771. (WebKit::WebProcessProxy::didReceiveSyncMessage):
  32772. * UIProcess/WebProcessProxy.h:
  32773. (WebProcessProxy):
  32774. * WebProcess/WebPage/WebPageGroupProxy.cpp:
  32775. (WebKit::WebPageGroupProxy::~WebPageGroupProxy):
  32776. (WebKit):
  32777. (WebKit::WebPageGroupProxy::didReceiveMessage):
  32778. (WebKit::WebPageGroupProxy::WebPageGroupProxy):
  32779. * WebProcess/WebPage/WebPageGroupProxy.h:
  32780. (CoreIPC):
  32781. (WebPageGroupProxy):
  32782. * WebProcess/WebProcess.cpp:
  32783. (WebKit::WebProcess::didReceiveSyncMessage):
  32784. (WebKit::WebProcess::didReceiveMessage):
  32785. 2012-10-27 Noam Rosenthal <noam.rosenthal@nokia.com>
  32786. Coordinated Graphics: Animation jerkiness when rAF is enabled
  32787. https://bugs.webkit.org/show_bug.cgi?id=100536
  32788. Reviewed by Kenneth Rohde Christiansen.
  32789. The jerkiness comes from the fact that we schedule animations excessively; That's because
  32790. the previous patch broke requestAnimationFrame behavior during CSS animations, since the
  32791. frame returns right away instead of waiting till the previous frame is actually rendered.
  32792. This patch makes sure that when animations are scheduled, they're only serviced after the
  32793. UI process has actually painted the previous frame. We do so by sending a
  32794. RequestAnimationFrame message to the UI process, which responds with AnimationFrameReady
  32795. after the UI process paints.
  32796. New test: fast/animations/request-animation-frame-too-rapid.html
  32797. Tests that we don't receive an unreasonably high number of callbacks from
  32798. requestAnimationFrame (> 1000FPS).
  32799. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  32800. (WebKit):
  32801. (WebKit::LayerTreeCoordinatorProxy::requestAnimationFrame):
  32802. (WebKit::LayerTreeCoordinatorProxy::animationFrameReady):
  32803. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  32804. (LayerTreeCoordinatorProxy):
  32805. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  32806. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  32807. (WebKit::LayerTreeRenderer::LayerTreeRenderer):
  32808. (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
  32809. (WebKit):
  32810. (WebKit::LayerTreeRenderer::animationFrameReady):
  32811. (WebKit::LayerTreeRenderer::requestAnimationFrame):
  32812. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  32813. (LayerTreeRenderer):
  32814. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  32815. (WebKit):
  32816. (WebKit::LayerTreeCoordinator::scheduleAnimation):
  32817. (WebKit::LayerTreeCoordinator::animationFrameReady):
  32818. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  32819. (LayerTreeCoordinator):
  32820. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in:
  32821. 2012-10-27 Sam Weinig <sam@webkit.org>
  32822. Yet more MessageReceivering
  32823. https://bugs.webkit.org/show_bug.cgi?id=100325
  32824. Reviewed by Anders Carlsson.
  32825. Make DownloadProxy, WebPageProxy, and WebPageGroupProxy MessageReceivers.
  32826. * UIProcess/Downloads/DownloadProxy.cpp:
  32827. (WebKit::DownloadProxy::DownloadProxy):
  32828. (WebKit::DownloadProxy::invalidate):
  32829. (WebKit::DownloadProxy::didReceiveMessage):
  32830. (WebKit::DownloadProxy::didReceiveSyncMessage):
  32831. * UIProcess/Downloads/DownloadProxy.h:
  32832. (DownloadProxy):
  32833. Make a MessageReceiver.
  32834. * UIProcess/WebContext.cpp:
  32835. (WebKit::WebContext::WebContext):
  32836. (WebKit::WebContext::addMessageReceiver):
  32837. (WebKit::WebContext::removeMessageReceiver):
  32838. (WebKit::WebContext::didReceiveMessage):
  32839. (WebKit::WebContext::didReceiveSyncMessage):
  32840. * UIProcess/WebContext.h:
  32841. Add additional MessageReceiverMap forwards, and stop dealing with DownloadProxy explicitly.
  32842. * UIProcess/WebPageProxy.cpp:
  32843. (WebKit::WebPageProxy::WebPageProxy):
  32844. (WebKit::WebPageProxy::~WebPageProxy):
  32845. (WebKit::WebPageProxy::didReceiveMessage):
  32846. (WebKit::WebPageProxy::didReceiveSyncMessage):
  32847. * UIProcess/WebPageProxy.h:
  32848. Make a MessageReceiver, but keep sub objects using didReceiveMessage for now (like WebPage).
  32849. * UIProcess/WebProcessProxy.cpp:
  32850. (WebKit::WebProcessProxy::addMessageReceiver):
  32851. (WebKit::WebProcessProxy::removeMessageReceiver):
  32852. (WebKit::WebProcessProxy::didReceiveMessage):
  32853. (WebKit::WebProcessProxy::didReceiveSyncMessage):
  32854. * UIProcess/WebProcessProxy.h:
  32855. Give WebProcessProxy a MessageReceiverMap and all the appropriate forwarding methods.
  32856. * WebProcess/WebPage/WebPageGroupProxy.cpp:
  32857. (WebKit::WebPageGroupProxy::WebPageGroupProxy):
  32858. (WebKit::WebPageGroupProxy::~WebPageGroupProxy):
  32859. (WebKit::WebPageGroupProxy::didReceiveMessage):
  32860. * WebProcess/WebPage/WebPageGroupProxy.h:
  32861. (WebKit::WebPageGroupProxy::isVisibleToHistoryClient):
  32862. (WebPageGroupProxy):
  32863. Make a MessageReceiver and register/unregister with the WebProcess.
  32864. * WebProcess/WebProcess.cpp:
  32865. (WebKit::WebProcess::didReceiveSyncMessage):
  32866. Remove extraneous return statement.
  32867. (WebKit::WebProcess::didReceiveMessage):
  32868. Stop handling WebPageGroupProxy special.
  32869. 2012-10-27 Sam Weinig <sam@webkit.org>
  32870. Completely roll out https://bugs.webkit.org/show_bug.cgi?id=99251 (r131686)
  32871. It has caused too many crashes.
  32872. * UIProcess/API/mac/PageClientImpl.mm:
  32873. * UIProcess/API/mac/WKView.mm:
  32874. * UIProcess/API/mac/WKViewInternal.h:
  32875. * UIProcess/API/mac/WKViewPrivate.h:
  32876. * UIProcess/mac/CorrectionPanel.mm:
  32877. * UIProcess/mac/WKFullScreenWindowController.mm:
  32878. * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
  32879. 2012-10-27 Michael Saboff <msaboff@apple.com>
  32880. buildHTTPHeaders() should use a StringBuilder instead of a Vector<UChar>
  32881. https://bugs.webkit.org/show_bug.cgi?id=100580
  32882. Reviewed by Oliver Hunt.
  32883. Replaced Vector<UChar> with StringBuilder in the HTTP header construction function buildHTTPHeaders.
  32884. This eliminates 8 -> 16 bit up conversion of the strings involved.
  32885. * WebProcess/Plugins/PluginView.cpp:
  32886. (WebKit::buildHTTPHeaders):
  32887. 2012-10-27 Dan Bernstein <mitz@apple.com>
  32888. REAL_PLATFORM_NAME build setting is no longer needed
  32889. https://bugs.webkit.org/show_bug.cgi?id=100587
  32890. Reviewed by Mark Rowe.
  32891. Removed the definition of REAL_PLATFORM_NAME and replaced references to it with references
  32892. to PLATFORM_NAME.
  32893. * Configurations/Base.xcconfig:
  32894. * Configurations/BaseTarget.xcconfig:
  32895. * Configurations/CompilerVersion.xcconfig:
  32896. * Configurations/FeatureDefines.xcconfig:
  32897. * Configurations/WebKit2.xcconfig:
  32898. 2012-10-26 Brady Eidson <beidson@apple.com>
  32899. Have NetworkProcess manage resource load scheduling.
  32900. https://bugs.webkit.org/show_bug.cgi?id=100479
  32901. Reviewed by Alexey Proskuryakov.
  32902. Implement a ResourceLoadScheduler that models the same behavior as WebCore::ResourceLoadScheduler.
  32903. The WebProcess scheduler acts as a marshall to the NetworkProcess scheduler via CoreIPC messaging.
  32904. Besides MainResourceLoads which are started directly in the WebProcess, all other loads are now
  32905. started only when the NetworkProcess tells them to start.
  32906. Build-system and messaging related stuff:
  32907. * DerivedSources.make:
  32908. * Platform/CoreIPC/MessageID.h:
  32909. * WebKit2.xcodeproj/project.pbxproj:
  32910. Add a new Network logging channel.
  32911. * Platform/Logging.cpp:
  32912. (WebKit::getChannelFromName):
  32913. * Platform/Logging.h:
  32914. Modeled after ResourceLoadScheduler::HostInformation but more specifically geared towards what NetworkProcess needs to track:
  32915. * NetworkProcess/HostRecord.cpp: Added.
  32916. (WebKit::HostRecord::HostRecord):
  32917. (WebKit::HostRecord::~HostRecord):
  32918. (WebKit::HostRecord::schedule):
  32919. (WebKit::HostRecord::addLoadInProgress):
  32920. (WebKit::HostRecord::remove):
  32921. (WebKit::HostRecord::hasRequests):
  32922. (WebKit::HostRecord::limitRequests):
  32923. * NetworkProcess/HostRecord.h:
  32924. (WebKit::HostRecord::name):
  32925. (WebKit::HostRecord::requestsPending):
  32926. Gateway messaging from the WebResourceLoadScheduler to the NetworkResourceLoadScheduler:
  32927. * NetworkProcess/NetworkConnectionToWebProcess.cpp:
  32928. (WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
  32929. (WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
  32930. (WebKit::NetworkConnectionToWebProcess::registerObserver):
  32931. (WebKit::NetworkConnectionToWebProcess::unregisterObserver):
  32932. (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
  32933. (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
  32934. (WebKit::NetworkConnectionToWebProcess::didClose):
  32935. (WebKit::NetworkConnectionToWebProcess::scheduleNetworkRequest):
  32936. (WebKit::NetworkConnectionToWebProcess::addLoadInProgress):
  32937. (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
  32938. (WebKit::NetworkConnectionToWebProcess::crossOriginRedirectReceived):
  32939. (WebKit::NetworkConnectionToWebProcess::servePendingRequests):
  32940. (WebKit::NetworkConnectionToWebProcess::suspendPendingRequests):
  32941. (WebKit::NetworkConnectionToWebProcess::resumePendingRequests):
  32942. (WebKit::NetworkConnectionToWebProcess::setSerialLoadingEnabled):
  32943. * NetworkProcess/NetworkConnectionToWebProcess.h:
  32944. (NetworkConnectionToWebProcessObserver): Add an observer interface so arbitrary objects can be notified if
  32945. a Network->WebProcess connection closes.
  32946. (WebKit::NetworkConnectionToWebProcessObserver::~NetworkConnectionToWebProcessObserver):
  32947. (WebKit::NetworkConnectionToWebProcess::isSerialLoadingEnabled):
  32948. * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  32949. Represents a request, ResourceLoadIdentifier, and connection that all correspond to the same pending NetworkLoad:
  32950. * NetworkProcess/NetworkRequest.cpp:
  32951. (WebKit::NetworkRequest::NetworkRequest):
  32952. (WebKit::NetworkRequest::~NetworkRequest):
  32953. (WebKit::NetworkRequest::connectionToWebProcessDidClose): Using the NetworkConnectionToWebProcessObserver interface,
  32954. if the connection closes then clear out the connection pointer for this request that is now irrelevant.
  32955. * NetworkProcess/NetworkRequest.h:
  32956. (WebKit::NetworkRequest::create):
  32957. (WebKit::NetworkRequest::identifier):
  32958. (WebKit::NetworkRequest::connectionToWebProcess):
  32959. Manages connection-per-host scheduling with the same structure as WebCore::ResourceLoadScheduling but also with IPC:
  32960. * NetworkProcess/NetworkResourceLoadScheduler.cpp: Added.
  32961. (WebKit::NetworkResourceLoadScheduler::NetworkResourceLoadScheduler):
  32962. (WebKit::NetworkResourceLoadScheduler::scheduleServePendingRequests):
  32963. (WebKit::NetworkResourceLoadScheduler::requestTimerFired):
  32964. (WebKit::NetworkResourceLoadScheduler::scheduleNetworkRequest):
  32965. (WebKit::NetworkResourceLoadScheduler::addLoadInProgress):
  32966. (WebKit::NetworkResourceLoadScheduler::hostForURL):
  32967. (WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
  32968. (WebKit::NetworkResourceLoadScheduler::crossOriginRedirectReceived):
  32969. (WebKit::NetworkResourceLoadScheduler::servePendingRequests):
  32970. (WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost): Serve as many requests for the host as we should,
  32971. skipping the NetworkRequests who have lost their connection to their WebProcess.
  32972. (WebKit::NetworkResourceLoadScheduler::suspendPendingRequests):
  32973. (WebKit::NetworkResourceLoadScheduler::resumePendingRequests):
  32974. * NetworkProcess/NetworkResourceLoadScheduler.h: Added.
  32975. * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm: Added.
  32976. (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost):
  32977. * NetworkProcess/NetworkProcess.h:
  32978. (WebKit::NetworkProcess::networkResourceLoadScheduler): Add a scheduler global to the NetworkProcess.
  32979. A thin derivation of WebCore::ResourceLoadScheduler, most of what WebResourceLoadScheduler does is handle IPC to the NetworkProcess:
  32980. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  32981. (WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler):
  32982. (WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
  32983. (WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
  32984. (WebKit::WebResourceLoadScheduler::scheduleLoad):
  32985. (WebKit::WebResourceLoadScheduler::addMainResourceLoad):
  32986. (WebKit::WebResourceLoadScheduler::remove):
  32987. (WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived):
  32988. (WebKit::WebResourceLoadScheduler::servePendingRequests):
  32989. (WebKit::WebResourceLoadScheduler::suspendPendingRequests):
  32990. (WebKit::WebResourceLoadScheduler::resumePendingRequests):
  32991. (WebKit::WebResourceLoadScheduler::setSerialLoadingEnabled):
  32992. (WebKit::WebResourceLoadScheduler::startResourceLoad):
  32993. * WebProcess/Network/WebResourceLoadScheduler.h:
  32994. Add the ability for the NetworkProcess to message back to the WebProcess telling it to start a resource load:
  32995. * WebProcess/Network/NetworkProcessConnection.cpp:
  32996. (WebKit::NetworkProcessConnection::didReceiveMessage):
  32997. (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
  32998. (WebKit::NetworkProcessConnection::startResourceLoad):
  32999. * WebProcess/Network/NetworkProcessConnection.h:
  33000. * WebProcess/Network/NetworkProcessConnection.messages.in:
  33001. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  33002. (WebKit::WebPlatformStrategies::resourceLoadScheduler): Only return the WebResourceLoadScheduler if NetworkProcess is enabled.
  33003. * WebProcess/WebProcess.cpp:
  33004. (WebKit::WebProcess::ensureNetworkProcessConnection): Actually keep the NetworkProcessConnection around in a member variable.
  33005. (WebKit::WebProcess::networkConnection):
  33006. * WebProcess/WebProcess.h:
  33007. (WebKit::WebProcess::usesNetworkProcess): Expose this for platform strategies sake.
  33008. 2012-10-26 Brady Eidson <beidson@apple.com>
  33009. Crash in WebProces at WebCore::ResourceLoadScheduler::crossOriginRedirectReceived + 78
  33010. https://bugs.webkit.org/show_bug.cgi?id=100554
  33011. Reviewed by Alexey Proskuryakov.
  33012. For now, just have WebPlatformStrategies return the same default resourceLoadScheduler that
  33013. WebCore knows about.
  33014. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  33015. (WebKit::WebPlatformStrategies::resourceLoadScheduler):
  33016. 2012-10-26 Anders Carlsson <andersca@apple.com>
  33017. Crash when making NPRuntime calls with a null NPP pointer
  33018. https://bugs.webkit.org/show_bug.cgi?id=100569
  33019. <rdar://problem/11726426>
  33020. <rdar://problem/12352836>
  33021. Reviewed by Darin Adler.
  33022. Finally bite the bullet and remove the assertion from NetscapePlugin::fromNPP. The WebKit1 equivalent of this
  33023. function used to return the plug-in currently being initialized in NPP_New, but we've never done that in WebKit2
  33024. and it has never been necessary. The crashes fixed here are not from calls underneath NPP_New so fixing it wouldn't
  33025. do us any good anyway.
  33026. Also, make the PluginDestructionProtector handle a null plug-in gracefully.
  33027. * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
  33028. (WebKit::PluginDestructionProtector::PluginDestructionProtector):
  33029. (PluginDestructionProtector):
  33030. * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
  33031. (WebKit::NetscapePlugin::fromNPP):
  33032. 2012-10-26 Stephanie Lewis <slewis@apple.com>
  33033. Add pids to WebMemorySampleFiles.
  33034. https://bugs.webkit.org/show_bug.cgi?id=100449.
  33035. Reviewed by Tim Horton.
  33036. Make it easier to associate WebMemorySamples with a process. Add the pid to the filename and header.
  33037. * Shared/WebMemorySampler.cpp:
  33038. (WebKit::WebMemorySampler::initializeTimers): Update notification.
  33039. (WebKit::WebMemorySampler::stop): Update notification.
  33040. (WebKit::WebMemorySampler::writeHeaders): dump pid in the header.
  33041. * UIProcess/WebContext.cpp:
  33042. (WebKit::WebContext::processDidFinishLaunching): append pid to filename.
  33043. 2012-10-26 Yael Aharon <yael.aharon@intel.com>
  33044. [EFL][WK2][AC] Build fix after r132647.
  33045. https://bugs.webkit.org/show_bug.cgi?id=100540
  33046. Reviewed by Kenneth Rohde Christiansen.
  33047. AC enabled build is broken after the latest refactoring of EFL WK2.
  33048. * UIProcess/API/efl/EwkViewImpl.cpp:
  33049. (EwkViewImpl::EwkViewImpl):
  33050. (EwkViewImpl::displayTimerFired):
  33051. (EwkViewImpl::informLoadCommitted):
  33052. (EwkViewImpl::createGLSurface):
  33053. (EwkViewImpl::enterAcceleratedCompositingMode):
  33054. (EwkViewImpl::exitAcceleratedCompositingMode):
  33055. (EwkViewImpl::informContentsSizeChange):
  33056. * UIProcess/API/efl/EwkViewImpl.h:
  33057. (EwkViewImpl):
  33058. (EwkViewImpl::pageViewportControllerClient):
  33059. (EwkViewImpl::pageViewportController):
  33060. (EwkViewImpl::evasGl):
  33061. (EwkViewImpl::evasGlContext):
  33062. (EwkViewImpl::evasGlSurface):
  33063. (EwkViewImpl::resetEvasGlSurface):
  33064. * UIProcess/API/efl/ewk_view.cpp:
  33065. (mapToWebContent):
  33066. (_ewk_view_smart_calculate):
  33067. 2012-10-26 Christophe Dumez <christophe.dumez@intel.com>
  33068. [EFL][WK2] Get rid of C'ism in text checker API
  33069. https://bugs.webkit.org/show_bug.cgi?id=100513
  33070. Reviewed by Kenneth Rohde Christiansen.
  33071. Make Ewk_Text_Checker a C++ class and move the
  33072. WebKitTextChecker code to this new class. This
  33073. gets rid of the C'ism in the text checker code
  33074. and make it consistent with other Ewk classes.
  33075. * PlatformEfl.cmake:
  33076. * UIProcess/API/efl/ewk_context.cpp:
  33077. (Ewk_Context::Ewk_Context):
  33078. * UIProcess/API/efl/ewk_settings.cpp:
  33079. (spellCheckingLanguagesSetUpdate):
  33080. (ewk_settings_continuous_spell_checking_enabled_set):
  33081. (ewk_settings_spell_checking_available_languages_get):
  33082. (ewk_settings_spell_checking_languages_get):
  33083. * UIProcess/API/efl/ewk_text_checker.cpp:
  33084. (ClientCallbacks):
  33085. (textCheckerEnchant):
  33086. (clientCallbacks):
  33087. (isContinuousSpellCheckingEnabled):
  33088. (setContinuousSpellCheckingEnabled):
  33089. (uniqueSpellDocumentTag):
  33090. (closeSpellDocumentWithTag):
  33091. (checkSpellingOfString):
  33092. (guessesForWord):
  33093. (learnWord):
  33094. (ignoreWord):
  33095. (Ewk_Text_Checker):
  33096. (Ewk_Text_Checker::availableSpellCheckingLanguages):
  33097. (Ewk_Text_Checker::updateSpellCheckingLanguages):
  33098. (Ewk_Text_Checker::loadedSpellCheckingLanguages):
  33099. (Ewk_Text_Checker::initialize):
  33100. * UIProcess/API/efl/ewk_text_checker_private.h:
  33101. (Ewk_Text_Checker):
  33102. * UIProcess/efl/WebKitTextChecker.cpp: Removed.
  33103. * UIProcess/efl/WebKitTextChecker.h: Removed.
  33104. 2012-10-26 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  33105. [EFL][WK2] Clean up construction/destruction code in Ewk_view
  33106. https://bugs.webkit.org/show_bug.cgi?id=100232
  33107. Reviewed by Kenneth Rohde Christiansen.
  33108. Simplified a lot of initialization and destruction code of Ewk_view and EwkViewImpl
  33109. put all the impl stuff to its constructor and destructor, also made EwkViewImpl member
  33110. variables private.
  33111. * UIProcess/API/efl/EwkViewImpl.cpp:
  33112. (pageViewMap):
  33113. (EwkViewImpl::addToPageViewMap):
  33114. (EwkViewImpl::removeFromPageViewMap):
  33115. (EwkViewImpl::viewFromPageViewMap):
  33116. (EwkViewImpl::EwkViewImpl):
  33117. (EwkViewImpl::~EwkViewImpl):
  33118. (EwkViewImpl::wkPage):
  33119. (EwkViewImpl::title):
  33120. (EwkViewImpl::setThemePath):
  33121. (EwkViewImpl::customTextEncodingName):
  33122. (EwkViewImpl::setCustomTextEncodingName):
  33123. (EwkViewImpl::informIconChange):
  33124. (EwkViewImpl::informWebProcessCrashed):
  33125. (EwkViewImpl::updateTextInputState):
  33126. (EwkViewImpl::informURLChange):
  33127. (EwkViewImpl::onFaviconChanged):
  33128. * UIProcess/API/efl/EwkViewImpl.h:
  33129. (WebKit):
  33130. (EwkViewImpl):
  33131. (EwkViewImpl::view):
  33132. (EwkViewImpl::page):
  33133. (EwkViewImpl::ewkContext):
  33134. (EwkViewImpl::backForwardList):
  33135. * UIProcess/API/efl/ewk_settings.cpp:
  33136. (Ewk_Settings::preferences):
  33137. * UIProcess/API/efl/ewk_view.cpp:
  33138. (_ewk_view_smart_focus_in):
  33139. (_ewk_view_smart_focus_out):
  33140. (_ewk_view_smart_mouse_wheel):
  33141. (_ewk_view_smart_mouse_down):
  33142. (_ewk_view_smart_mouse_up):
  33143. (_ewk_view_smart_mouse_move):
  33144. (_ewk_view_smart_key_down):
  33145. (_ewk_view_smart_key_up):
  33146. (_ewk_view_on_show):
  33147. (_ewk_view_on_hide):
  33148. (_ewk_view_smart_add):
  33149. (_ewk_view_smart_del):
  33150. (_ewk_view_smart_calculate):
  33151. (_ewk_view_smart_color_set):
  33152. (createEwkViewSmartClass):
  33153. (createEwkView):
  33154. (ewk_view_base_add):
  33155. (ewk_view_smart_add):
  33156. (ewk_view_add_with_context):
  33157. (ewk_view_url_set):
  33158. (ewk_view_reload):
  33159. (ewk_view_reload_bypass_cache):
  33160. (ewk_view_stop):
  33161. (ewk_view_load_progress_get):
  33162. (ewk_view_scale_set):
  33163. (ewk_view_scale_get):
  33164. (ewk_view_device_pixel_ratio_set):
  33165. (ewk_view_device_pixel_ratio_get):
  33166. (ewk_view_back):
  33167. (ewk_view_forward):
  33168. (ewk_view_intent_deliver):
  33169. (ewk_view_back_possible):
  33170. (ewk_view_forward_possible):
  33171. (ewk_view_back_forward_list_get):
  33172. (ewk_view_html_string_load):
  33173. (ewk_view_text_find):
  33174. (ewk_view_text_find_highlight_clear):
  33175. (ewk_view_text_matches_count):
  33176. (ewk_view_feed_touch_event):
  33177. (ewk_view_inspector_show):
  33178. (ewk_view_inspector_close):
  33179. (ewk_view_pagination_mode_set):
  33180. (ewk_view_pagination_mode_get):
  33181. 2012-10-26 Christophe Dumez <christophe.dumez@intel.com>
  33182. [EFL][WK2] Initialize Ewk_Context class members in initialization list
  33183. https://bugs.webkit.org/show_bug.cgi?id=100503
  33184. Reviewed by Kenneth Rohde Christiansen.
  33185. Move Ewk_Context class members initialization from the
  33186. constructor body to the initialization list for
  33187. efficiency.
  33188. * UIProcess/API/efl/ewk_context.cpp:
  33189. (Ewk_Context::Ewk_Context):
  33190. 2012-10-26 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  33191. LayerTreeCoordinator: Make sure that dependent layers are deleted before their directly composited image
  33192. https://bugs.webkit.org/show_bug.cgi?id=100495
  33193. Reviewed by Kenneth Rohde Christiansen.
  33194. Since r128980 layers removals are delayed until we flush the layer tree.
  33195. This causes a crash if such a layer had a directly composited image since
  33196. the image is now deleted while the layer is still active in the UI process
  33197. and tries to access a deleted backing store.
  33198. Fix it by delaying the directly composited image removal as well.
  33199. Fixes a crash in tst_QQuickWebView::basicRenderingSanity since showWebView is
  33200. called first and loads direct-image-compositing.html.
  33201. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  33202. (LayerTreeRenderer): Remove unused variable.
  33203. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  33204. (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
  33205. (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
  33206. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  33207. (LayerTreeCoordinator):
  33208. 2012-10-26 Regina Chung <heejin.r.chung@samsung.com>
  33209. [EFL][WK2] Enable WebGL
  33210. https://bugs.webkit.org/show_bug.cgi?id=97652
  33211. Reviewed by Gyuyoung Kim.
  33212. Set WebGLEnabled to true when WebGL is enabled.
  33213. * UIProcess/API/efl/ewk_view.cpp:
  33214. (_ewk_view_initialize):
  33215. 2012-10-26 Christophe Dumez <christophe.dumez@intel.com>
  33216. [EFL][WK2] Add Ewk_Color_Picker API
  33217. https://bugs.webkit.org/show_bug.cgi?id=100472
  33218. Reviewed by Kenneth Rohde Christiansen.
  33219. Move the color picker code out of EwkViewImpl and into
  33220. a new Ewk_Color_Picker class to avoid cluttering the
  33221. view code.
  33222. * PlatformEfl.cmake:
  33223. * UIProcess/API/efl/EWebKit2.h:
  33224. * UIProcess/API/efl/EwkViewImpl.cpp:
  33225. (EwkViewImpl::requestColorPicker):
  33226. (EwkViewImpl::dismissColorPicker):
  33227. * UIProcess/API/efl/EwkViewImpl.h:
  33228. (EwkViewImpl):
  33229. * UIProcess/API/efl/ewk_color_picker.cpp: Added.
  33230. (Ewk_Color_Picker::Ewk_Color_Picker):
  33231. (Ewk_Color_Picker::setColor):
  33232. (Ewk_Color_Picker::color):
  33233. (ewk_color_picker_color_set):
  33234. (ewk_color_picker_color_get):
  33235. * UIProcess/API/efl/ewk_color_picker.h: Added.
  33236. * UIProcess/API/efl/ewk_color_picker_private.h: Added.
  33237. (Ewk_Color_Picker):
  33238. (Ewk_Color_Picker::create):
  33239. * UIProcess/API/efl/ewk_view.cpp:
  33240. * UIProcess/API/efl/ewk_view.h:
  33241. * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp: Added.
  33242. (onColorPickerDone):
  33243. (setColorPickerColor):
  33244. (showColorPicker):
  33245. (hideColorPicker):
  33246. (hideColorPickerByRemovingElement):
  33247. (TEST_F):
  33248. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  33249. * UIProcess/efl/PageUIClientEfl.cpp:
  33250. (WebKit::PageUIClientEfl::showColorPicker):
  33251. 2012-10-26 Sheriff Bot <webkit.review.bot@gmail.com>
  33252. Unreviewed, rolling out r132601.
  33253. http://trac.webkit.org/changeset/132601
  33254. https://bugs.webkit.org/show_bug.cgi?id=100494
  33255. It broke the Qt build (Requested by Ossy on #webkit).
  33256. * UIProcess/API/efl/ewk_view.cpp:
  33257. (_ewk_view_initialize):
  33258. 2012-10-26 Regina Chung <heejin.r.chung@samsung.com>
  33259. [EFL][WK2] Enable WebGL
  33260. https://bugs.webkit.org/show_bug.cgi?id=97652
  33261. Reviewed by Gyuyoung Kim.
  33262. Set WebGLEnabled to true when WebGL is enabled.
  33263. * UIProcess/API/efl/ewk_view.cpp:
  33264. (_ewk_view_initialize):
  33265. 2012-10-26 Thiago Marcos P. Santos <thiago.santos@intel.com>
  33266. Add feature flags for CSS Device Adaptation
  33267. https://bugs.webkit.org/show_bug.cgi?id=95960
  33268. Reviewed by Kenneth Rohde Christiansen.
  33269. * Configurations/FeatureDefines.xcconfig:
  33270. 2012-10-26 Christophe Dumez <christophe.dumez@intel.com>
  33271. [EFL][WK2] Move input method code out of EwkViewImpl
  33272. https://bugs.webkit.org/show_bug.cgi?id=100468
  33273. Reviewed by Kenneth Rohde Christiansen.
  33274. Move input method code out of EwkViewImpl and into
  33275. a new InputMethodContextEfl class to avoid cluttering
  33276. the view code.
  33277. * PlatformEfl.cmake:
  33278. * UIProcess/API/efl/EwkViewImpl.cpp:
  33279. (EwkViewImpl::EwkViewImpl):
  33280. (EwkViewImpl::inputMethodContext):
  33281. * UIProcess/API/efl/EwkViewImpl.h:
  33282. (WebKit):
  33283. (EwkViewImpl):
  33284. * UIProcess/API/efl/ewk_view.cpp:
  33285. (_ewk_view_smart_mouse_up):
  33286. (_ewk_view_smart_key_down):
  33287. * UIProcess/efl/InputMethodContextEfl.cpp: Added.
  33288. (WebKit):
  33289. (WebKit::InputMethodContextEfl::InputMethodContextEfl):
  33290. (WebKit::InputMethodContextEfl::~InputMethodContextEfl):
  33291. (WebKit::InputMethodContextEfl::onIMFInputSequenceComplete):
  33292. (WebKit::InputMethodContextEfl::onIMFPreeditSequenceChanged):
  33293. (WebKit::InputMethodContextEfl::createIMFContext):
  33294. (WebKit::InputMethodContextEfl::handleMouseUpEvent):
  33295. (WebKit::InputMethodContextEfl::handleKeyDownEvent):
  33296. (WebKit::InputMethodContextEfl::updateTextInputState):
  33297. * UIProcess/efl/InputMethodContextEfl.h: Added.
  33298. (WebKit):
  33299. (InputMethodContextEfl):
  33300. (WebKit::InputMethodContextEfl::create):
  33301. * UIProcess/efl/PageClientImpl.cpp:
  33302. (WebKit::PageClientImpl::updateTextInputState):
  33303. 2012-10-26 Jaehun Lim <ljaehun.lim@samsung.com>
  33304. Implement {get,set}FloatValueForKey
  33305. https://bugs.webkit.org/show_bug.cgi?id=100452
  33306. Reviewed by Anders Carlsson.
  33307. Implement missing functions in WebPreferencesStore.
  33308. * Shared/WebPreferencesStore.cpp:
  33309. (WebKit::WebPreferencesStore::setFloatValueForKey):
  33310. (WebKit):
  33311. (WebKit::WebPreferencesStore::getFloatValueForKey):
  33312. 2012-10-25 Byungwoo Lee <bw80.lee@samsung.com>
  33313. [WK2] Use per destination ID message receivers for DownloadProxy.
  33314. https://bugs.webkit.org/show_bug.cgi?id=100342
  33315. Reviewed by Anders Carlsson.
  33316. Per destination ID message receivers were proposed in r132386.
  33317. IPC messages of DownloadProxy use download ID for destination ID,
  33318. so the messages should be handled by the messsage receiver that was
  33319. newly proposed.
  33320. * UIProcess/WebContext.cpp:
  33321. (WebKit::WebContext::WebContext):
  33322. (WebKit::WebContext::createDownloadProxy):
  33323. (WebKit::WebContext::downloadFinished):
  33324. (WebKit::WebContext::addMessageReceiver):
  33325. (WebKit):
  33326. (WebKit::WebContext::removeMessageReceiver):
  33327. * UIProcess/WebContext.h:
  33328. (WebContext):
  33329. 2012-10-25 Christophe Dumez <christophe.dumez@intel.com>
  33330. [EFL][WK2] Add Ewk_Popup_Menu API
  33331. https://bugs.webkit.org/show_bug.cgi?id=100404
  33332. Reviewed by Kenneth Rohde Christiansen.
  33333. Add new Ewk_Popup_Menu API to complete the existing
  33334. Ewk_Popup_Menu_Item one. This way, we can move the
  33335. popup menu code out of Ewk_View.
  33336. * PlatformEfl.cmake:
  33337. * UIProcess/API/efl/EWebKit2.h:
  33338. * UIProcess/API/efl/EwkViewImpl.cpp:
  33339. (EwkViewImpl::EwkViewImpl):
  33340. (EwkViewImpl::~EwkViewImpl):
  33341. (EwkViewImpl::requestPopupMenu):
  33342. (EwkViewImpl::closePopupMenu):
  33343. * UIProcess/API/efl/EwkViewImpl.h:
  33344. (EwkViewImpl):
  33345. * UIProcess/API/efl/ewk_popup_menu.cpp: Added.
  33346. (Ewk_Popup_Menu::Ewk_Popup_Menu):
  33347. (Ewk_Popup_Menu::~Ewk_Popup_Menu):
  33348. (Ewk_Popup_Menu::close):
  33349. (Ewk_Popup_Menu::items):
  33350. (Ewk_Popup_Menu::selectedIndex):
  33351. (Ewk_Popup_Menu::setSelectedIndex):
  33352. (ewk_popup_menu_close):
  33353. (ewk_popup_menu_selected_index_set):
  33354. (ewk_popup_menu_selected_index_get):
  33355. (ewk_popup_menu_items_get):
  33356. * UIProcess/API/efl/ewk_popup_menu.h: Added.
  33357. * UIProcess/API/efl/ewk_popup_menu_private.h: Copied from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp.
  33358. (WebKit):
  33359. (Ewk_Popup_Menu):
  33360. (Ewk_Popup_Menu::create):
  33361. * UIProcess/API/efl/ewk_view.cpp:
  33362. * UIProcess/API/efl/ewk_view.h:
  33363. * UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp: Added.
  33364. (checkBasicPopupMenuItem):
  33365. (selectItemAfterDelayed):
  33366. (showPopupMenu):
  33367. (TEST_F):
  33368. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  33369. * UIProcess/efl/WebPopupMenuProxyEfl.cpp:
  33370. (WebKit::WebPopupMenuProxyEfl::hidePopupMenu):
  33371. 2012-10-25 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  33372. [Qt] Close the IconDatabase before the WebContext gets destroyed
  33373. https://bugs.webkit.org/show_bug.cgi?id=100389
  33374. Reviewed by Alexis Menard.
  33375. The WebContext normally gets destroyed 60 seconds after the last page is
  33376. closed and will take down the WebIconDatabase with itself if nothing
  33377. holds a reference to it at this moment.
  33378. We need to close the IconDatabase explicitely before this happens
  33379. to terminate it cleanly and avoid leaking its thread.
  33380. * UIProcess/qt/QtWebIconDatabaseClient.cpp:
  33381. (WebKit::QtWebIconDatabaseClient::~QtWebIconDatabaseClient):
  33382. 2012-10-25 Dominik Röttsches <dominik.rottsches@intel.com>
  33383. Conditionalize XHR timeout support
  33384. https://bugs.webkit.org/show_bug.cgi?id=100356
  33385. Reviewed by Adam Barth.
  33386. Adding XHR_TIMEOUT feature to conditionalize this on ports without network backend support.
  33387. Defaults to ON on Mac since the Mac NSUrlConnection based backend has setTimeoutInterval support.
  33388. * Configurations/FeatureDefines.xcconfig:
  33389. 2012-10-25 Tim Horton <timothy_horton@apple.com>
  33390. Only full-page PDFPlugins should purport to handle page scale changes
  33391. https://bugs.webkit.org/show_bug.cgi?id=99635
  33392. Reviewed by Sam Weinig.
  33393. PDFPlugin should only handle page scale factor changes itself if it's in the main frame.
  33394. Subframe PDFs will act like images, zooming with the page.
  33395. * WebProcess/Plugins/PDF/PDFPlugin.h:
  33396. (PDFPlugin): Move implementation of handlesPageScaleFactor() to PDFPlugin.mm.
  33397. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  33398. (WebKit::PDFPlugin::pdfDocumentDidLoad): Only copy PDFLayerController's default autoscale magnification to PluginView's
  33399. notion of the current scale factor if we're supposed to be handling page scale factor changes.
  33400. (WebKit::PDFPlugin::geometryDidChange): Only update PDFLayerController's magnification from the page scale factor
  33401. if we're supposed to be handling page scale factor changes.
  33402. (WebKit::PDFPlugin::handlesPageScaleFactor): We should only handle page scale factor changes if we're in the main frame.
  33403. 2012-10-25 Christophe Dumez <christophe.dumez@intel.com>
  33404. [EFL][WK2] Move non-API classes out of UIProcess/API/efl
  33405. https://bugs.webkit.org/show_bug.cgi?id=100391
  33406. Reviewed by Kenneth Rohde Christiansen.
  33407. Move non-API classes from UIProcess/API/efl to
  33408. UIProcess/efl for clarity.
  33409. * PlatformEfl.cmake:
  33410. * UIProcess/efl/BatteryProvider.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/BatteryProvider.cpp.
  33411. (toBatteryProvider):
  33412. (startUpdatingCallback):
  33413. (stopUpdatingCallback):
  33414. (BatteryProvider::~BatteryProvider):
  33415. (BatteryProvider::create):
  33416. (BatteryProvider::BatteryProvider):
  33417. (BatteryProvider::startUpdating):
  33418. (BatteryProvider::stopUpdating):
  33419. (BatteryProvider::didChangeBatteryStatus):
  33420. * UIProcess/efl/BatteryProvider.h: Renamed from Source/WebKit2/UIProcess/API/efl/BatteryProvider.h.
  33421. (WebKit):
  33422. (BatteryProvider):
  33423. * UIProcess/efl/NetworkInfoProvider.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/NetworkInfoProvider.cpp.
  33424. (toNetworkInfoProvider):
  33425. (startUpdatingCallback):
  33426. (stopUpdatingCallback):
  33427. (getBandwidthCallback):
  33428. (isMeteredCallback):
  33429. (NetworkInfoProvider::create):
  33430. (NetworkInfoProvider::NetworkInfoProvider):
  33431. (NetworkInfoProvider::~NetworkInfoProvider):
  33432. (NetworkInfoProvider::bandwidth):
  33433. (NetworkInfoProvider::metered):
  33434. (NetworkInfoProvider::startUpdating):
  33435. (NetworkInfoProvider::stopUpdating):
  33436. * UIProcess/efl/NetworkInfoProvider.h: Renamed from Source/WebKit2/UIProcess/API/efl/NetworkInfoProvider.h.
  33437. (WebKit):
  33438. (NetworkInfoProvider):
  33439. * UIProcess/efl/PageClientImpl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp.
  33440. (WebKit):
  33441. (WebKit::PageClientImpl::PageClientImpl):
  33442. (WebKit::PageClientImpl::~PageClientImpl):
  33443. (WebKit::PageClientImpl::viewImpl):
  33444. (WebKit::PageClientImpl::createDrawingAreaProxy):
  33445. (WebKit::PageClientImpl::setViewNeedsDisplay):
  33446. (WebKit::PageClientImpl::displayView):
  33447. (WebKit::PageClientImpl::scrollView):
  33448. (WebKit::PageClientImpl::viewSize):
  33449. (WebKit::PageClientImpl::isViewWindowActive):
  33450. (WebKit::PageClientImpl::isViewFocused):
  33451. (WebKit::PageClientImpl::isViewVisible):
  33452. (WebKit::PageClientImpl::isViewInWindow):
  33453. (WebKit::PageClientImpl::processDidCrash):
  33454. (WebKit::PageClientImpl::didRelaunchProcess):
  33455. (WebKit::PageClientImpl::pageClosed):
  33456. (WebKit::PageClientImpl::toolTipChanged):
  33457. (WebKit::PageClientImpl::setCursor):
  33458. (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves):
  33459. (WebKit::PageClientImpl::didChangeViewportProperties):
  33460. (WebKit::PageClientImpl::registerEditCommand):
  33461. (WebKit::PageClientImpl::clearAllEditCommands):
  33462. (WebKit::PageClientImpl::canUndoRedo):
  33463. (WebKit::PageClientImpl::executeUndoRedo):
  33464. (WebKit::PageClientImpl::convertToDeviceSpace):
  33465. (WebKit::PageClientImpl::convertToUserSpace):
  33466. (WebKit::PageClientImpl::screenToWindow):
  33467. (WebKit::PageClientImpl::windowToScreen):
  33468. (WebKit::PageClientImpl::doneWithKeyEvent):
  33469. (WebKit::PageClientImpl::doneWithTouchEvent):
  33470. (WebKit::PageClientImpl::createPopupMenuProxy):
  33471. (WebKit::PageClientImpl::createContextMenuProxy):
  33472. (WebKit::PageClientImpl::createColorChooserProxy):
  33473. (WebKit::PageClientImpl::setFindIndicator):
  33474. (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
  33475. (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
  33476. (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
  33477. (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame):
  33478. (WebKit::PageClientImpl::didCommitLoadForMainFrame):
  33479. (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
  33480. (WebKit::PageClientImpl::customRepresentationZoomFactor):
  33481. (WebKit::PageClientImpl::setCustomRepresentationZoomFactor):
  33482. (WebKit::PageClientImpl::flashBackingStoreUpdates):
  33483. (WebKit::PageClientImpl::findStringInCustomRepresentation):
  33484. (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation):
  33485. (WebKit::PageClientImpl::updateTextInputState):
  33486. (WebKit::PageClientImpl::handleDownloadRequest):
  33487. (WebKit::PageClientImpl::pageDidRequestScroll):
  33488. (WebKit::PageClientImpl::didChangeContentsSize):
  33489. (WebKit::PageClientImpl::didRenderFrame):
  33490. (WebKit::PageClientImpl::pageTransitionViewportReady):
  33491. * UIProcess/efl/PageClientImpl.h: Renamed from Source/WebKit2/UIProcess/API/efl/PageClientImpl.h.
  33492. (WebKit):
  33493. (PageClientImpl):
  33494. (WebKit::PageClientImpl::create):
  33495. (WebKit::PageClientImpl::setPageViewportController):
  33496. * UIProcess/efl/PageViewportControllerClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/PageViewportControllerClientEfl.cpp.
  33497. (WebKit):
  33498. (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
  33499. (WebKit::PageViewportControllerClientEfl::~PageViewportControllerClientEfl):
  33500. (WebKit::PageViewportControllerClientEfl::drawingArea):
  33501. (WebKit::PageViewportControllerClientEfl::setRendererActive):
  33502. (WebKit::PageViewportControllerClientEfl::display):
  33503. (WebKit::PageViewportControllerClientEfl::updateViewportSize):
  33504. (WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
  33505. (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
  33506. (WebKit::PageViewportControllerClientEfl::setViewportPosition):
  33507. (WebKit::PageViewportControllerClientEfl::setContentsScale):
  33508. (WebKit::PageViewportControllerClientEfl::didResumeContent):
  33509. (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
  33510. (WebKit::PageViewportControllerClientEfl::didChangeViewportAttributes):
  33511. (WebKit::PageViewportControllerClientEfl::setController):
  33512. * UIProcess/efl/PageViewportControllerClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/PageViewportControllerClientEfl.h.
  33513. (WebKit):
  33514. (PageViewportControllerClientEfl):
  33515. (WebKit::PageViewportControllerClientEfl::create):
  33516. (WebKit::PageViewportControllerClientEfl::viewSize):
  33517. (WebKit::PageViewportControllerClientEfl::scaleFactor):
  33518. (WebKit::PageViewportControllerClientEfl::scrollPosition):
  33519. * UIProcess/efl/VibrationProvider.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/VibrationProvider.cpp.
  33520. (Ewk_Vibration_Client):
  33521. (Ewk_Vibration_Client::Ewk_Vibration_Client):
  33522. (toVibrationProvider):
  33523. (vibrateCallback):
  33524. (cancelVibrationCallback):
  33525. (VibrationProvider::create):
  33526. (VibrationProvider::VibrationProvider):
  33527. (VibrationProvider::~VibrationProvider):
  33528. (VibrationProvider::vibrate):
  33529. (VibrationProvider::cancelVibration):
  33530. (VibrationProvider::setVibrationClientCallbacks):
  33531. * UIProcess/efl/VibrationProvider.h: Renamed from Source/WebKit2/UIProcess/API/efl/VibrationProvider.h.
  33532. (WebKit):
  33533. (VibrationProvider):
  33534. * UIProcess/efl/WebKitTextChecker.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/WebKitTextChecker.cpp.
  33535. (WebKit):
  33536. (WebKit::isContinuousSpellCheckingEnabled):
  33537. (WebKit::setContinuousSpellCheckingEnabled):
  33538. (WebKit::uniqueSpellDocumentTag):
  33539. (WebKit::closeSpellDocumentWithTag):
  33540. (WebKit::checkSpellingOfString):
  33541. (WebKit::guessesForWord):
  33542. (WebKit::learnWord):
  33543. (WebKit::ignoreWord):
  33544. (WebKit::availableSpellCheckingLanguages):
  33545. (WebKit::updateSpellCheckingLanguages):
  33546. (WebKit::loadedSpellCheckingLanguages):
  33547. * UIProcess/efl/WebKitTextChecker.h: Renamed from Source/WebKit2/UIProcess/API/efl/WebKitTextChecker.h.
  33548. (WebKit):
  33549. 2012-10-25 Brady Eidson <beidson@apple.com>
  33550. Allow LoaderStrategy to override the ResourceLoadScheduler
  33551. https://bugs.webkit.org/show_bug.cgi?id=100355
  33552. Reviewed by Anders Carlsson.
  33553. Add a WebKit2 subclass of ResourceLoadScheduler that currently adds no new functionality:
  33554. * WebProcess/Network/WebResourceLoadScheduler.cpp:
  33555. (WebKit::WebResourceLoadScheduler::~WebResourceLoadScheduler):
  33556. * WebProcess/Network/WebResourceLoadScheduler.h:
  33557. WebProcess hangs on to the default shared WebResourceLoadScheduler:
  33558. * WebProcess/WebProcess.h:
  33559. (WebKit::WebProcess::webResourceLoadScheduler):
  33560. If the NetworkProcess is enabled, return the new WebResourceLoadScheduler:
  33561. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  33562. (WebKit::WebPlatformStrategies::resourceLoadScheduler):
  33563. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  33564. * WebKit2.xcodeproj/project.pbxproj:
  33565. 2012-10-25 Christophe Dumez <christophe.dumez@intel.com>
  33566. [EFL][WK2] Remove some C'ism from EwkView
  33567. https://bugs.webkit.org/show_bug.cgi?id=100370
  33568. Reviewed by Kenneth Rohde Christiansen.
  33569. Remove a lot of C'ism from EwkView:
  33570. - Make more members private and add C++ methods to
  33571. EwkViewImpl for the public C API to use
  33572. - Use smart pointers when possible instead of raw
  33573. ones
  33574. - Use C++ naming conventions for callback functions
  33575. and define them as static methods in EwkViewImpl.
  33576. * UIProcess/API/efl/EwkViewImpl.cpp:
  33577. (EwkViewImpl::onIMFInputSequenceComplete):
  33578. (EwkViewImpl::onIMFPreeditSequenceChanged):
  33579. (EwkViewImpl::createIMFContext):
  33580. (EwkViewImpl::EwkViewImpl):
  33581. (EwkViewImpl::~EwkViewImpl):
  33582. (EwkViewImpl::setCursor):
  33583. (EwkViewImpl::setColorPickerColor):
  33584. (EwkViewImpl::isFocused):
  33585. (EwkViewImpl::isVisible):
  33586. (EwkViewImpl::title):
  33587. (EwkViewImpl::inputMethodContext):
  33588. (EwkViewImpl::themePath):
  33589. (EwkViewImpl::setThemePath):
  33590. (EwkViewImpl::customTextEncodingName):
  33591. (EwkViewImpl::setCustomTextEncodingName):
  33592. (EwkViewImpl::setMouseEventsEnabled):
  33593. (EwkViewImpl::setTouchEventsEnabled):
  33594. (EwkViewImpl::informIconChange):
  33595. (EwkViewImpl::requestColorPicker):
  33596. (EwkViewImpl::dismissColorPicker):
  33597. (EwkViewImpl::updateTextInputState):
  33598. (EwkViewImpl::informURLChange):
  33599. (EwkViewImpl::onMouseDown):
  33600. (EwkViewImpl::onMouseUp):
  33601. (EwkViewImpl::onMouseMove):
  33602. (EwkViewImpl::feedTouchEvents):
  33603. (EwkViewImpl::onTouchDown):
  33604. (EwkViewImpl::onTouchUp):
  33605. (EwkViewImpl::onTouchMove):
  33606. * UIProcess/API/efl/EwkViewImpl.h:
  33607. (WebCore):
  33608. (EwkViewImpl::ewkContext):
  33609. (EwkViewImpl::settings):
  33610. (EwkViewImpl):
  33611. (EwkViewImpl::url):
  33612. (EwkViewImpl::faviconURL):
  33613. (EwkViewImpl::mouseEventsEnabled):
  33614. (EwkViewImpl::touchEventsEnabled):
  33615. * UIProcess/API/efl/PageClientImpl.cpp:
  33616. (WebKit::PageClientImpl::isViewFocused):
  33617. (WebKit::PageClientImpl::isViewVisible):
  33618. (WebKit::PageClientImpl::didRelaunchProcess):
  33619. (WebKit::PageClientImpl::handleDownloadRequest):
  33620. * UIProcess/API/efl/ewk_settings_private.h:
  33621. (Ewk_Settings::create):
  33622. (Ewk_Settings::Ewk_Settings):
  33623. (Ewk_Settings):
  33624. * UIProcess/API/efl/ewk_view.cpp:
  33625. (_ewk_view_smart_mouse_up):
  33626. (_ewk_view_smart_key_down):
  33627. (_ewk_view_smart_add):
  33628. (ewk_view_context_get):
  33629. (ewk_view_url_get):
  33630. (ewk_view_icon_url_get):
  33631. (ewk_view_settings_get):
  33632. (ewk_view_title_get):
  33633. (ewk_view_theme_set):
  33634. (ewk_view_theme_get):
  33635. (ewk_view_setting_encoding_custom_get):
  33636. (ewk_view_setting_encoding_custom_set):
  33637. (ewk_view_mouse_events_enabled_set):
  33638. (ewk_view_mouse_events_enabled_get):
  33639. (ewk_view_color_picker_color_set):
  33640. (ewk_view_touch_events_enabled_set):
  33641. (ewk_view_touch_events_enabled_get):
  33642. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  33643. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  33644. 2012-10-25 Anders Carlsson <andersca@apple.com>
  33645. Assertion failure trying to dispatch notification messages
  33646. https://bugs.webkit.org/show_bug.cgi?id=100387
  33647. <rdar://problem/12573195>
  33648. Reviewed by Jessie Berlin.
  33649. Pass a zero destination ID when sending WebNotificationManagerProxy messages; they are not
  33650. used by the UI process and since the WebNotificationManagerProxy message receiver is global
  33651. passing a non-zero destination ID would cause the aforementioned assertion failure.
  33652. * WebProcess/Notifications/WebNotificationManager.cpp:
  33653. (WebKit::WebNotificationManager::cancel):
  33654. (WebKit::WebNotificationManager::clearNotifications):
  33655. (WebKit::WebNotificationManager::didDestroyNotification):
  33656. 2012-10-25 Alexey Proskuryakov <ap@apple.com>
  33657. REGRESSION (r131686): Crashes in NSToolTipManager
  33658. https://bugs.webkit.org/show_bug.cgi?id=99792
  33659. Now that NSToolTip related parts of this change have been rolled out, roll out
  33660. the initial crash fix, too. We have no direct evidence that it's to blame, but it
  33661. doesn't serve any specific purpose any more.
  33662. * UIProcess/API/mac/WKView.mm: (-[WKView viewDidMoveToWindow]):
  33663. 2012-10-25 Christophe Dumez <christophe.dumez@intel.com>
  33664. [EFL][WK2] Memory leak in _ewk_view_preedit_changed()
  33665. https://bugs.webkit.org/show_bug.cgi?id=100380
  33666. Reviewed by Antonio Gomes.
  33667. Fix memory leak in _ewk_view_preedit_changed(). The buffer
  33668. returned by ecore_imf_context_preedit_string_get() is never
  33669. freed.
  33670. * UIProcess/API/efl/EwkViewImpl.cpp:
  33671. (_ewk_view_preedit_changed):
  33672. 2012-10-25 Yael Aharon <yael.aharon@intel.com>
  33673. [EFL][WK2][AC] Regression(132392) infinite loop when displaying certain animations.
  33674. https://bugs.webkit.org/show_bug.cgi?id=100288
  33675. Reviewed by Kenneth Rohde Christiansen.
  33676. When PageClientImpl::setViewNeedsDisplay is called, start a 0 length timer.
  33677. That breaks the synchronous loop we were experiencing when ewk_view_display
  33678. was called directly.
  33679. * UIProcess/API/efl/EwkViewImpl.cpp:
  33680. (EwkViewImpl::EwkViewImpl):
  33681. (EwkViewImpl::displayTimerFired):
  33682. (EwkViewImpl::redrawRegion):
  33683. * UIProcess/API/efl/EwkViewImpl.h:
  33684. (EwkViewImpl):
  33685. 2012-10-25 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  33686. Add setMediaTypeOverride to window.internals.settings
  33687. https://bugs.webkit.org/show_bug.cgi?id=100249
  33688. Reviewed by Kenneth Rohde Christiansen.
  33689. Exported WebCore::Settings::setMediaTypeOverride(WTF::String const&) for WIN port.
  33690. * win/WebKit2.def:
  33691. 2012-10-25 KyungTae Kim <ktf.kim@samsung.com>
  33692. [WK2][EFL] Add ewk_view_pagination_mode_set/get() APIs
  33693. https://bugs.webkit.org/show_bug.cgi?id=100213
  33694. Reviewed by Gyuyoung Kim.
  33695. Add ewk_view_pagination_mode_set/get() APIs for paginated display.
  33696. * UIProcess/API/efl/ewk_view.cpp:
  33697. (ewk_view_pagination_mode_set):
  33698. (ewk_view_pagination_mode_get):
  33699. * UIProcess/API/efl/ewk_view.h:
  33700. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  33701. (TEST_F):
  33702. 2012-10-25 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  33703. [EFL][AC] Fix build break when AC is enabled
  33704. https://bugs.webkit.org/show_bug.cgi?id=100367
  33705. Unreviewed build fix after r132405.
  33706. * UIProcess/API/efl/PageViewportControllerClientEfl.cpp:
  33707. (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
  33708. 2012-10-25 Byungwoo Lee <bw80.lee@samsung.com>
  33709. [EFL][WK2] Add missing namespace.
  33710. https://bugs.webkit.org/show_bug.cgi?id=100251
  33711. Reviewed by Kenneth Rohde Christiansen.
  33712. Add 'WebKit' namespace for BatteryProvider, NetworkInfoProvider and
  33713. VibrationProvider.
  33714. * UIProcess/API/efl/BatteryProvider.h:
  33715. (WebKit):
  33716. * UIProcess/API/efl/NetworkInfoProvider.cpp:
  33717. * UIProcess/API/efl/NetworkInfoProvider.h:
  33718. (WebKit):
  33719. * UIProcess/API/efl/VibrationProvider.cpp:
  33720. * UIProcess/API/efl/VibrationProvider.h:
  33721. (WebKit):
  33722. * UIProcess/API/efl/ewk_context_private.h:
  33723. (WebKit):
  33724. (Ewk_Context):
  33725. 2012-10-25 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  33726. [Qt] Detach WebContext's clients from QtWebContext
  33727. https://bugs.webkit.org/show_bug.cgi?id=100224
  33728. Reviewed by Simon Hausmann.
  33729. The lifetime of WebContext isn't bound to QtWebContext and we wouldn't
  33730. keep a reference to our WebContext and would create a new one if a new
  33731. QQuickWebView/QtWebContext was created after we destroyed our QtWebContext.
  33732. This would cause a new WebContext and a new web process and somehow the
  33733. new WebContext could pick the IPC messages from the old WebProcess
  33734. and this would cause the new download client to receive messages about
  33735. downloads he doesn't know about and crash.
  33736. We assumed in the past that we would need multiple WebContext to allow
  33737. multiple web processes but this assumption doesn't hold anymore with
  33738. the work on ProcessModelMultipleSecondaryProcesses.
  33739. This patch enforces the use of a single WebContext by:
  33740. - Holding a single instance of QtWebIconDatabaseClient and QtDownloadManager
  33741. statically in QtWebContext
  33742. - Removing the context ID from QWebIconImageProvider's URLs
  33743. - Using QtWebContext as a temporary wrapper handle on WebContext to
  33744. initialize the WebContext's clients and allow us creating the first web page
  33745. platformInvalidateContext is used to clean up static global instances
  33746. when the WebContext is getting destroyed.
  33747. * UIProcess/API/qt/qquickwebview.cpp:
  33748. (QQuickWebViewPrivate::handleDownloadRequest):
  33749. * UIProcess/API/qt/qwebiconimageprovider.cpp:
  33750. (QWebIconImageProvider::iconURLForPageURLInContext):
  33751. (QWebIconImageProvider::requestImage):
  33752. * UIProcess/qt/QtWebContext.cpp:
  33753. (WebKit):
  33754. (WebKit::QtWebContext::QtWebContext):
  33755. (WebKit::QtWebContext::~QtWebContext):
  33756. (WebKit::QtWebContext::create):
  33757. (WebKit::QtWebContext::defaultContext):
  33758. (WebKit::QtWebContext::downloadManager):
  33759. (WebKit::QtWebContext::iconDatabase):
  33760. (WebKit::QtWebContext::invalidateContext):
  33761. * UIProcess/qt/QtWebContext.h:
  33762. (QtWebContext):
  33763. * UIProcess/qt/QtWebIconDatabaseClient.cpp:
  33764. (WebKit::QtWebIconDatabaseClient::QtWebIconDatabaseClient):
  33765. * UIProcess/qt/QtWebIconDatabaseClient.h:
  33766. (WebKit):
  33767. (QtWebIconDatabaseClient):
  33768. * UIProcess/qt/WebContextQt.cpp:
  33769. (WebKit::WebContext::platformInvalidateContext):
  33770. 2012-10-25 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  33771. [Qt] Make the context injected bundle client static
  33772. https://bugs.webkit.org/show_bug.cgi?id=100223
  33773. Reviewed by Kenneth Rohde Christiansen.
  33774. It doesn't need any data from QtWebContext.
  33775. * UIProcess/qt/QtWebContext.cpp:
  33776. (WebKit::didReceiveMessageFromInjectedBundle):
  33777. (WebKit):
  33778. (WebKit::initializeContextInjectedBundleClient):
  33779. (WebKit::QtWebContext::defaultContext):
  33780. * UIProcess/qt/QtWebContext.h:
  33781. (QtWebContext):
  33782. 2012-10-25 Christophe Dumez <christophe.dumez@intel.com>
  33783. [EFL][WK2] Get rid of Ewk_View private C API (Part 2)
  33784. https://bugs.webkit.org/show_bug.cgi?id=100331
  33785. Reviewed by Kenneth Rohde Christiansen.
  33786. Convert most of the remaining Ewk_View private C API
  33787. into C++ methods in EwkViewImpl class. Only one private
  33788. C function remains but it will be taken care of in a
  33789. later patch to clean up the view construction code.
  33790. * UIProcess/API/efl/EwkViewImpl.cpp:
  33791. (EwkViewImpl::addToPageViewMap):
  33792. (EwkViewImpl::removeFromPageViewMap):
  33793. (EwkViewImpl::viewFromPageViewMap):
  33794. (EwkViewImpl::fromEvasObject):
  33795. (EwkViewImpl::informLoadFinished):
  33796. (EwkViewImpl::informProvisionalLoadRedirect):
  33797. (EwkViewImpl::informProvisionalLoadStarted):
  33798. (EwkViewImpl::informWebProcessCrashed):
  33799. (EwkViewImpl::informContentsSizeChange):
  33800. (EwkViewImpl::requestPopupMenu):
  33801. (EwkViewImpl::requestJSAlertPopup):
  33802. (EwkViewImpl::requestJSConfirmPopup):
  33803. (EwkViewImpl::requestJSPromptPopup):
  33804. (EwkViewImpl::informDatabaseQuotaReached):
  33805. (EwkViewImpl::updateTextInputState):
  33806. (EwkViewImpl::informURLChange):
  33807. (EwkViewImpl::createNewPage):
  33808. (EwkViewImpl::closePage):
  33809. * UIProcess/API/efl/EwkViewImpl.h:
  33810. (WebKit):
  33811. (EwkViewImpl):
  33812. * UIProcess/API/efl/PageClientImpl.cpp:
  33813. (WebKit::PageClientImpl::processDidCrash):
  33814. (WebKit::PageClientImpl::createPopupMenuProxy):
  33815. (WebKit::PageClientImpl::updateTextInputState):
  33816. (WebKit::PageClientImpl::didChangeContentsSize):
  33817. * UIProcess/API/efl/ewk_view.cpp:
  33818. (_ewk_view_smart_del):
  33819. (_ewk_view_initialize):
  33820. (ewk_view_url_set):
  33821. (ewk_view_reload):
  33822. (ewk_view_reload_bypass_cache):
  33823. (ewk_view_html_string_load):
  33824. * UIProcess/API/efl/ewk_view_private.h:
  33825. * UIProcess/efl/ContextHistoryClientEfl.cpp:
  33826. (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
  33827. (WebKit::ContextHistoryClientEfl::didPerformClientRedirect):
  33828. (WebKit::ContextHistoryClientEfl::didPerformServerRedirect):
  33829. (WebKit::ContextHistoryClientEfl::didUpdateHistoryTitle):
  33830. * UIProcess/efl/FindClientEfl.cpp:
  33831. * UIProcess/efl/FormClientEfl.cpp:
  33832. * UIProcess/efl/PageLoadClientEfl.cpp:
  33833. (WebKit::PageLoadClientEfl::didSameDocumentNavigationForFrame):
  33834. * UIProcess/efl/PageLoadClientEfl.h:
  33835. * UIProcess/efl/PagePolicyClientEfl.cpp:
  33836. * UIProcess/efl/PagePolicyClientEfl.h:
  33837. * UIProcess/efl/PageUIClientEfl.cpp:
  33838. (WebKit::PageUIClientEfl::closePage):
  33839. (WebKit::PageUIClientEfl::createNewPage):
  33840. (WebKit::PageUIClientEfl::runJavaScriptAlert):
  33841. (WebKit::PageUIClientEfl::runJavaScriptConfirm):
  33842. (WebKit::PageUIClientEfl::runJavaScriptPrompt):
  33843. (WebKit::PageUIClientEfl::exceededDatabaseQuota):
  33844. * UIProcess/efl/PageUIClientEfl.h:
  33845. * UIProcess/efl/ResourceLoadClientEfl.h:
  33846. * UIProcess/efl/WebPopupMenuProxyEfl.cpp:
  33847. (WebKit::WebPopupMenuProxyEfl::WebPopupMenuProxyEfl):
  33848. (WebKit::WebPopupMenuProxyEfl::showPopupMenu):
  33849. (WebKit::WebPopupMenuProxyEfl::hidePopupMenu):
  33850. * UIProcess/efl/WebPopupMenuProxyEfl.h:
  33851. (WebKit::WebPopupMenuProxyEfl::create):
  33852. (WebPopupMenuProxyEfl):
  33853. 2012-10-24 Joone Hur <joone.hur@intel.com>
  33854. [EFL][AC] Unreviewed, fix build break when AC is enabled
  33855. Fix build break after r132405.
  33856. * UIProcess/API/efl/EwkViewImpl.cpp:
  33857. (EwkViewImpl::enterAcceleratedCompositingMode):
  33858. * UIProcess/API/efl/PageViewportControllerClientEfl.cpp:
  33859. (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
  33860. (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
  33861. * UIProcess/API/efl/ewk_view.cpp:
  33862. (_ewk_view_smart_calculate):
  33863. 2012-10-24 Anders Carlsson <andersca@apple.com>
  33864. Make it a compile error to send a sync message as async (and vice versa)
  33865. https://bugs.webkit.org/show_bug.cgi?id=100285
  33866. Reviewed by Sam Weinig.
  33867. Add an "isSync" boolean to each generated message struct and add compile asserts to the message senders.
  33868. * Platform/CoreIPC/Connection.h:
  33869. (CoreIPC::Connection::send):
  33870. (CoreIPC::Connection::sendSync):
  33871. * Platform/CoreIPC/MessageSender.h:
  33872. (CoreIPC::MessageSender::send):
  33873. (CoreIPC::MessageSender::sendSync):
  33874. * Scripts/webkit2/messages.py:
  33875. (message_to_struct_declaration):
  33876. * Scripts/webkit2/messages_unittest.py:
  33877. * UIProcess/WebProcessProxy.h:
  33878. (WebKit::WebProcessProxy::send):
  33879. (WebKit::WebProcessProxy::sendSync):
  33880. 2012-10-24 Kiran Muppala <cmuppala@apple.com>
  33881. Disable auto termination of WebKit2 processes on mac
  33882. https://bugs.webkit.org/show_bug.cgi?id=100176
  33883. Reviewed by Alexey Proskuryakov.
  33884. Disable WebKit2 auto termination by taking corresponding assertion
  33885. until UI process is enhanced to determine when it is safe to enable it.
  33886. * NetworkProcess/mac/NetworkProcessMainMac.mm:
  33887. (WebKit::NetworkProcessMain):
  33888. * PluginProcess/mac/PluginProcessMainMac.mm:
  33889. (WebKit::PluginProcessMain):
  33890. * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
  33891. (WebKit::SharedWorkerProcessMain):
  33892. * WebProcess/mac/WebProcessInitialization.mm:
  33893. (WebKit::InitializeWebProcess):
  33894. 2012-10-24 Christophe Dumez <christophe.dumez@intel.com>
  33895. [EFL][WK2] Get rid of Ewk_View private C API (Part 1)
  33896. https://bugs.webkit.org/show_bug.cgi?id=100230
  33897. Reviewed by Kenneth Rohde Christiansen.
  33898. Remove part of the Ewk_View private C API and replace
  33899. it by C++ methods in EwkViewImpl class. Eventually,
  33900. all the private C functions will be removed but it
  33901. will be done in several patches.
  33902. * UIProcess/API/C/efl/WKView.cpp:
  33903. (WKViewGetPage):
  33904. * UIProcess/API/efl/EwkViewImpl.cpp:
  33905. (_ewk_view_commit):
  33906. (_ewk_view_preedit_changed):
  33907. (EwkViewImpl::EwkViewImpl):
  33908. (EwkViewImpl::smartData):
  33909. (EwkViewImpl::fromEvasObject):
  33910. (EwkViewImpl::wkPage):
  33911. (EwkViewImpl::setCursor):
  33912. (EwkViewImpl::redrawRegion):
  33913. (EwkViewImpl::informDownloadJobCancelled):
  33914. (EwkViewImpl::informDownloadJobFailed):
  33915. (EwkViewImpl::informDownloadJobFinished):
  33916. (EwkViewImpl::informDownloadJobRequested):
  33917. (EwkViewImpl::informNewFormSubmissionRequest):
  33918. (EwkViewImpl::enterFullScreen):
  33919. (EwkViewImpl::exitFullScreen):
  33920. (EwkViewImpl::setImageData):
  33921. (EwkViewImpl::informLoadError):
  33922. (EwkViewImpl::informLoadFinished):
  33923. (EwkViewImpl::informLoadProgress):
  33924. (EwkViewImpl::informProvisionalLoadFailed):
  33925. (EwkViewImpl::informLoadCommitted):
  33926. (EwkViewImpl::informProvisionalLoadRedirect):
  33927. (EwkViewImpl::informProvisionalLoadStarted):
  33928. (EwkViewImpl::informNavigationPolicyDecision):
  33929. (EwkViewImpl::informNewWindowPolicyDecision):
  33930. (EwkViewImpl::informResourceLoadStarted):
  33931. (EwkViewImpl::informResourceLoadResponse):
  33932. (EwkViewImpl::informResourceLoadFailed):
  33933. (EwkViewImpl::informResourceLoadFinished):
  33934. (EwkViewImpl::informResourceRequestSent):
  33935. (EwkViewImpl::informTitleChange):
  33936. (EwkViewImpl::informTooltipTextChange):
  33937. (EwkViewImpl::informTextFound):
  33938. (EwkViewImpl::size):
  33939. (EwkViewImpl::informIconChange):
  33940. (EwkViewImpl::informIntentRequest):
  33941. (EwkViewImpl::informIntentServiceRegistration):
  33942. (EwkViewImpl::createGLSurface):
  33943. (EwkViewImpl::enterAcceleratedCompositingMode):
  33944. (EwkViewImpl::exitAcceleratedCompositingMode):
  33945. (EwkViewImpl::requestColorPicker):
  33946. (EwkViewImpl::dismissColorPicker):
  33947. (EwkViewImpl::informBackForwardListChange):
  33948. * UIProcess/API/efl/EwkViewImpl.h:
  33949. (WebCore):
  33950. (EwkViewImpl):
  33951. (EwkViewImpl::view):
  33952. (EwkViewImpl::page):
  33953. * UIProcess/API/efl/PageClientImpl.cpp:
  33954. (WebKit::PageClientImpl::PageClientImpl):
  33955. (WebKit::PageClientImpl::viewImpl):
  33956. (WebKit):
  33957. (WebKit::PageClientImpl::createDrawingAreaProxy):
  33958. (WebKit::PageClientImpl::setViewNeedsDisplay):
  33959. (WebKit::PageClientImpl::viewSize):
  33960. (WebKit::PageClientImpl::isViewFocused):
  33961. (WebKit::PageClientImpl::isViewVisible):
  33962. (WebKit::PageClientImpl::processDidCrash):
  33963. (WebKit::PageClientImpl::didRelaunchProcess):
  33964. (WebKit::PageClientImpl::toolTipChanged):
  33965. (WebKit::PageClientImpl::setCursor):
  33966. (WebKit::PageClientImpl::createPopupMenuProxy):
  33967. (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
  33968. (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
  33969. (WebKit::PageClientImpl::updateTextInputState):
  33970. (WebKit::PageClientImpl::handleDownloadRequest):
  33971. (WebKit::PageClientImpl::didChangeContentsSize):
  33972. * UIProcess/API/efl/PageClientImpl.h:
  33973. (WebKit::PageClientImpl::create):
  33974. (PageClientImpl):
  33975. * UIProcess/API/efl/PageViewportControllerClientEfl.cpp:
  33976. (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
  33977. (WebKit::PageViewportControllerClientEfl::drawingArea):
  33978. (WebKit::PageViewportControllerClientEfl::updateViewportSize):
  33979. (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
  33980. (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
  33981. * UIProcess/API/efl/PageViewportControllerClientEfl.h:
  33982. (WebKit::PageViewportControllerClientEfl::create):
  33983. (PageViewportControllerClientEfl):
  33984. * UIProcess/API/efl/ewk_download_job.cpp:
  33985. (Ewk_Download_Job::Ewk_Download_Job):
  33986. (Ewk_Download_Job::viewImpl):
  33987. * UIProcess/API/efl/ewk_download_job_private.h:
  33988. (Ewk_Download_Job::create):
  33989. (Ewk_Download_Job):
  33990. * UIProcess/API/efl/ewk_view.cpp:
  33991. (pageViewMap):
  33992. (addToPageViewMap):
  33993. (removeFromPageViewMap):
  33994. (_ewk_view_on_favicon_changed):
  33995. (_ewk_view_smart_focus_in):
  33996. (_ewk_view_smart_focus_out):
  33997. (mapToWebContent):
  33998. (_ewk_view_smart_mouse_wheel):
  33999. (_ewk_view_smart_mouse_down):
  34000. (_ewk_view_smart_mouse_up):
  34001. (_ewk_view_smart_mouse_move):
  34002. (_ewk_view_smart_key_down):
  34003. (_ewk_view_smart_key_up):
  34004. (_ewk_view_on_show):
  34005. (_ewk_view_on_hide):
  34006. (_ewk_view_impl_del):
  34007. (_ewk_view_smart_del):
  34008. (_ewk_view_smart_calculate):
  34009. (_ewk_view_smart_color_set):
  34010. (_ewk_view_initialize):
  34011. (_ewk_view_add_with_smart):
  34012. (ewk_view_context_get):
  34013. (ewk_view_url_update):
  34014. (ewk_view_url_set):
  34015. (ewk_view_url_get):
  34016. (ewk_view_icon_url_get):
  34017. (ewk_view_reload):
  34018. (ewk_view_reload_bypass_cache):
  34019. (ewk_view_stop):
  34020. (ewk_view_settings_get):
  34021. (ewk_view_title_get):
  34022. (ewk_view_text_input_state_update):
  34023. (ewk_view_load_progress_get):
  34024. (ewk_view_scale_set):
  34025. (ewk_view_scale_get):
  34026. (ewk_view_device_pixel_ratio_set):
  34027. (ewk_view_device_pixel_ratio_get):
  34028. (ewk_view_theme_set):
  34029. (ewk_view_theme_get):
  34030. (ewk_view_back):
  34031. (ewk_view_forward):
  34032. (ewk_view_intent_deliver):
  34033. (ewk_view_back_possible):
  34034. (ewk_view_forward_possible):
  34035. (ewk_view_back_forward_list_get):
  34036. (ewk_view_html_string_load):
  34037. (ewk_view_setting_encoding_custom_get):
  34038. (ewk_view_setting_encoding_custom_set):
  34039. (ewk_view_page_create):
  34040. (ewk_view_text_find):
  34041. (ewk_view_text_find_highlight_clear):
  34042. (ewk_view_text_matches_count):
  34043. (ewk_view_contents_size_changed):
  34044. (ewk_view_popup_menu_request):
  34045. (ewk_view_popup_menu_close):
  34046. (ewk_view_popup_menu_select):
  34047. (ewk_view_mouse_events_enabled_set):
  34048. (ewk_view_mouse_events_enabled_get):
  34049. (ewk_view_webprocess_crashed):
  34050. (ewk_view_color_picker_color_set):
  34051. (ewk_view_feed_touch_event):
  34052. (ewk_view_touch_events_enabled_set):
  34053. (ewk_view_touch_events_enabled_get):
  34054. (ewk_view_inspector_show):
  34055. (ewk_view_inspector_close):
  34056. * UIProcess/API/efl/ewk_view_private.h:
  34057. * UIProcess/cairo/BackingStoreCairo.cpp:
  34058. (WebKit::BackingStore::incorporateUpdate):
  34059. * UIProcess/efl/DownloadManagerEfl.cpp:
  34060. (WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
  34061. (WebKit::DownloadManagerEfl::didFail):
  34062. (WebKit::DownloadManagerEfl::didCancel):
  34063. (WebKit::DownloadManagerEfl::didFinish):
  34064. (WebKit::DownloadManagerEfl::registerDownload):
  34065. * UIProcess/efl/DownloadManagerEfl.h:
  34066. (DownloadManagerEfl):
  34067. * UIProcess/efl/FindClientEfl.cpp:
  34068. (WebKit::FindClientEfl::didFindString):
  34069. (WebKit::FindClientEfl::didFailToFindString):
  34070. (WebKit::FindClientEfl::FindClientEfl):
  34071. * UIProcess/efl/FindClientEfl.h:
  34072. (WebKit::FindClientEfl::create):
  34073. (FindClientEfl):
  34074. * UIProcess/efl/FormClientEfl.cpp:
  34075. (WebKit::FormClientEfl::willSubmitForm):
  34076. (WebKit::FormClientEfl::FormClientEfl):
  34077. * UIProcess/efl/FormClientEfl.h:
  34078. (WebKit::FormClientEfl::create):
  34079. (FormClientEfl):
  34080. * UIProcess/efl/PageLoadClientEfl.cpp:
  34081. (WebKit::PageLoadClientEfl::didReceiveTitleForFrame):
  34082. (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
  34083. (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
  34084. (WebKit::PageLoadClientEfl::didChangeProgress):
  34085. (WebKit::PageLoadClientEfl::didFinishLoadForFrame):
  34086. (WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
  34087. (WebKit::PageLoadClientEfl::didStartProvisionalLoadForFrame):
  34088. (WebKit::PageLoadClientEfl::didReceiveServerRedirectForProvisionalLoadForFrame):
  34089. (WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
  34090. (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
  34091. (WebKit::PageLoadClientEfl::didChangeBackForwardList):
  34092. (WebKit::PageLoadClientEfl::didSameDocumentNavigationForFrame):
  34093. (WebKit::PageLoadClientEfl::PageLoadClientEfl):
  34094. * UIProcess/efl/PageLoadClientEfl.h:
  34095. (WebKit::PageLoadClientEfl::create):
  34096. (PageLoadClientEfl):
  34097. (WebKit::PageLoadClientEfl::viewImpl):
  34098. * UIProcess/efl/PagePolicyClientEfl.cpp:
  34099. (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
  34100. (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
  34101. (WebKit::PagePolicyClientEfl::PagePolicyClientEfl):
  34102. * UIProcess/efl/PagePolicyClientEfl.h:
  34103. (WebKit::PagePolicyClientEfl::create):
  34104. (PagePolicyClientEfl):
  34105. * UIProcess/efl/PageUIClientEfl.cpp:
  34106. (WebKit::PageUIClientEfl::closePage):
  34107. (WebKit::PageUIClientEfl::createNewPage):
  34108. (WebKit::PageUIClientEfl::runJavaScriptAlert):
  34109. (WebKit::PageUIClientEfl::runJavaScriptConfirm):
  34110. (WebKit::PageUIClientEfl::runJavaScriptPrompt):
  34111. (WebKit::PageUIClientEfl::showColorPicker):
  34112. (WebKit::PageUIClientEfl::hideColorPicker):
  34113. (WebKit::PageUIClientEfl::exceededDatabaseQuota):
  34114. (WebKit::PageUIClientEfl::focus):
  34115. (WebKit::PageUIClientEfl::unfocus):
  34116. (WebKit::PageUIClientEfl::takeFocus):
  34117. (WebKit::PageUIClientEfl::getWindowFrame):
  34118. (WebKit::PageUIClientEfl::setWindowFrame):
  34119. (WebKit::PageUIClientEfl::PageUIClientEfl):
  34120. * UIProcess/efl/PageUIClientEfl.h:
  34121. (WebKit::PageUIClientEfl::create):
  34122. (PageUIClientEfl):
  34123. * UIProcess/efl/ResourceLoadClientEfl.cpp:
  34124. (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
  34125. (WebKit::ResourceLoadClientEfl::didSendRequestForResource):
  34126. (WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
  34127. (WebKit::ResourceLoadClientEfl::didFinishLoadForResource):
  34128. (WebKit::ResourceLoadClientEfl::didFailLoadForResource):
  34129. (WebKit::ResourceLoadClientEfl::ResourceLoadClientEfl):
  34130. (WebKit::ResourceLoadClientEfl::~ResourceLoadClientEfl):
  34131. * UIProcess/efl/ResourceLoadClientEfl.h:
  34132. (WebKit::ResourceLoadClientEfl::create):
  34133. (ResourceLoadClientEfl):
  34134. * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
  34135. (WebKit::WebFullScreenManagerProxy::enterFullScreen):
  34136. (WebKit::WebFullScreenManagerProxy::exitFullScreen):
  34137. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  34138. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  34139. * UIProcess/efl/WebPageProxyEfl.cpp:
  34140. (WebKit::WebPageProxy::viewWidget):
  34141. 2012-10-24 Brady Eidson <beidson@apple.com>
  34142. Add a strategy for loader customization.
  34143. https://bugs.webkit.org/show_bug.cgi?id=100278
  34144. Reviewed by Alexey Proskuryakov.
  34145. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  34146. (WebKit::WebPlatformStrategies::createLoaderStrategy):
  34147. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  34148. (WebPlatformStrategies):
  34149. 2012-10-24 No'am Rosenthal <noam.rosenthal@nokia.com>
  34150. Coordinated Graphics: Enable threaded/IPC animations
  34151. https://bugs.webkit.org/show_bug.cgi?id=93146
  34152. Reviewed by Caio Marcelo de Oliveira Filho.
  34153. In some cases there are pending changes in the layers, but no actual changes to the frame.
  34154. In that case we should unlock the animations.
  34155. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  34156. (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
  34157. 2012-10-24 Noam Rosenthal <noam.rosenthal@nokia.com>
  34158. [Qt-on-Mac] GraphicsSurfaces should not create a global IOSurface handle
  34159. https://bugs.webkit.org/show_bug.cgi?id=89885
  34160. Reviewed by Kenneth Rohde Christiansen.
  34161. Use mach_port instead of global tokens for IOSurfaces.
  34162. Global IOSurfaces are accessible from other processes, while mach_ports can only be shared
  34163. directly via IPC.
  34164. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  34165. (CoreIPC::::encode):
  34166. (CoreIPC::::decode):
  34167. 2012-10-24 Anders Carlsson <andersca@apple.com>
  34168. Add per destination ID message receivers
  34169. https://bugs.webkit.org/show_bug.cgi?id=100276
  34170. Reviewed by Andreas Kling.
  34171. Extend MessageReceiverMap to handle adding message receivers for a given destinationID/receiver name pair.
  34172. Use this to make every WebPage object a message receiver.
  34173. * Platform/CoreIPC/MessageReceiverMap.cpp:
  34174. (CoreIPC::MessageReceiverMap::addMessageReceiver):
  34175. (CoreIPC):
  34176. (CoreIPC::MessageReceiverMap::removeMessageReceiver):
  34177. (CoreIPC::MessageReceiverMap::invalidate):
  34178. (CoreIPC::MessageReceiverMap::dispatchMessage):
  34179. (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
  34180. * Platform/CoreIPC/MessageReceiverMap.h:
  34181. (MessageReceiverMap):
  34182. * WebProcess/WebPage/WebPage.cpp:
  34183. (WebKit::WebPage::WebPage):
  34184. (WebKit::WebPage::~WebPage):
  34185. * WebProcess/WebPage/WebPage.h:
  34186. (WebPage):
  34187. * WebProcess/WebProcess.cpp:
  34188. (WebKit::WebProcess::addMessageReceiver):
  34189. (WebKit):
  34190. (WebKit::WebProcess::removeMessageReceiver):
  34191. (WebKit::WebProcess::didReceiveSyncMessage):
  34192. (WebKit::WebProcess::didReceiveMessage):
  34193. * WebProcess/WebProcess.h:
  34194. (WebProcess):
  34195. 2012-10-24 Timothy Hatcher <timothy@apple.com>
  34196. Make the Inspector WKView/WebView become the first responder when bringToFront is called.
  34197. https://bugs.webkit.org/show_bug.cgi?id=100209
  34198. Reviewed by Joseph Pecoraro.
  34199. * UIProcess/mac/WebInspectorProxyMac.mm:
  34200. (WebKit::WebInspectorProxy::platformBringToFront): Make the Inspector WKView become the first responder.
  34201. 2012-10-23 Alexey Proskuryakov <ap@apple.com>
  34202. Add a strategy for shared workers
  34203. https://bugs.webkit.org/show_bug.cgi?id=100165
  34204. Reviewed by Brady Eidson.
  34205. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  34206. (WebKit::WebPlatformStrategies::createPasteboardStrategy):
  34207. (WebKit::WebPlatformStrategies::createSharedWorkerStrategy):
  34208. (WebKit::WebPlatformStrategies::createVisitedLinkStrategy):
  34209. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  34210. 2012-10-23 Sam Weinig <sam@webkit.org>
  34211. Move a few more WebProcess sub-objects to be MessageReceivers
  34212. https://bugs.webkit.org/show_bug.cgi?id=100186
  34213. Reviewed by Anders Carlsson.
  34214. * WebProcess/Battery/WebBatteryManager.cpp:
  34215. (WebKit::WebBatteryManager::WebBatteryManager):
  34216. * WebProcess/Battery/WebBatteryManager.h:
  34217. (WebBatteryManager):
  34218. * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
  34219. (WebKit::WebIconDatabaseProxy::WebIconDatabaseProxy):
  34220. (WebKit):
  34221. * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
  34222. (WebIconDatabaseProxy):
  34223. * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
  34224. (WebKit::WebNetworkInfoManager::WebNetworkInfoManager):
  34225. * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
  34226. (WebNetworkInfoManager):
  34227. * WebProcess/Notifications/WebNotificationManager.cpp:
  34228. (WebKit::WebNotificationManager::WebNotificationManager):
  34229. * WebProcess/Notifications/WebNotificationManager.h:
  34230. (WebNotificationManager):
  34231. * WebProcess/WebProcess.cpp:
  34232. (WebKit::WebProcess::didReceiveMessage):
  34233. * WebProcess/soup/WebSoupRequestManager.cpp:
  34234. (WebKit::WebSoupRequestManager::WebSoupRequestManager):
  34235. * WebProcess/soup/WebSoupRequestManager.h:
  34236. (WebSoupRequestManager):
  34237. 2012-10-23 Anders Carlsson <andersca@apple.com>
  34238. encode should take an ArgumentEncoder reference
  34239. https://bugs.webkit.org/show_bug.cgi?id=100183
  34240. Reviewed by Jessie Berlin.
  34241. * Platform/CoreIPC/ArgumentCoder.h:
  34242. (CoreIPC::ArgumentCoder::encode):
  34243. * Platform/CoreIPC/Arguments.h:
  34244. (CoreIPC::Arguments0::encode):
  34245. (CoreIPC::Arguments1::encode):
  34246. (CoreIPC::Arguments2::encode):
  34247. (CoreIPC::Arguments3::encode):
  34248. (CoreIPC::Arguments4::encode):
  34249. (CoreIPC::Arguments5::encode):
  34250. (CoreIPC::Arguments6::encode):
  34251. (CoreIPC::Arguments7::encode):
  34252. (CoreIPC::Arguments8::encode):
  34253. (CoreIPC::Arguments10::encode):
  34254. * Platform/CoreIPC/Attachment.cpp:
  34255. (CoreIPC::Attachment::encode):
  34256. * Platform/CoreIPC/Attachment.h:
  34257. (Attachment):
  34258. * Platform/CoreIPC/DataReference.cpp:
  34259. (CoreIPC::DataReference::encode):
  34260. * Platform/CoreIPC/DataReference.h:
  34261. (DataReference):
  34262. * Platform/CoreIPC/StringReference.cpp:
  34263. (CoreIPC::StringReference::encode):
  34264. * Platform/CoreIPC/StringReference.h:
  34265. (StringReference):
  34266. * Platform/CoreIPC/mac/MachPort.h:
  34267. (CoreIPC::MachPort::encode):
  34268. * Platform/SharedMemory.h:
  34269. (Handle):
  34270. * Platform/mac/SharedMemoryMac.cpp:
  34271. (WebKit::SharedMemory::Handle::encode):
  34272. * PluginProcess/PluginCreationParameters.cpp:
  34273. (WebKit::PluginCreationParameters::encode):
  34274. * PluginProcess/PluginCreationParameters.h:
  34275. (PluginCreationParameters):
  34276. * Shared/DictionaryPopupInfo.cpp:
  34277. (WebKit::DictionaryPopupInfo::encode):
  34278. * Shared/DictionaryPopupInfo.h:
  34279. (DictionaryPopupInfo):
  34280. * Shared/EditorState.cpp:
  34281. (WebKit::EditorState::encode):
  34282. * Shared/EditorState.h:
  34283. (EditorState):
  34284. * Shared/FontInfo.cpp:
  34285. (WebKit::FontInfo::encode):
  34286. * Shared/FontInfo.h:
  34287. (FontInfo):
  34288. * Shared/LayerTreeContext.h:
  34289. (LayerTreeContext):
  34290. * Shared/Network/NetworkProcessCreationParameters.cpp:
  34291. (WebKit::NetworkProcessCreationParameters::encode):
  34292. * Shared/Network/NetworkProcessCreationParameters.h:
  34293. (NetworkProcessCreationParameters):
  34294. * Shared/OriginAndDatabases.cpp:
  34295. (WebKit::OriginAndDatabases::encode):
  34296. * Shared/OriginAndDatabases.h:
  34297. (OriginAndDatabases):
  34298. * Shared/PlatformPopupMenuData.cpp:
  34299. (WebKit::PlatformPopupMenuData::encode):
  34300. * Shared/PlatformPopupMenuData.h:
  34301. (PlatformPopupMenuData):
  34302. * Shared/Plugins/NPIdentifierData.cpp:
  34303. (WebKit::NPIdentifierData::encode):
  34304. * Shared/Plugins/NPIdentifierData.h:
  34305. (NPIdentifierData):
  34306. * Shared/Plugins/NPVariantData.cpp:
  34307. (WebKit::NPVariantData::encode):
  34308. * Shared/Plugins/NPVariantData.h:
  34309. (NPVariantData):
  34310. * Shared/Plugins/PluginProcessCreationParameters.cpp:
  34311. (WebKit::PluginProcessCreationParameters::encode):
  34312. * Shared/Plugins/PluginProcessCreationParameters.h:
  34313. (PluginProcessCreationParameters):
  34314. * Shared/PrintInfo.cpp:
  34315. (WebKit::PrintInfo::encode):
  34316. * Shared/PrintInfo.h:
  34317. (PrintInfo):
  34318. * Shared/SandboxExtension.h:
  34319. (Handle):
  34320. (HandleArray):
  34321. * Shared/SecurityOriginData.cpp:
  34322. (WebKit::SecurityOriginData::encode):
  34323. * Shared/SecurityOriginData.h:
  34324. (SecurityOriginData):
  34325. * Shared/SessionState.cpp:
  34326. (WebKit::SessionState::encode):
  34327. * Shared/SessionState.h:
  34328. (SessionState):
  34329. * Shared/ShareableBitmap.cpp:
  34330. (WebKit::ShareableBitmap::Handle::encode):
  34331. * Shared/ShareableBitmap.h:
  34332. (Handle):
  34333. * Shared/SharedWorkerProcessCreationParameters.cpp:
  34334. (WebKit::SharedWorkerProcessCreationParameters::encode):
  34335. * Shared/SharedWorkerProcessCreationParameters.h:
  34336. (SharedWorkerProcessCreationParameters):
  34337. * Shared/StatisticsData.cpp:
  34338. (WebKit::StatisticsData::encode):
  34339. * Shared/StatisticsData.h:
  34340. (StatisticsData):
  34341. * Shared/StringPairVector.h:
  34342. (WebKit::StringPairVector::encode):
  34343. * Shared/UpdateInfo.cpp:
  34344. (WebKit::UpdateInfo::encode):
  34345. * Shared/UpdateInfo.h:
  34346. (UpdateInfo):
  34347. * Shared/UserMessageCoders.h:
  34348. (WebKit::UserMessageEncoder::baseEncode):
  34349. * Shared/WebContextMenuItemData.cpp:
  34350. (WebKit::WebContextMenuItemData::encode):
  34351. * Shared/WebContextMenuItemData.h:
  34352. (WebContextMenuItemData):
  34353. * Shared/WebEvent.cpp:
  34354. (WebKit::WebEvent::encode):
  34355. * Shared/WebEvent.h:
  34356. (WebEvent):
  34357. (WebMouseEvent):
  34358. (WebWheelEvent):
  34359. (WebKeyboardEvent):
  34360. (WebGestureEvent):
  34361. (WebPlatformTouchPoint):
  34362. (WebTouchEvent):
  34363. * Shared/WebGeolocationPosition.cpp:
  34364. (WebKit::WebGeolocationPosition::Data::encode):
  34365. * Shared/WebGeolocationPosition.h:
  34366. (Data):
  34367. * Shared/WebGestureEvent.cpp:
  34368. (WebKit::WebGestureEvent::encode):
  34369. * Shared/WebHitTestResult.cpp:
  34370. (WebKit::WebHitTestResult::Data::encode):
  34371. * Shared/WebHitTestResult.h:
  34372. (Data):
  34373. * Shared/WebKeyboardEvent.cpp:
  34374. (WebKit::WebKeyboardEvent::encode):
  34375. * Shared/WebMouseEvent.cpp:
  34376. (WebKit::WebMouseEvent::encode):
  34377. * Shared/WebNavigationDataStore.h:
  34378. (WebKit::WebNavigationDataStore::encode):
  34379. * Shared/WebPageCreationParameters.cpp:
  34380. (WebKit::WebPageCreationParameters::encode):
  34381. * Shared/WebPageCreationParameters.h:
  34382. (WebPageCreationParameters):
  34383. * Shared/WebPageGroupData.cpp:
  34384. (WebKit::WebPageGroupData::encode):
  34385. * Shared/WebPageGroupData.h:
  34386. (WebPageGroupData):
  34387. * Shared/WebPopupItem.cpp:
  34388. (WebKit::WebPopupItem::encode):
  34389. * Shared/WebPopupItem.h:
  34390. * Shared/WebPreferencesStore.cpp:
  34391. (WebKit::WebPreferencesStore::encode):
  34392. * Shared/WebPreferencesStore.h:
  34393. (WebPreferencesStore):
  34394. * Shared/WebProcessCreationParameters.cpp:
  34395. (WebKit::WebProcessCreationParameters::encode):
  34396. * Shared/WebProcessCreationParameters.h:
  34397. (WebProcessCreationParameters):
  34398. * Shared/WebWheelEvent.cpp:
  34399. (WebKit::WebWheelEvent::encode):
  34400. * Shared/mac/AttributedString.h:
  34401. (AttributedString):
  34402. * Shared/mac/AttributedString.mm:
  34403. (WebKit::AttributedString::encode):
  34404. * Shared/mac/ColorSpaceData.h:
  34405. (ColorSpaceData):
  34406. * Shared/mac/ColorSpaceData.mm:
  34407. (WebKit::ColorSpaceData::encode):
  34408. * Shared/mac/LayerTreeContextMac.mm:
  34409. (WebKit::LayerTreeContext::encode):
  34410. * Shared/mac/PlatformCertificateInfo.h:
  34411. (PlatformCertificateInfo):
  34412. * Shared/mac/PlatformCertificateInfo.mm:
  34413. (WebKit::PlatformCertificateInfo::encode):
  34414. * Shared/mac/SandboxExtensionMac.mm:
  34415. (WebKit::SandboxExtension::Handle::encode):
  34416. (WebKit::SandboxExtension::HandleArray::encode):
  34417. * Shared/mac/SecItemRequestData.cpp:
  34418. (WebKit::SecItemRequestData::encode):
  34419. * Shared/mac/SecItemRequestData.h:
  34420. * Shared/mac/SecItemResponseData.cpp:
  34421. (WebKit::SecItemResponseData::encode):
  34422. * Shared/mac/SecItemResponseData.h:
  34423. (SecItemResponseData):
  34424. * Shared/mac/SecKeychainItemRequestData.cpp:
  34425. (WebKit::SecKeychainItemRequestData::encode):
  34426. * Shared/mac/SecKeychainItemRequestData.h:
  34427. * Shared/mac/SecKeychainItemResponseData.cpp:
  34428. (WebKit::SecKeychainItemResponseData::encode):
  34429. * Shared/mac/SecKeychainItemResponseData.h:
  34430. (SecKeychainItemResponseData):
  34431. * UIProcess/WebContextUserMessageCoders.h:
  34432. (WebKit::WebContextUserMessageEncoder::encode):
  34433. * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
  34434. (WebKit::InjectedBundleUserMessageEncoder::encode):
  34435. * WebProcess/Plugins/Plugin.cpp:
  34436. (WebKit::Plugin::Parameters::encode):
  34437. * WebProcess/Plugins/Plugin.h:
  34438. (Parameters):
  34439. 2012-10-24 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  34440. [Qt] Move the QQuickWebViewExperimental pointer to QQuickWebViewPrivate
  34441. https://bugs.webkit.org/show_bug.cgi?id=100253
  34442. Reviewed by Kenneth Rohde Christiansen.
  34443. We'll need to avoid placing data in QQuickWebView to preserve
  34444. its binary compatibility once it's public.
  34445. Also make the QQuickWebViewExperimental constructor private.
  34446. * UIProcess/API/qt/qquickwebview.cpp:
  34447. (QQuickWebViewPrivate::QQuickWebViewPrivate):
  34448. (QQuickWebViewExperimental::QQuickWebViewExperimental):
  34449. (QQuickWebView::QQuickWebView):
  34450. (QQuickWebView::experimental):
  34451. * UIProcess/API/qt/qquickwebview_p.h:
  34452. * UIProcess/API/qt/qquickwebview_p_p.h:
  34453. (QQuickWebViewPrivate):
  34454. 2012-10-24 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  34455. [EFL][WK2] Ewk_Settings refactoring
  34456. https://bugs.webkit.org/show_bug.cgi?id=100233
  34457. Reviewed by Kenneth Rohde Christiansen.
  34458. Ewk_Settings private implementation is now C++ class which allows direct internal
  34459. access to WebKit::WebPreferences.
  34460. * UIProcess/API/efl/EwkViewImpl.cpp:
  34461. (EwkViewImpl::EwkViewImpl):
  34462. * UIProcess/API/efl/ewk_settings.cpp:
  34463. (Ewk_Settings::preferences):
  34464. (ewk_settings_fullscreen_enabled_set):
  34465. (ewk_settings_fullscreen_enabled_get):
  34466. (ewk_settings_javascript_enabled_set):
  34467. (ewk_settings_javascript_enabled_get):
  34468. (ewk_settings_loads_images_automatically_set):
  34469. (ewk_settings_loads_images_automatically_get):
  34470. (ewk_settings_developer_extras_enabled_set):
  34471. (ewk_settings_developer_extras_enabled_get):
  34472. (ewk_settings_file_access_from_file_urls_allowed_set):
  34473. (ewk_settings_file_access_from_file_urls_allowed_get):
  34474. (ewk_settings_frame_flattening_enabled_set):
  34475. (ewk_settings_frame_flattening_enabled_get):
  34476. (ewk_settings_dns_prefetching_enabled_set):
  34477. (ewk_settings_dns_prefetching_enabled_get):
  34478. * UIProcess/API/efl/ewk_settings_private.h:
  34479. (WebKit):
  34480. (Ewk_Settings):
  34481. (Ewk_Settings::Ewk_Settings):
  34482. * UIProcess/API/efl/ewk_view.cpp:
  34483. (_ewk_view_initialize):
  34484. 2012-10-24 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  34485. [EFL][AC] Fix build break when AC is enabled
  34486. https://bugs.webkit.org/show_bug.cgi?id=100245
  34487. Reviewed by Kenneth Rohde Christiansen.
  34488. Fix build break after r132337.
  34489. * UIProcess/API/efl/EwkViewImpl.h:
  34490. * UIProcess/API/efl/ewk_view.cpp:
  34491. 2012-10-24 Thiago Marcos P. Santos <thiago.santos@intel.com>
  34492. [EFL] run-webkit-tests writes garbage on stderr when running on Xvfb
  34493. https://bugs.webkit.org/show_bug.cgi?id=100243
  34494. Reviewed by Kenneth Rohde Christiansen.
  34495. These errors generate noise on the reports and in some cases, like when
  34496. running perf tests, makes the test fail. By using Xext, we can add a
  34497. dummy handler to ignore these errors.
  34498. * PlatformEfl.cmake:
  34499. * WebProcess/efl/WebProcessMainEfl.cpp:
  34500. (dummyExtensionErrorHandler):
  34501. (WebKit::WebProcessMainEfl):
  34502. 2012-10-24 Eric Carlson <eric.carlson@apple.com>
  34503. Allow ports to override text track rendering style
  34504. https://bugs.webkit.org/show_bug.cgi?id=97800
  34505. <rdar://problem/12044964>
  34506. Reviewed by Maciej Stachowiak.
  34507. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
  34508. (InitWebCoreSystemInterface): Initialize new WKSI function pointers.
  34509. 2012-10-24 Allan Sandfeld Jensen <allan.jensen@digia.com>
  34510. [Qt] Expose useful WebCore::Settings
  34511. https://bugs.webkit.org/show_bug.cgi?id=100239
  34512. Reviewed by Kenneth Rohde Christiansen.
  34513. Expose the two settings CaretBrowsingEnabled and NotificationsEnabled.
  34514. * UIProcess/API/qt/qwebpreferences.cpp:
  34515. (QWebPreferencesPrivate::testAttribute):
  34516. (QWebPreferencesPrivate::setAttribute):
  34517. (QWebPreferences::caretBrowsingEnabled):
  34518. (QWebPreferences::setCaretBrowsingEnabled):
  34519. (QWebPreferences::notificationsEnabled):
  34520. (QWebPreferences::setNotificationsEnabled):
  34521. * UIProcess/API/qt/qwebpreferences_p.h:
  34522. * UIProcess/API/qt/qwebpreferences_p_p.h:
  34523. 2012-10-24 Zeno Albisser <zeno@webkit.org>
  34524. Implement GraphicsSurface for Windows.
  34525. https://bugs.webkit.org/show_bug.cgi?id=98147
  34526. Add encode and decode implementation for GraphicsSurfaceToken on Windows.
  34527. Reviewed by Kenneth Rohde Christiansen.
  34528. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  34529. (CoreIPC::::encode):
  34530. (CoreIPC::::decode):
  34531. 2012-10-24 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  34532. [EFL][WK2] ASSERTION FAILED: edje(): could not paint native HTML part due to missing theme
  34533. https://bugs.webkit.org/show_bug.cgi?id=100227
  34534. Reviewed by Kenneth Rohde Christiansen.
  34535. Browser crashes on loading any page due to missing theme after
  34536. the web process has crashed and recovered.
  34537. This patch reset the theme when the web process is recovered to
  34538. avoid a crash.
  34539. * UIProcess/API/efl/PageClientImpl.cpp:
  34540. (WebKit::PageClientImpl::didRelaunchProcess):
  34541. 2012-10-24 Sheriff Bot <webkit.review.bot@gmail.com>
  34542. Unreviewed, rolling out r132333.
  34543. http://trac.webkit.org/changeset/132333
  34544. https://bugs.webkit.org/show_bug.cgi?id=100234
  34545. Crashes many tests on the EFL-WK2 bot. (Requested by rakuco on
  34546. #webkit).
  34547. * Target.pri:
  34548. * UIProcess/WebProcessProxy.cpp:
  34549. (WebKit::WebProcessProxy::updateTextCheckerState):
  34550. 2012-10-24 Christophe Dumez <christophe.dumez@intel.com> and Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  34551. [EFL][WK2] Move Ewk_View_Private_Data out of ewk_view.cpp
  34552. https://bugs.webkit.org/show_bug.cgi?id=100228
  34553. Reviewed by Gyuyoung Kim.
  34554. Move Ewk_View_Private_Data out of ewk_view.cpp and
  34555. rename it to EwkViewImpl. This is a first step towards
  34556. getting rid of C'ism in Ewk_View.
  34557. In a future, we will make EwkViewImpl a proper C++
  34558. class and get rid of the private ewk_view C API so
  34559. that WebKit code interacts with EwkViewImpl instead
  34560. of Evas_Object.
  34561. * PlatformEfl.cmake:
  34562. * UIProcess/API/efl/EwkViewImpl.cpp: Added.
  34563. (_ewk_view_commit):
  34564. (_ewk_view_preedit_changed):
  34565. (_ewk_view_imf_context_destroy):
  34566. (_ewk_view_imf_context_create):
  34567. (EwkViewImpl::EwkViewImpl):
  34568. (EwkViewImpl::~EwkViewImpl):
  34569. * UIProcess/API/efl/EwkViewImpl.h: Added.
  34570. (WebKit):
  34571. (EwkViewImpl):
  34572. * UIProcess/API/efl/ewk_view.cpp:
  34573. (_ewk_view_priv_del):
  34574. (_ewk_view_smart_add):
  34575. * UIProcess/API/efl/ewk_view.h:
  34576. 2012-10-24 Ryuan Choi <ryuan.choi@gmail.com>
  34577. [EFL][WK2] Crash when passing NULL instead of ewk_view instance
  34578. https://bugs.webkit.org/show_bug.cgi?id=100078
  34579. Reviewed by Gyuyoung Kim.
  34580. Although applications should pass valid ewk_view to call ewk_view_XXX,
  34581. ewk_view_XXX should not be crashed.
  34582. * UIProcess/API/efl/ewk_view.cpp:
  34583. Checked null and early exited from EWK_VIEW_TYPE_CHECK if error occured.
  34584. * UIProcess/API/efl/tests/test_ewk2_view.cpp: Added test case.
  34585. (TEST_F):
  34586. 2012-10-24 Christophe Dumez <christophe.dumez@intel.com>
  34587. [EFL][WK2] Make find and form clients C++ classes
  34588. https://bugs.webkit.org/show_bug.cgi?id=100199
  34589. Reviewed by Kenneth Rohde Christiansen.
  34590. Make form and find client C++ classes to move away
  34591. from C'ism in WK2 EFL port. The new classes have been
  34592. moved up to UIProcess/efl instead of UIProcess/API/efl
  34593. since it is not part of the public API.
  34594. * PlatformEfl.cmake:
  34595. * UIProcess/API/efl/ewk_view.cpp:
  34596. (Ewk_View_Private_Data):
  34597. (_ewk_view_initialize):
  34598. * UIProcess/efl/FindClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_find_client.cpp.
  34599. (WebKit):
  34600. (WebKit::toFindClientEfl):
  34601. (WebKit::FindClientEfl::didFindString):
  34602. (WebKit::FindClientEfl::didFailToFindString):
  34603. (WebKit::FindClientEfl::FindClientEfl):
  34604. * UIProcess/efl/FindClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_find_client_private.h.
  34605. (WebKit):
  34606. (FindClientEfl):
  34607. (WebKit::FindClientEfl::create):
  34608. * UIProcess/efl/FormClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_form_client.cpp.
  34609. (WebKit):
  34610. (WebKit::toFormClientEfl):
  34611. (WebKit::FormClientEfl::willSubmitForm):
  34612. (WebKit::FormClientEfl::FormClientEfl):
  34613. * UIProcess/efl/FormClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_form_client_private.h.
  34614. (WebKit):
  34615. (FormClientEfl):
  34616. (WebKit::FormClientEfl::create):
  34617. 2012-10-24 Grzegorz Czajkowski <g.czajkowski@samsung.com>
  34618. [EFL] WebKitTestRunner needs to turn on 'setContinuousSpellCheckingEnabled'
  34619. https://bugs.webkit.org/show_bug.cgi?id=93611
  34620. Reviewed by Hajime Morita.
  34621. When WebKitTestRunner turns on the spelling feature with the resetStateToConsistentValues() method,
  34622. it happens that the WebProcess is still not launched (although it is already created).
  34623. In this case, isValid() method returns false.
  34624. This fix sends a message to the WebProcess messages queue, and the message
  34625. will be handled once the WebProcess is ready.
  34626. * Target.pri:
  34627. Adds missing files to compile spellcheking feature for WebKit2-Qt
  34628. to use WebKit C API from WKTextChecker.h.
  34629. * UIProcess/WebProcessProxy.cpp:
  34630. (WebKit::WebProcessProxy::updateTextCheckerState):
  34631. Uses canSendMessage() method instead of isValid() to check whether the message to
  34632. the WebProcess can be sent.
  34633. 2012-10-24 Yael Aharon <yael.aharon@intel.com>
  34634. [EFL][WK2][AC] Black screen in web inspector window with AC on
  34635. https://bugs.webkit.org/show_bug.cgi?id=100168
  34636. Reviewed by Kenneth Rohde Christiansen.
  34637. When ACCELERATED_COMPOSITING flag is turned on, and using X11,
  34638. pass "opengl_x11" engine name to ecore_evas_new when creating a
  34639. web inspector window. It is guaranteed to be available, because
  34640. we wouldn't be able to create a main window if it wasn't.
  34641. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  34642. 2012-10-24 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  34643. [EFL][WK2] Make History client a C++ class
  34644. https://bugs.webkit.org/show_bug.cgi?id=100104
  34645. Reviewed by Kenneth Rohde Christiansen.
  34646. Created ContextHistoryClientEfl class to encapsulate history client code for EFL.
  34647. * PlatformEfl.cmake:
  34648. * UIProcess/API/efl/ewk_context.cpp:
  34649. (Ewk_Context::Ewk_Context):
  34650. (ewk_context_history_callbacks_set):
  34651. * UIProcess/API/efl/ewk_context_history_client.cpp: Removed.
  34652. * UIProcess/API/efl/ewk_context_history_client_private.h: Removed.
  34653. * UIProcess/API/efl/ewk_context_private.h:
  34654. (WebKit):
  34655. (Ewk_Context):
  34656. * UIProcess/efl/ContextHistoryClientEfl.cpp: Added.
  34657. (WebKit):
  34658. (WebKit::toContextHistoryClientEfl):
  34659. (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
  34660. (WebKit::ContextHistoryClientEfl::didPerformClientRedirect):
  34661. (WebKit::ContextHistoryClientEfl::didPerformServerRedirect):
  34662. (WebKit::ContextHistoryClientEfl::didUpdateHistoryTitle):
  34663. (WebKit::ContextHistoryClientEfl::populateVisitedLinks):
  34664. (WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
  34665. (WebKit::ContextHistoryClientEfl::setCallbacks):
  34666. * UIProcess/efl/ContextHistoryClientEfl.h: Added.
  34667. (WebKit):
  34668. (ContextHistoryClientEfl):
  34669. (WebKit::ContextHistoryClientEfl::create):
  34670. 2012-10-23 Carlos Garcia Campos <cgarcia@igalia.com>
  34671. [GTK] Add API to get the WebKitWebView associated to a WebKitDownload to WebKit2 GTK+
  34672. https://bugs.webkit.org/show_bug.cgi?id=99836
  34673. Reviewed by Martin Robinson.
  34674. Add webkit_download_get_web_view() to get the WebKitWebView that
  34675. initiated the download and webkit_web_view_download_uri() to start
  34676. a new download associated to a WebKitWebView.
  34677. * UIProcess/API/gtk/PageClientImpl.cpp:
  34678. (WebKit::PageClientImpl::handleDownloadRequest): Call
  34679. webkitWebViewBaseHandleDownloadRequest().
  34680. * UIProcess/API/gtk/PageClientImpl.h:
  34681. (PageClientImpl): Add handleDownloadRequest().
  34682. * UIProcess/API/gtk/WebKitDownload.cpp:
  34683. (webkitDownloadSetWebView): Set the WebKitWebView associated to
  34684. the download.
  34685. (webkit_download_get_web_view): Public method to get the
  34686. WebKitWebView associated to the download.
  34687. * UIProcess/API/gtk/WebKitDownload.h:
  34688. * UIProcess/API/gtk/WebKitDownloadPrivate.h:
  34689. * UIProcess/API/gtk/WebKitWebContext.cpp:
  34690. (webkit_web_context_download_uri): Use the new helper
  34691. webkitWebContextStartDownload().
  34692. (webkitWebContextStartDownload): Helper function to start a new
  34693. download that is also used by WebKitWebView.
  34694. * UIProcess/API/gtk/WebKitWebContextPrivate.h:
  34695. * UIProcess/API/gtk/WebKitWebView.cpp:
  34696. (webkitWebViewHandleDownloadRequest): Call
  34697. webkitDownloadSetWebView() to associate the download with the
  34698. WebKitWebView.
  34699. (webkitWebViewConstructed): Set a download request handler.
  34700. (webkit_web_view_download_uri): Public method to start a new
  34701. download associated to the web view.
  34702. * UIProcess/API/gtk/WebKitWebView.h:
  34703. * UIProcess/API/gtk/WebKitWebViewBase.cpp:
  34704. (webkitWebViewBaseSetDownloadRequestHandler): Set a function
  34705. pointer to be called when a new download is request for the web
  34706. view.
  34707. (webkitWebViewBaseHandleDownloadRequest): Call the download
  34708. request handler if any.
  34709. * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  34710. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
  34711. * UIProcess/API/gtk/tests/TestDownloads.cpp:
  34712. (testDownloadLocalFile):
  34713. (testDownloadLocalFileError):
  34714. (testDownloadRemoteFile):
  34715. (testDownloadRemoteFileError):
  34716. (testWebViewDownloadURI):
  34717. (testPolicyResponseDownload):
  34718. (beforeAll):
  34719. * UIProcess/PageClient.h:
  34720. (PageClient):
  34721. * UIProcess/WebPageProxy.cpp:
  34722. (WebKit::WebPageProxy::receivedPolicyDecision):
  34723. (WebKit):
  34724. * UIProcess/WebPageProxy.h:
  34725. (WebPageProxy):
  34726. 2012-10-23 Dan Bernstein <mitz@apple.com>
  34727. WebKit2 part of <rdar://problem/2966974> [mac] Kerning and ligatures are not enabled by default
  34728. https://bugs.webkit.org/show_bug.cgi?id=100188
  34729. Reviewed by Sam Weinig.
  34730. * UIProcess/mac/WebContextMac.mm:
  34731. (WebKit::registerUserDefaultsIfNeeded): Added. Registers a value of YES for the
  34732. WebKitKerningAndLigaturesEnabledByDefault user default if it has not been registered yet.
  34733. (WebKit::WebContext::platformInitializeWebProcess): Added a call to
  34734. registerUserDefaultsIfNeeded, and changed to refer to the defaults key by name.
  34735. 2012-10-23 No'am Rosenthal <noam.rosenthal@nokia.com>
  34736. Coordinated Graphics: Enable threaded/IPC animations
  34737. https://bugs.webkit.org/show_bug.cgi?id=93146
  34738. Unreviewed build fix, some function names changed between review and landing.
  34739. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  34740. (CoreIPC::encodeTimingFunction):
  34741. (CoreIPC::decodeTimingFunction):
  34742. (CoreIPC::::encode):
  34743. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
  34744. (WebCore):
  34745. 2012-10-23 Sam Weinig <sam@webkit.org>
  34746. Stop using NSHomeDirectory() to get the home directory, it doesn't always return what we want
  34747. https://bugs.webkit.org/show_bug.cgi?id=100180
  34748. Reviewed by Anders Carlsson.
  34749. NSHomeDirectory() doesn't return the real home directory if the host process
  34750. is App Sandboxed, so drop down and use getpwuid_r instead.
  34751. * WebProcess/mac/WebProcessMac.mm:
  34752. (WebKit::appendReadwriteSandboxDirectory):
  34753. There is no reason anymore to try to create the directory.
  34754. (WebKit::WebProcess::initializeSandbox):
  34755. Switch to getpwuid_r.
  34756. 2012-10-23 Martin Robinson <mrobinson@igalia.com>
  34757. [GTK][Soup] Implement the default authentication dialog via WebCoreSupport
  34758. https://bugs.webkit.org/show_bug.cgi?id=99351
  34759. Reviewed by Carlos Garcia Campos.
  34760. Instead of using a custom SoupSessionFeature to show the authentication
  34761. dialog, show it using the corresponding WebCore message.
  34762. * GNUmakefile.list.am: Removed the SoupSessionFeature files.
  34763. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  34764. (WebKit): Only use the default dispatchDidReceiveAuthenticationChallenge
  34765. for non-GTK+ ports.
  34766. * WebProcess/WebCoreSupport/gtk/WebFrameLoaderClientGtk.cpp: Added.
  34767. (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): Added
  34768. a GTK+-specific implementation that shows the GtkAuthenticationDialog.
  34769. * WebProcess/gtk/WebAuthDialog.cpp: Removed.
  34770. * WebProcess/gtk/WebAuthDialog.h: Removed.
  34771. * WebProcess/gtk/WebProcessMainGtk.cpp:
  34772. (WebKit::WebProcessMainGtk): Don't install the custom session feature.
  34773. 2012-10-23 Anders Carlsson <andersca@apple.com>
  34774. Remove deprecatedSend
  34775. https://bugs.webkit.org/show_bug.cgi?id=100127
  34776. Reviewed by Andreas Kling.
  34777. deprecatedSend is no longer used anywhere, remove it.
  34778. * Platform/CoreIPC/Connection.h:
  34779. (Connection):
  34780. * UIProcess/WebProcessProxy.h:
  34781. (WebProcessProxy):
  34782. 2012-10-23 Andy Estes <aestes@apple.com>
  34783. [WebKit2 API] Add properties to get textRects from a WKDOMRange or WKDOMNode
  34784. https://bugs.webkit.org/show_bug.cgi?id=100162
  34785. Reviewed by Sam Weinig.
  34786. * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
  34787. * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
  34788. (WebKit::toNSArray): Added a helper function to convert a Vector of IntRects to an NSArray.
  34789. * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
  34790. * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
  34791. (-[WKDOMNode textRects]):
  34792. * WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
  34793. * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
  34794. (-[WKDOMRange textRects]):
  34795. 2012-10-23 No'am Rosenthal <noam.rosenthal@nokia.com>
  34796. Coordinated Graphics: Enable threaded/IPC animations
  34797. https://bugs.webkit.org/show_bug.cgi?id=93146
  34798. Reviewed by Kenneth Rohde Christiansen.
  34799. Re-enable UI-process animations for Coordinated-Graphics/TextureMapper.
  34800. - Added an argument coder for GraphicsLayerAnimations.
  34801. - Allow LayerTreeCoordinator to manage the animations per layer with the proxy,
  34802. as opposed to applying the animation values in the web process as before.
  34803. - LayerTreeRenderer now calls updateViewport() after painting when an animation is active.
  34804. To overcome the problem we've had in the past with synchronizing UI-side and web-side
  34805. animations, we now lock the animations in the UI process when a frame starts rendering,
  34806. and unlock it when the frame finishes rendering, or if after the layout there is no visible
  34807. changes pending on the screen.
  34808. * Scripts/webkit2/messages.py:
  34809. (headers_for_type):
  34810. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  34811. (CoreIPC):
  34812. (CoreIPC::encodeTimingFunction):
  34813. (CoreIPC::decodeTimingFunction):
  34814. (CoreIPC::::encode):
  34815. (CoreIPC::::decode):
  34816. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
  34817. (WebCore):
  34818. Added argument coders for GraphicsLayerAnimations.
  34819. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  34820. (WebKit::LayerTreeCoordinatorProxy::setLayerAnimations):
  34821. (WebKit::LayerTreeCoordinatorProxy::setAnimationsLocked):
  34822. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  34823. (LayerTreeCoordinatorProxy):
  34824. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  34825. Added an option to sync the layer's animations, and also to lock/unlock animations.
  34826. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  34827. (WebKit::LayerTreeRenderer::LayerTreeRenderer):
  34828. (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
  34829. Sync animations if they're not locked, and call updateViewport() if we have animations.
  34830. (WebKit::LayerTreeRenderer::flushLayerChanges):
  34831. (WebKit::LayerTreeRenderer::setLayerAnimations):
  34832. (WebKit::LayerTreeRenderer::setAnimationsLocked):
  34833. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  34834. (LayerTreeRenderer):
  34835. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  34836. (WebCore::CoordinatedGraphicsLayer::didChangeAnimations):
  34837. (WebCore::CoordinatedGraphicsLayer::setShouldUpdateVisibleRect):
  34838. (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
  34839. (WebCore::CoordinatedGraphicsLayer::syncLayerState):
  34840. (WebCore::CoordinatedGraphicsLayer::syncAnimations):
  34841. (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
  34842. (WebCore::CoordinatedGraphicsLayer::addAnimation):
  34843. (WebCore::CoordinatedGraphicsLayer::pauseAnimation):
  34844. (WebCore::CoordinatedGraphicsLayer::removeAnimation):
  34845. (WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):
  34846. (WebCore):
  34847. Pass the animation info to the UI process instead of applying it in the web process.
  34848. (WebCore::CoordinatedGraphicsLayer::hasPendingVisibleChanges):
  34849. Compute whether a layer tree might have sync issues or flickers if rendered while
  34850. background animations are ongoing.
  34851. (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
  34852. (WebCore::CoordinatedGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):
  34853. Don't allow progressive tiling for layers with animations.
  34854. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  34855. (WebCore):
  34856. (CoordinatedGraphicsLayerClient):
  34857. (CoordinatedGraphicsLayer):
  34858. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  34859. (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
  34860. (WebKit::LayerTreeCoordinator::lockAnimations):
  34861. (WebKit):
  34862. (WebKit::LayerTreeCoordinator::unlockAnimations):
  34863. (WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
  34864. (WebKit::LayerTreeCoordinator::setLayerAnimations):
  34865. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  34866. (LayerTreeCoordinator):
  34867. 2012-10-23 Allan Sandfeld Jensen <allan.jensen@digia.com>
  34868. [Qt][WK2] Add preference for enabling scroll animators
  34869. https://bugs.webkit.org/show_bug.cgi?id=100124
  34870. Reviewed by Jocelyn Turcotte.
  34871. Expose the ScollAnimatorEnabled setting in QWebPreferences.
  34872. * UIProcess/API/qt/qwebpreferences.cpp:
  34873. (QWebPreferencesPrivate::testAttribute):
  34874. (QWebPreferencesPrivate::setAttribute):
  34875. (QWebPreferences::scrollAnimatorEnabled):
  34876. (QWebPreferences::setScrollAnimatorEnabled):
  34877. * UIProcess/API/qt/qwebpreferences_p.h:
  34878. * UIProcess/API/qt/qwebpreferences_p_p.h:
  34879. 2012-10-23 Yael Aharon <yael.aharon@intel.com>
  34880. [EFL][WK2] Use the port independent PageViewportController
  34881. https://bugs.webkit.org/show_bug.cgi?id=99850
  34882. Reviewed by Kenneth Rohde Christiansen.
  34883. Take PageViewportController into use, and rely on it to calculate
  34884. scroll position and zoom level.
  34885. With this patch, we can do intra page navigation and use the scrollwheel
  34886. to scroll, when WTF_USE_TILED_BACKING_STORE and all related flags are enabled.
  34887. * CMakeLists.txt:
  34888. * UIProcess/API/efl/PageClientImpl.cpp:
  34889. (WebKit::PageClientImpl::didChangeViewportProperties):
  34890. (WebKit::PageClientImpl::pageDidRequestScroll):
  34891. (WebKit::PageClientImpl::didChangeContentsSize):
  34892. (WebKit):
  34893. (WebKit::PageClientImpl::didRenderFrame):
  34894. (WebKit::PageClientImpl::pageTransitionViewportReady):
  34895. * UIProcess/API/efl/PageClientImpl.h:
  34896. (WebKit):
  34897. (PageClientImpl):
  34898. (WebKit::PageClientImpl::setPageViewportController):
  34899. * UIProcess/API/efl/PageViewportControllerClientEfl.cpp:
  34900. (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
  34901. (WebKit::PageViewportControllerClientEfl::display):
  34902. (WebKit::PageViewportControllerClientEfl::updateViewportSize):
  34903. (WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
  34904. (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
  34905. (WebKit::PageViewportControllerClientEfl::setViewportPosition):
  34906. (WebKit::PageViewportControllerClientEfl::setContentsScale):
  34907. (WebKit::PageViewportControllerClientEfl::didResumeContent):
  34908. (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
  34909. (WebKit::PageViewportControllerClientEfl::setController):
  34910. * UIProcess/API/efl/PageViewportControllerClientEfl.h:
  34911. (WebKit::PageViewportControllerClientEfl::scaleFactor):
  34912. (WebKit::PageViewportControllerClientEfl::scrollPosition):
  34913. (PageViewportControllerClientEfl):
  34914. * UIProcess/API/efl/ewk_view.cpp:
  34915. (Ewk_View_Private_Data):
  34916. (mapToWebContent):
  34917. (_ewk_view_smart_mouse_wheel):
  34918. (_ewk_view_smart_mouse_down):
  34919. (_ewk_view_smart_mouse_up):
  34920. (_ewk_view_smart_mouse_move):
  34921. (_ewk_view_initialize):
  34922. (ewk_view_load_committed):
  34923. (ewk_view_feed_touch_event):
  34924. * UIProcess/API/efl/ewk_view_private.h:
  34925. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  34926. (WebKit::LayerTreeCoordinatorProxy::didRenderFrame):
  34927. * UIProcess/PageClient.h:
  34928. (PageClient):
  34929. * UIProcess/PageViewportController.cpp:
  34930. * UIProcess/PageViewportController.h:
  34931. * UIProcess/WebPageProxy.cpp:
  34932. (WebKit):
  34933. (WebKit::WebPageProxy::pageTransitionViewportReady):
  34934. (WebKit::WebPageProxy::didRenderFrame):
  34935. * UIProcess/WebPageProxy.h:
  34936. (WebPageProxy):
  34937. * UIProcess/WebPageProxy.messages.in:
  34938. * UIProcess/efl/PageLoadClientEfl.cpp:
  34939. (WebKit):
  34940. (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
  34941. (WebKit::PageLoadClientEfl::PageLoadClientEfl):
  34942. * UIProcess/efl/PageLoadClientEfl.h:
  34943. (PageLoadClientEfl):
  34944. * UIProcess/qt/WebPageProxyQt.cpp:
  34945. (WebKit):
  34946. (WebKit::WebPageProxy::setUserScripts):
  34947. * WebProcess/WebPage/WebPage.cpp:
  34948. (WebKit::WebPage::didCompletePageTransition):
  34949. 2012-10-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
  34950. Add support for resolution media query
  34951. https://bugs.webkit.org/show_bug.cgi?id=99077
  34952. Reviewed by Antti Koivisto.
  34953. * win/WebKit2.def:
  34954. Add exports for the WebCore::Settings setting.
  34955. * Configurations/FeatureDefines.xcconfig:
  34956. Add support for the RESOLUTION_MEDIA_QUERY feature flag.
  34957. 2012-10-23 Allan Sandfeld Jensen <allan.jensen@digia.com>
  34958. [Qt] Port QWebPreferences to C++
  34959. https://bugs.webkit.org/show_bug.cgi?id=100121
  34960. Reviewed by Kenneth Rohde Christiansen.
  34961. Port all the WebPreference calls to using the direct API instead of going through
  34962. the auto-generated C API.
  34963. * UIProcess/API/qt/qwebpreferences.cpp:
  34964. (QWebPreferencesPrivate::testAttribute):
  34965. (QWebPreferencesPrivate::setAttribute):
  34966. (QWebPreferencesPrivate::setFontFamily):
  34967. (QWebPreferencesPrivate::fontFamily):
  34968. (QWebPreferencesPrivate::setFontSize):
  34969. (QWebPreferencesPrivate::fontSize):
  34970. (QWebPreferencesPrivate::preferences):
  34971. * UIProcess/API/qt/qwebpreferences_p_p.h:
  34972. 2012-10-23 Eunmi Lee <eunmi15.lee@samsung.com>
  34973. [EFL][WK2] Convert WebEvent's timestamp from millisecond to second.
  34974. https://bugs.webkit.org/show_bug.cgi?id=100101
  34975. Reviewed by Kenneth Rohde Christiansen.
  34976. Convert timestamp to second to create WebEvent from Evas event because
  34977. the unit of timestamp from Evas Event is millisecond, but the unit of
  34978. timestamp for WebEvent is second.
  34979. * Shared/efl/WebEventFactory.cpp:
  34980. (WebKit::convertMillisecondToSecond):
  34981. (WebKit):
  34982. (WebKit::WebEventFactory::createWebMouseEvent):
  34983. (WebKit::WebEventFactory::createWebWheelEvent):
  34984. (WebKit::WebEventFactory::createWebKeyboardEvent):
  34985. 2012-10-23 Christophe Dumez <christophe.dumez@intel.com>
  34986. [EFL][WK2] Make request manager client a C++ class
  34987. https://bugs.webkit.org/show_bug.cgi?id=100093
  34988. Reviewed by Kenneth Rohde Christiansen.
  34989. Make EFL's request manager client a C++ class and
  34990. move URL scheme handling code to it. The new
  34991. RequestManagerClientEfl is now in UIProcess/efl
  34992. instead of UIProcess/API/efl since it is not
  34993. part of the public API.
  34994. * PlatformEfl.cmake:
  34995. * UIProcess/API/efl/ewk_context.cpp:
  34996. (Ewk_Context::Ewk_Context):
  34997. (Ewk_Context::requestManager):
  34998. (ewk_context_url_scheme_register):
  34999. * UIProcess/API/efl/ewk_context_private.h:
  35000. (WebKit):
  35001. (Ewk_Context):
  35002. * UIProcess/efl/RequestManagerClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_context_request_manager_client.cpp.
  35003. (WebKit):
  35004. (Ewk_Url_Scheme_Handler):
  35005. (WebKit::Ewk_Url_Scheme_Handler::Ewk_Url_Scheme_Handler):
  35006. (WebKit::toRequestManagerClientEfl):
  35007. (WebKit::RequestManagerClientEfl::didReceiveURIRequest):
  35008. (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
  35009. (WebKit::RequestManagerClientEfl::~RequestManagerClientEfl):
  35010. (WebKit::RequestManagerClientEfl::registerURLSchemeHandler):
  35011. * UIProcess/efl/RequestManagerClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_context_request_manager_client_private.h.
  35012. (WebKit):
  35013. (RequestManagerClientEfl):
  35014. (WebKit::RequestManagerClientEfl::create):
  35015. 2012-10-23 Alexander Shalamov <alexander.shalamov@intel.com>
  35016. [EFL][WK2] ecore_x should be initialised in WebProcess to avoid re-initialization by PlatformScreenEfl utilities and systemBeep() function
  35017. https://bugs.webkit.org/show_bug.cgi?id=100110
  35018. Reviewed by Kenneth Rohde Christiansen.
  35019. PlatformScreenEfl functions and systemBeep() depend on ecore_x functionality, therefore,
  35020. ecore_x should be initialized when web process starts to avoid re-initialization.
  35021. * WebProcess/efl/WebProcessMainEfl.cpp:
  35022. (WebKit::WebProcessMainEfl): Initialized ecore_x module.
  35023. 2012-10-23 Ryuan Choi <ryuan.choi@samsung.com>
  35024. [EFL][WK2] Add support for IMF composition
  35025. https://bugs.webkit.org/show_bug.cgi?id=89552
  35026. Reviewed by Gyuyoung Kim.
  35027. Implemented basic IMF support.
  35028. * PlatformEfl.cmake:
  35029. * Shared/NativeWebKeyboardEvent.h:
  35030. (NativeWebKeyboardEvent):
  35031. (WebKit::NativeWebKeyboardEvent::isFiltered):
  35032. Added to determine whether current keyboard event is compositing.
  35033. * Shared/efl/NativeWebKeyboardEventEfl.cpp:
  35034. (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
  35035. * UIProcess/API/efl/PageClientImpl.cpp:
  35036. (WebKit::PageClientImpl::updateTextInputState):
  35037. Added to change input state.
  35038. * UIProcess/API/efl/PageClientImpl.h:
  35039. (PageClientImpl):
  35040. * UIProcess/API/efl/ewk_main.cpp:
  35041. (ewk_init): Called ecore_imf_init.
  35042. (ewk_shutdown): Called ecore_imf_shutdown.
  35043. * UIProcess/API/efl/ewk_view.cpp:
  35044. (_Ewk_View_Private_Data):
  35045. (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
  35046. (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
  35047. (_ewk_view_smart_key_down): Modified to send keyboard event to IMF.
  35048. (_ewk_view_smart_mouse_up): Modified to reset input method context.
  35049. (_ewk_view_preedit_changed): Added to send composition string.
  35050. (_ewk_view_commit): Added to send a message that composition is finished.
  35051. (_ewk_view_imf_context_create): Added to create Ecore_IMF_Context.
  35052. (_ewk_view_imf_context_destroy): Added to destroy Ecore_IMF_Context.
  35053. (ewk_view_text_input_state_update): Added to update input state.
  35054. * UIProcess/API/efl/ewk_view_private.h:
  35055. * UIProcess/PageClient.h: Moved updateTextInputState() to share with EFL port.
  35056. (PageClient):
  35057. * UIProcess/WebPageProxy.cpp:
  35058. (WebKit::WebPageProxy::editorStateChanged):
  35059. Added PLATFORM(EFL) to call updateTextInputState()
  35060. * UIProcess/WebPageProxy.h:
  35061. (WebPageProxy):
  35062. * UIProcess/WebPageProxy.messages.in:
  35063. Added HandleInputMethodKeydown message to determine whether keydown is handled.
  35064. * UIProcess/efl/WebPageProxyEfl.cpp:
  35065. (WebKit::WebPageProxy::handleInputMethodKeydown):
  35066. Added to check whether input method handled keydown.
  35067. (WebKit::WebPageProxy::confirmComposition): Added to support composition.
  35068. (WebKit::WebPageProxy::setComposition): Ditto.
  35069. (WebKit::WebPageProxy::cancelComposition): Ditto.
  35070. * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
  35071. (WebKit::WebEditorClient::handleInputMethodKeydown):
  35072. Added to check whether input method handled keydown.
  35073. * WebProcess/WebPage/WebPage.h:
  35074. (WebPage):
  35075. * WebProcess/WebPage/WebPage.messages.in: Added messages to support composition.
  35076. * WebProcess/WebPage/efl/WebPageEfl.cpp:
  35077. (WebKit::targetFrameForEditing): Referenced from QT port to get focused frame.
  35078. (WebKit::WebPage::confirmComposition): Added to support composition.
  35079. (WebKit::WebPage::setComposition): Ditto.
  35080. (WebKit::WebPage::cancelComposition): Ditto.
  35081. 2012-10-23 Jussi Kukkonen <jussi.kukkonen@intel.com>
  35082. [EFL] Make plugin process debugging easier (PLUGIN_PROCESS_COMMAND_PREFIX)
  35083. https://bugs.webkit.org/show_bug.cgi?id=99297
  35084. Reviewed by Kenneth Rohde Christiansen.
  35085. Add support for PLUGIN_PROCESS_COMMAND_PREFIX environment variable, to allow easier
  35086. plugin debugging with e.g.:
  35087. $ PLUGIN_PROCESS_COMMAND_PREFIX="xterm gdb --args" MiniBrowser
  35088. * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
  35089. (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
  35090. (WebKit):
  35091. 2012-10-23 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  35092. [EFL][WK2] Make Policy client a C++ class
  35093. https://bugs.webkit.org/show_bug.cgi?id=100089
  35094. Reviewed by Kenneth Rohde Christiansen.
  35095. Make page policy client a C++ class and remove it from API folder.
  35096. * PlatformEfl.cmake:
  35097. * UIProcess/API/efl/ewk_view.cpp:
  35098. (Ewk_View_Private_Data):
  35099. (_ewk_view_initialize):
  35100. * UIProcess/efl/PagePolicyClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_policy_client.cpp.
  35101. (WebKit):
  35102. (WebKit::toPagePolicyClientEfl):
  35103. (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
  35104. (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
  35105. (WebKit::PagePolicyClientEfl::decidePolicyForResponseCallback):
  35106. (WebKit::PagePolicyClientEfl::PagePolicyClientEfl):
  35107. * UIProcess/efl/PagePolicyClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_policy_client_private.h.
  35108. (WebKit):
  35109. (PagePolicyClientEfl):
  35110. (WebKit::PagePolicyClientEfl::create):
  35111. (WebKit::PagePolicyClientEfl::view):
  35112. 2012-10-23 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  35113. [EFL][WK2] Make UI client a C++ class
  35114. https://bugs.webkit.org/show_bug.cgi?id=100099
  35115. Reviewed by Gyuyoung Kim.
  35116. Made page UI client a C++ class and removed it from API directory.
  35117. * PlatformEfl.cmake:
  35118. * UIProcess/API/efl/ewk_view.cpp:
  35119. (Ewk_View_Private_Data):
  35120. (_ewk_view_initialize):
  35121. * UIProcess/API/efl/ewk_view_ui_client.cpp: Removed.
  35122. * UIProcess/API/efl/ewk_view_ui_client_private.h: Removed.
  35123. * UIProcess/efl/PageUIClientEfl.cpp: Added.
  35124. (WebKit):
  35125. (WebKit::toPageUIClientEfl):
  35126. (WebKit::PageUIClientEfl::closePage):
  35127. (WebKit::PageUIClientEfl::createNewPage):
  35128. (WebKit::PageUIClientEfl::runJavaScriptAlert):
  35129. (WebKit::PageUIClientEfl::runJavaScriptConfirm):
  35130. (WebKit::PageUIClientEfl::runJavaScriptPrompt):
  35131. (WebKit::PageUIClientEfl::showColorPicker):
  35132. (WebKit::PageUIClientEfl::hideColorPicker):
  35133. (WebKit::PageUIClientEfl::exceededDatabaseQuota):
  35134. (WebKit::PageUIClientEfl::focus):
  35135. (WebKit::PageUIClientEfl::unfocus):
  35136. (WebKit::PageUIClientEfl::takeFocus):
  35137. (WebKit::PageUIClientEfl::getWindowFrame):
  35138. (WebKit::PageUIClientEfl::setWindowFrame):
  35139. (WebKit::PageUIClientEfl::PageUIClientEfl):
  35140. * UIProcess/efl/PageUIClientEfl.h: Added.
  35141. (WebKit):
  35142. (PageUIClientEfl):
  35143. (WebKit::PageUIClientEfl::create):
  35144. 2012-10-23 Andreas Kling <kling@webkit.org>
  35145. [WK2] REGRESSION(r132169): It broke all plugin related test.
  35146. <http://webkit.org/b/100094>
  35147. Unreviewed test fix, make the CoreIPC encode/decode functions for CString match again.
  35148. * Platform/CoreIPC/ArgumentCoders.cpp:
  35149. (CoreIPC::::encode):
  35150. 2012-10-23 Christophe Dumez <christophe.dumez@intel.com>
  35151. [EFL][WK2] Make a download client a C++ class
  35152. https://bugs.webkit.org/show_bug.cgi?id=100005
  35153. Reviewed by Kenneth Rohde Christiansen.
  35154. Make EFL's Download client a C++ class and move
  35155. the id <-> download mapping from Ewk_Context to
  35156. DownloadManagerEfl.
  35157. The Download client was also moved to
  35158. UIProcess/efl/ instead of UIProcess/API/efl/
  35159. since it is not part of the public API.
  35160. * PlatformEfl.cmake:
  35161. * UIProcess/API/efl/PageClientImpl.cpp:
  35162. (WebKit::PageClientImpl::handleDownloadRequest):
  35163. * UIProcess/API/efl/ewk_context.cpp:
  35164. (Ewk_Context::Ewk_Context):
  35165. (Ewk_Context::downloadManager):
  35166. * UIProcess/API/efl/ewk_context_download_client_private.h: Removed.
  35167. * UIProcess/API/efl/ewk_context_private.h:
  35168. (Ewk_Context):
  35169. * UIProcess/API/efl/ewk_download_job_private.h:
  35170. * UIProcess/efl/DownloadManagerEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_context_download_client.cpp.
  35171. (WebKit):
  35172. (WebKit::toDownloadManagerEfl):
  35173. (WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
  35174. (WebKit::DownloadManagerEfl::didReceiveResponse):
  35175. (WebKit::DownloadManagerEfl::didCreateDestination):
  35176. (WebKit::DownloadManagerEfl::didReceiveData):
  35177. (WebKit::DownloadManagerEfl::didFail):
  35178. (WebKit::DownloadManagerEfl::didCancel):
  35179. (WebKit::DownloadManagerEfl::didFinish):
  35180. (WebKit::DownloadManagerEfl::DownloadManagerEfl):
  35181. (WebKit::DownloadManagerEfl::registerDownload):
  35182. (WebKit::DownloadManagerEfl::downloadJob):
  35183. (WebKit::DownloadManagerEfl::unregisterDownloadJob):
  35184. * UIProcess/efl/DownloadManagerEfl.h: Added.
  35185. (WebKit):
  35186. (DownloadManagerEfl):
  35187. (WebKit::DownloadManagerEfl::create):
  35188. 2012-10-23 Andras Becsi <andras.becsi@digia.com>
  35189. Remove devicePixelRatio from ViewportAttributes
  35190. https://bugs.webkit.org/show_bug.cgi?id=99845
  35191. Reviewed by Adam Barth.
  35192. Update PageViewportController and co. to pass the device pixel ratio
  35193. as an argument to functions that need to adjust the visible viewport size.
  35194. * UIProcess/PageViewportController.cpp:
  35195. (WebKit::PageViewportController::PageViewportController):
  35196. (WebKit::PageViewportController::updateMinimumScaleToFit):
  35197. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  35198. (WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
  35199. 2012-10-23 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  35200. [EFL][WK2] Refactor Ewk_Context
  35201. https://bugs.webkit.org/show_bug.cgi?id=99594
  35202. Reviewed by Kenneth Rohde Christiansen.
  35203. Ewk_Context is now encapsulated to a C++ class inherited from WTF::RefCounted.
  35204. Also the same instance of Ewk_Context is returned for the same instance of
  35205. WKContext, so memory leak in ewk_view is also fixed.
  35206. * UIProcess/API/efl/PageClientImpl.cpp:
  35207. (WebKit::PageClientImpl::handleDownloadRequest):
  35208. * UIProcess/API/efl/ewk_context.cpp:
  35209. (contextMap):
  35210. (Ewk_Context::Ewk_Context):
  35211. (Ewk_Context::~Ewk_Context):
  35212. (Ewk_Context::create):
  35213. (Ewk_Context::defaultContext):
  35214. (Ewk_Context::cookieManager):
  35215. (Ewk_Context::faviconDatabase):
  35216. (Ewk_Context::registerURLScheme):
  35217. (Ewk_Context::vibrationProvider):
  35218. (Ewk_Context::addVisitedLink):
  35219. (Ewk_Context::setCacheModel):
  35220. (Ewk_Context::cacheModel):
  35221. (ewk_context_ref):
  35222. (ewk_context_unref):
  35223. (ewk_context_cookie_manager_get):
  35224. (ewk_context_favicon_database_get):
  35225. (Ewk_Context::wkContext):
  35226. (Ewk_Context::addDownloadJob):
  35227. (Ewk_Context::downloadJob):
  35228. (Ewk_Context::removeDownloadJob):
  35229. (Ewk_Context::requestManager):
  35230. (Ewk_Context::urlSchemeRequestReceived):
  35231. (ewk_context_default_get):
  35232. (ewk_context_new):
  35233. (ewk_context_new_with_injected_bundle_path):
  35234. (ewk_context_url_scheme_register):
  35235. (ewk_context_vibration_client_callbacks_set):
  35236. (ewk_context_history_callbacks_set):
  35237. (ewk_context_visited_link_add):
  35238. (ewk_context_cache_model_set):
  35239. (ewk_context_cache_model_get):
  35240. * UIProcess/API/efl/ewk_context_download_client.cpp:
  35241. (decideDestinationWithSuggestedFilename):
  35242. (didReceiveResponse):
  35243. (didCreateDestination):
  35244. (didReceiveData):
  35245. (didFail):
  35246. (didCancel):
  35247. (didFinish):
  35248. (ewk_context_download_client_attach):
  35249. * UIProcess/API/efl/ewk_context_history_client.cpp:
  35250. (getEwkHistoryClient):
  35251. (didNavigateWithNavigationData):
  35252. (didPerformClientRedirect):
  35253. (didPerformServerRedirect):
  35254. (didUpdateHistoryTitle):
  35255. (populateVisitedLinks):
  35256. (ewk_context_history_client_attach):
  35257. * UIProcess/API/efl/ewk_context_private.h:
  35258. (Ewk_Context):
  35259. (Ewk_Context::historyClient):
  35260. * UIProcess/API/efl/ewk_context_request_manager_client.cpp:
  35261. (didReceiveURIRequest):
  35262. (ewk_context_request_manager_client_attach):
  35263. * UIProcess/API/efl/ewk_view.cpp:
  35264. (Ewk_View_Private_Data):
  35265. (Ewk_View_Private_Data::Ewk_View_Private_Data):
  35266. (Ewk_View_Private_Data::~Ewk_View_Private_Data):
  35267. (_ewk_view_priv_del):
  35268. (_ewk_view_initialize):
  35269. (ewk_view_base_add):
  35270. (ewk_view_add_with_context):
  35271. (ewk_view_context_get):
  35272. (ewk_view_update_icon):
  35273. 2012-10-23 Christophe Dumez <christophe.dumez@intel.com>
  35274. [EFL][WK2] Make page load client a C++ class
  35275. https://bugs.webkit.org/show_bug.cgi?id=100081
  35276. Reviewed by Kenneth Rohde Christiansen.
  35277. Make page load client a C++ class and move it
  35278. up to UIProcess/efl since it is not really part
  35279. of the public API.
  35280. * PlatformEfl.cmake:
  35281. * UIProcess/API/efl/ewk_view.cpp:
  35282. (Ewk_View_Private_Data):
  35283. (_ewk_view_initialize):
  35284. * UIProcess/API/efl/ewk_view_loader_client_private.h: Removed.
  35285. * UIProcess/efl/PageLoadClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp.
  35286. (WebKit):
  35287. (WebKit::toPageLoadClientEfl):
  35288. (WebKit::PageLoadClientEfl::didReceiveTitleForFrame):
  35289. (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
  35290. (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
  35291. (WebKit::PageLoadClientEfl::didChangeProgress):
  35292. (WebKit::PageLoadClientEfl::didFinishLoadForFrame):
  35293. (WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
  35294. (WebKit::PageLoadClientEfl::didStartProvisionalLoadForFrame):
  35295. (WebKit::PageLoadClientEfl::didReceiveServerRedirectForProvisionalLoadForFrame):
  35296. (WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
  35297. (WebKit::PageLoadClientEfl::didChangeBackForwardList):
  35298. (WebKit::PageLoadClientEfl::didSameDocumentNavigationForFrame):
  35299. (WebKit::PageLoadClientEfl::PageLoadClientEfl):
  35300. * UIProcess/efl/PageLoadClientEfl.h: Added.
  35301. (WebKit):
  35302. (PageLoadClientEfl):
  35303. (WebKit::PageLoadClientEfl::create):
  35304. (WebKit::PageLoadClientEfl::view):
  35305. 2012-10-22 Anders Carlsson <andersca@apple.com>
  35306. Handle ArgumentCoder template specializations that take the ArgumentEncoder as a reference
  35307. https://bugs.webkit.org/show_bug.cgi?id=100056
  35308. Reviewed by Andreas Kling.
  35309. Use template magic to make it possible to have ArgumentCoder specializations where the encode
  35310. function takes the ArgumentEncoder object as a reference instead of as a pointer. Also, add an
  35311. operator<< to ArgumentEncoder and change the string related ArgumentCoder specializations over to taking
  35312. the encoder as a reference and using stream operators.
  35313. * Platform/CoreIPC/ArgumentCoders.cpp:
  35314. (CoreIPC::::encode):
  35315. * Platform/CoreIPC/ArgumentCoders.h:
  35316. * Platform/CoreIPC/ArgumentEncoder.h:
  35317. (ArgumentEncoder):
  35318. (UsesDeprecatedEncodeFunction):
  35319. (NoType):
  35320. (CoreIPC::ArgumentEncoder::encode):
  35321. (CoreIPC::ArgumentEncoder::operator<<):
  35322. 2012-10-22 Anders Carlsson <andersca@apple.com>
  35323. More Argument coder cleanup
  35324. https://bugs.webkit.org/show_bug.cgi?id=100022
  35325. Reviewed by Andreas Kling.
  35326. Remove the ArgumentDecoder::decode overload that takes a const reference - if the call to decode ends up creating a temporary
  35327. we'll encode into it and then destroy it. Since this decode overload was mostly used with the CoreIPC::Out functions, remove them
  35328. (and CoreIPC::In) as well. Clean up a couple of ArgumentCoders as well.
  35329. * Platform/CoreIPC/ArgumentCoders.h:
  35330. * Platform/CoreIPC/ArgumentDecoder.h:
  35331. * Platform/CoreIPC/Arguments.h:
  35332. * Platform/CoreIPC/Connection.h:
  35333. (Connection):
  35334. * Platform/mac/SharedMemoryMac.cpp:
  35335. (WebKit::SharedMemory::Handle::decode):
  35336. * Shared/PrintInfo.cpp:
  35337. (WebKit::PrintInfo::encode):
  35338. (WebKit::PrintInfo::decode):
  35339. * Shared/WebContextMenuItemData.cpp:
  35340. (WebKit::WebContextMenuItemData::encode):
  35341. (WebKit::WebContextMenuItemData::decode):
  35342. * Shared/WebEvent.cpp:
  35343. (WebKit::WebEvent::encode):
  35344. (WebKit::WebEvent::decode):
  35345. * Shared/WebGeolocationPosition.cpp:
  35346. (WebKit::WebGeolocationPosition::Data::encode):
  35347. (WebKit::WebGeolocationPosition::Data::decode):
  35348. * Shared/WebMouseEvent.cpp:
  35349. (WebKit::WebMouseEvent::encode):
  35350. (WebKit::WebMouseEvent::decode):
  35351. * Shared/WebPopupItem.cpp:
  35352. (WebKit::WebPopupItem::encode):
  35353. (WebKit::WebPopupItem::decode):
  35354. * UIProcess/WebConnectionToWebProcess.cpp:
  35355. (WebKit::WebConnectionToWebProcess::decodeMessageBody):
  35356. * UIProcess/WebContext.cpp:
  35357. (WebKit::WebContext::didReceiveMessage):
  35358. (WebKit::WebContext::didReceiveSyncMessage):
  35359. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  35360. (WebKit::InjectedBundle::postMessage):
  35361. (WebKit::InjectedBundle::postSynchronousMessage):
  35362. * WebProcess/WebConnectionToUIProcess.cpp:
  35363. (WebKit::WebConnectionToUIProcess::decodeMessageBody):
  35364. * WebProcess/WebPage/WebPage.cpp:
  35365. (WebKit::WebPage::postInjectedBundleMessage):
  35366. * WebProcess/WebProcess.cpp:
  35367. (WebKit::WebProcess::postInjectedBundleMessage):
  35368. 2012-10-22 Anders Carlsson <andersca@apple.com>
  35369. Remove MessageReceiverMap::deprecatedAddMessageReceiver
  35370. https://bugs.webkit.org/show_bug.cgi?id=100012
  35371. Reviewed by Andreas Kling.
  35372. Get rid of MessageReceiverMap::deprecatedAddMessageReceiver and make callers use addMessageReceiver instead.
  35373. Also, remove the message receiver map inside Connection and add a message receiver map to WebProcess instead.
  35374. * Platform/CoreIPC/Connection.cpp:
  35375. (CoreIPC::Connection::dispatchMessage):
  35376. * Platform/CoreIPC/Connection.h:
  35377. (Connection):
  35378. * Platform/CoreIPC/MessageReceiverMap.cpp:
  35379. (CoreIPC::MessageReceiverMap::invalidate):
  35380. (CoreIPC::MessageReceiverMap::dispatchMessage):
  35381. (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
  35382. * Platform/CoreIPC/MessageReceiverMap.h:
  35383. (MessageReceiverMap):
  35384. * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
  35385. (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
  35386. * UIProcess/WebApplicationCacheManagerProxy.cpp:
  35387. (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
  35388. * UIProcess/WebContext.cpp:
  35389. * UIProcess/WebContext.h:
  35390. (WebContext):
  35391. * UIProcess/WebCookieManagerProxy.cpp:
  35392. (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
  35393. * UIProcess/WebDatabaseManagerProxy.cpp:
  35394. (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
  35395. * UIProcess/WebGeolocationManagerProxy.cpp:
  35396. (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
  35397. * UIProcess/WebIconDatabase.cpp:
  35398. (WebKit::WebIconDatabase::WebIconDatabase):
  35399. * UIProcess/WebKeyValueStorageManagerProxy.cpp:
  35400. (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
  35401. * UIProcess/WebMediaCacheManagerProxy.cpp:
  35402. (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
  35403. * UIProcess/WebResourceCacheManagerProxy.cpp:
  35404. (WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
  35405. * WebProcess/Authentication/AuthenticationManager.cpp:
  35406. (WebKit::AuthenticationManager::AuthenticationManager):
  35407. * WebProcess/Geolocation/WebGeolocationManager.cpp:
  35408. (WebKit::WebGeolocationManager::WebGeolocationManager):
  35409. (WebKit::WebGeolocationManager::registerWebPage):
  35410. * WebProcess/Geolocation/WebGeolocationManager.h:
  35411. (WebGeolocationManager):
  35412. * WebProcess/WebProcess.cpp:
  35413. (WebKit::WebProcess::addMessageReceiver):
  35414. (WebKit):
  35415. (WebKit::WebProcess::didReceiveSyncMessage):
  35416. (WebKit::WebProcess::didReceiveMessage):
  35417. * WebProcess/WebProcess.h:
  35418. (WebProcess):
  35419. 2012-10-22 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  35420. [EFL][WK2] ewk_view_color_picker_color_set() is leaking
  35421. https://bugs.webkit.org/show_bug.cgi?id=100007
  35422. Reviewed by Kenneth Rohde Christiansen.
  35423. Fix a leak in ewk_view_color_picker_color_set() by adopting WKStringRef
  35424. returned by WKStringCreateWithUTF8CString().
  35425. * UIProcess/API/efl/ewk_view.cpp:
  35426. (ewk_view_color_picker_color_set):
  35427. 2012-10-22 Christophe Dumez <christophe.dumez@intel.com>
  35428. [EFL][WK2] Make the resource load client a C++ class
  35429. https://bugs.webkit.org/show_bug.cgi?id=99982
  35430. Reviewed by Kenneth Rohde Christiansen.
  35431. Create a C++ class for the resource load client and
  35432. move the id <-> resource mapping from the Ewk_View
  35433. to ResourceLoadClientEfl for better a cleaner
  35434. separation.
  35435. The resource load client code was also moved out of
  35436. UIProcess/API/efl to UIProcess/efl since this is not
  35437. part of the WK2 EFL API.
  35438. * PlatformEfl.cmake:
  35439. * UIProcess/API/efl/ewk_view.cpp:
  35440. (Ewk_View_Private_Data):
  35441. (_ewk_view_initialize):
  35442. (ewk_view_wkpage_get):
  35443. (ewk_view_resource_load_initiated):
  35444. (ewk_view_resource_load_response):
  35445. (ewk_view_resource_load_failed):
  35446. (ewk_view_resource_load_finished):
  35447. (ewk_view_resource_request_sent):
  35448. (ewk_view_load_provisional_started):
  35449. * UIProcess/API/efl/ewk_view_private.h:
  35450. * UIProcess/API/efl/ewk_view_resource_load_client.cpp: Removed.
  35451. * UIProcess/API/efl/ewk_view_resource_load_client_private.h: Removed.
  35452. * UIProcess/efl/ResourceLoadClientEfl.cpp: Added.
  35453. (WebKit):
  35454. (WebKit::toResourceLoadClientEfl):
  35455. (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
  35456. (WebKit::ResourceLoadClientEfl::didSendRequestForResource):
  35457. (WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
  35458. (WebKit::ResourceLoadClientEfl::didFinishLoadForResource):
  35459. (WebKit::ResourceLoadClientEfl::didFailLoadForResource):
  35460. (WebKit::ResourceLoadClientEfl::onViewProvisionalLoadStarted):
  35461. (WebKit::ResourceLoadClientEfl::ResourceLoadClientEfl):
  35462. (WebKit::ResourceLoadClientEfl::~ResourceLoadClientEfl):
  35463. * UIProcess/efl/ResourceLoadClientEfl.h: Added.
  35464. (WebKit):
  35465. (ResourceLoadClientEfl):
  35466. (WebKit::ResourceLoadClientEfl::create):
  35467. 2012-10-22 Anders Carlsson <andersca@apple.com>
  35468. [WK2] Regression(r131990): plugins/npruntime/remove-property.html started failing
  35469. https://bugs.webkit.org/show_bug.cgi?id=99977
  35470. Reviewed by Alexey Proskuryakov.
  35471. Remove int32_t casts - the ArgumentDecoder::decode overload that takes a const int would cause
  35472. a temporary to be created which the number was then decoded into.
  35473. * Shared/Plugins/NPIdentifierData.cpp:
  35474. (WebKit::NPIdentifierData::encode):
  35475. (WebKit::NPIdentifierData::decode):
  35476. 2012-10-22 Anders Carlsson <andersca@apple.com>
  35477. Don't use CStrings for message receiver names and message names
  35478. https://bugs.webkit.org/show_bug.cgi?id=99853
  35479. Reviewed by Andreas Kling.
  35480. Re-land this with a fix to MessageReceiverMap::dispatchSyncMessage to look in the new global message receivers map.
  35481. Introduce StringReference which is similar to DataReference except it holds a pointer to + length of a char *
  35482. and can be created from a string literal. Use this in place of CString in MessageEncoder/MessageDecoder and
  35483. make MessageReceiverMap use a HashMap from StringReferences to MessageReceivers for global message receivers.
  35484. * CMakeLists.txt:
  35485. * GNUmakefile.list.am:
  35486. * Platform/CoreIPC/Connection.cpp:
  35487. (CoreIPC::Connection::createSyncMessageEncoder):
  35488. (CoreIPC::Connection::dispatchSyncMessage):
  35489. * Platform/CoreIPC/Connection.h:
  35490. (Connection):
  35491. (CoreIPC::Connection::deprecatedSendSync):
  35492. (CoreIPC::Connection::deprecatedSend):
  35493. * Platform/CoreIPC/MessageDecoder.cpp:
  35494. (CoreIPC::MessageDecoder::MessageDecoder):
  35495. * Platform/CoreIPC/MessageDecoder.h:
  35496. (CoreIPC::MessageDecoder::messageReceiverName):
  35497. (CoreIPC::MessageDecoder::messageName):
  35498. (MessageDecoder):
  35499. * Platform/CoreIPC/MessageEncoder.cpp:
  35500. (CoreIPC::MessageEncoder::create):
  35501. (CoreIPC::MessageEncoder::MessageEncoder):
  35502. * Platform/CoreIPC/MessageEncoder.h:
  35503. (CoreIPC):
  35504. (MessageEncoder):
  35505. * Platform/CoreIPC/MessageReceiverMap.cpp:
  35506. (CoreIPC::MessageReceiverMap::addMessageReceiver):
  35507. (CoreIPC):
  35508. (CoreIPC::MessageReceiverMap::dispatchMessage):
  35509. * Platform/CoreIPC/MessageReceiverMap.h:
  35510. (MessageReceiverMap):
  35511. * Platform/CoreIPC/StringReference.cpp: Added.
  35512. (CoreIPC):
  35513. (CoreIPC::StringReference::encode):
  35514. (CoreIPC::StringReference::decode):
  35515. (CoreIPC::StringReference::Hash::hash):
  35516. * Platform/CoreIPC/StringReference.h: Added.
  35517. (CoreIPC):
  35518. (StringReference):
  35519. (CoreIPC::StringReference::StringReference):
  35520. (CoreIPC::StringReference::isEmpty):
  35521. (CoreIPC::StringReference::size):
  35522. (CoreIPC::StringReference::data):
  35523. (CoreIPC::StringReference::operator==):
  35524. (Hash):
  35525. (CoreIPC::StringReference::Hash::equal):
  35526. (WTF):
  35527. * Platform/CoreIPC/mac/ConnectionMac.cpp:
  35528. (CoreIPC::Connection::open):
  35529. * Scripts/webkit2/messages.py:
  35530. (message_to_struct_declaration):
  35531. (forward_declarations_and_headers):
  35532. (generate_messages_header):
  35533. * Scripts/webkit2/messages_unittest.py:
  35534. * Shared/CoreIPCSupport/WebContextMessageKinds.h:
  35535. * Target.pri:
  35536. * UIProcess/WebContext.cpp:
  35537. (WebKit::WebContext::WebContext):
  35538. (WebKit::WebContext::addMessageReceiver):
  35539. (WebKit):
  35540. * UIProcess/WebContext.h:
  35541. (WebContext):
  35542. * UIProcess/WebProcessProxy.h:
  35543. (WebKit::WebProcessProxy::deprecatedSend):
  35544. (WebKit::WebProcessProxy::send):
  35545. * WebKit2.xcodeproj/project.pbxproj:
  35546. * win/WebKit2.vcproj:
  35547. 2012-10-22 Sheriff Bot <webkit.review.bot@gmail.com>
  35548. Unreviewed, rolling out r132072.
  35549. http://trac.webkit.org/changeset/132072
  35550. https://bugs.webkit.org/show_bug.cgi?id=100011
  35551. Made most of the tests crash on the WK2 bot. (Requested by
  35552. rakuco on #webkit).
  35553. * UIProcess/API/efl/PageClientImpl.cpp:
  35554. (WebKit::PageClientImpl::handleDownloadRequest):
  35555. * UIProcess/API/efl/ewk_context.cpp:
  35556. (Ewk_Context):
  35557. (Ewk_Context::Ewk_Context):
  35558. (ewk_context_ref):
  35559. (ewk_context_unref):
  35560. (ewk_context_cookie_manager_get):
  35561. (ewk_context_favicon_database_get):
  35562. (ewk_context_WKContext_get):
  35563. (ewk_context_new_from_WKContext):
  35564. (ewk_context_download_job_add):
  35565. (ewk_context_download_job_get):
  35566. (ewk_context_download_job_remove):
  35567. (ewk_context_request_manager_get):
  35568. (ewk_context_url_scheme_request_received):
  35569. (ewk_context_default_get):
  35570. (ewk_context_new):
  35571. (ewk_context_new_with_injected_bundle_path):
  35572. (ewk_context_url_scheme_register):
  35573. (ewk_context_vibration_client_callbacks_set):
  35574. (ewk_context_history_callbacks_set):
  35575. (ewk_context_history_client_get):
  35576. (ewk_context_visited_link_add):
  35577. (ewk_context_cache_model_set):
  35578. (ewk_context_cache_model_get):
  35579. * UIProcess/API/efl/ewk_context_download_client.cpp:
  35580. (decideDestinationWithSuggestedFilename):
  35581. (didReceiveResponse):
  35582. (didCreateDestination):
  35583. (didReceiveData):
  35584. (didFail):
  35585. (didCancel):
  35586. (didFinish):
  35587. (ewk_context_download_client_attach):
  35588. * UIProcess/API/efl/ewk_context_history_client.cpp:
  35589. (getEwkHistoryDelegate):
  35590. (didNavigateWithNavigationData):
  35591. (didPerformClientRedirect):
  35592. (didPerformServerRedirect):
  35593. (didUpdateHistoryTitle):
  35594. (populateVisitedLinks):
  35595. (ewk_context_history_client_attach):
  35596. * UIProcess/API/efl/ewk_context_private.h:
  35597. * UIProcess/API/efl/ewk_context_request_manager_client.cpp:
  35598. (didReceiveURIRequest):
  35599. (ewk_context_request_manager_client_attach):
  35600. * UIProcess/API/efl/ewk_view.cpp:
  35601. (Ewk_View_Private_Data):
  35602. (Ewk_View_Private_Data::Ewk_View_Private_Data):
  35603. (Ewk_View_Private_Data::~Ewk_View_Private_Data):
  35604. (_ewk_view_priv_del):
  35605. (_ewk_view_initialize):
  35606. (ewk_view_base_add):
  35607. (ewk_view_add_with_context):
  35608. (ewk_view_context_get):
  35609. (ewk_view_update_icon):
  35610. 2012-10-22 Darin Adler <darin@apple.com>
  35611. * UIProcess/API/mac/WKView.mm:
  35612. (-[WKView view:stringForToolTip:point:userData:]): Fix build. Forgot to save file
  35613. before committing.
  35614. 2012-10-22 Darin Adler <darin@apple.com>
  35615. REGRESSION (r131686): Crash in NSToolTipManager mouseEnteredToolTip
  35616. <rdar://problem/12527528> and https://bugs.webkit.org/show_bug.cgi?id=99792
  35617. Roll out the tool tip part of r131686 since it still seems to be causing trouble.
  35618. * UIProcess/API/mac/WKView.mm:
  35619. (-[WKView view:stringForToolTip:point:userData:]): Added this method back.
  35620. (-[WKView _wk_toolTipChangedFrom:to:]): Use self as owner again, eliminating the
  35621. separate WKToolTipDelegate object.
  35622. 2012-10-22 Christophe Dumez <christophe.dumez@intel.com>
  35623. [EFL][WK2] Memory leak in Ewk_Form_Submission_Request::fieldValue()
  35624. https://bugs.webkit.org/show_bug.cgi?id=99993
  35625. Reviewed by Kenneth Rohde Christiansen.
  35626. Adopt the WKStringRef returned by toCopiedAPI() in
  35627. Ewk_Form_Submission_Request::fieldValue() to avoid
  35628. a memory leak.
  35629. * UIProcess/API/efl/ewk_form_submission_request.cpp:
  35630. (Ewk_Form_Submission_Request::fieldValue):
  35631. 2012-10-22 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  35632. [EFL][WK2] Refactor Ewk_Context
  35633. https://bugs.webkit.org/show_bug.cgi?id=99594
  35634. Reviewed by Kenneth Rohde Christiansen.
  35635. Ewk_Context is now encapsulated to a C++ class inherited from WTF::RefCounted.
  35636. * UIProcess/API/efl/PageClientImpl.cpp:
  35637. (WebKit::PageClientImpl::handleDownloadRequest):
  35638. * UIProcess/API/efl/ewk_context.cpp:
  35639. (Ewk_Context::Ewk_Context):
  35640. (Ewk_Context::~Ewk_Context):
  35641. (Ewk_Context::create):
  35642. (Ewk_Context::defaultContext):
  35643. (Ewk_Context::cookieManager):
  35644. (Ewk_Context::faviconDatabase):
  35645. (Ewk_Context::registerURLScheme):
  35646. (Ewk_Context::vibrationProvider):
  35647. (Ewk_Context::addVisitedLink):
  35648. (Ewk_Context::setCacheModel):
  35649. (Ewk_Context::cacheModel):
  35650. (ewk_context_ref):
  35651. (ewk_context_unref):
  35652. (ewk_context_cookie_manager_get):
  35653. (ewk_context_favicon_database_get):
  35654. (Ewk_Context::wkContext):
  35655. (Ewk_Context::addDownloadJob):
  35656. (Ewk_Context::downloadJob):
  35657. (Ewk_Context::removeDownloadJob):
  35658. (Ewk_Context::requestManager):
  35659. (Ewk_Context::urlSchemeRequestReceived):
  35660. (ewk_context_default_get):
  35661. (ewk_context_new):
  35662. (ewk_context_new_with_injected_bundle_path):
  35663. (ewk_context_url_scheme_register):
  35664. (ewk_context_vibration_client_callbacks_set):
  35665. (ewk_context_history_callbacks_set):
  35666. (ewk_context_visited_link_add):
  35667. (ewk_context_cache_model_set):
  35668. (ewk_context_cache_model_get):
  35669. * UIProcess/API/efl/ewk_context_download_client.cpp:
  35670. (decideDestinationWithSuggestedFilename):
  35671. (didReceiveResponse):
  35672. (didCreateDestination):
  35673. (didReceiveData):
  35674. (didFail):
  35675. (didCancel):
  35676. (didFinish):
  35677. (ewk_context_download_client_attach):
  35678. * UIProcess/API/efl/ewk_context_history_client.cpp:
  35679. (getEwkHistoryClient):
  35680. (didNavigateWithNavigationData):
  35681. (didPerformClientRedirect):
  35682. (didPerformServerRedirect):
  35683. (didUpdateHistoryTitle):
  35684. (populateVisitedLinks):
  35685. (ewk_context_history_client_attach):
  35686. * UIProcess/API/efl/ewk_context_private.h:
  35687. (Ewk_Context):
  35688. (Ewk_Context::create):
  35689. (Ewk_Context::historyClient):
  35690. * UIProcess/API/efl/ewk_context_request_manager_client.cpp:
  35691. (didReceiveURIRequest):
  35692. (ewk_context_request_manager_client_attach):
  35693. * UIProcess/API/efl/ewk_view.cpp:
  35694. (Ewk_View_Private_Data):
  35695. (Ewk_View_Private_Data::Ewk_View_Private_Data):
  35696. (Ewk_View_Private_Data::~Ewk_View_Private_Data):
  35697. (_ewk_view_priv_del):
  35698. (_ewk_view_initialize):
  35699. (ewk_view_base_add):
  35700. (ewk_view_add_with_context):
  35701. (ewk_view_context_get):
  35702. (ewk_view_update_icon):
  35703. 2012-10-22 Simon Hausmann <simon.hausmann@digia.com>
  35704. [Qt] Fix build without QtWidgets
  35705. https://bugs.webkit.org/show_bug.cgi?id=99981
  35706. Reviewed by Tor Arne Vestbø.
  35707. Make it possible to compile WebProcess without QtWidgets by instantiating a
  35708. QGuiApplication instead of a QApplication if we're built without widgets.
  35709. * WebProcess.pro:
  35710. * qt/MainQt.cpp:
  35711. (main):
  35712. 2012-10-22 Ryuan Choi <ryuan.choi@gmail.com>
  35713. [EFL] pc files should use DATA_INSTALL_DIR for datadir
  35714. https://bugs.webkit.org/show_bug.cgi?id=99961
  35715. Reviewed by Gyuyoung Kim.
  35716. * ewebkit.pc.in: Fixed wrong datadir
  35717. 2012-10-22 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  35718. [Qt] Fix "ASSERTION FAILED: !document->inPageCache()" when loading a page
  35719. https://bugs.webkit.org/show_bug.cgi?id=98514
  35720. Reviewed by Kenneth Rohde Christiansen.
  35721. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  35722. (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Use FrameView::fixedVisibleContentRect
  35723. instead of WebFrame::visibleContentBounds as the source to always keep the correct state.
  35724. 2012-10-22 Pavel Feldman <pfeldman@chromium.org>
  35725. Web Inspector: merge "docked" state into the "dock side" enum.
  35726. https://bugs.webkit.org/show_bug.cgi?id=99717
  35727. Reviewed by Vsevolod Vlasov.
  35728. * win/WebKit2.def:
  35729. * win/WebKit2CFLite.def:
  35730. 2012-10-21 Milian Wolff <milian.wolff@kdab.com>
  35731. [Qt] QNX build fails when building against Qt without clipboard support
  35732. https://bugs.webkit.org/show_bug.cgi?id=98040
  35733. Reviewed by Simon Hausmann.
  35734. Gracefully handle QT_NO_CLIPBOARD and do not try to access qApp->clipboard()
  35735. in such cases. Instead, return false to indicate global selection is unsupported.
  35736. * WebProcess/WebCoreSupport/WebEditorClient.cpp:
  35737. (WebKit::WebEditorClient::supportsGlobalSelection):
  35738. 2012-10-21 Hyungchan Kim <hyungchan2.kim@lge.com>
  35739. Add a separate flag for rgb swizzling whether it can be modified or not
  35740. https://bugs.webkit.org/show_bug.cgi?id=98728
  35741. BitmapTexture swizzles the source image if the OpenGL driver
  35742. doesn't support the BGRA extension.
  35743. In case of directly composited images, the source image should not
  35744. be modified.
  35745. http://www.satine.org/research/webkit/snowleopard/snowstack.html
  35746. Reviewed by Noam Rosenthal.
  35747. No new tests as this is only testable on specific hardware and
  35748. currently not avaiable in the bots.
  35749. * platform/graphics/texmap/TextureMapper.h:
  35750. (BitmapTexture):
  35751. * platform/graphics/texmap/TextureMapperBackingStore.cpp:
  35752. (WebCore::TextureMapperTile::updateContents):
  35753. (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
  35754. (WebCore::TextureMapperTiledBackingStore::updateContents):
  35755. * platform/graphics/texmap/TextureMapperBackingStore.h:
  35756. (TextureMapperTile):
  35757. (TextureMapperTiledBackingStore):
  35758. (WebCore::TextureMapperTiledBackingStore::updateContents):
  35759. * platform/graphics/texmap/TextureMapperGL.cpp:
  35760. (WebCore::TextureMapperGL::drawRepaintCounter):
  35761. (WebCore::BitmapTextureGL::updateContents):
  35762. * platform/graphics/texmap/TextureMapperGL.h:
  35763. (BitmapTextureGL):
  35764. * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
  35765. (WebCore::BitmapTextureImageBuffer::updateContents):
  35766. * platform/graphics/texmap/TextureMapperImageBuffer.h:
  35767. (BitmapTextureImageBuffer):
  35768. * platform/graphics/texmap/TextureMapperLayer.cpp:
  35769. (WebCore::TextureMapperLayer::updateBackingStore):
  35770. 2012-10-21 Seokju Kwon <seokju.kwon@samsung.com>
  35771. [EFL] Fix failure to access the inspector resources
  35772. https://bugs.webkit.org/show_bug.cgi?id=99816
  35773. Reviewed by Gyuyoung Kim.
  35774. access() returns -1, if path has a file protocol like "file://".
  35775. And I have removed it from the first argument of access().
  35776. If not, inspectorBaseURL() or inspectorFilesPath() always returns WEB_INSPECTOR_DIR.
  35777. Then all layout test related to inspector can fail after installing webkit package.
  35778. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  35779. (WebKit::WebInspectorProxy::inspectorBaseURL):
  35780. 2012-10-21 Christophe Dumez <christophe.dumez@intel.com>
  35781. [EFL][WK2] Make Ewk_Error, Ewk_Resource and Ewk_Popup_Menu_Item members private
  35782. https://bugs.webkit.org/show_bug.cgi?id=99931
  35783. Reviewed by Kenneth Rohde Christiansen.
  35784. Make Ewk_Error, Ewk_Resource and Ewk_Popup_Menu_Item class
  35785. members private.
  35786. * UIProcess/API/efl/ewk_error.cpp:
  35787. (Ewk_Error::Ewk_Error):
  35788. (Ewk_Error::url):
  35789. (Ewk_Error::description):
  35790. (Ewk_Error::domain):
  35791. (Ewk_Error::errorCode):
  35792. (Ewk_Error::isCancellation):
  35793. (ewk_error_type_get):
  35794. (ewk_error_url_get):
  35795. (ewk_error_code_get):
  35796. (ewk_error_description_get):
  35797. (ewk_error_cancellation_get):
  35798. * UIProcess/API/efl/ewk_error_private.h:
  35799. (Ewk_Error):
  35800. * UIProcess/API/efl/ewk_popup_menu_item.cpp:
  35801. (Ewk_Popup_Menu_Item::Ewk_Popup_Menu_Item):
  35802. (Ewk_Popup_Menu_Item::type):
  35803. (Ewk_Popup_Menu_Item::textDirection):
  35804. (Ewk_Popup_Menu_Item::text):
  35805. (Ewk_Popup_Menu_Item::tooltipText):
  35806. (Ewk_Popup_Menu_Item::accessibilityText):
  35807. (Ewk_Popup_Menu_Item::hasTextDirectionOverride):
  35808. (Ewk_Popup_Menu_Item::isEnabled):
  35809. (Ewk_Popup_Menu_Item::isLabel):
  35810. (Ewk_Popup_Menu_Item::isSelected):
  35811. (ewk_popup_menu_item_type_get):
  35812. (ewk_popup_menu_item_text_get):
  35813. (ewk_popup_menu_item_text_direction_get):
  35814. (ewk_popup_menu_item_text_direction_override_get):
  35815. (ewk_popup_menu_item_tooltip_get):
  35816. (ewk_popup_menu_item_accessibility_text_get):
  35817. (ewk_popup_menu_item_enabled_get):
  35818. (ewk_popup_menu_item_is_label_get):
  35819. (ewk_popup_menu_item_selected_get):
  35820. * UIProcess/API/efl/ewk_popup_menu_item_private.h:
  35821. (Ewk_Popup_Menu_Item):
  35822. * UIProcess/API/efl/ewk_resource.cpp:
  35823. (Ewk_Resource::Ewk_Resource):
  35824. (Ewk_Resource::url):
  35825. (Ewk_Resource::isMainResource):
  35826. (ewk_resource_url_get):
  35827. (ewk_resource_main_resource_get):
  35828. * UIProcess/API/efl/ewk_resource_private.h:
  35829. (Ewk_Resource):
  35830. 2012-10-21 Christophe Dumez <christophe.dumez@intel.com>
  35831. [EFL][WK2] Make Ewk_Url_Request, Ewk_Url_Response and Ewk_Url_Scheme_Request members private
  35832. https://bugs.webkit.org/show_bug.cgi?id=99936
  35833. Reviewed by Kenneth Rohde Christiansen.
  35834. Make wk_Url_Request, Ewk_Url_Response and Ewk_Url_Scheme_Request
  35835. class members private.
  35836. * UIProcess/API/efl/ewk_context.cpp:
  35837. (ewk_context_url_scheme_request_received):
  35838. * UIProcess/API/efl/ewk_download_job.cpp:
  35839. (Ewk_Download_Job::estimatedProgress):
  35840. * UIProcess/API/efl/ewk_url_request.cpp:
  35841. (Ewk_Url_Request::Ewk_Url_Request):
  35842. (Ewk_Url_Request::url):
  35843. (Ewk_Url_Request::firstParty):
  35844. (Ewk_Url_Request::httpMethod):
  35845. (ewk_url_request_url_get):
  35846. (ewk_request_cookies_first_party_get):
  35847. (ewk_url_request_http_method_get):
  35848. * UIProcess/API/efl/ewk_url_request_private.h:
  35849. (Ewk_Url_Request):
  35850. * UIProcess/API/efl/ewk_url_response.cpp:
  35851. (Ewk_Url_Response::Ewk_Url_Response):
  35852. (Ewk_Url_Response::httpStatusCode):
  35853. (Ewk_Url_Response::url):
  35854. (Ewk_Url_Response::mimeType):
  35855. (Ewk_Url_Response::contentLength):
  35856. (ewk_url_response_url_get):
  35857. (ewk_url_response_status_code_get):
  35858. (ewk_url_response_mime_type_get):
  35859. (ewk_url_response_content_length_get):
  35860. * UIProcess/API/efl/ewk_url_response_private.h:
  35861. (Ewk_Url_Response):
  35862. * UIProcess/API/efl/ewk_url_scheme_request.cpp:
  35863. (Ewk_Url_Scheme_Request::Ewk_Url_Scheme_Request):
  35864. (Ewk_Url_Scheme_Request::id):
  35865. (Ewk_Url_Scheme_Request::url):
  35866. (Ewk_Url_Scheme_Request::scheme):
  35867. (Ewk_Url_Scheme_Request::path):
  35868. (Ewk_Url_Scheme_Request::finish):
  35869. (ewk_url_scheme_request_scheme_get):
  35870. (ewk_url_scheme_request_url_get):
  35871. (ewk_url_scheme_request_path_get):
  35872. (ewk_url_scheme_request_finish):
  35873. * UIProcess/API/efl/ewk_url_scheme_request.h: Fix ewk_url_scheme_request_finish() declaration
  35874. so that the request argument is no longer marked as const and so that the content type is of
  35875. type uint64_t instead of unsigned int.
  35876. * UIProcess/API/efl/ewk_url_scheme_request_private.h:
  35877. (Ewk_Url_Scheme_Request):
  35878. 2012-10-21 Christophe Dumez <christophe.dumez@intel.com>
  35879. [EFL][WK2] Make Ewk_Form_Submission_Request, Ewk_Navigation_Data and Ewk_Navigation_Policy_Decision members private
  35880. https://bugs.webkit.org/show_bug.cgi?id=99934
  35881. Reviewed by Kenneth Rohde Christiansen.
  35882. Make Ewk_Form_Submission_Request, Ewk_Navigation_Data and
  35883. Ewk_Navigation_Policy_Decision class members private.
  35884. * UIProcess/API/efl/ewk_form_submission_request.cpp:
  35885. (Ewk_Form_Submission_Request::Ewk_Form_Submission_Request):
  35886. (Ewk_Form_Submission_Request::~Ewk_Form_Submission_Request):
  35887. (Ewk_Form_Submission_Request::fieldValue):
  35888. (Ewk_Form_Submission_Request::fieldNames):
  35889. (Ewk_Form_Submission_Request::submit):
  35890. (ewk_form_submission_request_field_names_get):
  35891. (ewk_form_submission_request_field_value_get):
  35892. (ewk_form_submission_request_submit):
  35893. * UIProcess/API/efl/ewk_form_submission_request_private.h:
  35894. (Ewk_Form_Submission_Request):
  35895. * UIProcess/API/efl/ewk_navigation_data.cpp:
  35896. (Ewk_Navigation_Data::Ewk_Navigation_Data):
  35897. (Ewk_Navigation_Data::originalRequest):
  35898. (Ewk_Navigation_Data::title):
  35899. (Ewk_Navigation_Data::url):
  35900. (ewk_navigation_data_title_get):
  35901. (ewk_navigation_data_original_request_get):
  35902. (ewk_navigation_data_url_get):
  35903. * UIProcess/API/efl/ewk_navigation_data_private.h:
  35904. (Ewk_Navigation_Data):
  35905. * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
  35906. (Ewk_Navigation_Policy_Decision::Ewk_Navigation_Policy_Decision):
  35907. (Ewk_Navigation_Policy_Decision::~Ewk_Navigation_Policy_Decision):
  35908. (Ewk_Navigation_Policy_Decision::navigationType):
  35909. (Ewk_Navigation_Policy_Decision::mouseButton):
  35910. (Ewk_Navigation_Policy_Decision::modifiers):
  35911. (Ewk_Navigation_Policy_Decision::frameName):
  35912. (Ewk_Navigation_Policy_Decision::request):
  35913. (Ewk_Navigation_Policy_Decision::accept):
  35914. (Ewk_Navigation_Policy_Decision::reject):
  35915. (Ewk_Navigation_Policy_Decision::download):
  35916. (ewk_navigation_policy_navigation_type_get):
  35917. (ewk_navigation_policy_mouse_button_get):
  35918. (ewk_navigation_policy_modifiers_get):
  35919. (ewk_navigation_policy_frame_name_get):
  35920. (ewk_navigation_policy_request_get):
  35921. (ewk_navigation_policy_decision_accept):
  35922. (ewk_navigation_policy_decision_reject):
  35923. (ewk_navigation_policy_decision_download):
  35924. * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
  35925. (Ewk_Navigation_Policy_Decision):
  35926. 2012-10-21 Christophe Dumez <christophe.dumez@intel.com>
  35927. [EFL][WK2] Make Ewk_Favicon_Database members private
  35928. https://bugs.webkit.org/show_bug.cgi?id=99932
  35929. Reviewed by Kenneth Rohde Christiansen.
  35930. Make Ewk_Favicon_Database class members private.
  35931. * UIProcess/API/efl/ewk_favicon_database.cpp:
  35932. (Ewk_Favicon_Database::Ewk_Favicon_Database):
  35933. (Ewk_Favicon_Database::iconURLForPageURL):
  35934. (Ewk_Favicon_Database::watchChanges):
  35935. (Ewk_Favicon_Database::unwatchChanges):
  35936. (AsyncIconRequestResponse):
  35937. (AsyncIconRequestResponse::AsyncIconRequestResponse):
  35938. (respond_icon_request_idle):
  35939. (Ewk_Favicon_Database::iconForPageURL):
  35940. (Ewk_Favicon_Database::didChangeIconForPageURL):
  35941. (Ewk_Favicon_Database::getIconSurfaceSynchronously):
  35942. (Ewk_Favicon_Database::iconDataReadyForPageURL):
  35943. (ewk_favicon_database_icon_url_get):
  35944. (ewk_favicon_database_async_icon_get):
  35945. (ewk_favicon_database_icon_change_callback_add):
  35946. (ewk_favicon_database_icon_change_callback_del):
  35947. * UIProcess/API/efl/ewk_favicon_database.h:
  35948. * UIProcess/API/efl/ewk_favicon_database_private.h:
  35949. (Ewk_Favicon_Database):
  35950. * UIProcess/API/efl/ewk_view.cpp:
  35951. (Ewk_View_Private_Data::~Ewk_View_Private_Data):
  35952. (_ewk_view_initialize):
  35953. 2012-10-21 Christophe Dumez <christophe.dumez@intel.com>
  35954. [EFL][WK2] Make Ewk back / forward list classes members private and remove private C functions
  35955. https://bugs.webkit.org/show_bug.cgi?id=99929
  35956. Reviewed by Kenneth Rohde Christiansen.
  35957. Make Ewk_Back_Forward_List and Ewk_Back_Forward_List_Item members
  35958. private and remove private C functions.
  35959. * UIProcess/API/efl/ewk_back_forward_list.cpp:
  35960. (Ewk_Back_Forward_List::Ewk_Back_Forward_List):
  35961. (Ewk_Back_Forward_List::nextItem):
  35962. (Ewk_Back_Forward_List::previousItem):
  35963. (Ewk_Back_Forward_List::currentItem):
  35964. (Ewk_Back_Forward_List::itemAt):
  35965. (Ewk_Back_Forward_List::size):
  35966. (Ewk_Back_Forward_List::backList):
  35967. (Ewk_Back_Forward_List::forwardList):
  35968. (Ewk_Back_Forward_List::getFromCacheOrCreate):
  35969. (Ewk_Back_Forward_List::createEinaList):
  35970. (Ewk_Back_Forward_List::update):
  35971. (ewk_back_forward_list_current_item_get):
  35972. (ewk_back_forward_list_previous_item_get):
  35973. (ewk_back_forward_list_next_item_get):
  35974. (ewk_back_forward_list_item_at_index_get):
  35975. (ewk_back_forward_list_count):
  35976. (ewk_back_forward_list_n_back_items_copy):
  35977. (ewk_back_forward_list_n_forward_items_copy):
  35978. * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
  35979. (Ewk_Back_Forward_List_Item::Ewk_Back_Forward_List_Item):
  35980. (Ewk_Back_Forward_List_Item::url):
  35981. (Ewk_Back_Forward_List_Item::title):
  35982. (Ewk_Back_Forward_List_Item::originalURL):
  35983. (ewk_back_forward_list_item_url_get):
  35984. (ewk_back_forward_list_item_title_get):
  35985. (ewk_back_forward_list_item_original_url_get):
  35986. * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
  35987. (Ewk_Back_Forward_List_Item):
  35988. * UIProcess/API/efl/ewk_back_forward_list_private.h:
  35989. (Ewk_Back_Forward_List):
  35990. * UIProcess/API/efl/ewk_view_loader_client.cpp:
  35991. (didChangeBackForwardList):
  35992. 2012-10-21 Christophe Dumez <christophe.dumez@intel.com>
  35993. [EFL][WK2] Make Ewk_Cookie_Manager members private
  35994. https://bugs.webkit.org/show_bug.cgi?id=99930
  35995. Reviewed by Kenneth Rohde Christiansen.
  35996. Make Ewk_Cookie_Manager class members private.
  35997. * UIProcess/API/efl/ewk_cookie_manager.cpp:
  35998. (Ewk_Cookie_Manager::Ewk_Cookie_Manager):
  35999. (Ewk_Cookie_Manager::~Ewk_Cookie_Manager):
  36000. (Ewk_Cookie_Manager::setPersistentStorage):
  36001. (Ewk_Cookie_Manager::setHTTPAcceptPolicy):
  36002. (Ewk_Cookie_Manager::clearHostnameCookies):
  36003. (Ewk_Cookie_Manager::clearAllCookies):
  36004. (Ewk_Cookie_Manager::watchChanges):
  36005. (Ewk_Cookie_Manager::isWatchingForChanges):
  36006. (Ewk_Cookie_Manager::getHostNamesWithCookies):
  36007. (Ewk_Cookie_Manager::getHTTPAcceptPolicy):
  36008. (Ewk_Cookie_Manager::cookiesDidChange):
  36009. (ewk_cookie_manager_persistent_storage_set):
  36010. (ewk_cookie_manager_accept_policy_set):
  36011. (Get_Policy_Async_Data):
  36012. (Get_Policy_Async_Data::Get_Policy_Async_Data):
  36013. (ewk_cookie_manager_async_accept_policy_get):
  36014. (Get_Hostnames_Async_Data):
  36015. (Get_Hostnames_Async_Data::Get_Hostnames_Async_Data):
  36016. (ewk_cookie_manager_async_hostnames_with_cookies_get):
  36017. (ewk_cookie_manager_hostname_cookies_clear):
  36018. (ewk_cookie_manager_cookies_clear):
  36019. (ewk_cookie_manager_changes_watch):
  36020. * UIProcess/API/efl/ewk_cookie_manager_private.h:
  36021. (Ewk_Cookie_Manager):
  36022. 2012-10-21 Christophe Dumez <christophe.dumez@intel.com>
  36023. [EFL][WK2] Make Ewk intent classes members private
  36024. https://bugs.webkit.org/show_bug.cgi?id=99832
  36025. Reviewed by Kenneth Rohde Christiansen.
  36026. Make Ewk_Intent and Ewk_Intent_Service members
  36027. private and add class methods to get them.
  36028. * UIProcess/API/efl/ewk_intent.cpp:
  36029. (Ewk_Intent::Ewk_Intent):
  36030. (Ewk_Intent::webIntentData):
  36031. (Ewk_Intent::action):
  36032. (Ewk_Intent::type):
  36033. (Ewk_Intent::service):
  36034. (Ewk_Intent::suggestions):
  36035. (Ewk_Intent::extra):
  36036. (Ewk_Intent::extraKeys):
  36037. (ewk_intent_action_get):
  36038. (ewk_intent_type_get):
  36039. (ewk_intent_service_get):
  36040. (ewk_intent_suggestions_get):
  36041. (ewk_intent_extra_get):
  36042. (ewk_intent_extra_names_get):
  36043. * UIProcess/API/efl/ewk_intent_private.h:
  36044. (WebKit):
  36045. (Ewk_Intent):
  36046. * UIProcess/API/efl/ewk_intent_service.cpp:
  36047. (Ewk_Intent_Service::Ewk_Intent_Service):
  36048. (Ewk_Intent_Service::action):
  36049. (Ewk_Intent_Service::type):
  36050. (Ewk_Intent_Service::href):
  36051. (Ewk_Intent_Service::title):
  36052. (Ewk_Intent_Service::disposition):
  36053. (ewk_intent_service_action_get):
  36054. (ewk_intent_service_type_get):
  36055. (ewk_intent_service_href_get):
  36056. (ewk_intent_service_title_get):
  36057. (ewk_intent_service_disposition_get):
  36058. * UIProcess/API/efl/ewk_intent_service_private.h:
  36059. (Ewk_Intent_Service):
  36060. * UIProcess/API/efl/ewk_view.cpp:
  36061. (ewk_view_intent_deliver):
  36062. 2012-10-21 Christophe Dumez <christophe.dumez@intel.com>
  36063. [EFL][WK2] Make Ewk_Download_Job members private and remove private C functions
  36064. https://bugs.webkit.org/show_bug.cgi?id=99697
  36065. Reviewed by Kenneth Rohde Christiansen.
  36066. Make Ewk_Download_Job private and replace private C functions
  36067. by class methods. New methods were also added to match the
  36068. public C API.
  36069. * UIProcess/API/efl/ewk_context.cpp:
  36070. (ewk_context_download_job_add):
  36071. * UIProcess/API/efl/ewk_context_download_client.cpp:
  36072. (decideDestinationWithSuggestedFilename):
  36073. (didReceiveResponse):
  36074. (didCreateDestination):
  36075. (didReceiveData):
  36076. (didFail):
  36077. (didCancel):
  36078. (didFinish):
  36079. * UIProcess/API/efl/ewk_download_job.cpp:
  36080. (Ewk_Download_Job::Ewk_Download_Job):
  36081. (Ewk_Download_Job::id):
  36082. (Ewk_Download_Job::view):
  36083. (ewk_download_job_state_get):
  36084. (Ewk_Download_Job::state):
  36085. (ewk_download_job_request_get):
  36086. (Ewk_Download_Job::request):
  36087. (ewk_download_job_response_get):
  36088. (Ewk_Download_Job::response):
  36089. (ewk_download_job_destination_get):
  36090. (Ewk_Download_Job::destination):
  36091. (ewk_download_job_destination_set):
  36092. (Ewk_Download_Job::setDestination):
  36093. (ewk_download_job_suggested_filename_get):
  36094. (Ewk_Download_Job::suggestedFileName):
  36095. (ewk_download_job_cancel):
  36096. (Ewk_Download_Job::cancel):
  36097. (ewk_download_job_estimated_progress_get):
  36098. (Ewk_Download_Job::estimatedProgress):
  36099. (ewk_download_job_elapsed_time_get):
  36100. (Ewk_Download_Job::elapsedTime):
  36101. (Ewk_Download_Job::setResponse):
  36102. (Ewk_Download_Job::setSuggestedFileName):
  36103. (Ewk_Download_Job::incrementReceivedData):
  36104. (Ewk_Download_Job::setState):
  36105. * UIProcess/API/efl/ewk_download_job.h:
  36106. * UIProcess/API/efl/ewk_download_job_private.h:
  36107. (Ewk_Download_Job):
  36108. 2012-10-19 Anders Carlsson <andersca@apple.com>
  36109. Remove ::encode template specializations and just use overloads
  36110. https://bugs.webkit.org/show_bug.cgi?id=99865
  36111. Reviewed by Andreas Kling.
  36112. Get rid of the various encode functions and just use overloading instead.
  36113. * Platform/CoreIPC/ArgumentCoders.cpp:
  36114. (CoreIPC::::encode):
  36115. * Platform/CoreIPC/ArgumentCoders.h:
  36116. * Platform/CoreIPC/ArgumentEncoder.cpp:
  36117. (CoreIPC::ArgumentEncoder::encodeVariableLengthByteArray):
  36118. (CoreIPC::ArgumentEncoder::encode):
  36119. * Platform/CoreIPC/ArgumentEncoder.h:
  36120. (ArgumentEncoder):
  36121. (CoreIPC::ArgumentEncoder::encodeEnum):
  36122. * Platform/CoreIPC/win/ConnectionWin.cpp:
  36123. (CoreIPC::Connection::sendOutgoingMessage):
  36124. * Platform/mac/SharedMemoryMac.cpp:
  36125. (WebKit::SharedMemory::Handle::encode):
  36126. * Platform/win/SharedMemoryWin.cpp:
  36127. (WebKit::SharedMemory::Handle::encode):
  36128. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  36129. (CoreIPC::::encode):
  36130. * Shared/DictionaryPopupInfo.cpp:
  36131. (WebKit::DictionaryPopupInfo::encode):
  36132. * Shared/Plugins/NPIdentifierData.cpp:
  36133. (WebKit::NPIdentifierData::encode):
  36134. (WebKit::NPIdentifierData::decode):
  36135. * Shared/UserMessageCoders.h:
  36136. (WebKit::UserMessageEncoder::baseEncode):
  36137. * Shared/WebCoreArgumentCoders.cpp:
  36138. (CoreIPC::::encode):
  36139. * Shared/WebProcessCreationParameters.cpp:
  36140. (WebKit::WebProcessCreationParameters::encode):
  36141. * Shared/cf/ArgumentCodersCF.cpp:
  36142. (CoreIPC::encode):
  36143. * Shared/mac/ArgumentCodersMac.mm:
  36144. (CoreIPC::encode):
  36145. * Shared/mac/KeychainAttribute.cpp:
  36146. (CoreIPC::encode):
  36147. * Shared/mac/PlatformCertificateInfo.mm:
  36148. (WebKit::PlatformCertificateInfo::encode):
  36149. * Shared/mac/SandboxExtensionMac.mm:
  36150. (WebKit::SandboxExtension::HandleArray::encode):
  36151. * Shared/mac/SecItemRequestData.cpp:
  36152. (WebKit::SecItemRequestData::encode):
  36153. * Shared/mac/SecItemResponseData.cpp:
  36154. (WebKit::SecItemResponseData::encode):
  36155. * Shared/mac/SecKeychainItemRequestData.cpp:
  36156. (WebKit::SecKeychainItemRequestData::encode):
  36157. * Shared/mac/SecKeychainItemResponseData.cpp:
  36158. (WebKit::SecKeychainItemResponseData::encode):
  36159. * Shared/qt/ArgumentCodersQt.cpp:
  36160. (CoreIPC::::encode):
  36161. * Shared/qt/QtNetworkReplyData.cpp:
  36162. (WebKit::QtNetworkReplyData::encode):
  36163. * Shared/soup/PlatformCertificateInfo.cpp:
  36164. (WebKit::PlatformCertificateInfo::encode):
  36165. * Shared/win/LayerTreeContextWin.cpp:
  36166. (WebKit::LayerTreeContext::encode):
  36167. * Shared/win/PlatformCertificateInfo.cpp:
  36168. (WebKit::PlatformCertificateInfo::encode):
  36169. * Shared/win/WindowGeometry.cpp:
  36170. (WebKit::WindowGeometry::encode):
  36171. * WebProcess/WebPage/EncoderAdapter.cpp:
  36172. (WebKit::EncoderAdapter::encodeBool):
  36173. (WebKit::EncoderAdapter::encodeUInt16):
  36174. (WebKit::EncoderAdapter::encodeUInt32):
  36175. (WebKit::EncoderAdapter::encodeUInt64):
  36176. (WebKit::EncoderAdapter::encodeInt32):
  36177. (WebKit::EncoderAdapter::encodeInt64):
  36178. (WebKit::EncoderAdapter::encodeFloat):
  36179. (WebKit::EncoderAdapter::encodeDouble):
  36180. (WebKit::EncoderAdapter::encodeString):
  36181. 2012-10-20 Carlos Garcia Campos <cgarcia@igalia.com>
  36182. Unreviewed. Fix compile warning.
  36183. * UIProcess/API/gtk/tests/GNUmakefile.am: Pass sourcedir to
  36184. glib-compile-resource when generating dependencies too.
  36185. 2012-10-19 Seokju Kwon <seokju.kwon@samsung.com>
  36186. [EFL][WK2] Change the title of inspector window when inspected page is changed
  36187. https://bugs.webkit.org/show_bug.cgi?id=99684
  36188. Reviewed by Gyuyoung Kim.
  36189. Implement platformInspectedURLChanged() to change the title of inspector window
  36190. when inspected page is changed.
  36191. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  36192. (WebKit::WebInspectorProxy::platformInspectedURLChanged):
  36193. 2012-10-19 Dan Bernstein <mitz@apple.com>
  36194. Add bundle API for hit-testing
  36195. https://bugs.webkit.org/show_bug.cgi?id=99907
  36196. Reviewed by Sam Weinig.
  36197. Test: TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest.cpp
  36198. * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
  36199. (WKBundleFrameCreateHitTestResult): Added this wrapper.
  36200. * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
  36201. * WebProcess/WebPage/WebFrame.cpp:
  36202. (WebKit::WebFrame::hitTest): Added. Hit tests at the given point, ignoring clipping.
  36203. * WebProcess/WebPage/WebFrame.h:
  36204. (WebFrame): Declared hitTest.
  36205. 2012-10-19 Jinwoo Song <jinwoo7.song@samsung.com>
  36206. [EFL][WK2] Add API unit tests for scaling
  36207. https://bugs.webkit.org/show_bug.cgi?id=99451
  36208. Reviewed by Gyuyoung Kim.
  36209. Add API unit test for ewk_view_scale_set()/get() APIs.
  36210. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  36211. (TEST_F):
  36212. 2012-10-19 KyungTae Kim <ktf.kim@samsung.com>
  36213. [WK2][EFL] Modify ewk_view_scale_set to public API
  36214. https://bugs.webkit.org/show_bug.cgi?id=99902
  36215. Reviewed by Gyuyoung Kim.
  36216. Modify ewk_view_scale_set to public API.
  36217. * UIProcess/API/efl/ewk_view.h:
  36218. 2012-10-19 Andreas Kling <kling@webkit.org>
  36219. Race condition in WebProcessProxy::handleGetPlugins().
  36220. <http://webkit.org/b/99903>
  36221. <rdar://problem/12541471>
  36222. Reviewed by Anders Carlsson.
  36223. Scope the Vector<PluginModuleInfo> so that all the destructors are guaranteed
  36224. to have run when sendDidGetPlugins() executes on the main thread.
  36225. * UIProcess/WebProcessProxy.cpp:
  36226. (WebKit::WebProcessProxy::handleGetPlugins):
  36227. 2012-10-19 Brady Eidson <beidson@apple.com>
  36228. WebProcess should only connect to the NetworkProcess if NetworkProcess is enabled
  36229. https://bugs.webkit.org/show_bug.cgi?id=99885
  36230. Reviewed by Alexey Proskuryakov.
  36231. WebContext should tell each WebProcess it creates whether NetworkProcess use is enabled.
  36232. Add a WebProcess initialization flag for whether or not NetworkProcess use is enabled:
  36233. * Shared/WebProcessCreationParameters.cpp:
  36234. (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
  36235. (WebKit::WebProcessCreationParameters::encode):
  36236. (WebKit::WebProcessCreationParameters::decode):
  36237. * Shared/WebProcessCreationParameters.h:
  36238. (WebProcessCreationParameters):
  36239. Include that info in the initialization parameters:
  36240. * UIProcess/WebContext.cpp:
  36241. (WebKit::WebContext::createNewWebProcess):
  36242. Store whether or not NetworkProcess use is enabled, and only connect to the NetworkProcess if appropriate:
  36243. * WebProcess/WebProcess.cpp:
  36244. (WebKit::WebProcess::WebProcess):
  36245. (WebKit::WebProcess::initializeWebProcess):
  36246. (WebKit::WebProcess::ensureNetworkProcessConnection):
  36247. * WebProcess/WebProcess.h:
  36248. 2012-10-19 Brady Eidson <beidson@apple.com>
  36249. Add infrastructure for NetworkProcess management
  36250. https://bugs.webkit.org/show_bug.cgi?id=99817
  36251. Reviewed by Alexey Proskuryakov.
  36252. Add support for the WebProcess itself requesting a connection to the default NetworkProcess.
  36253. Add proper handling of crashes so any of the Web/Network/UI processes crash the others take appropriate action.
  36254. Project file stuff and general messaging changes:
  36255. * DerivedSources.make:
  36256. * Platform/CoreIPC/MessageID.h:
  36257. * WebKit2.xcodeproj/project.pbxproj:
  36258. * Platform/CoreIPC/HandleMessage.h:
  36259. (CoreIPC):
  36260. (CoreIPC::callMemberFunction): Add some new required templates.
  36261. WebContext now does much less of this stuff:
  36262. * UIProcess/WebContext.cpp:
  36263. (WebKit::WebContext::createNewWebProcess):
  36264. * UIProcess/WebContext.h:
  36265. (WebContext):
  36266. UIProcess now has a process manager to handle most of this:
  36267. * UIProcess/Network/NetworkProcessManager.cpp:
  36268. (WebKit):
  36269. (WebKit::NetworkProcessManager::shared):
  36270. (WebKit::NetworkProcessManager::NetworkProcessManager):
  36271. (WebKit::NetworkProcessManager::getNetworkProcessConnection):
  36272. (WebKit::NetworkProcessManager::ensureNetworkProcess):
  36273. (WebKit::NetworkProcessManager::removeNetworkProcessProxy):
  36274. * UIProcess/Network/NetworkProcessManager.h:
  36275. (WebKit):
  36276. (NetworkProcessManager):
  36277. Flesh out the NetworkProcessProxy to handle creating these connections between Network and Web Processes:
  36278. * UIProcess/Network/NetworkProcessProxy.cpp:
  36279. (WebKit::NetworkProcessProxy::create):
  36280. (WebKit::NetworkProcessProxy::NetworkProcessProxy):
  36281. (WebKit::NetworkProcessProxy::getNetworkProcessConnection):
  36282. (WebKit):
  36283. (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
  36284. (WebKit::NetworkProcessProxy::didReceiveMessage):
  36285. (WebKit::NetworkProcessProxy::didClose):
  36286. (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
  36287. (WebKit::NetworkProcessProxy::didFinishLaunching):
  36288. * UIProcess/Network/NetworkProcessProxy.h:
  36289. (WebKit):
  36290. (NetworkProcessProxy):
  36291. * UIProcess/Network/NetworkProcessProxy.messages.in:
  36292. Add a class representing a connection from a NetworkProcess to a particular WebProcess:
  36293. * NetworkProcess/NetworkConnectionToWebProcess.cpp: Added.
  36294. (WebKit):
  36295. (WebKit::NetworkConnectionToWebProcess::create):
  36296. (WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
  36297. (WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
  36298. (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
  36299. (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
  36300. (WebKit::NetworkConnectionToWebProcess::didClose):
  36301. (WebKit::NetworkConnectionToWebProcess::didReceiveInvalidMessage):
  36302. (WebKit::NetworkConnectionToWebProcess::didReceiveNetworkConnectionToWebProcessMessage):
  36303. * NetworkProcess/NetworkConnectionToWebProcess.h:
  36304. (WebKit):
  36305. (NetworkConnectionToWebProcess):
  36306. (WebKit::NetworkConnectionToWebProcess::connection):
  36307. * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  36308. Add the ability for a NetworkProcess to create a connection for a different process, which is used on behalf of WebProcesses for now:
  36309. * NetworkProcess/NetworkProcess.cpp:
  36310. (WebKit::NetworkProcess::removeNetworkConnectionToWebProcess):
  36311. (WebKit):
  36312. (WebKit::NetworkProcess::didClose):
  36313. (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
  36314. * NetworkProcess/NetworkProcess.h:
  36315. (WebKit):
  36316. (NetworkProcess):
  36317. * NetworkProcess/NetworkProcess.messages.in:
  36318. Forward on the message that a WebProcess wants a connection to a NetworkProcess:
  36319. * UIProcess/WebProcessProxy.cpp:
  36320. (WebKit):
  36321. (WebKit::WebProcessProxy::getNetworkProcessConnection):
  36322. * UIProcess/WebProcessProxy.h:
  36323. (WebProcessProxy):
  36324. * UIProcess/WebProcessProxy.messages.in:
  36325. Add a class representing the WebProcesses connection to the NetworkProcess:
  36326. * WebProcess/Network/NetworkProcessConnection.cpp:
  36327. (WebKit):
  36328. (WebKit::NetworkProcessConnection::NetworkProcessConnection):
  36329. (WebKit::NetworkProcessConnection::~NetworkProcessConnection):
  36330. (WebKit::NetworkProcessConnection::didReceiveMessage):
  36331. (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
  36332. (WebKit::NetworkProcessConnection::didClose):
  36333. (WebKit::NetworkProcessConnection::didReceiveInvalidMessage):
  36334. * WebProcess/Network/NetworkProcessConnection.h:
  36335. (WebKit):
  36336. (NetworkProcessConnection):
  36337. (WebKit::NetworkProcessConnection::create):
  36338. (WebKit::NetworkProcessConnection::connection):
  36339. Have the WebProcess make sure it has a connection to the NetworkProcess, even though it currently does nothing with it:
  36340. * WebProcess/WebProcess.cpp:
  36341. (WebKit::WebProcess::initializeWebProcess):
  36342. (WebKit):
  36343. (WebKit::WebProcess::ensureNetworkProcessConnection):
  36344. (WebKit::WebProcess::networkProcessConnectionClosed):
  36345. (WebKit::WebProcess::networkProcessCrashed):
  36346. * WebProcess/WebProcess.h:
  36347. (WebKit):
  36348. (WebProcess):
  36349. * WebProcess/WebProcess.messages.in:
  36350. 2012-10-19 Sheriff Bot <webkit.review.bot@gmail.com>
  36351. Unreviewed, rolling out r131931.
  36352. http://trac.webkit.org/changeset/131931
  36353. https://bugs.webkit.org/show_bug.cgi?id=99871
  36354. Broke Safari exensions (Requested by smfr on #webkit).
  36355. * CMakeLists.txt:
  36356. * GNUmakefile.list.am:
  36357. * Platform/CoreIPC/Connection.cpp:
  36358. (CoreIPC::Connection::createSyncMessageEncoder):
  36359. (CoreIPC::Connection::dispatchSyncMessage):
  36360. * Platform/CoreIPC/Connection.h:
  36361. (Connection):
  36362. (CoreIPC::Connection::deprecatedSendSync):
  36363. (CoreIPC::Connection::deprecatedSend):
  36364. * Platform/CoreIPC/MessageDecoder.cpp:
  36365. (CoreIPC::MessageDecoder::MessageDecoder):
  36366. * Platform/CoreIPC/MessageDecoder.h:
  36367. (MessageDecoder):
  36368. * Platform/CoreIPC/MessageEncoder.cpp:
  36369. (CoreIPC::MessageEncoder::create):
  36370. (CoreIPC::MessageEncoder::MessageEncoder):
  36371. * Platform/CoreIPC/MessageEncoder.h:
  36372. (MessageEncoder):
  36373. * Platform/CoreIPC/MessageReceiverMap.cpp:
  36374. (CoreIPC::MessageReceiverMap::dispatchMessage):
  36375. * Platform/CoreIPC/MessageReceiverMap.h:
  36376. (MessageReceiverMap):
  36377. * Platform/CoreIPC/StringReference.cpp: Removed.
  36378. * Platform/CoreIPC/StringReference.h: Removed.
  36379. * Platform/CoreIPC/mac/ConnectionMac.cpp:
  36380. (CoreIPC::Connection::open):
  36381. * Scripts/webkit2/messages.py:
  36382. (message_to_struct_declaration):
  36383. (forward_declarations_and_headers):
  36384. (generate_messages_header):
  36385. * Scripts/webkit2/messages_unittest.py:
  36386. * Shared/CoreIPCSupport/WebContextMessageKinds.h:
  36387. * Target.pri:
  36388. * UIProcess/WebContext.cpp:
  36389. (WebKit::WebContext::WebContext):
  36390. * UIProcess/WebContext.h:
  36391. (WebContext):
  36392. * UIProcess/WebProcessProxy.h:
  36393. (WebKit::WebProcessProxy::deprecatedSend):
  36394. (WebKit::WebProcessProxy::send):
  36395. * WebKit2.xcodeproj/project.pbxproj:
  36396. * win/WebKit2.vcproj:
  36397. 2012-10-19 Anders Carlsson <andersca@apple.com>
  36398. Don't use CStrings for message receiver names and message names
  36399. https://bugs.webkit.org/show_bug.cgi?id=99853
  36400. Reviewed by Andreas Kling.
  36401. Introduce StringReference which is similar to DataReference except it holds a pointer to + length of a char *
  36402. and can be created from a string literal. Use this in place of CString in MessageEncoder/MessageDecoder and
  36403. make MessageReceiverMap use a HashMap from StringReferences to MessageReceivers for global message receivers.
  36404. * CMakeLists.txt:
  36405. * GNUmakefile.list.am:
  36406. * Platform/CoreIPC/Connection.cpp:
  36407. (CoreIPC::Connection::createSyncMessageEncoder):
  36408. (CoreIPC::Connection::dispatchSyncMessage):
  36409. * Platform/CoreIPC/Connection.h:
  36410. (Connection):
  36411. (CoreIPC::Connection::deprecatedSendSync):
  36412. (CoreIPC::Connection::deprecatedSend):
  36413. * Platform/CoreIPC/MessageDecoder.cpp:
  36414. (CoreIPC::MessageDecoder::MessageDecoder):
  36415. * Platform/CoreIPC/MessageDecoder.h:
  36416. (CoreIPC::MessageDecoder::messageReceiverName):
  36417. (CoreIPC::MessageDecoder::messageName):
  36418. (MessageDecoder):
  36419. * Platform/CoreIPC/MessageEncoder.cpp:
  36420. (CoreIPC::MessageEncoder::create):
  36421. (CoreIPC::MessageEncoder::MessageEncoder):
  36422. * Platform/CoreIPC/MessageEncoder.h:
  36423. (CoreIPC):
  36424. (MessageEncoder):
  36425. * Platform/CoreIPC/MessageReceiverMap.cpp:
  36426. (CoreIPC::MessageReceiverMap::addMessageReceiver):
  36427. (CoreIPC):
  36428. (CoreIPC::MessageReceiverMap::dispatchMessage):
  36429. * Platform/CoreIPC/MessageReceiverMap.h:
  36430. (MessageReceiverMap):
  36431. * Platform/CoreIPC/StringReference.cpp: Added.
  36432. (CoreIPC):
  36433. (CoreIPC::StringReference::encode):
  36434. (CoreIPC::StringReference::decode):
  36435. (CoreIPC::StringReference::Hash::hash):
  36436. * Platform/CoreIPC/StringReference.h: Added.
  36437. (CoreIPC):
  36438. (StringReference):
  36439. (CoreIPC::StringReference::StringReference):
  36440. (CoreIPC::StringReference::isEmpty):
  36441. (CoreIPC::StringReference::size):
  36442. (CoreIPC::StringReference::data):
  36443. (CoreIPC::StringReference::operator==):
  36444. (Hash):
  36445. (CoreIPC::StringReference::Hash::equal):
  36446. (WTF):
  36447. * Platform/CoreIPC/mac/ConnectionMac.cpp:
  36448. (CoreIPC::Connection::open):
  36449. * Scripts/webkit2/messages.py:
  36450. (message_to_struct_declaration):
  36451. (forward_declarations_and_headers):
  36452. (generate_messages_header):
  36453. * Scripts/webkit2/messages_unittest.py:
  36454. * Shared/CoreIPCSupport/WebContextMessageKinds.h:
  36455. * Target.pri:
  36456. * UIProcess/WebContext.cpp:
  36457. (WebKit::WebContext::WebContext):
  36458. (WebKit::WebContext::addMessageReceiver):
  36459. (WebKit):
  36460. * UIProcess/WebContext.h:
  36461. (WebContext):
  36462. * UIProcess/WebProcessProxy.h:
  36463. (WebKit::WebProcessProxy::deprecatedSend):
  36464. (WebKit::WebProcessProxy::send):
  36465. * WebKit2.xcodeproj/project.pbxproj:
  36466. * win/WebKit2.vcproj:
  36467. 2012-10-19 Dongwoo Joshua Im <dw.im@samsung.com>
  36468. Rename ENABLE_CSS3_TEXT_DECORATION to ENABLE_CSS3_TEXT
  36469. https://bugs.webkit.org/show_bug.cgi?id=99804
  36470. Reviewed by Julien Chaffraix.
  36471. CSS3 text related properties will be implemented under this flag,
  36472. including text decoration, text-align-last, and text-justify.
  36473. * Configurations/FeatureDefines.xcconfig:
  36474. 2012-10-19 Brady Eidson <beidson@apple.com>
  36475. REGRESSION (r131686): Crash in NSToolTipManager mouseEnteredToolTip
  36476. <rdar://problem/12527528> and https://bugs.webkit.org/show_bug.cgi?id=99792
  36477. Patch by Darin Adler, reviewed by Brady Eidson.
  36478. We should explicitly remove tooltips when the view moves to a new window.
  36479. * UIProcess/API/mac/WKView.mm:
  36480. (-[WKView viewDidMoveToWindow]):
  36481. 2012-10-19 Balazs Kelemen <kbalazs@webkit.org>
  36482. [Qt][WTR] renderToOffscreenBuffer should not be set if the real render loop is active
  36483. https://bugs.webkit.org/show_bug.cgi?id=99831
  36484. Reviewed by Jocelyn Turcotte.
  36485. Update the comment about renderToOffscreenBuffer to better describe its role.
  36486. * UIProcess/API/qt/qquickwebview.cpp:
  36487. (QQuickWebViewPrivate::setNeedsDisplay):
  36488. 2012-10-19 Yael Aharon <yael.aharon@intel.com>
  36489. [EFL][WK2] Rename EflViewportHandler to PageViewportControllerClientEfl
  36490. https://bugs.webkit.org/show_bug.cgi?id=99101
  36491. Reviewed by Gyuyoung Kim.
  36492. Rename EFlViewportHandler to PageViewportControllerClientEfl.
  36493. Also, make it inherit from PageViewportControllerClient. The actual implementation
  36494. of PageViewportControllerClient for Efl port will come in a separate patch.
  36495. * CMakeLists.txt:
  36496. * PlatformEfl.cmake:
  36497. * UIProcess/API/efl/EflViewportHandler.cpp: Removed.
  36498. * UIProcess/API/efl/EflViewportHandler.h: Removed.
  36499. * UIProcess/API/efl/PageViewportControllerClientEfl.cpp: Copied from Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp.
  36500. (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
  36501. (WebKit::PageViewportControllerClientEfl::~PageViewportControllerClientEfl):
  36502. (WebKit::PageViewportControllerClientEfl::drawingArea):
  36503. (WebKit::PageViewportControllerClientEfl::setRendererActive):
  36504. (WebKit::PageViewportControllerClientEfl::display):
  36505. (WebKit::PageViewportControllerClientEfl::updateViewportSize):
  36506. (WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
  36507. (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
  36508. (WebKit):
  36509. (WebKit::PageViewportControllerClientEfl::setViewportPosition):
  36510. (WebKit::PageViewportControllerClientEfl::setContentsScale):
  36511. (WebKit::PageViewportControllerClientEfl::didResumeContent):
  36512. (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
  36513. (WebKit::PageViewportControllerClientEfl::didChangeViewportAttributes):
  36514. (WebKit::PageViewportControllerClientEfl::setController):
  36515. * UIProcess/API/efl/PageViewportControllerClientEfl.h: Copied from Source/WebKit2/UIProcess/API/efl/EflViewportHandler.h.
  36516. (WebKit::PageViewportControllerClientEfl::create):
  36517. (PageViewportControllerClientEfl):
  36518. * UIProcess/API/efl/ewk_view.cpp:
  36519. (Ewk_View_Private_Data):
  36520. (_ewk_view_initialize):
  36521. (ewk_view_scale_set):
  36522. * UIProcess/PageViewportController.cpp:
  36523. * UIProcess/PageViewportController.h:
  36524. 2012-10-19 Csaba Osztrogonác <ossy@webkit.org>
  36525. REGRESSION(r131844): It broke the build on !ENABLE(NETSCAPE_PLUGIN_API) platforms
  36526. https://bugs.webkit.org/show_bug.cgi?id=99820
  36527. Reviewed by Jocelyn Turcotte.
  36528. * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
  36529. (WebKit::ProcessLauncher::launchProcess): Add missing ENABLE(PLUGIN_PROCESS) guard.
  36530. * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: The whole file should be ENABLE(NETSCAPE_PLUGIN_API) guarded as the PluginInfoStore class.
  36531. (WebKit::PluginInfoStore::getPluginInfo):
  36532. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  36533. (WebKit::WebFrameLoaderClient::createPlugin): Eliminate the unused webPage variable (build fail with -Werror) if !(PLATFORM(MAC)||ENABLE(NETSCAPE_PLUGIN_API)).
  36534. 2012-10-19 Huang Dongsung <luxtella@company100.net>
  36535. Build fix after r131741 for !ENABLE(CSS_SHADERS) platforms.
  36536. https://bugs.webkit.org/show_bug.cgi?id=99775
  36537. Reviewed by Csaba Osztrogonác.
  36538. A class in WebKit namespace is only used when ENABLE(CSS_SHADERS), so we
  36539. must guard "using namespace WebKit" by ENABLE(CSS_SHADERS). Otherwise,
  36540. it brokes the Qt --minimal build.
  36541. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  36542. (CoreIPC::::decode):
  36543. 2012-10-19 Carlos Garcia Campos <cgarcia@igalia.com>
  36544. REGRESSION (r130640 - r130644): TestCookieManager API test is failing
  36545. https://bugs.webkit.org/show_bug.cgi?id=98738
  36546. Reviewed by Philippe Normand.
  36547. For some reason the order of the domains in the array has changed,
  36548. but it doesn't really matter, what we want to check is that both
  36549. cookies have been accepted and the array contains both domains.
  36550. * UIProcess/API/gtk/tests/TestCookieManager.cpp:
  36551. (testCookieManagerAcceptPolicy): Check that first and third party
  36552. domains are present in the domains array.
  36553. 2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
  36554. WebPageProxy::canShowMIMEType() should return false for plugins when they are disabled
  36555. https://bugs.webkit.org/show_bug.cgi?id=99449
  36556. Reviewed by Anders Carlsson.
  36557. * UIProcess/API/gtk/tests/GNUmakefile.am:
  36558. * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
  36559. (testWebViewCanShowMIMEType): Test that
  36560. webkit_web_view_can_show_mime_type() returns FALSE if plugins are
  36561. disabled.
  36562. * UIProcess/WebPageProxy.cpp:
  36563. (WebKit::WebPageProxy::canShowMIMEType): Return false for
  36564. MIME-Type of plugins if they are disabled.
  36565. 2012-10-18 Brady Eidson <beidson@apple.com>
  36566. Move ConnectionStack out of WebProcessConnection into its own files.
  36567. https://bugs.webkit.org/show_bug.cgi?id=99813
  36568. Reviewed by Andreas Kling.
  36569. ConnectionStack will need to be used in a few upcoming areas, so it needs to be in its own header and implementation files.
  36570. Project file stuff:
  36571. * CMakeLists.txt:
  36572. * GNUmakefile.list.am:
  36573. * Target.pri:
  36574. * WebKit2.xcodeproj/project.pbxproj:
  36575. Move it from here:
  36576. * PluginProcess/WebProcessConnection.cpp:
  36577. (WebKit::WebProcessConnection::setGlobalException):
  36578. (WebKit::WebProcessConnection::didReceiveMessage):
  36579. (WebKit::WebProcessConnection::didReceiveSyncMessage):
  36580. Into here:
  36581. * Shared/ConnectionStack.cpp: Added.
  36582. (WebKit):
  36583. (WebKit::ConnectionStack::shared):
  36584. * Shared/ConnectionStack.h: Added.
  36585. (CoreIPC):
  36586. (WebKit):
  36587. (ConnectionStack):
  36588. (WebKit::ConnectionStack::current):
  36589. (CurrentConnectionPusher):
  36590. (WebKit::ConnectionStack::CurrentConnectionPusher::CurrentConnectionPusher):
  36591. (WebKit::ConnectionStack::CurrentConnectionPusher::~CurrentConnectionPusher):
  36592. 2012-10-18 Eunmi Lee <eunmi15.lee@samsung.com>
  36593. [EFL][WK2] Move ewk_{init,shutdown}() to the main() function of EFL API test.
  36594. https://bugs.webkit.org/show_bug.cgi?id=99681
  36595. Reviewed by Gyuyoung Kim.
  36596. The ewk_{init,shutdown}() is called whenever processing the each test,
  36597. so tests can be failed if EFL libraries APIs are called between
  36598. ewk_shutdown() and next ewk_init().
  36599. The ewk_{init,shutdown}() should be called once per application.
  36600. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
  36601. (EWK2UnitTest::EWK2UnitTestBase::SetUp):
  36602. (EWK2UnitTest::EWK2UnitTestBase::TearDown):
  36603. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp:
  36604. (main):
  36605. 2012-10-18 Byungwoo Lee <bw80.lee@samsung.com>
  36606. Fix build warning.
  36607. https://bugs.webkit.org/show_bug.cgi?id=99788
  36608. Reviewed by Kentaro Hara.
  36609. Remove parameter name or use ASSERT_UNUSED macro for removing
  36610. -Wunused-parameter.
  36611. * PluginProcess/unix/PluginProcessMainUnix.cpp:
  36612. (WebKit::PluginProcessMainUnix):
  36613. * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
  36614. (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
  36615. 2012-10-18 Ryuan Choi <ryuan.choi@gmail.com>
  36616. Attempt to fix the WebKit2/Efl build after r131841.
  36617. Unreviewed build fix.
  36618. Rename addMessageReceiver to deprecatedAddMessageReceiver.
  36619. * UIProcess/WebBatteryManagerProxy.cpp:
  36620. (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):
  36621. * UIProcess/WebNetworkInfoManagerProxy.cpp:
  36622. (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy):
  36623. * UIProcess/WebVibrationProxy.cpp:
  36624. (WebKit::WebVibrationProxy::WebVibrationProxy):
  36625. * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
  36626. (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
  36627. 2012-10-18 Benjamin Poulain <bpoulain@apple.com>
  36628. [WK2] WebKit2 does not build without PLUGIN_PROCESS on Mac
  36629. https://bugs.webkit.org/show_bug.cgi?id=99771
  36630. Reviewed by Anders Carlsson.
  36631. Add ENABLE(PLUGIN_PROCESS), ENABLE(SHARED_WORKER_PROCESS) and ENABLE(NETSCAPE_PLUGIN_API)
  36632. as needed to exclude the code with dependencies on PLUGIN_PROCESS.
  36633. * Platform/CoreIPC/MessageID.h:
  36634. * Shared/SharedWorkerProcessCreationParameters.cpp:
  36635. * Shared/SharedWorkerProcessCreationParameters.h:
  36636. * SharedWorkerProcess/SharedWorkerProcess.cpp:
  36637. * SharedWorkerProcess/SharedWorkerProcess.h:
  36638. * SharedWorkerProcess/SharedWorkerProcess.messages.in:
  36639. * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
  36640. * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
  36641. * UIProcess/API/C/WKContext.cpp:
  36642. (WKContextSetAdditionalPluginsDirectory):
  36643. (WKContextGetPluginSiteDataManager):
  36644. * UIProcess/API/C/WKPluginSiteDataManager.cpp:
  36645. (WKPluginSiteDataManagerGetTypeID):
  36646. (WKPluginSiteDataManagerGetSitesWithData):
  36647. * UIProcess/Launcher/ProcessLauncher.cpp:
  36648. (WebKit::ProcessLauncher::processTypeAsString):
  36649. (WebKit::ProcessLauncher::getProcessTypeFromString):
  36650. * UIProcess/Launcher/ProcessLauncher.h:
  36651. * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  36652. (WebKit::createProcess):
  36653. * UIProcess/Plugins/PluginInfoStore.cpp:
  36654. * UIProcess/Plugins/PluginInfoStore.h:
  36655. * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
  36656. * UIProcess/Plugins/WebPluginSiteDataManager.h:
  36657. * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
  36658. (WebKit::PluginInfoStore::getPluginInfo):
  36659. * UIProcess/SharedWorkers/SharedWorkerProcessManager.cpp:
  36660. * UIProcess/SharedWorkers/SharedWorkerProcessManager.h:
  36661. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
  36662. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
  36663. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.messages.in:
  36664. * UIProcess/WebContext.cpp:
  36665. (WebKit::WebContext::WebContext):
  36666. (WebKit::WebContext::~WebContext):
  36667. (WebKit::WebContext::shouldTerminate):
  36668. (WebKit::WebContext::disconnectProcess):
  36669. (WebKit):
  36670. * UIProcess/WebContext.h:
  36671. (WebContext):
  36672. * UIProcess/WebPageProxy.cpp:
  36673. (WebKit::WebPageProxy::canShowMIMEType):
  36674. (WebKit):
  36675. (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
  36676. * UIProcess/WebProcessProxy.cpp:
  36677. (WebKit):
  36678. * UIProcess/WebProcessProxy.h:
  36679. (WebProcessProxy):
  36680. * UIProcess/WebProcessProxy.messages.in:
  36681. * WebKit2Prefix.h:
  36682. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  36683. (WebKit::WebFrameLoaderClient::createPlugin):
  36684. (WebKit::WebFrameLoaderClient::recreatePlugin):
  36685. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  36686. (WebKit::WebPlatformStrategies::WebPlatformStrategies):
  36687. (WebKit::WebPlatformStrategies::refreshPlugins):
  36688. (WebKit::WebPlatformStrategies::getPluginInfo):
  36689. (WebKit):
  36690. * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  36691. (WebPlatformStrategies):
  36692. (WebKit):
  36693. * WebProcess/WebPage/WebPage.cpp:
  36694. (WebKit):
  36695. (WebKit::WebPage::createPlugin):
  36696. (WebKit::canPluginHandleResponse):
  36697. * WebProcess/WebPage/WebPage.h:
  36698. (WebPage):
  36699. * WebProcess/WebProcess.cpp:
  36700. (WebKit):
  36701. * WebProcess/WebProcess.h:
  36702. (WebProcess):
  36703. * WebProcess/WebProcess.messages.in:
  36704. 2012-10-18 Laszlo Gombos <l.gombos@samsung.com>
  36705. [EFL] Buildfix if Netscape plugin support is disabled
  36706. https://bugs.webkit.org/show_bug.cgi?id=99757
  36707. Reviewed by Gyuyoung Kim.
  36708. Guard PluginProcessMainUnix.cpp with ENABLE(PLUGIN_PROCESS).
  36709. * PluginProcess/unix/PluginProcessMainUnix.cpp:
  36710. 2012-10-18 Anders Carlsson <andersca@apple.com>
  36711. Deprecate the current version of MessageReceiverMap::addMessageReceiver
  36712. https://bugs.webkit.org/show_bug.cgi?id=99797
  36713. Reviewed by Andreas Kling.
  36714. Rename addMessageReceiver to deprecatedAddMessageReceiver in preparation for adding a new
  36715. version that takes a string instead.
  36716. * Platform/CoreIPC/Connection.h:
  36717. (CoreIPC::Connection::deprecatedAddMessageReceiver):
  36718. * Platform/CoreIPC/MessageReceiverMap.cpp:
  36719. (CoreIPC::MessageReceiverMap::deprecatedAddMessageReceiver):
  36720. (CoreIPC::MessageReceiverMap::invalidate):
  36721. (CoreIPC::MessageReceiverMap::dispatchMessage):
  36722. (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
  36723. * Platform/CoreIPC/MessageReceiverMap.h:
  36724. (MessageReceiverMap):
  36725. * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
  36726. (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
  36727. * UIProcess/WebApplicationCacheManagerProxy.cpp:
  36728. (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
  36729. * UIProcess/WebContext.cpp:
  36730. (WebKit::WebContext::WebContext):
  36731. (WebKit::WebContext::deprecatedAddMessageReceiver):
  36732. * UIProcess/WebContext.h:
  36733. (WebContext):
  36734. * UIProcess/WebCookieManagerProxy.cpp:
  36735. (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
  36736. * UIProcess/WebDatabaseManagerProxy.cpp:
  36737. (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
  36738. * UIProcess/WebGeolocationManagerProxy.cpp:
  36739. (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
  36740. * UIProcess/WebIconDatabase.cpp:
  36741. (WebKit::WebIconDatabase::WebIconDatabase):
  36742. * UIProcess/WebKeyValueStorageManagerProxy.cpp:
  36743. (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
  36744. * UIProcess/WebMediaCacheManagerProxy.cpp:
  36745. (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
  36746. * UIProcess/WebResourceCacheManagerProxy.cpp:
  36747. (WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
  36748. * WebProcess/Authentication/AuthenticationManager.cpp:
  36749. (WebKit::AuthenticationManager::AuthenticationManager):
  36750. * WebProcess/Geolocation/WebGeolocationManager.cpp:
  36751. (WebKit::WebGeolocationManager::registerWebPage):
  36752. 2012-10-18 Chris Fleizach <cfleizach@apple.com>
  36753. AX: Crashes in WebProcess at com.apple.WebCore: -[AccessibilityObjectWrapper remoteAccessibilityParentObject] + 78
  36754. https://bugs.webkit.org/show_bug.cgi?id=96443
  36755. Reviewed by Beth Dakin.
  36756. It appears that the crash is due to not checking whether the page object is null.
  36757. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  36758. (WebKit::WebFrameLoaderClient::accessibilityRemoteObject):
  36759. 2012-10-18 Jaehun Lim <ljaehun.lim@samsung.com>
  36760. Add support for float-valued prefernces
  36761. https://bugs.webkit.org/show_bug.cgi?id=99419
  36762. Reviewed by Anders Carlsson.
  36763. Support float values for preferences in WK2.
  36764. * Shared/WebPreferencesStore.cpp:
  36765. (WebKit::WebPreferencesStore::encode):
  36766. (WebKit::WebPreferencesStore::decode):
  36767. (WebKit):
  36768. (WebKit::defaultValueForKey):
  36769. * Shared/WebPreferencesStore.h:
  36770. (WebKit):
  36771. (WebPreferencesStore):
  36772. * UIProcess/WebPreferences.cpp:
  36773. (WebKit::WebPreferences::updateFloatValueForKey):
  36774. (WebKit):
  36775. * UIProcess/WebPreferences.h:
  36776. (WebPreferences):
  36777. * UIProcess/cf/WebPreferencesCF.cpp:
  36778. (WebKit::WebPreferences::platformUpdateFloatValueForKey):
  36779. (WebKit):
  36780. * UIProcess/efl/WebPreferencesEfl.cpp:
  36781. (WebKit::WebPreferences::platformUpdateFloatValueForKey):
  36782. (WebKit):
  36783. * UIProcess/gtk/WebPreferencesGtk.cpp:
  36784. (WebKit::WebPreferences::platformUpdateFloatValueForKey):
  36785. (WebKit):
  36786. * UIProcess/mac/WebPreferencesMac.mm:
  36787. (WebKit::WebPreferences::platformUpdateFloatValueForKey):
  36788. (WebKit):
  36789. * UIProcess/qt/WebPreferencesQt.cpp:
  36790. (WebKit::WebPreferences::platformUpdateFloatValueForKey):
  36791. (WebKit):
  36792. 2012-10-18 Anders Carlsson <andersca@apple.com>
  36793. Replace uses of ArgumentEncoder/ArgumentDecoder with MessageEncoder/MessageDecoder
  36794. https://bugs.webkit.org/show_bug.cgi?id=99746
  36795. Reviewed by Andreas Kling.
  36796. Change all occurrences of ArgumentDecoder* to MessageDecoder& and all occurrences of ArgumentEncoder*
  36797. to ArgumentEncoder& in all the message receivers. This is the second step towards getting rid of MessageID.
  36798. 2012-10-18 Yael Aharon <yael.aharon@intel.com>
  36799. PageViewportController::m_rawAttributes.devicePixelRatio is not initialized
  36800. https://bugs.webkit.org/show_bug.cgi?id=99751
  36801. Reviewed by Antonio Gomes.
  36802. PageViewportController::m_rawAttributes.devicePixelRatio needs to be initialized.
  36803. Due to race condition, we could set the viewport attributes before the first layout.
  36804. If that happens, PageViewportController::m_rawAttributes.devicePixelRatio
  36805. is used without being initialized.
  36806. * UIProcess/PageViewportController.cpp:
  36807. (WebKit::PageViewportController::PageViewportController):
  36808. 2012-10-18 Roger Fong <roger_fong@apple.com>
  36809. Unreviewed. Build fix after r131701 and r131777.
  36810. * win/WebKit2.def:
  36811. 2012-10-18 Anders Carlsson <andersca@apple.com>
  36812. Build fix.
  36813. * Scripts/webkit2/messages.py:
  36814. (message_to_struct_declaration):
  36815. (generate_messages_header):
  36816. * Scripts/webkit2/messages_unittest.py:
  36817. 2012-10-18 Anders Carlsson <andersca@apple.com>
  36818. Generated messages should have a receiver name and a name
  36819. https://bugs.webkit.org/show_bug.cgi?id=99740
  36820. Reviewed by Andreas Kling.
  36821. As a first step towards getting rid of MessageID, give each generated message a name and receiver name
  36822. and pass them along when sending the messages.
  36823. * Platform/CoreIPC/Connection.h:
  36824. (CoreIPC::Connection::send):
  36825. (CoreIPC::Connection::sendSync):
  36826. * Platform/CoreIPC/MessageSender.h:
  36827. (CoreIPC::MessageSender::send):
  36828. * Scripts/webkit2/messages.py:
  36829. (message_to_struct_declaration):
  36830. (generate_messages_header):
  36831. * Scripts/webkit2/messages_unittest.py:
  36832. 2012-10-18 Pablo Flouret <pablof@motorola.com>
  36833. Implement css3-conditional's @supports rule
  36834. https://bugs.webkit.org/show_bug.cgi?id=86146
  36835. Reviewed by Antti Koivisto.
  36836. * Configurations/FeatureDefines.xcconfig:
  36837. Add an ENABLE_CSS3_CONDITIONAL_RULES flag.
  36838. 2012-10-18 Michael Saboff <msaboff@apple.com>
  36839. Make conversion between JSStringRef and WKStringRef work without character size conversions
  36840. https://bugs.webkit.org/show_bug.cgi?id=99727
  36841. Reviewed by Anders Carlsson.
  36842. Use the wrapped WTFString object to convert between JSStringRef and WKStringRef.
  36843. * Shared/WebString.h:
  36844. (WebKit::JSStringCreateWithString):
  36845. (WebKit::WebString::create):
  36846. (WebKit::WebString::createJSString):
  36847. 2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
  36848. [GTK] Don't use using namespace WebKit in private headers in WebKit2
  36849. https://bugs.webkit.org/show_bug.cgi?id=99724
  36850. Reviewed by Xan Lopez.
  36851. Move using namespace WebKit from private headers to the cpp file.
  36852. * UIProcess/API/gtk/WebKitBackForwardList.cpp:
  36853. * UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
  36854. * UIProcess/API/gtk/WebKitContextMenu.cpp:
  36855. * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
  36856. * UIProcess/API/gtk/WebKitContextMenuItemPrivate.h:
  36857. * UIProcess/API/gtk/WebKitContextMenuPrivate.h:
  36858. * UIProcess/API/gtk/WebKitCookieManager.cpp:
  36859. * UIProcess/API/gtk/WebKitCookieManagerPrivate.h:
  36860. * UIProcess/API/gtk/WebKitDownload.cpp:
  36861. * UIProcess/API/gtk/WebKitDownloadPrivate.h:
  36862. * UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h:
  36863. * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
  36864. * UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h:
  36865. * UIProcess/API/gtk/WebKitFindController.cpp:
  36866. * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
  36867. * UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h:
  36868. * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp:
  36869. * UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h:
  36870. * UIProcess/API/gtk/WebKitGeolocationProvider.cpp:
  36871. * UIProcess/API/gtk/WebKitGeolocationProvider.h:
  36872. * UIProcess/API/gtk/WebKitHitTestResult.cpp:
  36873. * UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
  36874. * UIProcess/API/gtk/WebKitJavascriptResult.cpp:
  36875. * UIProcess/API/gtk/WebKitJavascriptResultPrivate.h:
  36876. * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
  36877. * UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h:
  36878. * UIProcess/API/gtk/WebKitPolicyDecision.cpp:
  36879. * UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h:
  36880. * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
  36881. * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
  36882. * UIProcess/API/gtk/WebKitSettings.cpp:
  36883. * UIProcess/API/gtk/WebKitSettingsPrivate.h:
  36884. * UIProcess/API/gtk/WebKitURIResponse.cpp:
  36885. * UIProcess/API/gtk/WebKitURIResponsePrivate.h:
  36886. * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
  36887. * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
  36888. * UIProcess/API/gtk/WebKitWebContext.cpp:
  36889. * UIProcess/API/gtk/WebKitWebContextPrivate.h:
  36890. * UIProcess/API/gtk/WebKitWebInspector.cpp:
  36891. * UIProcess/API/gtk/WebKitWebInspectorPrivate.h:
  36892. * UIProcess/API/gtk/WebKitWebResource.cpp:
  36893. * UIProcess/API/gtk/WebKitWebResourcePrivate.h:
  36894. * UIProcess/API/gtk/WebKitWebView.cpp:
  36895. * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  36896. * UIProcess/API/gtk/WebKitWebViewPrivate.h:
  36897. * UIProcess/API/gtk/WebKitWindowProperties.cpp:
  36898. * UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h:
  36899. 2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
  36900. [GTK] Don't use the C API internally in WebKitFileChooserRequest
  36901. https://bugs.webkit.org/show_bug.cgi?id=96774
  36902. Reviewed by Xan Lopez.
  36903. Using the C++ classes directly instead of the C API wrappers we
  36904. avoid a lot of toImpl/toAPI casts, string conversions and
  36905. allocations. The code is also a lot simpler and easier to read.
  36906. * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
  36907. (_WebKitFileChooserRequestPrivate):
  36908. (webkitFileChooserRequestCreate):
  36909. (webkit_file_chooser_request_get_mime_types):
  36910. (webkit_file_chooser_request_get_mime_types_filter):
  36911. (webkit_file_chooser_request_get_select_multiple):
  36912. (webkit_file_chooser_request_select_files):
  36913. (webkit_file_chooser_request_get_selected_files):
  36914. (webkit_file_chooser_request_cancel):
  36915. * UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h:
  36916. * UIProcess/API/gtk/WebKitUIClient.cpp:
  36917. (runOpenPanel):
  36918. 2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
  36919. [GTK] Don't use the C API internally in WebKitFormSubmissionRequest
  36920. https://bugs.webkit.org/show_bug.cgi?id=96777
  36921. Reviewed by Xan Lopez.
  36922. Using the C++ classes directly instead of the C API wrappers we
  36923. avoid a lot of toImpl/toAPI casts, string conversions and
  36924. allocations. The code is also a lot simpler and easier to read.
  36925. * UIProcess/API/gtk/WebKitFormClient.cpp:
  36926. (willSubmitForm):
  36927. * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
  36928. (_WebKitFormSubmissionRequestPrivate):
  36929. (webkitFormSubmissionRequestCreate):
  36930. (webkit_form_submission_request_get_text_fields):
  36931. (webkit_form_submission_request_submit):
  36932. * UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h:
  36933. 2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
  36934. [GTK] Don't use the C API internally in WebKitSettings
  36935. https://bugs.webkit.org/show_bug.cgi?id=96784
  36936. Reviewed by Gustavo Noronha Silva.
  36937. Using the C++ classes directly instead of the C API wrappers we
  36938. avoid a lot of toImpl/toAPI casts, string conversions and
  36939. allocations. The code is also a lot simpler and easier to read.
  36940. * UIProcess/API/gtk/WebKitSettings.cpp:
  36941. (_WebKitSettingsPrivate):
  36942. (webkit_settings_class_init):
  36943. (webkit_settings_init):
  36944. (webkitSettingsAttachSettingsToPage):
  36945. (webkit_settings_get_enable_javascript):
  36946. (webkit_settings_set_enable_javascript):
  36947. (webkit_settings_get_auto_load_images):
  36948. (webkit_settings_set_auto_load_images):
  36949. (webkit_settings_get_load_icons_ignoring_image_load_setting):
  36950. (webkit_settings_set_load_icons_ignoring_image_load_setting):
  36951. (webkit_settings_get_enable_offline_web_application_cache):
  36952. (webkit_settings_set_enable_offline_web_application_cache):
  36953. (webkit_settings_get_enable_html5_local_storage):
  36954. (webkit_settings_set_enable_html5_local_storage):
  36955. (webkit_settings_get_enable_html5_database):
  36956. (webkit_settings_set_enable_html5_database):
  36957. (webkit_settings_get_enable_xss_auditor):
  36958. (webkit_settings_set_enable_xss_auditor):
  36959. (webkit_settings_get_enable_frame_flattening):
  36960. (webkit_settings_set_enable_frame_flattening):
  36961. (webkit_settings_get_enable_plugins):
  36962. (webkit_settings_set_enable_plugins):
  36963. (webkit_settings_get_enable_java):
  36964. (webkit_settings_set_enable_java):
  36965. (webkit_settings_get_javascript_can_open_windows_automatically):
  36966. (webkit_settings_set_javascript_can_open_windows_automatically):
  36967. (webkit_settings_get_enable_hyperlink_auditing):
  36968. (webkit_settings_set_enable_hyperlink_auditing):
  36969. (webkit_settings_set_default_font_family):
  36970. (webkit_settings_set_monospace_font_family):
  36971. (webkit_settings_set_serif_font_family):
  36972. (webkit_settings_set_sans_serif_font_family):
  36973. (webkit_settings_set_cursive_font_family):
  36974. (webkit_settings_set_fantasy_font_family):
  36975. (webkit_settings_set_pictograph_font_family):
  36976. (webkit_settings_get_default_font_size):
  36977. (webkit_settings_set_default_font_size):
  36978. (webkit_settings_get_default_monospace_font_size):
  36979. (webkit_settings_set_default_monospace_font_size):
  36980. (webkit_settings_get_minimum_font_size):
  36981. (webkit_settings_set_minimum_font_size):
  36982. (webkit_settings_set_default_charset):
  36983. (webkit_settings_get_enable_private_browsing):
  36984. (webkit_settings_set_enable_private_browsing):
  36985. (webkit_settings_get_enable_developer_extras):
  36986. (webkit_settings_set_enable_developer_extras):
  36987. (webkit_settings_get_enable_resizable_text_areas):
  36988. (webkit_settings_set_enable_resizable_text_areas):
  36989. (webkit_settings_get_enable_tabs_to_links):
  36990. (webkit_settings_set_enable_tabs_to_links):
  36991. (webkit_settings_get_enable_dns_prefetching):
  36992. (webkit_settings_set_enable_dns_prefetching):
  36993. (webkit_settings_get_enable_caret_browsing):
  36994. (webkit_settings_set_enable_caret_browsing):
  36995. (webkit_settings_get_enable_fullscreen):
  36996. (webkit_settings_set_enable_fullscreen):
  36997. (webkit_settings_get_print_backgrounds):
  36998. (webkit_settings_set_print_backgrounds):
  36999. (webkit_settings_get_enable_webaudio):
  37000. (webkit_settings_set_enable_webaudio):
  37001. (webkit_settings_get_enable_webgl):
  37002. (webkit_settings_set_enable_webgl):
  37003. (webkit_settings_get_allow_modal_dialogs):
  37004. (webkit_settings_get_zoom_text_only):
  37005. (webkit_settings_get_javascript_can_access_clipboard):
  37006. (webkit_settings_set_javascript_can_access_clipboard):
  37007. (webkit_settings_get_media_playback_requires_user_gesture):
  37008. (webkit_settings_set_media_playback_requires_user_gesture):
  37009. (webkit_settings_get_media_playback_allows_inline):
  37010. (webkit_settings_set_media_playback_allows_inline):
  37011. (webkit_settings_get_draw_compositing_indicators):
  37012. (webkit_settings_set_draw_compositing_indicators):
  37013. (webkit_settings_get_enable_site_specific_quirks):
  37014. (webkit_settings_set_enable_site_specific_quirks):
  37015. (webkit_settings_get_enable_page_cache):
  37016. (webkit_settings_set_enable_page_cache):
  37017. (webkit_settings_get_enable_smooth_scrolling):
  37018. (webkit_settings_set_enable_smooth_scrolling):
  37019. * UIProcess/API/gtk/WebKitSettingsPrivate.h:
  37020. * UIProcess/API/gtk/WebKitWebView.cpp:
  37021. (webkitWebViewSetSettings):
  37022. 2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
  37023. Unreviewed. Fix GTK+ debug build.
  37024. * UIProcess/API/gtk/WebKitWebResource.cpp:
  37025. (webkitWebResourceCreate):
  37026. 2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
  37027. [GTK] Don't use the C API internally in WebKitWindowProperties
  37028. https://bugs.webkit.org/show_bug.cgi?id=96785
  37029. Reviewed by Gustavo Noronha Silva.
  37030. Using the C++ classes directly instead of the C API wrappers we
  37031. avoid a lot of toImpl/toAPI casts, string conversions and
  37032. allocations. The code is also a lot simpler and easier to read.
  37033. * UIProcess/API/gtk/WebKitWebView.cpp:
  37034. (webkitWebViewCreateNewPage):
  37035. * UIProcess/API/gtk/WebKitWindowProperties.cpp:
  37036. (webkitWindowPropertiesUpdateFromWebWindowFeatures):
  37037. * UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h:
  37038. 2012-10-18 Huang Dongsung <luxtella@company100.net>
  37039. [WK2] Add CustomFilterOperation serialization in ArgumentCoder.
  37040. https://bugs.webkit.org/show_bug.cgi?id=98733
  37041. Reviewed by Noam Rosenthal.
  37042. Add ArgumentCoders for CustomFilterOperation and all dependent classes.
  37043. Coordinated Graphics will use this css shaders serialization when it enables CSS
  37044. Shaders.
  37045. No new tests, code path is not activated yet.
  37046. * CMakeLists.txt:
  37047. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: Added.
  37048. (CoreIPC):
  37049. (CoreIPC::::encode):
  37050. (CoreIPC::::decode):
  37051. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h: Added.
  37052. (WebCore):
  37053. (CoreIPC):
  37054. * Shared/CoordinatedGraphics/WebCustomFilterProgram.h: Added.
  37055. (WebKit):
  37056. (WebCustomFilterProgram):
  37057. WebCustomFilterProgram is made to serialize the data of a
  37058. StyleCustomFilterProgram to the UI process.
  37059. (WebKit::WebCustomFilterProgram::create):
  37060. (WebKit::WebCustomFilterProgram::WebCustomFilterProgram):
  37061. * Shared/ShareableSurface.cpp:
  37062. * Shared/WebCoreArgumentCoders.cpp:
  37063. * Shared/WebCoreArgumentCoders.h:
  37064. * Target.pri:
  37065. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  37066. * WebKit2.pri:
  37067. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  37068. 2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
  37069. [GTK] Don't use the C API internally in WebKitWebResource
  37070. https://bugs.webkit.org/show_bug.cgi?id=96783
  37071. Reviewed by Xan Lopez.
  37072. Using the C++ classes directly instead of the C API wrappers we
  37073. avoid a lot of toImpl/toAPI casts, string conversions and
  37074. allocations. The code is also a lot simpler and easier to read.
  37075. * UIProcess/API/gtk/WebKitWebResource.cpp:
  37076. (_WebKitWebResourcePrivate):
  37077. (webkitWebResourceCreate):
  37078. (webkitWebResourceGetFrame):
  37079. (ResourceGetDataAsyncData):
  37080. (resourceDataCallback):
  37081. (webkit_web_resource_get_data):
  37082. (webkit_web_resource_get_data_finish):
  37083. * UIProcess/API/gtk/WebKitWebResourcePrivate.h:
  37084. * UIProcess/API/gtk/WebKitWebView.cpp:
  37085. (setCertificateToMainResource):
  37086. (webkitWebViewResourceLoadStarted):
  37087. 2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
  37088. [GTK] Don't use the C API internally in WebKitURIResponse
  37089. https://bugs.webkit.org/show_bug.cgi?id=96782
  37090. Reviewed by Xan Lopez.
  37091. Using the C++ classes directly instead of the C API wrappers we
  37092. avoid a lot of toImpl/toAPI casts, string conversions and
  37093. allocations. The code is also a lot simpler and easier to read.
  37094. * UIProcess/API/gtk/WebKitURIResponse.cpp:
  37095. (webkitURIResponseSetCertificateInfo):
  37096. * UIProcess/API/gtk/WebKitURIResponsePrivate.h:
  37097. * UIProcess/API/gtk/WebKitWebView.cpp:
  37098. (setCertificateToMainResource):
  37099. 2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
  37100. [GTK] Don't use the C API internally in PolicyClient classes
  37101. https://bugs.webkit.org/show_bug.cgi?id=96781
  37102. Reviewed by Xan Lopez.
  37103. Using the C++ classes directly instead of the C API wrappers we
  37104. avoid a lot of toImpl/toAPI casts, string conversions and
  37105. allocations. The code is also a lot simpler and easier to read.
  37106. * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
  37107. (webkitNavigationPolicyDecisionCreate):
  37108. * UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h:
  37109. * UIProcess/API/gtk/WebKitPolicyClient.cpp:
  37110. (decidePolicyForNavigationActionCallback):
  37111. (decidePolicyForNewWindowActionCallback):
  37112. (decidePolicyForResponseCallback):
  37113. (attachPolicyClientToView):
  37114. * UIProcess/API/gtk/WebKitPolicyClient.h:
  37115. * UIProcess/API/gtk/WebKitPolicyDecision.cpp:
  37116. (_WebKitPolicyDecisionPrivate):
  37117. (webkitPolicyDecisionFinalize):
  37118. (webkitPolicyDecisionSetListener):
  37119. (webkit_policy_decision_use):
  37120. (webkit_policy_decision_ignore):
  37121. (webkit_policy_decision_download):
  37122. * UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h:
  37123. * UIProcess/API/gtk/WebKitPrivate.cpp:
  37124. (wkEventMouseButtonToWebKitMouseButton):
  37125. * UIProcess/API/gtk/WebKitPrivate.h:
  37126. * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
  37127. (webkitResponsePolicyDecisionCreate):
  37128. * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
  37129. * UIProcess/API/gtk/WebKitWebView.cpp:
  37130. (webkitWebViewConstructed):
  37131. 2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
  37132. [GTK] Don't use the C API internally in WebKitHitTestResult
  37133. https://bugs.webkit.org/show_bug.cgi?id=96779
  37134. Reviewed by Xan Lopez.
  37135. Using the C++ classes directly instead of the C API wrappers we
  37136. avoid a lot of toImpl/toAPI casts, string conversions and
  37137. allocations. The code is also a lot simpler and easier to read.
  37138. * UIProcess/API/gtk/WebKitHitTestResult.cpp:
  37139. (webkitHitTestResultCreate):
  37140. (webkitHitTestResultCompare):
  37141. * UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
  37142. * UIProcess/API/gtk/WebKitWebView.cpp:
  37143. (webkitWebViewMouseTargetChanged):
  37144. (webkitWebViewPopulateContextMenu):
  37145. 2012-10-15 Balazs Kelemen <kbalazs@webkit.org>
  37146. [Qt][WTR] Do a forced repaint before generating pixel results
  37147. https://bugs.webkit.org/show_bug.cgi?id=98654
  37148. Reviewed by Jocelyn Turcotte.
  37149. Added API to convert a QImage to a WKImage so we can
  37150. pass it to cross-platform code.
  37151. * Shared/API/c/qt/WKImageQt.cpp:
  37152. (WKImageCreateFromQImage):
  37153. * Shared/API/c/qt/WKImageQt.h:
  37154. 2012-10-18 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
  37155. [CMake] Depend on the Python scripts in WebKit2/Scripts/webkit2 when regenerating messages.
  37156. https://bugs.webkit.org/show_bug.cgi?id=99702
  37157. Reviewed by Gyuyoung Kim.
  37158. Be in line with most (or all) the other build systems and
  37159. explicitly depend on all the scripts in
  37160. ${WEBKIT2_DIR}/Scripts/webkit2 for the custom command that
  37161. generates messages.
  37162. This helps fix the build after the recent change to messages.py,
  37163. which did not trigger a regeneration of the required files --
  37164. people were just removing their DerivedSources directory
  37165. altogether.
  37166. * CMakeLists.txt:
  37167. 2012-10-18 Byungwoo Lee <bw80.lee@samsung.com>
  37168. [WK2] Fix incorrect test expectations of messages_unittest.py.
  37169. https://bugs.webkit.org/show_bug.cgi?id=99699
  37170. Reviewed by Gyuyoung Kim.
  37171. Fix the expected results of messages_unittest.py.
  37172. The expected result of messages_unittest.py has bugs, and it makes failure on python test.
  37173. * Scripts/webkit2/messages_unittest.py:
  37174. 2012-10-18 Jussi Kukkonen <jussi.kukkonen@intel.com>
  37175. Add PluginProcessProxy::platformInitializeLaunchOptions
  37176. https://bugs.webkit.org/show_bug.cgi?id=99583
  37177. Reviewed by Sam Weinig.
  37178. Add a platform specific launch options initializer. This enables
  37179. fixing bug 99297 "[EFL] Make plugin process debugging easier
  37180. (PLUGIN_PROCESS_COMMAND_PREFIX)".
  37181. * UIProcess/Plugins/PluginProcessProxy.cpp:
  37182. (WebKit::PluginProcessProxy::PluginProcessProxy):
  37183. * UIProcess/Plugins/PluginProcessProxy.h:
  37184. (PluginProcessProxy):
  37185. * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
  37186. (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
  37187. (WebKit):
  37188. * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
  37189. (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
  37190. (WebKit):
  37191. * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
  37192. (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
  37193. (WebKit):
  37194. 2012-10-18 Byungwoo Lee <bw80.lee@samsung.com>
  37195. [WK2] Update test expectation for the python message test after r131700
  37196. https://bugs.webkit.org/show_bug.cgi?id=99689
  37197. Reviewed by Gyuyoung Kim.
  37198. Need to update test expectations about including headers and forwarding
  37199. declarations on derived sources for ipc message. (after r131700 : build fix)
  37200. * Scripts/webkit2/messages_unittest.py:
  37201. 2012-10-18 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  37202. [EFL][WK2] Remove '_' prefix from private API structure names
  37203. https://bugs.webkit.org/show_bug.cgi?id=99575
  37204. Reviewed by Gyuyoung Kim.
  37205. Removed underscore prefix from WK2 EFL internal structure names.
  37206. * UIProcess/API/efl/VibrationProvider.cpp:
  37207. (Ewk_Vibration_Client::Ewk_Vibration_Client):
  37208. * UIProcess/API/efl/VibrationProvider.h:
  37209. * UIProcess/API/efl/ewk_back_forward_list.h:
  37210. * UIProcess/API/efl/ewk_back_forward_list_item.h:
  37211. * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
  37212. (Ewk_Back_Forward_List_Item::create):
  37213. (Ewk_Back_Forward_List_Item::Ewk_Back_Forward_List_Item):
  37214. * UIProcess/API/efl/ewk_back_forward_list_private.h:
  37215. (Ewk_Back_Forward_List::create):
  37216. (Ewk_Back_Forward_List::Ewk_Back_Forward_List):
  37217. * UIProcess/API/efl/ewk_context.cpp:
  37218. (Ewk_Url_Scheme_Handler::Ewk_Url_Scheme_Handler):
  37219. (Ewk_Context::Ewk_Context):
  37220. (ewk_context_url_scheme_request_received):
  37221. (ewk_context_url_scheme_register):
  37222. * UIProcess/API/efl/ewk_context.h:
  37223. * UIProcess/API/efl/ewk_context_download_client_private.h:
  37224. * UIProcess/API/efl/ewk_context_history_client_private.h:
  37225. * UIProcess/API/efl/ewk_context_private.h:
  37226. * UIProcess/API/efl/ewk_context_request_manager_client_private.h:
  37227. * UIProcess/API/efl/ewk_cookie_manager.cpp:
  37228. (Ewk_Cookie_Manager::Ewk_Cookie_Manager):
  37229. (Ewk_Cookie_Manager::~Ewk_Cookie_Manager):
  37230. * UIProcess/API/efl/ewk_cookie_manager.h:
  37231. * UIProcess/API/efl/ewk_cookie_manager_private.h:
  37232. (Ewk_Cookie_Manager::create):
  37233. (Ewk_Cookie_Manager):
  37234. * UIProcess/API/efl/ewk_download_job.h:
  37235. * UIProcess/API/efl/ewk_download_job_private.h:
  37236. (Ewk_Download_Job::create):
  37237. (Ewk_Download_Job::Ewk_Download_Job):
  37238. * UIProcess/API/efl/ewk_error.cpp:
  37239. (Ewk_Error::Ewk_Error):
  37240. * UIProcess/API/efl/ewk_error.h:
  37241. * UIProcess/API/efl/ewk_error_private.h:
  37242. (Ewk_Error::create):
  37243. (Ewk_Error):
  37244. * UIProcess/API/efl/ewk_favicon_database.cpp:
  37245. (Ewk_Favicon_Database::Ewk_Favicon_Database):
  37246. * UIProcess/API/efl/ewk_favicon_database.h:
  37247. * UIProcess/API/efl/ewk_favicon_database_private.h:
  37248. (Ewk_Favicon_Database::create):
  37249. (Ewk_Favicon_Database):
  37250. * UIProcess/API/efl/ewk_form_submission_request.h:
  37251. * UIProcess/API/efl/ewk_form_submission_request_private.h:
  37252. (Ewk_Form_Submission_Request::~Ewk_Form_Submission_Request):
  37253. (Ewk_Form_Submission_Request::create):
  37254. (Ewk_Form_Submission_Request::Ewk_Form_Submission_Request):
  37255. * UIProcess/API/efl/ewk_intent.h:
  37256. * UIProcess/API/efl/ewk_intent_private.h:
  37257. (Ewk_Intent::create):
  37258. (Ewk_Intent::Ewk_Intent):
  37259. * UIProcess/API/efl/ewk_intent_service.h:
  37260. * UIProcess/API/efl/ewk_intent_service_private.h:
  37261. (Ewk_Intent_Service::create):
  37262. (Ewk_Intent_Service::Ewk_Intent_Service):
  37263. * UIProcess/API/efl/ewk_navigation_data.h:
  37264. * UIProcess/API/efl/ewk_navigation_data_private.h:
  37265. (Ewk_Navigation_Data::create):
  37266. (Ewk_Navigation_Data::Ewk_Navigation_Data):
  37267. * UIProcess/API/efl/ewk_navigation_policy_decision.h:
  37268. * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
  37269. (Ewk_Navigation_Policy_Decision::~Ewk_Navigation_Policy_Decision):
  37270. (Ewk_Navigation_Policy_Decision::create):
  37271. (Ewk_Navigation_Policy_Decision::Ewk_Navigation_Policy_Decision):
  37272. * UIProcess/API/efl/ewk_popup_menu_item.cpp:
  37273. (Ewk_Popup_Menu_Item::Ewk_Popup_Menu_Item):
  37274. * UIProcess/API/efl/ewk_popup_menu_item.h:
  37275. * UIProcess/API/efl/ewk_popup_menu_item_private.h:
  37276. (Ewk_Popup_Menu_Item::create):
  37277. (Ewk_Popup_Menu_Item):
  37278. * UIProcess/API/efl/ewk_resource.h:
  37279. * UIProcess/API/efl/ewk_resource_private.h:
  37280. (Ewk_Resource::create):
  37281. (Ewk_Resource::Ewk_Resource):
  37282. * UIProcess/API/efl/ewk_settings.h:
  37283. * UIProcess/API/efl/ewk_settings_private.h:
  37284. (Ewk_Settings::Ewk_Settings):
  37285. * UIProcess/API/efl/ewk_text_checker_private.h:
  37286. * UIProcess/API/efl/ewk_touch.h:
  37287. * UIProcess/API/efl/ewk_url_request.h:
  37288. * UIProcess/API/efl/ewk_url_request_private.h:
  37289. (Ewk_Url_Request::create):
  37290. (Ewk_Url_Request::Ewk_Url_Request):
  37291. * UIProcess/API/efl/ewk_url_response.h:
  37292. * UIProcess/API/efl/ewk_url_response_private.h:
  37293. (Ewk_Url_Response::create):
  37294. (Ewk_Url_Response::Ewk_Url_Response):
  37295. * UIProcess/API/efl/ewk_url_scheme_request.h:
  37296. * UIProcess/API/efl/ewk_url_scheme_request_private.h:
  37297. * UIProcess/API/efl/ewk_view.cpp:
  37298. (Ewk_View_Private_Data::Ewk_View_Private_Data):
  37299. (Ewk_View_Private_Data::~Ewk_View_Private_Data):
  37300. (_ewk_view_smart_add):
  37301. * UIProcess/API/efl/ewk_view.h:
  37302. * UIProcess/API/efl/ewk_view_private.h:
  37303. 2012-10-18 Ryosuke Niwa <rniwa@webkit.org>
  37304. Lion build fix after r131686. Add back if-def around #imports.
  37305. * UIProcess/API/mac/WKView.mm:
  37306. 2012-10-17 Byungwoo Lee <bw80.lee@samsung.com>
  37307. [WK2] Fix build break
  37308. https://bugs.webkit.org/show_bug.cgi?id=99670
  37309. Reviewed by Anders Carlsson.
  37310. Unreviewed build fix.
  37311. Include MessageEncoder.h instead of forwarding declaration for
  37312. MessageEncoder class.
  37313. * Scripts/webkit2/messages.py:
  37314. (forward_declarations_and_headers):
  37315. 2012-10-17 Darin Adler <darin@apple.com>
  37316. Make subclassing of WKView safer by namespacing methods and eliminating its use as an observer and delegate
  37317. https://bugs.webkit.org/show_bug.cgi?id=99251
  37318. Reviewed by Anders Carlsson.
  37319. Apps that subclass WKView should be able to freely choose method names without conflicting with a name
  37320. we chose to use internally in WKView's own implementation. Thus, it's a good idea to add a "_wk_" prefix
  37321. to any method names that are solely for internal WebKit2 use. Exceptions to this are method names that
  37322. are predetermined by AppKit, or names that are part of API or SPI.
  37323. Apps that subclass WKView should be able to add observers or use the WKView as a delegate without
  37324. conflicting with similar use in the WKView implementations. Thus, changed to use separate block-style
  37325. observers for the window notifications and a separate delegate for the tool tip implementation.
  37326. The challenging aspect of this patch was to research which method names were determined by AppKit.
  37327. There's nothing in the WebKit2 source code that necessarily states this explicitly.
  37328. * UIProcess/API/mac/PageClientImpl.mm:
  37329. (WebKit::PageClientImpl::createDrawingAreaProxy): Updated for new method name.
  37330. (WebKit::PageClientImpl::scrollView): Ditto.
  37331. (WebKit::PageClientImpl::isViewFocused): Ditto.
  37332. (WebKit::PageClientImpl::colorSpace): Ditto.
  37333. (WebKit::PageClientImpl::processDidCrash): Ditto.
  37334. (WebKit::PageClientImpl::pageClosed): Ditto.
  37335. (WebKit::PageClientImpl::didRelaunchProcess): Ditto.
  37336. (WebKit::PageClientImpl::toolTipChanged): Ditto.
  37337. (WebKit::PageClientImpl::setCursor): Ditto.
  37338. (WebKit::PageClientImpl::interpretKeyEvent): Ditto.
  37339. (WebKit::PageClientImpl::setDragImage): Ditto.
  37340. (WebKit::PageClientImpl::setPromisedData): Ditto.
  37341. (WebKit::PageClientImpl::updateTextInputState): Ditto.
  37342. (WebKit::PageClientImpl::resetTextInputState): Ditto.
  37343. (WebKit::PageClientImpl::convertToDeviceSpace): Ditto.
  37344. (WebKit::PageClientImpl::convertToUserSpace): Ditto.
  37345. (WebKit::PageClientImpl::doneWithKeyEvent): Ditto.
  37346. (WebKit::PageClientImpl::setFindIndicator): Ditto.
  37347. (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived): Ditto.
  37348. (WebKit::PageClientImpl::enterAcceleratedCompositingMode): Ditto.
  37349. (WebKit::PageClientImpl::exitAcceleratedCompositingMode): Ditto.
  37350. (WebKit::PageClientImpl::updateAcceleratedCompositingMode): Ditto.
  37351. (WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged): Ditto.
  37352. (WebKit::PageClientImpl::setPluginComplexTextInputState): Ditto.
  37353. (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame): Ditto.
  37354. (WebKit::PageClientImpl::didCommitLoadForMainFrame): Ditto.
  37355. (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation): Ditto.
  37356. (WebKit::PageClientImpl::customRepresentationZoomFactor): Ditto.
  37357. (WebKit::PageClientImpl::setCustomRepresentationZoomFactor): Ditto.
  37358. (WebKit::PageClientImpl::findStringInCustomRepresentation): Ditto.
  37359. (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation): Ditto.
  37360. (WebKit::PageClientImpl::executeSavedCommandBySelector): Ditto.
  37361. (WebKit::PageClientImpl::showDictationAlternativeUI): Ditto.
  37362. * UIProcess/API/mac/WKView.mm: Simplified imports a bit. No need for conditional imports of basic classes
  37363. like NSTextAlternatives.h and NSAttributedString.h. No need to put internal headers in a separate paragraph.
  37364. Added WKToolTipDelegate class and added _toolTipDelegate and _observers fields to WKViewData.
  37365. (-[WKView becomeFirstResponder]): Updated for new method name.
  37366. (-[WKView resignFirstResponder]): Ditto.
  37367. (-[WKView setFrameSize:]): Ditto.
  37368. (-[WKView _wk_updateWindowAndViewFrames]): Ditto.
  37369. (-[WKView renewGState]): Ditto.
  37370. (-[WKView _wk_setPluginComplexTextInputState:]): Ditto.
  37371. (validateCommandCallback): Ditto.
  37372. (-[WKView displayIfNeeded]): Fixed a comment typo.
  37373. (-[WKView _wk_setMouseDownEvent:]): Updated for new method name.
  37374. (-[WKView mouseDown:]): Ditto.
  37375. (-[WKView mouseUp:]): Ditto.
  37376. (-[WKView acceptsFirstMouse:]): Ditto.
  37377. (-[WKView shouldDelayWindowOrderingForEvent:]): Ditto.
  37378. (-[WKView _wk_handleStyleKeyEquivalent:]): Ditto.
  37379. (-[WKView performKeyEquivalent:]): Ditto.
  37380. (-[WKView _wk_disableComplexTextInputIfNecessary]): Ditto.
  37381. (-[WKView _wk_handlePluginComplexTextInputKeyDown:]): Ditto.
  37382. (-[WKView _wk_tryHandlePluginComplexTextInputKeyDown:]): Ditto.
  37383. (-[WKView keyDown:]): Ditto.
  37384. (-[WKView _wk_executeSavedKeypressCommands]): Ditto.
  37385. (-[WKView _wk_notifyInputContextAboutDiscardedComposition]): Ditto.
  37386. (-[WKView selectedRange]): Ditto.
  37387. (-[WKView hasMarkedText]): Ditto.
  37388. (-[WKView unmarkText]): Ditto.
  37389. (-[WKView setMarkedText:selectedRange:replacementRange:]): Ditto.
  37390. (-[WKView markedRange]): Ditto.
  37391. (-[WKView attributedSubstringForProposedRange:actualRange:]): Ditto.
  37392. (-[WKView characterIndexForPoint:]): Ditto.
  37393. (-[WKView firstRectForCharacterRange:actualRange:]): Ditto.
  37394. (-[WKView _wk_updateWindowVisibility]): Ditto.
  37395. (-[WKView _wk_updateWindowObserversForWindow:]): Replaced the two separate methods
  37396. addWindowObserversForWindow and removeWindowObservers with this single method, since
  37397. the two are only used in tandem. Changed code to use blocks for the observers and to
  37398. keep the observers in an array.
  37399. (-[WKView viewWillMoveToWindow:]): Updated to use _wk_updateWindowObserversForWindow.
  37400. (-[WKView viewDidMoveToWindow]): Updated for new method names.
  37401. (-[WKView _wk_windowScreenDidChange]): Ditto.
  37402. (-[WKView _wk_windowDidBecomeKey:]): Ditto.
  37403. (-[WKView _wk_windowDidChangeScreen:]): Ditto.
  37404. (-[WKView _wk_windowDidResignKey:]): Ditto.
  37405. (-[WKView _wk_windowDidMiniaturize:]): Ditto.
  37406. (-[WKView _wk_windowDidDeminiaturize:]): Ditto.
  37407. (-[WKView _wk_windowDidMove:]): Ditto.
  37408. (-[WKView _wk_windowDidResize:]): Ditto.
  37409. (-[WKView _wk_windowDidOrderOffScreen:]): Ditto.
  37410. (-[WKView _wk_windowDidOrderOnScreen:]): Ditto.
  37411. (-[WKView _wk_windowDidChangeBackingProperties:]): Ditto.
  37412. (-[WKView drawRect:]): Ditto.
  37413. (-[WKView _wk_accessibilityRegisterUIProcessTokens]): Ditto.
  37414. (-[WKView _wk_updateRemoteAccessibilityRegistration:]): Ditto.
  37415. (-[WKView _wk_postFakeMouseMovedEventForFlagsChangedEvent:]): Ditto.
  37416. (-[WKView _wk_intrinsicDeviceScaleFactor]): Ditto.
  37417. (-[WKView _wk_setDrawingAreaSize:]): Ditto.
  37418. (-[WKView _wk_shouldUseTiledDrawingArea]): Ditto.
  37419. (-[WKView _wk_createDrawingAreaProxy]): Ditto.
  37420. (-[WKView _wk_isFocused]): Ditto.
  37421. (-[WKView _wk_processDidCrash]): Ditto.
  37422. (-[WKView _wk_pageClosed]): Ditto.
  37423. (-[WKView _wk_didRelaunchProcess]): Ditto.
  37424. (-[WKView _wk_setCursor:]): Ditto.
  37425. (-[WKView _wk_setUserInterfaceItemState:enabled:state:]): Ditto.
  37426. (-[WKView _wk_tryPostProcessPluginComplexTextInputKeyDown:]): Ditto.
  37427. (-[WKView _wk_doneWithKeyEvent:eventWasHandled:]): Ditto.
  37428. (-[WKView _wk_interpretKeyEvent:savingCommandsTo:]): Ditto.
  37429. (-[WKView _wk_convertToDeviceSpace:]): Ditto.
  37430. (-[WKView _wk_convertToUserSpace:]): Ditto.
  37431. (-[WKView _wk_addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Ditto.
  37432. (-[WKView _wk_addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Ditto.
  37433. (-[WKView _wk_removeTrackingRects:count:]): Ditto.
  37434. (-[WKView _wk_sendToolTipMouseExited]): Ditto.
  37435. (-[WKView _wk_sendToolTipMouseEntered]): Ditto.
  37436. (-[WKView _wk_toolTipChangedFrom:to:]): Changed to use the data object as the tool tip owner so
  37437. the delegate method can be there rather than on WKView.
  37438. (-[WKView _wk_setFindIndicator:fadeOut:animate:]): Updated for new method names.
  37439. (-[WKView _wk_enterAcceleratedCompositingMode:]): Ditto.
  37440. (-[WKView _wk_exitAcceleratedCompositingMode]): Ditto.
  37441. (-[WKView _wk_updateAcceleratedCompositingMode:]): Ditto.
  37442. (-[WKView _wk_setAccessibilityWebProcessToken:]): Ditto.
  37443. (-[WKView _wk_pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]): Ditto.
  37444. (-[WKView _wk_setPluginComplexTextInputState:pluginComplexTextInputIdentifier:]): Ditto.
  37445. (-[WKView _wk_setPageHasCustomRepresentation:]): Ditto.
  37446. (-[WKView _wk_didFinishLoadingDataForCustomRepresentationWithSuggestedFilename:dataReference:]): Ditto.
  37447. (-[WKView _wk_customRepresentationZoomFactor]): Ditto.
  37448. (-[WKView _wk_setCustomRepresentationZoomFactor:]): Ditto.
  37449. (-[WKView _wk_findStringInCustomRepresentation:withFindOptions:maxMatchCount:]): Ditto.
  37450. (-[WKView _wk_countStringMatchesInCustomRepresentation:withFindOptions:maxMatchCount:]): Ditto.
  37451. (-[WKView _wk_setDragImage:at:linkDrag:]): Ditto.
  37452. (-[WKView _wk_setPromisedData:withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:forPasteboard:]): Ditto.
  37453. (-[WKView _wk_updateSecureInputState]): Ditto.
  37454. (-[WKView _wk_updateTextInputStateIncludingSecureInputState:]): Ditto.
  37455. (-[WKView _wk_resetTextInputState]): Ditto.
  37456. (-[WKView _wk_didChangeScrollbarsForMainFrame]): Ditto.
  37457. (-[WKView _wk_hasFullScreenWindowController]): Ditto.
  37458. (-[WKView _wk_fullScreenWindowController]): Ditto.
  37459. (-[WKView _wk_closeFullScreenWindowController]): Ditto.
  37460. (-[WKView _wk_executeSavedCommandBySelector:]): Ditto.
  37461. (-[WKView _wk_cacheWindowBottomCornerRect]): Ditto.
  37462. (-[WKView _wk_spellCheckerDocumentTag]): Ditto.
  37463. (-[WKView _wk_handleAcceptedAlternativeText:]): Ditto.
  37464. (-[WKView _wk_setSuppressVisibilityUpdates:]): Ditto.
  37465. (-[WKView _wk_suppressVisibilityUpdates]): Ditto.
  37466. (-[WKView _wk_registerDraggedTypes]): Ditto.
  37467. (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Ditto.
  37468. (-[WKView wantsUpdateLayer]): Ditto.
  37469. (-[WKView enableFrameSizeUpdates]): Ditto.
  37470. (-[WKToolTipDelegate initWithPage:]): Added.
  37471. (-[WKToolTipDelegate view:stringForToolTip:point:userData:]): Added.
  37472. * UIProcess/API/mac/WKViewInternal.h: Changed all internal method names to have a _wk_ prefix.
  37473. * UIProcess/API/mac/WKViewPrivate.h: Expose the _shouldUseTiledDrawingArea method formally as SPI
  37474. since Safari is currently overriding this method.
  37475. * UIProcess/mac/CorrectionPanel.mm:
  37476. (WebKit::CorrectionPanel::recordAutocorrectionResponse): Updated for new method names.
  37477. (WebKit::CorrectionPanel::handleAcceptedReplacement): Ditto.
  37478. * UIProcess/mac/WKFullScreenWindowController.mm:
  37479. (-[WKFullScreenWindowController enterFullScreen:]): Updated for new method names.
  37480. (-[WKFullScreenWindowController exitFullScreen]): Ditto.
  37481. (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Ditto.
  37482. (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): Ditto.
  37483. * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
  37484. (WebKit::WebFullScreenManagerProxy::invalidate): Updated for new method names.
  37485. (WebKit::WebFullScreenManagerProxy::close): Ditto.
  37486. (WebKit::WebFullScreenManagerProxy::isFullScreen): Ditto.
  37487. (WebKit::WebFullScreenManagerProxy::enterFullScreen): Ditto.
  37488. (WebKit::WebFullScreenManagerProxy::exitFullScreen): Ditto.
  37489. (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): Ditto.
  37490. (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): Ditto.
  37491. 2012-10-15 Anders Carlsson <andersca@apple.com>
  37492. Add MessageEncoder and MessageDecoder subclasses
  37493. https://bugs.webkit.org/show_bug.cgi?id=99365
  37494. Reviewed by Andreas Kling.
  37495. This is the first step towards cleaning up IPC handling in WebKit2. The idea is that MessageEncoder and MessageDecoder
  37496. will handle all the IPC specific parts of encoding and decoding (such as attachments), whereas the ArgumentEncoder and ArgumentDecoder
  37497. classes are only used for serializing simpler data types.
  37498. * CMakeLists.txt:
  37499. * GNUmakefile.list.am:
  37500. * Platform/CoreIPC/ArgumentDecoder.cpp:
  37501. (CoreIPC::ArgumentDecoder::create):
  37502. (CoreIPC::ArgumentDecoder::initialize):
  37503. * Platform/CoreIPC/ArgumentDecoder.h:
  37504. (ArgumentDecoder):
  37505. * Platform/CoreIPC/ArgumentEncoder.cpp:
  37506. (CoreIPC::ArgumentEncoder::create):
  37507. (CoreIPC::ArgumentEncoder::ArgumentEncoder):
  37508. * Platform/CoreIPC/ArgumentEncoder.h:
  37509. (ArgumentEncoder):
  37510. * Platform/CoreIPC/Connection.cpp:
  37511. (CoreIPC::Connection::createSyncMessageEncoder):
  37512. (CoreIPC::Connection::sendMessage):
  37513. (CoreIPC::Connection::sendSyncReply):
  37514. (CoreIPC::Connection::waitForMessage):
  37515. (CoreIPC::Connection::sendSyncMessage):
  37516. (CoreIPC::Connection::waitForSyncReply):
  37517. (CoreIPC::Connection::processIncomingSyncReply):
  37518. (CoreIPC::Connection::processIncomingMessage):
  37519. (CoreIPC::Connection::dispatchSyncMessage):
  37520. (CoreIPC::Connection::dispatchMessage):
  37521. * Platform/CoreIPC/Connection.h:
  37522. (Connection):
  37523. (PendingSyncReply):
  37524. (CoreIPC::Connection::PendingSyncReply::releaseReplyDecoder):
  37525. (CoreIPC::Connection::send):
  37526. (CoreIPC::Connection::sendSync):
  37527. (CoreIPC::Connection::waitForAndDispatchImmediately):
  37528. (CoreIPC::Connection::deprecatedSendSync):
  37529. (CoreIPC::Connection::deprecatedSend):
  37530. * Platform/CoreIPC/MessageDecoder.cpp:
  37531. (CoreIPC::MessageDecoder::create):
  37532. (CoreIPC::MessageDecoder::~MessageDecoder):
  37533. (CoreIPC::MessageDecoder::MessageDecoder):
  37534. * Platform/CoreIPC/MessageDecoder.h:
  37535. (CoreIPC):
  37536. (MessageDecoder):
  37537. * Platform/CoreIPC/MessageEncoder.cpp:
  37538. (CoreIPC):
  37539. (CoreIPC::MessageEncoder::create):
  37540. (CoreIPC::MessageEncoder::MessageEncoder):
  37541. (CoreIPC::MessageEncoder::~MessageEncoder):
  37542. * Platform/CoreIPC/MessageEncoder.h:
  37543. (CoreIPC):
  37544. (MessageEncoder):
  37545. * Platform/CoreIPC/MessageSender.h:
  37546. (CoreIPC::MessageSender::send):
  37547. (CoreIPC::MessageSender::sendMessage):
  37548. * Platform/CoreIPC/mac/ConnectionMac.cpp:
  37549. (CoreIPC::Connection::open):
  37550. (CoreIPC::Connection::sendOutgoingMessage):
  37551. (CoreIPC::createMessageDecoder):
  37552. (CoreIPC::Connection::receiveSourceEventHandler):
  37553. * Platform/CoreIPC/unix/ConnectionUnix.cpp:
  37554. (CoreIPC::Connection::processMessage):
  37555. (CoreIPC::Connection::sendOutgoingMessage):
  37556. * Platform/CoreIPC/win/ConnectionWin.cpp:
  37557. (CoreIPC::Connection::readEventHandler):
  37558. (CoreIPC::Connection::writeEventHandler):
  37559. (CoreIPC::Connection::platformCanSendOutgoingMessages):
  37560. (CoreIPC::Connection::sendOutgoingMessage):
  37561. * Scripts/webkit2/messages.py:
  37562. (generate_message_handler):
  37563. * Scripts/webkit2/messages_unittest.py:
  37564. (MessageEncoder):
  37565. * Shared/WebConnection.cpp:
  37566. (WebKit::WebConnection::postMessage):
  37567. (WebKit::WebConnection::handleMessage):
  37568. * Shared/WebConnection.h:
  37569. (CoreIPC):
  37570. * Target.pri:
  37571. * UIProcess/WebContext.cpp:
  37572. (WebKit::WebContext::createNewWebProcess):
  37573. (WebKit::WebContext::postMessageToInjectedBundle):
  37574. * UIProcess/WebProcessProxy.cpp:
  37575. (WebKit::WebProcessProxy::sendMessage):
  37576. * UIProcess/WebProcessProxy.h:
  37577. (WebProcessProxy):
  37578. (WebKit::WebProcessProxy::deprecatedSend):
  37579. (WebKit::WebProcessProxy::send):
  37580. * WebKit2.xcodeproj/project.pbxproj:
  37581. * WebProcess/WebPage/DecoderAdapter.cpp:
  37582. (WebKit::DecoderAdapter::DecoderAdapter):
  37583. (WebKit::DecoderAdapter::decodeBytes):
  37584. (WebKit::DecoderAdapter::decodeBool):
  37585. (WebKit::DecoderAdapter::decodeUInt16):
  37586. (WebKit::DecoderAdapter::decodeUInt32):
  37587. (WebKit::DecoderAdapter::decodeUInt64):
  37588. (WebKit::DecoderAdapter::decodeInt32):
  37589. (WebKit::DecoderAdapter::decodeInt64):
  37590. (WebKit::DecoderAdapter::decodeFloat):
  37591. (WebKit::DecoderAdapter::decodeDouble):
  37592. (WebKit::DecoderAdapter::decodeString):
  37593. * WebProcess/WebPage/DecoderAdapter.h:
  37594. (DecoderAdapter):
  37595. * WebProcess/WebPage/EncoderAdapter.cpp:
  37596. (WebKit::EncoderAdapter::EncoderAdapter):
  37597. * WebProcess/WebProcess.cpp:
  37598. (WebKit::WebProcess::postInjectedBundleMessage):
  37599. * win/WebKit2.vcproj:
  37600. 2012-10-17 Andy Estes <aestes@apple.com>
  37601. [WebKit2] Add removeChild: to WKDOMNode and make WKDOMText.data read/write
  37602. https://bugs.webkit.org/show_bug.cgi?id=99662
  37603. Reviewed by Sam Weinig.
  37604. * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
  37605. * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
  37606. (-[WKDOMNode removeChild:]):
  37607. * WebProcess/InjectedBundle/API/mac/WKDOMText.h:
  37608. * WebProcess/InjectedBundle/API/mac/WKDOMText.mm:
  37609. (-[WKDOMText setData:]):
  37610. 2012-10-17 Christophe Dumez <christophe.dumez@intel.com>
  37611. [EFL][WK2] Memory leak in ewk_download_job_response_set()
  37612. https://bugs.webkit.org/show_bug.cgi?id=99621
  37613. Reviewed by Kenneth Rohde Christiansen.
  37614. No longer call ewk_url_response_ref() on the response
  37615. object in ewk_download_job_response_set() since it will
  37616. be ref'd when assigning to the RefPtr member already.
  37617. * UIProcess/API/efl/ewk_context_download_client.cpp:
  37618. (didReceiveResponse):
  37619. * UIProcess/API/efl/ewk_download_job.cpp:
  37620. (ewk_download_job_response_set):
  37621. * UIProcess/API/efl/ewk_download_job_private.h: Remove several unimplemented functions.
  37622. 2012-10-17 Christophe Dumez <christophe.dumez@intel.com>
  37623. [EFL][WK2] Compilation warning in Ewk_View when accelerated compositing is disabled
  37624. https://bugs.webkit.org/show_bug.cgi?id=99613
  37625. Reviewed by Kenneth Rohde Christiansen.
  37626. Fix compilation warning in _ewk_view_smart_calculate() when
  37627. the ACCELERATED_COMPOSITING flag is not set.
  37628. * UIProcess/API/efl/ewk_view.cpp:
  37629. (_ewk_view_smart_calculate):
  37630. 2012-10-17 Christophe Dumez <christophe.dumez@intel.com>
  37631. [EFL][WK2] Use smart pointers inside Ewk_View
  37632. https://bugs.webkit.org/show_bug.cgi?id=99611
  37633. Reviewed by Kenneth Rohde Christiansen.
  37634. Use smart pointers instead of raw ones for several
  37635. Ewk_View members to avoid handling memory manually.
  37636. * PlatformEfl.cmake:
  37637. * UIProcess/API/efl/ewk_view.cpp:
  37638. (_Ewk_View_Private_Data):
  37639. (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
  37640. (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
  37641. (ewk_view_cursor_set):
  37642. (ewk_view_color_picker_dismiss):
  37643. (ewk_view_color_picker_color_set):
  37644. 2012-10-17 Byungwoo Lee <bw80.lee@samsung.com>
  37645. Fix build warnings : -Wunused-parameter, -Wunused-variable
  37646. https://bugs.webkit.org/show_bug.cgi?id=99539
  37647. Reviewed by Kentaro Hara.
  37648. Fix build warnings about unused parameter or unused variable when
  37649. WTF_USE_TILED_BACKING_STORE option is enabled.
  37650. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  37651. (WebKit::CoordinatedBackingStore::paintToTextureMapper):
  37652. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  37653. (WebKit::LayerTreeRenderer::createLayer):
  37654. * UIProcess/DrawingAreaProxy.cpp:
  37655. (WebKit::DrawingAreaProxy::didReceiveLayerTreeCoordinatorProxyMessage):
  37656. * UIProcess/DrawingAreaProxy.h:
  37657. (WebKit::DrawingAreaProxy::setVisibleContentsRect):
  37658. (WebKit::DrawingAreaProxy::createTileForLayer):
  37659. (WebKit::DrawingAreaProxy::updateTileForLayer):
  37660. (WebKit::DrawingAreaProxy::removeTileForLayer):
  37661. (WebKit::DrawingAreaProxy::update):
  37662. (WebKit::DrawingAreaProxy::didUpdateBackingStoreState):
  37663. (WebKit::DrawingAreaProxy::enterAcceleratedCompositingMode):
  37664. (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
  37665. (WebKit::DrawingAreaProxy::updateAcceleratedCompositingMode):
  37666. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  37667. (WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd):
  37668. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
  37669. (WebKit::CoordinatedTile::paint):
  37670. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  37671. (WebKit::LayerTreeCoordinator::scrollNonCompositedContents):
  37672. (WebKit::LayerTreeCoordinator::notifyAnimationStarted):
  37673. * WebProcess/WebPage/LayerTreeHost.h:
  37674. (WebKit::LayerTreeHost::setVisibleContentsRect):
  37675. (WebKit::LayerTreeHost::setVisibleContentsRectForLayer):
  37676. 2012-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
  37677. [GTK] Don't use the C API internally in WebKitDownload
  37678. https://bugs.webkit.org/show_bug.cgi?id=96773
  37679. Reviewed by Gustavo Noronha Silva.
  37680. Using the C++ classes directly instead of the C API wrappers we
  37681. avoid a lot of toImpl/toAPI casts, string conversions and
  37682. allocations. The code is also a lot simpler and easier to read.
  37683. * UIProcess/API/gtk/WebKitDownload.cpp:
  37684. (_WebKitDownloadPrivate):
  37685. (webkitDownloadCreate):
  37686. (webkit_download_get_request):
  37687. (webkit_download_cancel):
  37688. * UIProcess/API/gtk/WebKitDownloadPrivate.h:
  37689. * UIProcess/API/gtk/WebKitWebContext.cpp:
  37690. (webkit_web_context_download_uri):
  37691. (webkitWebContextGetOrCreateDownload):
  37692. 2012-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
  37693. [GTK] Don't use the C API internally in WebKitCookieManager
  37694. https://bugs.webkit.org/show_bug.cgi?id=96772
  37695. Reviewed by Gustavo Noronha Silva.
  37696. Using the C++ classes directly instead of the C API wrappers we
  37697. avoid a lot of toImpl/toAPI casts, string conversions and
  37698. allocations. The code is also a lot simpler and easier to read.
  37699. * UIProcess/API/gtk/WebKitCookieManager.cpp:
  37700. (_WebKitCookieManagerPrivate):
  37701. (webkitCookieManagerFinalize):
  37702. (webkitCookieManagerCreate):
  37703. (webkit_cookie_manager_set_persistent_storage):
  37704. (webkit_cookie_manager_set_accept_policy):
  37705. (webkit_cookie_manager_get_accept_policy):
  37706. (webkitCookieManagerGetDomainsWithCookiesCallback):
  37707. (webkit_cookie_manager_get_domains_with_cookies):
  37708. (webkit_cookie_manager_delete_cookies_for_domain):
  37709. (webkit_cookie_manager_delete_all_cookies):
  37710. * UIProcess/API/gtk/WebKitCookieManagerPrivate.h:
  37711. * UIProcess/API/gtk/WebKitWebContext.cpp:
  37712. (webkit_web_context_get_cookie_manager):
  37713. 2012-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
  37714. [GTK] Don't use the C API internally in WebKitContextMenu
  37715. https://bugs.webkit.org/show_bug.cgi?id=96770
  37716. Reviewed by Gustavo Noronha Silva.
  37717. Using the C++ classes directly instead of the C API wrappers we
  37718. avoid a lot of toImpl/toAPI casts, string conversions and
  37719. allocations. The code is also a lot simpler and easier to read.
  37720. * UIProcess/API/gtk/WebKitContextMenu.cpp:
  37721. (webkitContextMenuCreate):
  37722. * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
  37723. (webkitContextMenuItemCreate):
  37724. * UIProcess/API/gtk/WebKitContextMenuItemPrivate.h:
  37725. * UIProcess/API/gtk/WebKitContextMenuPrivate.h:
  37726. * UIProcess/API/gtk/WebKitWebView.cpp:
  37727. (webkitWebViewPopulateContextMenu):
  37728. 2012-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
  37729. [GTK] Don't use the C API internally in WebKitBackForwardList
  37730. https://bugs.webkit.org/show_bug.cgi?id=96769
  37731. Reviewed by Gustavo Noronha Silva.
  37732. Using the C++ classes directly instead of the C API wrappers we
  37733. avoid a lot of toImpl/toAPI casts, string conversions and
  37734. allocations. The code is also a lot simpler and easier to read.
  37735. * UIProcess/API/gtk/WebKitBackForwardList.cpp:
  37736. (_WebKitBackForwardListPrivate):
  37737. (webkitBackForwardListGetOrCreateItem):
  37738. (webkitBackForwardListCreateList):
  37739. (webkitBackForwardListCreate):
  37740. (webkitBackForwardListChanged):
  37741. (webkit_back_forward_list_get_current_item):
  37742. (webkit_back_forward_list_get_back_item):
  37743. (webkit_back_forward_list_get_forward_item):
  37744. (webkit_back_forward_list_get_nth_item):
  37745. (webkit_back_forward_list_get_length):
  37746. (webkit_back_forward_list_get_back_list):
  37747. (webkit_back_forward_list_get_back_list_with_limit):
  37748. (webkit_back_forward_list_get_forward_list):
  37749. (webkit_back_forward_list_get_forward_list_with_limit):
  37750. * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
  37751. (_WebKitBackForwardListItemPrivate):
  37752. (webkitBackForwardListItemFinalized):
  37753. (webkitBackForwardListItemGetOrCreate):
  37754. (webkitBackForwardListItemGetItem):
  37755. (webkit_back_forward_list_item_get_uri):
  37756. (webkit_back_forward_list_item_get_title):
  37757. (webkit_back_forward_list_item_get_original_uri):
  37758. * UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
  37759. * UIProcess/API/gtk/WebKitLoaderClient.cpp:
  37760. (didChangeBackForwardList):
  37761. * UIProcess/API/gtk/WebKitWebView.cpp:
  37762. (webkitWebViewConstructed):
  37763. (webkit_web_view_go_to_back_forward_list_item):
  37764. 2012-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
  37765. [GTK] Don't use the C API internally in WebKitURISchemeRequest
  37766. https://bugs.webkit.org/show_bug.cgi?id=96787
  37767. Reviewed by Gustavo Noronha Silva.
  37768. Using the C++ classes directly instead of the C API wrappers we
  37769. avoid a lot of toImpl/toAPI casts, string conversions and
  37770. allocations. The code is also a lot simpler and easier to read.
  37771. * UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
  37772. (didReceiveURIRequest):
  37773. * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
  37774. (_WebKitURISchemeRequestPrivate):
  37775. (webkitURISchemeRequestCreate):
  37776. (webkit_uri_scheme_request_get_web_view):
  37777. (webkitURISchemeRequestReadCallback):
  37778. * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
  37779. 2012-10-17 Christophe Dumez <christophe.dumez@intel.com>
  37780. [EFL][WK2] Make sure the favicon database path is set only once
  37781. https://bugs.webkit.org/show_bug.cgi?id=99597
  37782. Reviewed by Kenneth Rohde Christiansen.
  37783. Make sure the icon database path is set only once by checking
  37784. that the database is not already open before settign the path.
  37785. This avoids printing error message on stderr.
  37786. * UIProcess/API/efl/ewk_context.cpp:
  37787. (ewk_context_favicon_database_get):
  37788. 2012-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
  37789. [GTK] Don't use the C API internally in WebKitWebInspector
  37790. https://bugs.webkit.org/show_bug.cgi?id=96786
  37791. Reviewed by Gustavo Noronha Silva.
  37792. Using the C++ classes directly instead of the C API wrappers we
  37793. avoid a lot of toImpl/toAPI casts, string conversions and
  37794. allocations. The code is also a lot simpler and easier to read.
  37795. * UIProcess/API/gtk/WebKitWebInspector.cpp:
  37796. (_WebKitWebInspectorPrivate):
  37797. (webkitWebInspectorFinalize):
  37798. (webkitWebInspectorCreate):
  37799. (webkit_web_inspector_get_web_view):
  37800. (webkit_web_inspector_is_attached):
  37801. (webkit_web_inspector_attach):
  37802. (webkit_web_inspector_detach):
  37803. (webkit_web_inspector_show):
  37804. (webkit_web_inspector_close):
  37805. (webkit_web_inspector_get_attached_height):
  37806. * UIProcess/API/gtk/WebKitWebInspectorPrivate.h:
  37807. * UIProcess/API/gtk/WebKitWebView.cpp:
  37808. (webkit_web_view_get_inspector):
  37809. 2012-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
  37810. [GTK] Don't use the C API internally in WebKitGeolocation classes
  37811. https://bugs.webkit.org/show_bug.cgi?id=96778
  37812. Reviewed by Gustavo Noronha Silva.
  37813. Using the C++ classes directly instead of the C API wrappers we
  37814. avoid a lot of toImpl/toAPI casts, string conversions and
  37815. allocations. The code is also a lot simpler and easier to read.
  37816. * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp:
  37817. (_WebKitGeolocationPermissionRequestPrivate):
  37818. (webkitGeolocationPermissionRequestAllow):
  37819. (webkitGeolocationPermissionRequestDeny):
  37820. (webkitGeolocationPermissionRequestFinalize):
  37821. (webkitGeolocationPermissionRequestCreate):
  37822. * UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h:
  37823. * UIProcess/API/gtk/WebKitGeolocationProvider.cpp:
  37824. (WebKitGeolocationProvider::create):
  37825. (WebKitGeolocationProvider::WebKitGeolocationProvider):
  37826. (WebKitGeolocationProvider::notifyPositionChanged):
  37827. (WebKitGeolocationProvider::notifyErrorOccurred):
  37828. * UIProcess/API/gtk/WebKitGeolocationProvider.h:
  37829. (WebKitGeolocationProvider):
  37830. * UIProcess/API/gtk/WebKitUIClient.cpp:
  37831. (decidePolicyForGeolocationPermissionRequest):
  37832. * UIProcess/API/gtk/WebKitWebContext.cpp:
  37833. (createDefaultWebContext):
  37834. 2012-10-17 Grzegorz Czajkowski <g.czajkowski@samsung.com>
  37835. [WK2][EFL] Add unit tests for Spelling
  37836. https://bugs.webkit.org/show_bug.cgi?id=95956
  37837. Reviewed by Gyuyoung Kim.
  37838. Add the unit tests which covers API from ewk_text_checker.h
  37839. and text checker settings from ewk_settings.h
  37840. * PlatformEfl.cmake:
  37841. * UIProcess/API/efl/tests/resources/spelling_test.html: Added.
  37842. * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp: Added.
  37843. (resetCallbacksExecutionStats):
  37844. (onTimeout):
  37845. (onSettingChange):
  37846. (onSpellDocumentTag):
  37847. (onSpellDocumentTagClose):
  37848. (onSpellingCheck):
  37849. (onWordGuesses):
  37850. (onWordLearn):
  37851. (onWordIgnore):
  37852. (TEST_F):
  37853. 2012-10-17 Mario Sanchez Prada <msanchez@igalia.com>
  37854. [WK2][GTK] Favicons are incorrectly released before receiving the actual data
  37855. https://bugs.webkit.org/show_bug.cgi?id=99492
  37856. Reviewed by Carlos Garcia Campos.
  37857. Don't release the icon for a page URL in the first stage of the
  37858. asynchronous call webkit_favicon_database_get_favicon() but do it
  37859. later instead, to avoid a race condition with the initial
  37860. synchronization process the first time we request an icon which is
  37861. actually in the icon database, but has not made available yet.
  37862. * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
  37863. (GetFaviconSurfaceAsyncData::~GetFaviconSurfaceAsyncData): Release
  37864. here the icon for the page URL if not a valid icon has been found.
  37865. (GetFaviconSurfaceAsyncData): Add a new boolean parameter to flag
  37866. when a given icon for a page URL should be released.
  37867. (getIconSurfaceSynchronously): Don't release the icon, just return 0.
  37868. (processPendingIconsForPageURL): If a valid icon is got at this
  37869. point, disable the flag shouldReleaseIconForPageURL not to release
  37870. the icon later on.
  37871. (webkit_favicon_database_get_favicon): Make sure we retain the
  37872. icon for a given page URL before trying to retrieve it from the
  37873. IconDatabase, and that we flag it to be released in case not a
  37874. valid icon has been found yet.
  37875. 2012-10-17 Grzegorz Czajkowski <g.czajkowski@samsung.com>, Michal Roj <m.roj@samsung.com>
  37876. Implementation of spellchecking feature.
  37877. https://bugs.webkit.org/show_bug.cgi?id=91854
  37878. Reviewed by Gyuyoung Kim.
  37879. Add spelling implementation for WebKit2-EFL that is based on Enchant library.
  37880. Additionally the patch provides API to overwrite the default WebKit
  37881. spellchecker implementation as Enchant library doesn't ensure grammar checking.
  37882. Application is able to overwrite it by defining its own implementation and
  37883. setting appropriate callback functions.
  37884. * PlatformEfl.cmake:
  37885. Add enchant-related compiler flags: header paths and the library flag.
  37886. * UIProcess/API/efl/EWebKit2.h:
  37887. Add ewk_text_checker.h to the main WebKit2-EFL's header to be available for applications.
  37888. * UIProcess/API/efl/WebKitTextChecker.cpp: Added.
  37889. Implement the callbacks functions of WKTextChecker.
  37890. (WebKit):
  37891. (WebKit::isContinuousSpellCheckingEnabled):
  37892. (WebKit::setContinuousSpellCheckingEnabled):
  37893. (WebKit::uniqueSpellDocumentTag):
  37894. (WebKit::closeSpellDocumentWithTag):
  37895. (WebKit::checkSpellingOfString):
  37896. (WebKit::guessesForWord):
  37897. (WebKit::learnWord):
  37898. (WebKit::ignoreWord):
  37899. Those functions are directly given as callback functions for WKTextChecker's client.
  37900. They choose between WebKit's spelling implementation and client's ones.
  37901. (WebKit::availableSpellCheckingLanguages):
  37902. (WebKit::updateSpellCheckingLanguages):
  37903. (WebKit::loadedSpellCheckingLanguages):
  37904. They are used by ewk_settings.cpp file and allow to do not
  37905. expose 'textCheckerEnchant'.
  37906. * UIProcess/API/efl/WebKitTextChecker.h: Added.
  37907. Define the functions which choose between WebKit's spelling implementation and
  37908. the client's ones.
  37909. (WebKit):
  37910. * UIProcess/API/efl/ewk_context.cpp:
  37911. (_Ewk_Context::_Ewk_Context):
  37912. Attach the spellchecker feature for the context.
  37913. * UIProcess/API/efl/ewk_text_checker.cpp: Added.
  37914. (ewk_text_checker_callbacks_get):
  37915. An internal function to get the client's callback functions.
  37916. * UIProcess/API/efl/ewk_text_checker.h: Added.
  37917. Define API to set the client's own spelling implementation.
  37918. * UIProcess/API/efl/ewk_text_checker_private.h: Added.
  37919. (_Ewk_Text_Checker):
  37920. Define the struct with the client's callbacks responisble for spelling.
  37921. * UIProcess/API/efl/ewk_settings.cpp:
  37922. (onContinuousSpellCheckingIdler):
  37923. The application is notified about the spelling setting change on idler
  37924. to do not block WebKit.
  37925. The the continuous spell checking may be changed through the context menu option.
  37926. (spellCheckingLanguagesSetUpdate):
  37927. The dictionaries are requested on 'idler' to do not block WebKit.
  37928. (spellCheckingLanguagesSet):
  37929. Set the languages.
  37930. (ewk_settings_continuous_spell_checking_change_cb_set):
  37931. Set the callback function used to notify the client when the spelling
  37932. setting was changed by WebKit.
  37933. (ewk_settings_continuous_spell_checking_enabled_get):
  37934. (ewk_settings_continuous_spell_checking_enabled_set):
  37935. API to set/get the continuous spell checking.
  37936. (ewk_settings_spell_checking_available_languages_get):
  37937. (ewk_settings_spell_checking_languages_set):
  37938. (ewk_settings_spell_checking_languages_get):
  37939. API to get/set languages to use by WebKit implementation based on Enchant library.
  37940. * UIProcess/efl/TextCheckerEfl.cpp:
  37941. (WebKit::TextChecker::state):
  37942. (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
  37943. (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
  37944. (WebKit::TextChecker::setGrammarCheckingEnabled):
  37945. (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
  37946. (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
  37947. (WebKit::TextChecker::uniqueSpellDocumentTag):
  37948. (WebKit::TextChecker::closeSpellDocumentWithTag):
  37949. (WebKit::TextChecker::checkSpellingOfString):
  37950. (WebKit::TextChecker::checkGrammarOfString): Remove WebCore namaspace as it's already defined for the whole file.
  37951. (WebKit::TextChecker::spellingUIIsShowing):
  37952. (WebKit::TextChecker::toggleSpellingUIIsShowing):
  37953. (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
  37954. (WebKit::TextChecker::updateSpellingUIWithGrammarString):
  37955. (WebKit::TextChecker::getGuessesForWord):
  37956. (WebKit::TextChecker::learnWord):
  37957. (WebKit::TextChecker::ignoreWord):
  37958. Those call WKTextChecker client's methods.
  37959. 2012-10-17 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  37960. [EFL][WK2] Ewk_Url_Scheme_Request has to be refactored
  37961. https://bugs.webkit.org/show_bug.cgi?id=99549
  37962. Reviewed by Kenneth Rohde Christiansen.
  37963. Ewk_Url_Scheme_Requestis inherited from RefCounted, WKEinaSharedString is used,
  37964. removed weird _Ewk_Url_Scheme_Request.
  37965. * UIProcess/API/efl/ewk_context_private.h:
  37966. * UIProcess/API/efl/ewk_context_request_manager_client.cpp:
  37967. (didReceiveURIRequest):
  37968. * UIProcess/API/efl/ewk_url_scheme_request.cpp:
  37969. (ewk_url_scheme_request_ref):
  37970. (ewk_url_scheme_request_unref):
  37971. * UIProcess/API/efl/ewk_url_scheme_request.h:
  37972. * UIProcess/API/efl/ewk_url_scheme_request_private.h:
  37973. (Ewk_Url_Scheme_Request):
  37974. (Ewk_Url_Scheme_Request::create):
  37975. (Ewk_Url_Scheme_Request::Ewk_Url_Scheme_Request):
  37976. 2012-10-17 Mario Sanchez Prada <msanchez@igalia.com>
  37977. [WK2][GTK] Unneeded GError field in internal structure in WebKitFaviconDatabase.cpp
  37978. https://bugs.webkit.org/show_bug.cgi?id=99564
  37979. Reviewed by Carlos Garcia Campos.
  37980. Removed field 'error' from GetFaviconSurfaceAsyncData and updated
  37981. the code accordingly, by using g_simple_async_result_take_error().
  37982. * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
  37983. (GetFaviconSurfaceAsyncData): Removed unneeded field.
  37984. (processPendingIconsForPageURL): Avoid using g_propagate_error and
  37985. use g_simple_async_result_take_error directly instead.
  37986. (webkit_favicon_database_get_favicon_finish): Remove unneeded code.
  37987. 2012-10-17 Christophe Dumez <christophe.dumez@intel.com>
  37988. [EFL][WK2] Start using OwnPtr for non-ref counted ewk types
  37989. https://bugs.webkit.org/show_bug.cgi?id=99472
  37990. Reviewed by Kenneth Rohde Christiansen.
  37991. Use OwnPtr internally for non-ref counted Ewk types to avoid
  37992. manual memory handling.
  37993. Private _new() and _free() functions are removed since they
  37994. are not needed now that the classes are defined in the
  37995. private headers instead of the cpp files. The constructor
  37996. for those classes was made private and factory methods were
  37997. added to encourage developers to use smart pointers instead
  37998. of raw ones.
  37999. * UIProcess/API/efl/ewk_back_forward_list.cpp:
  38000. (ewk_back_forward_list_changed):
  38001. * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
  38002. * UIProcess/API/efl/ewk_back_forward_list_private.h:
  38003. (_Ewk_Back_Forward_List):
  38004. (_Ewk_Back_Forward_List::create):
  38005. (_Ewk_Back_Forward_List::_Ewk_Back_Forward_List):
  38006. * UIProcess/API/efl/ewk_context.cpp:
  38007. (_Ewk_Context):
  38008. (_Ewk_Context::_Ewk_Context):
  38009. (ewk_context_cookie_manager_get):
  38010. (ewk_context_favicon_database_get):
  38011. * UIProcess/API/efl/ewk_context_download_client.cpp:
  38012. (didFail):
  38013. * UIProcess/API/efl/ewk_cookie_manager.cpp:
  38014. (_Ewk_Cookie_Manager::_Ewk_Cookie_Manager):
  38015. (_Ewk_Cookie_Manager::~_Ewk_Cookie_Manager):
  38016. (getAcceptPolicyCallback):
  38017. (getHostnamesWithCookiesCallback):
  38018. (ewk_cookie_manager_changes_watch):
  38019. * UIProcess/API/efl/ewk_cookie_manager_private.h:
  38020. (Cookie_Change_Handler):
  38021. (Cookie_Change_Handler::Cookie_Change_Handler):
  38022. (_Ewk_Cookie_Manager):
  38023. (_Ewk_Cookie_Manager::create):
  38024. * UIProcess/API/efl/ewk_error.cpp:
  38025. (_Ewk_Error::_Ewk_Error):
  38026. (ewk_error_cancellation_get):
  38027. * UIProcess/API/efl/ewk_error_private.h:
  38028. (_Ewk_Error):
  38029. (_Ewk_Error::create):
  38030. * UIProcess/API/efl/ewk_favicon_database.cpp:
  38031. (_Ewk_Favicon_Database::_Ewk_Favicon_Database):
  38032. * UIProcess/API/efl/ewk_favicon_database_private.h:
  38033. (IconChangeCallbackData):
  38034. (IconChangeCallbackData::IconChangeCallbackData):
  38035. (IconRequestCallbackData):
  38036. (IconRequestCallbackData::IconRequestCallbackData):
  38037. (_Ewk_Favicon_Database):
  38038. (_Ewk_Favicon_Database::create):
  38039. * UIProcess/API/efl/ewk_popup_menu_item.cpp:
  38040. (_Ewk_Popup_Menu_Item::_Ewk_Popup_Menu_Item):
  38041. * UIProcess/API/efl/ewk_popup_menu_item_private.h:
  38042. (_Ewk_Popup_Menu_Item):
  38043. (_Ewk_Popup_Menu_Item::create):
  38044. * UIProcess/API/efl/ewk_url_scheme_request.cpp:
  38045. (_Ewk_Url_Scheme_Request::_Ewk_Url_Scheme_Request):
  38046. * UIProcess/API/efl/ewk_view.cpp:
  38047. (_Ewk_View_Private_Data):
  38048. (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
  38049. (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
  38050. (_ewk_view_initialize):
  38051. (ewk_view_back_forward_list_get):
  38052. (ewk_view_popup_menu_request):
  38053. (ewk_view_popup_menu_close):
  38054. * UIProcess/API/efl/ewk_view_loader_client.cpp:
  38055. (didFailLoadWithErrorForFrame):
  38056. (didFailProvisionalLoadWithErrorForFrame):
  38057. * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
  38058. (didFailLoadForResource):
  38059. 2012-10-17 Christophe Dumez <christophe.dumez@intel.com>
  38060. [EFL][WK2] Use WTF RefCounted and RefPtr for Ewk_Resource and Ewk_Form_Submission_Request
  38061. https://bugs.webkit.org/show_bug.cgi?id=99542
  38062. Reviewed by Kenneth Rohde Christiansen.
  38063. Use WTF RefCounted and RefPtr for Ewk_Resource and Ewk_Form_Submission_Request
  38064. to avoid handling raw pointers internally.
  38065. * UIProcess/API/efl/ewk_form_submission_request.cpp:
  38066. (ewk_form_submission_request_ref):
  38067. (ewk_form_submission_request_unref):
  38068. (ewk_form_submission_request_submit):
  38069. * UIProcess/API/efl/ewk_form_submission_request_private.h:
  38070. (_Ewk_Form_Submission_Request):
  38071. (_Ewk_Form_Submission_Request::~_Ewk_Form_Submission_Request):
  38072. (_Ewk_Form_Submission_Request::create):
  38073. (_Ewk_Form_Submission_Request::_Ewk_Form_Submission_Request):
  38074. * UIProcess/API/efl/ewk_resource.cpp:
  38075. (ewk_resource_ref):
  38076. (ewk_resource_unref):
  38077. * UIProcess/API/efl/ewk_resource_private.h:
  38078. (_Ewk_Resource):
  38079. (_Ewk_Resource::create):
  38080. (_Ewk_Resource::_Ewk_Resource):
  38081. * UIProcess/API/efl/ewk_view.cpp:
  38082. (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
  38083. (ewk_view_resource_load_initiated):
  38084. (ewk_view_resource_load_response):
  38085. (ewk_view_resource_load_failed):
  38086. (ewk_view_resource_load_finished):
  38087. (ewk_view_resource_request_sent):
  38088. (ewk_view_load_provisional_started):
  38089. * UIProcess/API/efl/ewk_view_form_client.cpp:
  38090. (willSubmitForm):
  38091. * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
  38092. (didInitiateLoadForResource):
  38093. 2012-10-16 Dongwoo Joshua Im <dw.im@samsung.com>
  38094. [mac] Fix build break - processPath should be initialized.
  38095. https://bugs.webkit.org/show_bug.cgi?id=99541
  38096. Unreviewed build fix.
  38097. Initialize processPath as nil.
  38098. * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  38099. (WebKit::createProcess):
  38100. 2012-10-16 Christophe Dumez <christophe.dumez@intel.com>
  38101. [EFL][WK2] Add factory methods for refcounted Ewk types
  38102. https://bugs.webkit.org/show_bug.cgi?id=99479
  38103. Reviewed by Gyuyoung Kim.
  38104. Add factory methods to refcounted Ewk types that return
  38105. a PassRefPtr for refcounted Ewk types. Their constructors
  38106. were made privates as well, in order to promote the use
  38107. of smart pointers internally.
  38108. Remove _new() functions for refcounted Ewk types as they
  38109. are no longer needed now that the classes are defined
  38110. in the private headers instead of the cpp files.
  38111. * UIProcess/API/efl/PageClientImpl.cpp:
  38112. (WebKit::PageClientImpl::handleDownloadRequest):
  38113. * UIProcess/API/efl/ewk_back_forward_list.cpp:
  38114. (addItemToWrapperCache):
  38115. * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
  38116. (ewk_back_forward_list_item_original_url_get):
  38117. * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
  38118. (_Ewk_Back_Forward_List_Item):
  38119. (_Ewk_Back_Forward_List_Item::create):
  38120. (_Ewk_Back_Forward_List_Item::_Ewk_Back_Forward_List_Item):
  38121. * UIProcess/API/efl/ewk_context_download_client.cpp:
  38122. (didReceiveResponse):
  38123. * UIProcess/API/efl/ewk_context_history_client.cpp:
  38124. (didNavigateWithNavigationData):
  38125. * UIProcess/API/efl/ewk_download_job.cpp:
  38126. (ewk_download_job_request_get):
  38127. (ewk_download_job_state_set):
  38128. * UIProcess/API/efl/ewk_download_job_private.h:
  38129. (_Ewk_Download_Job):
  38130. (_Ewk_Download_Job::create):
  38131. (_Ewk_Download_Job::_Ewk_Download_Job):
  38132. * UIProcess/API/efl/ewk_intent.cpp:
  38133. (ewk_intent_extra_names_get):
  38134. * UIProcess/API/efl/ewk_intent_private.h:
  38135. (_Ewk_Intent):
  38136. (_Ewk_Intent::create):
  38137. (_Ewk_Intent::_Ewk_Intent):
  38138. * UIProcess/API/efl/ewk_intent_service.cpp:
  38139. (ewk_intent_service_disposition_get):
  38140. * UIProcess/API/efl/ewk_intent_service_private.h:
  38141. (_Ewk_Intent_Service):
  38142. (_Ewk_Intent_Service::create):
  38143. (_Ewk_Intent_Service::_Ewk_Intent_Service):
  38144. * UIProcess/API/efl/ewk_navigation_data.cpp:
  38145. (ewk_navigation_data_url_get):
  38146. * UIProcess/API/efl/ewk_navigation_data_private.h:
  38147. (_Ewk_Navigation_Data):
  38148. (_Ewk_Navigation_Data::create):
  38149. (_Ewk_Navigation_Data::_Ewk_Navigation_Data):
  38150. * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
  38151. * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
  38152. (_Ewk_Navigation_Policy_Decision):
  38153. (_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
  38154. (_Ewk_Navigation_Policy_Decision::create):
  38155. (_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
  38156. * UIProcess/API/efl/ewk_url_request.cpp:
  38157. (ewk_url_request_http_method_get):
  38158. * UIProcess/API/efl/ewk_url_request_private.h:
  38159. (_Ewk_Url_Request):
  38160. (_Ewk_Url_Request::create):
  38161. (_Ewk_Url_Request::_Ewk_Url_Request):
  38162. * UIProcess/API/efl/ewk_url_response.cpp:
  38163. (ewk_url_response_content_length_get):
  38164. * UIProcess/API/efl/ewk_url_response_private.h:
  38165. (_Ewk_Url_Response):
  38166. (_Ewk_Url_Response::create):
  38167. (_Ewk_Url_Response::_Ewk_Url_Response):
  38168. * UIProcess/API/efl/ewk_view.cpp:
  38169. (ewk_view_intent_deliver):
  38170. * UIProcess/API/efl/ewk_view_loader_client.cpp:
  38171. (didReceiveIntentForFrame):
  38172. (registerIntentServiceForFrame):
  38173. * UIProcess/API/efl/ewk_view_policy_client.cpp:
  38174. (decidePolicyForNavigationAction):
  38175. (decidePolicyForNewWindowAction):
  38176. * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
  38177. (didInitiateLoadForResource):
  38178. (didSendRequestForResource):
  38179. (didReceiveResponseForResource):
  38180. 2012-10-16 Alexey Proskuryakov <ap@apple.com>
  38181. <rdar://problem/12462993> Use a sensible fallback for cache directory
  38182. Reviewed by Sam Weinig.
  38183. * UIProcess/WebContext.cpp: (WebKit::WebContext::createNewWebProcess): Cache directory
  38184. should be created if it doesn't exist yet, so use createHandleForReadWriteDirectory.
  38185. * UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformDefaultDiskCacheDirectory):
  38186. We don't want caches in home directory, they should go to ~/Library/Caches.
  38187. 2012-10-16 Andy Estes <aestes@apple.com>
  38188. [WebKit2] Create Objective-C API for adding and removing user scripts
  38189. https://bugs.webkit.org/show_bug.cgi?id=99528
  38190. Reviewed by Anders Carlsson.
  38191. This patch adds the following API to WKBrowsingContextGroup:
  38192. - (void)addUserScript:(NSString *)source baseURL:(NSURL *)baseURL whitelistedURLPatterns:(NSArray *)whitelist blacklistedURLPatterns:(NSArray *)blacklist injectionTime:(WKUserScriptInjectionTime)injectionTime mainFrameOnly:(BOOL)mainFrameOnly;
  38193. - (void)removeAllUserScripts;
  38194. * UIProcess/API/C/WKPageGroup.cpp:
  38195. (WKPageGroupAddUserScript): Define a C SPI equivalent of addUserScript: that calls existing methods in WebPageGroup.
  38196. (WKPageGroupRemoveAllUserScripts): Ditto for removeAllUserScripts.
  38197. * UIProcess/API/C/WKPageGroup.h: Declare the above-mentioned functions.
  38198. * UIProcess/API/mac/WKBrowsingContextGroup.h: Declare the Objective-C API
  38199. * UIProcess/API/mac/WKBrowsingContextGroup.mm:
  38200. (-[WKBrowsingContextGroup addUserScript:baseURL:whitelist:blacklist:injectionTime:mainFrameOnly:]): Call WKPageGroupAddUserScript.
  38201. (-[WKBrowsingContextGroup removeAllUserScripts]): Call WKPageGroupRemoveAllUserScripts.
  38202. * WebProcess/WebPage/WebPageGroupProxy.cpp:
  38203. (WebKit::WebPageGroupProxy::removeAllUserScripts): This was calling PageGroup::removeUserStyleSheetsFromWorld() by mistake.
  38204. 2012-10-16 Yael Aharon <yael.aharon@intel.com>
  38205. [EFL][WK2][AC] Url bar should not be covered by the web view
  38206. https://bugs.webkit.org/show_bug.cgi?id=99485
  38207. Reviewed by Laszlo Gombos.
  38208. When accelerated compositing is enabled, the url bar is covered by the web view.
  38209. This was caused by 2 issues:
  38210. - _ewk_view_smart_calculate was called before the first gl surface was created,
  38211. so an early return caused it to not save the new view position.
  38212. - When painting the view, we need to take into account the position of
  38213. the view within the window, i.e. the url bar.
  38214. * UIProcess/API/efl/EflViewportHandler.cpp:
  38215. (WebKit::EflViewportHandler::display):
  38216. * UIProcess/API/efl/EflViewportHandler.h:
  38217. (EflViewportHandler):
  38218. * UIProcess/API/efl/ewk_view.cpp:
  38219. (_ewk_view_smart_calculate):
  38220. (ewk_view_display):
  38221. 2012-10-16 Jian Li <jianli@chromium.org>
  38222. Rename feature define ENABLE_WIDGET_REGION to ENABLE_DRAGGBALE_REGION
  38223. https://bugs.webkit.org/show_bug.cgi?id=98975
  38224. Reviewed by Adam Barth.
  38225. Renaming is needed to better match with the draggable region code.
  38226. * Configurations/FeatureDefines.xcconfig:
  38227. 2012-10-16 Tony Chang <tony@chromium.org>
  38228. Unreviewed, revert previous WebKit2.def change. Exports shouldn't matter.
  38229. * win/WebKit2.def:
  38230. 2012-10-16 Tony Chang <tony@chromium.org>
  38231. Unreviewed, try to fix the Apple Win build.
  38232. * win/WebKit2.def:
  38233. 2012-10-16 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
  38234. Implement testRunner.dumpSelectionRect() in WebKitTestRunner
  38235. https://bugs.webkit.org/show_bug.cgi?id=69545
  38236. Reviewed by Simon Fraser.
  38237. * Shared/API/c/WKImage.h: Add another option that controls whether
  38238. the selection rectangle should be painted onto the snapshot.
  38239. * Shared/API/c/WKSharedAPICast.h:
  38240. (WebKit::toSnapshotOptions): Add a case for the new option
  38241. mentioned above.
  38242. * Shared/ImageOptions.h: More plumbing for the option above.
  38243. * WebProcess/WebPage/WebPage.cpp:
  38244. (WebKit::WebPage::scaledSnapshotWithOptions): Draw a red rectangle
  38245. around the selection area when
  38246. SnapshotOptionsPaintSelectionRectangle is set.
  38247. 2012-10-16 Christophe Dumez <christophe.dumez@intel.com>
  38248. [EFL][WK2] Have intent classes subclass RefCounted
  38249. https://bugs.webkit.org/show_bug.cgi?id=99467
  38250. Reviewed by Kenneth Rohde Christiansen.
  38251. Make Ewk_Intent and Ewk_Intent_Service subclass
  38252. RefCounted so that we can use smart pointers
  38253. internally.
  38254. * UIProcess/API/efl/ewk_intent.cpp:
  38255. (ewk_intent_ref):
  38256. (ewk_intent_unref):
  38257. * UIProcess/API/efl/ewk_intent_private.h:
  38258. (_Ewk_Intent):
  38259. (_Ewk_Intent::_Ewk_Intent):
  38260. * UIProcess/API/efl/ewk_intent_service.cpp:
  38261. (ewk_intent_service_ref):
  38262. (ewk_intent_service_unref):
  38263. * UIProcess/API/efl/ewk_intent_service_private.h:
  38264. (_Ewk_Intent_Service):
  38265. (_Ewk_Intent_Service::_Ewk_Intent_Service):
  38266. * UIProcess/API/efl/ewk_view_loader_client.cpp:
  38267. (didReceiveIntentForFrame):
  38268. (registerIntentServiceForFrame):
  38269. 2012-10-16 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  38270. [EFL][WK2] Inherit Ewk_Download_Job, Ewk_Back_Forward_List_Item, Ewk_Url_Response, Ewk_Navigation_Policy_Decision from RefCounted
  38271. https://bugs.webkit.org/show_bug.cgi?id=99455
  38272. Reviewed by Kenneth Rohde Christiansen.
  38273. The API objects mentioned in bug title are inherited from WTF::RefCounted which made it possible
  38274. to use smart pointers with them.
  38275. * UIProcess/API/efl/PageClientImpl.cpp:
  38276. (WebKit::PageClientImpl::handleDownloadRequest):
  38277. * UIProcess/API/efl/ewk_back_forward_list.cpp:
  38278. (_Ewk_Back_Forward_List::_Ewk_Back_Forward_List):
  38279. (addItemToWrapperCache):
  38280. (ewk_back_forward_list_changed):
  38281. * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
  38282. (ewk_back_forward_list_item_ref):
  38283. (ewk_back_forward_list_item_unref):
  38284. * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
  38285. (_Ewk_Back_Forward_List_Item):
  38286. (_Ewk_Back_Forward_List_Item::_Ewk_Back_Forward_List_Item):
  38287. * UIProcess/API/efl/ewk_context.cpp:
  38288. (_Ewk_Context):
  38289. (_Ewk_Context::~_Ewk_Context):
  38290. (ewk_context_download_job_add):
  38291. (ewk_context_download_job_get):
  38292. (ewk_context_download_job_remove):
  38293. * UIProcess/API/efl/ewk_context_download_client.cpp:
  38294. (didReceiveResponse):
  38295. * UIProcess/API/efl/ewk_download_job.cpp:
  38296. (ewk_download_job_ref):
  38297. (ewk_download_job_unref):
  38298. (ewk_download_job_response_get):
  38299. (ewk_download_job_estimated_progress_get):
  38300. * UIProcess/API/efl/ewk_download_job_private.h:
  38301. (_Ewk_Download_Job):
  38302. (_Ewk_Download_Job::_Ewk_Download_Job):
  38303. * UIProcess/API/efl/ewk_navigation_data_private.h:
  38304. * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
  38305. (ewk_navigation_policy_decision_ref):
  38306. (ewk_navigation_policy_decision_unref):
  38307. * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
  38308. (_Ewk_Navigation_Policy_Decision):
  38309. (_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
  38310. (_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
  38311. * UIProcess/API/efl/ewk_url_response.cpp:
  38312. (ewk_url_response_ref):
  38313. (ewk_url_response_unref):
  38314. * UIProcess/API/efl/ewk_url_response_private.h:
  38315. (_Ewk_Url_Response):
  38316. (_Ewk_Url_Response::_Ewk_Url_Response):
  38317. * UIProcess/API/efl/ewk_view_policy_client.cpp:
  38318. (decidePolicyForNavigationAction):
  38319. (decidePolicyForNewWindowAction):
  38320. * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
  38321. (didSendRequestForResource):
  38322. (didReceiveResponseForResource):
  38323. 2012-10-16 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  38324. [WK2][EFL] Crash in _ewk_view_on_favicon_changed()
  38325. https://bugs.webkit.org/show_bug.cgi?id=99454
  38326. Reviewed by Kenneth Rohde Christiansen.
  38327. Added missing null check to avoid a crash if the current URL of
  38328. view is NULL.
  38329. * UIProcess/API/efl/ewk_view.cpp:
  38330. (_ewk_view_on_favicon_changed):
  38331. 2012-10-16 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  38332. [WK2] Provide WKURL API for resolving the relative URL with the given base URL
  38333. https://bugs.webkit.org/show_bug.cgi?id=99317
  38334. Reviewed by Kenneth Rohde Christiansen.
  38335. Added new constructor function WKURLCreateWithBaseURL for WKURL which
  38336. resolves the relative URL with the given base URL.
  38337. * Shared/API/c/WKURL.cpp:
  38338. (WKURLCreateWithBaseURL):
  38339. * Shared/API/c/WKURL.h:
  38340. * Shared/WebURL.h:
  38341. (WebKit::WebURL::create):
  38342. (WebURL):
  38343. (WebKit::WebURL::WebURL):
  38344. 2012-10-16 Szilard Ledan <szledan@inf.u-szeged.hu>
  38345. Separate WebKit2 instances use the same local storage
  38346. https://bugs.webkit.org/show_bug.cgi?id=89666
  38347. Reviewed by Simon Hausmann.
  38348. For multi-threaded (parallel) testing, WTRs must not write into the same directory.
  38349. To avoid that, results need to be stored in the location defined by DUMPRENDERTREE_TEMP
  38350. environment variable that is created by NRWT. To do that, WebContext needed to be
  38351. extended with diskCacheDirectory and cookieStorageDirectory APIs.
  38352. * Shared/WebProcessCreationParameters.cpp:
  38353. (WebKit::WebProcessCreationParameters::encode):
  38354. (WebKit::WebProcessCreationParameters::decode):
  38355. * Shared/WebProcessCreationParameters.h:
  38356. (WebProcessCreationParameters):
  38357. * UIProcess/API/C/WKContext.cpp:
  38358. (WKContextSetDiskCacheDirectory):
  38359. (WKContextSetCookieStorageDirectory):
  38360. * UIProcess/API/C/WKContextPrivate.h:
  38361. * UIProcess/WebContext.cpp:
  38362. (WebKit::WebContext::createNewWebProcess):
  38363. (WebKit::WebContext::diskCacheDirectory):
  38364. (WebKit):
  38365. (WebKit::WebContext::cookieStorageDirectory):
  38366. * UIProcess/WebContext.h:
  38367. (WebKit::WebContext::setDiskCacheDirectory):
  38368. (WebKit::WebContext::setCookieStorageDirectory):
  38369. (WebContext):
  38370. * UIProcess/efl/WebContextEfl.cpp:
  38371. (WebKit::WebContext::platformDefaultDiskCacheDirectory):
  38372. (WebKit):
  38373. (WebKit::WebContext::platformDefaultCookieStorageDirectory):
  38374. * UIProcess/gtk/WebContextGtk.cpp:
  38375. (WebKit::WebContext::platformDefaultDiskCacheDirectory):
  38376. (WebKit):
  38377. (WebKit::WebContext::platformDefaultCookieStorageDirectory):
  38378. * UIProcess/mac/WebContextMac.mm:
  38379. (WebKit::WebContext::platformInitializeWebProcess):
  38380. (WebKit):
  38381. (WebKit::WebContext::platformDefaultDiskCacheDirectory):
  38382. (WebKit::WebContext::platformDefaultCookieStorageDirectory):
  38383. * UIProcess/qt/WebContextQt.cpp:
  38384. (WebKit):
  38385. (WebKit::WebContext::platformDefaultDiskCacheDirectory):
  38386. (WebKit::WebContext::applicationCacheDirectory):
  38387. (WebKit::WebContext::platformInitializeWebProcess):
  38388. (WebKit::WebContext::platformDefaultCookieStorageDirectory):
  38389. * UIProcess/win/WebContextWin.cpp:
  38390. (WebKit::WebContext::platformInitializeWebProcess):
  38391. (WebKit::WebContext::platformDefaultDiskCacheDirectory):
  38392. (WebKit):
  38393. (WebKit::WebContext::platformDefaultCookieStorageDirectory):
  38394. * WebProcess/mac/WebProcessMac.mm:
  38395. (WebKit::WebProcess::platformInitializeWebProcess):
  38396. * WebProcess/win/WebProcessWin.cpp:
  38397. (WebKit::WebProcess::platformInitializeWebProcess):
  38398. 2012-10-16 Jongseok Yang <js45.yang@samsung.com>
  38399. [EFL][WK2] Fix Cache Model API tests
  38400. https://bugs.webkit.org/show_bug.cgi?id=99427
  38401. Reviewed by Gyuyoung Kim.
  38402. Cache Model API tests caused "Segmentation fault" because the default value
  38403. for cache model was incorrect.
  38404. Fix the default value for cache model.
  38405. Fix Cache Model API tests.
  38406. * UIProcess/API/efl/ewk_context.h:
  38407. * UIProcess/API/efl/tests/test_ewk2_context.cpp:
  38408. (TEST_F):
  38409. 2012-10-15 Christophe Dumez <christophe.dumez@intel.com>
  38410. [EFL][WK2] Regression(r131337): Made 3 Cookie Manager API tests fail
  38411. https://bugs.webkit.org/show_bug.cgi?id=99416
  38412. Reviewed by Gyuyoung Kim.
  38413. After r131337, the favicon database is enabled and it causes new
  38414. requests to "/favicon.ico" on the http server. The http server used
  38415. in the cookie manager test was too strict and was calling FAIL() for
  38416. any unrecognized HTTP request (such as the one to /favicon.ico).
  38417. This patch makes the http server in cookie manager API tests less
  38418. strict.
  38419. * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
  38420. (serverCallback):
  38421. 2012-10-15 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  38422. Unreviewed, rolling out r131349.
  38423. http://trac.webkit.org/changeset/131349
  38424. https://bugs.webkit.org/show_bug.cgi?id=97173
  38425. Revert r131349 because API test is broken by this commit.
  38426. * UIProcess/API/efl/ewk_main.cpp:
  38427. (ewk_init):
  38428. (ewk_shutdown):
  38429. * WebProcess/efl/WebProcessMainEfl.cpp:
  38430. (WebKit::WebProcessMainEfl):
  38431. 2012-10-15 Jongseok Yang <js45.yang@samsung.com>
  38432. [EFL][WK2] Add APIs for cache model
  38433. https://bugs.webkit.org/show_bug.cgi?id=98889
  38434. Reviewed by Gyuyoung Kim.
  38435. Add ewk_context_cache_model_set(), ewk_context_cache_model_get().
  38436. The cache model means the level for the cache capacity.
  38437. If EWK_CACHE_MODEL_DOCUMENT_BROWSER, the biggest cache capacity will be set.
  38438. * UIProcess/API/efl/ewk_context.cpp:
  38439. (ewk_context_cache_model_set):
  38440. (ewk_context_cache_model_get):
  38441. * UIProcess/API/efl/ewk_context.h:
  38442. * UIProcess/API/efl/tests/test_ewk2_context.cpp:
  38443. (TEST_F):
  38444. 2012-10-15 Byungwoo Lee <bw80.lee@samsung.com>
  38445. Fix unused parameter build warning.
  38446. https://bugs.webkit.org/show_bug.cgi?id=99400
  38447. Reviewed by Gyuyoung Kim.
  38448. Remove the name of unused parameters to fix the build warning (-Wunused-parameter).
  38449. * Shared/soup/WebCoreArgumentCodersSoup.cpp:
  38450. (CoreIPC::::encodePlatformData):
  38451. (CoreIPC::::decodePlatformData):
  38452. * UIProcess/WebProcessProxy.cpp:
  38453. (WebKit::WebProcessProxy::getSharedWorkerProcessConnection):
  38454. * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
  38455. (WebKit::NetscapePlugin::handleEditingCommand):
  38456. (WebKit::NetscapePlugin::isEditingCommandEnabled):
  38457. 2012-10-15 Dan Bernstein <mitz@apple.com>
  38458. WebKit2 part of <rdar://problem/12470680> Font’s fast code path doesn’t support kerning and ligatures
  38459. https://bugs.webkit.org/show_bug.cgi?id=99113
  38460. Reviewed by Tim Horton.
  38461. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
  38462. (InitWebCoreSystemInterface): Added wkCTFontTransformGlyphs.
  38463. 2012-10-15 Christophe Dumez <christophe.dumez@intel.com>
  38464. [WK2][CAIRO] Use cairo_format_stride_for_width() in ShareableBitmap
  38465. https://bugs.webkit.org/show_bug.cgi?id=99332
  38466. Reviewed by Martin Robinson.
  38467. Cairo implementation of ShareableBitmap is calling
  38468. cairo_image_surface_create_for_data() to create an image surface for
  38469. the provided pixel data. However, it was passing "m_size.width() * 4"
  38470. for the stride argument instead of calling
  38471. cairo_format_stride_for_width().
  38472. The Cairo documentation states:
  38473. "Note that the stride may be larger than width*bytes_per_pixel to
  38474. provide proper alignment for each pixel and row. This alignment is
  38475. required to allow high-performance rendering within cairo. The correct
  38476. way to obtain a legal stride value is to call
  38477. cairo_format_stride_for_width() with the desired format and maximum
  38478. image width value, and then use the resulting stride value to allocate
  38479. the data and to create the image surface."
  38480. This patch calls cairo_format_stride_for_width() is ShareableBitmap
  38481. in order to obtain a legal stride value to make sure we provide proper
  38482. alignment for each pixel and row, and allow high-performance rendering
  38483. within cairo.
  38484. * Shared/ShareableBitmap.h:
  38485. (ShareableBitmap):
  38486. * Shared/cairo/ShareableBitmapCairo.cpp:
  38487. (WebKit):
  38488. (WebKit::ShareableBitmap::numBytesForSize):
  38489. (WebKit::createSurfaceFromData):
  38490. (WebKit::ShareableBitmap::paint):
  38491. (WebKit::ShareableBitmap::createCairoSurface):
  38492. 2012-10-15 Eunmi Lee <eunmi15.lee@samsung.com>
  38493. [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
  38494. https://bugs.webkit.org/show_bug.cgi?id=97173
  38495. Reviewed by Gyuyoung Kim.
  38496. Initialize and shutdown the EFL libraries in the ewk_main.cpp for ui
  38497. process and WebProcessMainEfl.cpp for web process.
  38498. * UIProcess/API/efl/ewk_main.cpp:
  38499. (ewk_init):
  38500. (ewk_shutdown):
  38501. * WebProcess/efl/WebProcessMainEfl.cpp:
  38502. (WebKit::WebProcessMainEfl):
  38503. 2012-10-15 Jinwoo Song <jinwoo7.song@samsung.com>
  38504. [EFL][WK2] Provide implementation for PageClientImpl::toolTipChanged()
  38505. https://bugs.webkit.org/show_bug.cgi?id=98589
  38506. Reviewed by Kenneth Rohde Christiansen.
  38507. Implement PageClientImpl::toolTipChanged() to emit signal 'tooltip,text,set' with a tooltip text,
  38508. or 'tooltip,text,unset' if tooltip was unset.
  38509. * UIProcess/API/efl/PageClientImpl.cpp:
  38510. (WebKit::PageClientImpl::toolTipChanged):
  38511. * UIProcess/API/efl/ewk_view.cpp:
  38512. (ewk_view_tooltip_text_set):
  38513. * UIProcess/API/efl/ewk_view.h:
  38514. * UIProcess/API/efl/ewk_view_private.h:
  38515. 2012-10-15 Roger Fong <roger_fong@apple.com>
  38516. Unreviewed. Partial build fix for Windows after r131308.
  38517. * WebKit2Prefix.h:
  38518. * WebProcess/WebKitMain.cpp:
  38519. (WebKitMain):
  38520. 2012-10-15 Sheriff Bot <webkit.review.bot@gmail.com>
  38521. Unreviewed, rolling out r131306 and r131307.
  38522. http://trac.webkit.org/changeset/131306
  38523. http://trac.webkit.org/changeset/131307
  38524. https://bugs.webkit.org/show_bug.cgi?id=99354
  38525. It made layout testing extremely slow again (Requested by
  38526. Ossy_night on #webkit).
  38527. * Shared/API/c/qt/WKImageQt.cpp:
  38528. (WKImageCreateQImage):
  38529. * Shared/API/c/qt/WKImageQt.h:
  38530. 2012-10-15 Christophe Dumez <christophe.dumez@intel.com>
  38531. [EFL][WK2] Implement Favicons API
  38532. https://bugs.webkit.org/show_bug.cgi?id=99087
  38533. Reviewed by Kenneth Rohde Christiansen.
  38534. Add support for favicon API to EFL WK2 port via
  38535. Ewk_Favicon_Database. The API can be used to
  38536. retrieve the favicon URL and data for a given
  38537. page URL.
  38538. * PlatformEfl.cmake:
  38539. * UIProcess/API/efl/EWebKit2.h:
  38540. * UIProcess/API/efl/ewk_context.cpp:
  38541. (_Ewk_Context):
  38542. (_Ewk_Context::_Ewk_Context):
  38543. (_Ewk_Context::~_Ewk_Context):
  38544. (ewk_context_favicon_database_get): Add getter to retrieve the favicon
  38545. database instance from the context.
  38546. * UIProcess/API/efl/ewk_context.h:
  38547. * UIProcess/API/efl/ewk_favicon_database.cpp: Added.
  38548. (IconChangeCallbackData):
  38549. (IconChangeCallbackData::IconChangeCallbackData):
  38550. (IconRequestCallbackData):
  38551. (IconRequestCallbackData::IconRequestCallbackData):
  38552. (_Ewk_Favicon_Database):
  38553. (_Ewk_Favicon_Database::_Ewk_Favicon_Database):
  38554. (didChangeIconForPageURL):
  38555. (getIconSurfaceSynchronously):
  38556. (iconDataReadyForPageURL):
  38557. (ewk_favicon_database_new):
  38558. (ewk_favicon_database_free):
  38559. (ewk_favicon_database_icon_url_get):
  38560. (AsyncIconRequestResponse):
  38561. (AsyncIconRequestResponse::AsyncIconRequestResponse):
  38562. (respond_icon_request_idle):
  38563. (ewk_favicon_database_async_icon_get):
  38564. (ewk_favicon_database_icon_change_callback_add):
  38565. (ewk_favicon_database_icon_change_callback_del):
  38566. * UIProcess/API/efl/ewk_favicon_database.h: Added.
  38567. * UIProcess/API/efl/ewk_favicon_database_private.h: Copied from Source/WebKit2/UIProcess/efl/WebContextEfl.cpp.
  38568. * UIProcess/API/efl/ewk_view.cpp:
  38569. (_Ewk_View_Private_Data):
  38570. (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
  38571. (_ewk_view_on_favicon_changed):
  38572. (_ewk_view_initialize):
  38573. (ewk_view_url_update):
  38574. (ewk_view_icon_url_get): Add a getter to the view to retrieve the icon URL for
  38575. the page that is currently shown.
  38576. (ewk_view_update_icon):
  38577. * UIProcess/API/efl/ewk_view.h: Emit a new "icon,changed" signal on the view whenever
  38578. the view's icon has changed.
  38579. * UIProcess/API/efl/ewk_view_private.h:
  38580. * UIProcess/API/efl/tests/resources/blank.ico: Added.
  38581. * UIProcess/API/efl/tests/test_ewk2_context.cpp: Add unit test for new favicon database getter.
  38582. (TEST_F):
  38583. * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp: Added unit tests for the new Ewk_Favicon_Database API.
  38584. (serverCallback):
  38585. (onIconChanged):
  38586. (TEST_F):
  38587. (onIconDataReady):
  38588. (IconRequestData):
  38589. (requestFaviconData):
  38590. * UIProcess/efl/WebContextEfl.cpp:
  38591. (WebKit::WebContext::platformDefaultIconDatabasePath): Return a valid default path for the icon database.
  38592. 2012-10-15 Ryuan Choi <ryuan.choi@samsung.com>
  38593. [EFL] Share resources installed for inspector
  38594. https://bugs.webkit.org/show_bug.cgi?id=98991
  38595. Reviewed by Gyuyoung Kim.
  38596. * PlatformEfl.cmake: Removed build script which install resources to share.
  38597. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  38598. (WebKit::WebInspectorProxy::inspectorPageURL): Modified not to use makeString.
  38599. (WebKit::WebInspectorProxy::inspectorBaseURL): Changed resource path.
  38600. 2012-10-13 Alexey Proskuryakov <ap@apple.com>
  38601. [WK2] Add SharedWorkerProcess
  38602. https://bugs.webkit.org/show_bug.cgi?id=99218
  38603. Reviewed by Sam Weinig.
  38604. Not yet functional, just some boilerplate code.
  38605. * Configurations/SharedWorkerProcess.xcconfig: Added.
  38606. * DerivedSources.make: Generate message dispatch for SharedWorkerProcess and
  38607. SharedWorkerProcessProxy.
  38608. * Platform/CoreIPC/MessageID.h: Added shared worker messages classes.
  38609. * Scripts/webkit2/messages.py: (struct_or_class):
  38610. SharedWorkerProcessCreationParameters is a struct.
  38611. * Shared/SharedWorkerProcessCreationParameters.cpp: Added.
  38612. * SharedWorkerProcess/Info.plist: Added.
  38613. * SharedWorkerProcess/SharedWorkerProcess.cpp: Added.
  38614. * SharedWorkerProcess/SharedWorkerProcess.h: Added.
  38615. * SharedWorkerProcess/SharedWorkerProcess.messages.in: Added.
  38616. * SharedWorkerProcess/SharedWorkerProcessMain.h: Added.
  38617. * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm: Added.
  38618. * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm: Added.
  38619. * SharedWorkerProcess/mac/com.apple.WebKit.SharedWorkerProcess.sb: Added.
  38620. * UIProcess/SharedWorkers/SharedWorkerProcessManager.cpp: Added.
  38621. * UIProcess/SharedWorkers/SharedWorkerProcessManager.h: Added.
  38622. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp: Added.
  38623. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h: Added.
  38624. * UIProcess/SharedWorkers/SharedWorkerProcessProxy.messages.in: Added.
  38625. * WebKit2.xcodeproj/project.pbxproj:
  38626. Added SharedWorkerProcess boilerplate, modeled after PluginProcess.
  38627. * UIProcess/WebProcessProxy.cpp:
  38628. * UIProcess/WebProcessProxy.h:
  38629. * UIProcess/WebProcessProxy.messages.in:
  38630. Added getSharedWorkerProcessConnection() message.
  38631. * WebProcess/WebKitMain.cpp: (WebKitMain):
  38632. * UIProcess/Launcher/ProcessLauncher.cpp:
  38633. (WebKit::ProcessLauncher::processTypeAsString):
  38634. (WebKit::ProcessLauncher::getProcessTypeFromString):
  38635. * UIProcess/Launcher/ProcessLauncher.h:
  38636. * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::createProcess):
  38637. Added branches for SharedWorkerProcess.
  38638. * Platform/CoreIPC/HandleMessage.h: (CoreIPC::callMemberFunction): Added a version
  38639. for delayed reply messages with two arguments.
  38640. 2012-10-15 Balazs Kelemen <kbalazs@webkit.org>
  38641. [Qt][WTR] Do a forced repaint before generating pixel results
  38642. https://bugs.webkit.org/show_bug.cgi?id=98654
  38643. Reviewed by Jocelyn Turcotte.
  38644. Added API to convert a QImage to a WKImage so we can
  38645. pass it to cross-platform code.
  38646. * Shared/API/c/qt/WKImageQt.cpp:
  38647. (WKImageCreateFromQImage):
  38648. * Shared/API/c/qt/WKImageQt.h:
  38649. 2012-10-15 Simon Hausmann <simon.hausmann@digia.com>
  38650. [Qt] Separate Qt WebKit into Qt WebKit and Qt WebKit Widgets
  38651. https://bugs.webkit.org/show_bug.cgi?id=88162
  38652. Reviewed by Kenneth Rohde Christiansen.
  38653. Rename the QtWebKit module to QtWebKitWidgets.
  38654. * PluginProcess.pro:
  38655. * UIProcess/API/qt/tests/inspectorserver/inspectorserver.pro:
  38656. * UIProcess/API/qt/tests/publicapi/publicapi.pro:
  38657. * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
  38658. * UIProcess/API/qt/tests/qmltests/WebView.pro:
  38659. * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
  38660. * UIProcess/API/qt/tests/qrawwebview/qrawwebview.pro:
  38661. * UIProcess/API/qt/tests/tests.pri:
  38662. * WebProcess.pro:
  38663. 2012-10-15 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  38664. [EFL][WK2] Encapsulate ref counting for Ewk objects in a parent class
  38665. https://bugs.webkit.org/show_bug.cgi?id=99174
  38666. Reviewed by Kenneth Rohde Christiansen.
  38667. Ewk objects can be inherited from RefCounted class, so that ref counting is encapsulated and RefPtr can be used.
  38668. Applied the new approach for Ewk_Navigation_Data and Ewk_Url_Request objects as an example.
  38669. The requirement of adoption can be satisfied as long as we keep dealing with smart pointers only.
  38670. In case external client provides an already referenced object as a raw pointer, relaxAdoptionRequirement() can be set
  38671. explicitly in this specific place.
  38672. * UIProcess/API/efl/ewk_context_history_client.cpp:
  38673. (didNavigateWithNavigationData):
  38674. * UIProcess/API/efl/ewk_download_job.cpp:
  38675. (_Ewk_Download_Job):
  38676. (_Ewk_Download_Job::_Ewk_Download_Job):
  38677. (_Ewk_Download_Job::~_Ewk_Download_Job):
  38678. (ewk_download_job_request_get):
  38679. * UIProcess/API/efl/ewk_navigation_data.cpp:
  38680. (ewk_navigation_data_ref):
  38681. (ewk_navigation_data_unref):
  38682. (ewk_navigation_data_original_request_get):
  38683. * UIProcess/API/efl/ewk_navigation_data_private.h:
  38684. (_Ewk_Navigation_Data):
  38685. (_Ewk_Navigation_Data::_Ewk_Navigation_Data):
  38686. * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
  38687. (_Ewk_Navigation_Policy_Decision):
  38688. (_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
  38689. (_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
  38690. (ewk_navigation_policy_request_get):
  38691. (ewk_navigation_policy_decision_new):
  38692. * UIProcess/API/efl/ewk_url_request.cpp:
  38693. (ewk_url_request_ref):
  38694. (ewk_url_request_unref):
  38695. * UIProcess/API/efl/ewk_url_request_private.h:
  38696. (_Ewk_Url_Request):
  38697. (_Ewk_Url_Request::_Ewk_Url_Request):
  38698. * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
  38699. (didInitiateLoadForResource):
  38700. (didSendRequestForResource):
  38701. 2012-10-15 Allan Sandfeld Jensen <allan.jensen@digia.com>
  38702. [Qt] Regression(r130031) coverRect is used in wrong coordinates.
  38703. https://bugs.webkit.org/show_bug.cgi?id=97777
  38704. Reviewed by Jocelyn Turcotte.
  38705. Convert coverRect from screen coordinates to content coordinates before using it
  38706. outside tiled-backing store.
  38707. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  38708. (WebCore::CoordinatedGraphicsLayer::coverRect):
  38709. 2012-10-15 Carlos Garcia Campos <cgarcia@igalia.com>
  38710. Unreviewed. Fix make distcheck.
  38711. * GNUmakefile.am: Add .in files in WebKit2/Shared to EXTRA_DIST.
  38712. * GNUmakefile.list.am: Remove deleted file.
  38713. 2012-10-14 Anders Carlsson <andersca@apple.com>
  38714. Fix the world.
  38715. Add back a forgotten !.
  38716. * WebProcess/WebPage/WebPage.cpp:
  38717. (WebKit::WebPage::postInjectedBundleMessage):
  38718. 2012-10-14 Sam Weinig <sam@webkit.org>
  38719. Stop all the crashing!
  38720. The WebProcessProxy is not the Connection::Client, the WebConnectionToWebProcess is.
  38721. * UIProcess/WebConnectionToWebProcess.h:
  38722. (WebKit::WebConnectionToWebProcess::webProcessProxy):
  38723. * UIProcess/WebProcessProxy.cpp:
  38724. (WebKit::WebProcessProxy::fromConnection):
  38725. 2012-10-14 Anders Carlsson <andersca@apple.com>
  38726. Re-land of "WebContext should be a MessageReceiver"
  38727. https://bugs.webkit.org/show_bug.cgi?id=98958
  38728. Reviewed by Sam Weinig.
  38729. Make WebContext be a MessageReceiver that lives in its own map. This allows us to get rid of the
  38730. knowsHowToHandleMessage functions on MessageReceiverMap and WebContext.
  38731. * Platform/CoreIPC/Connection.h:
  38732. (CoreIPC::Connection::client):
  38733. (Connection):
  38734. * Platform/CoreIPC/MessageReceiverMap.cpp:
  38735. (CoreIPC::MessageReceiverMap::addMessageReceiver):
  38736. (CoreIPC::MessageReceiverMap::invalidate):
  38737. (CoreIPC::MessageReceiverMap::knowsHowToHandleMessage):
  38738. (CoreIPC::MessageReceiverMap::dispatchMessage):
  38739. (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
  38740. * Platform/CoreIPC/MessageReceiverMap.h:
  38741. (MessageReceiverMap):
  38742. * UIProcess/WebContext.cpp:
  38743. (WebKit::WebContext::WebContext):
  38744. (WebKit::WebContext::~WebContext):
  38745. (WebKit::WebContext::dispatchMessage):
  38746. (WebKit::WebContext::dispatchSyncMessage):
  38747. (WebKit::WebContext::didReceiveMessage):
  38748. (WebKit::WebContext::didReceiveSyncMessage):
  38749. * UIProcess/WebContext.h:
  38750. (WebContext):
  38751. * UIProcess/WebProcessProxy.cpp:
  38752. (WebKit::WebProcessProxy::fromConnection):
  38753. (WebKit):
  38754. (WebKit::WebProcessProxy::didReceiveMessage):
  38755. (WebKit::WebProcessProxy::didReceiveSyncMessage):
  38756. * UIProcess/WebProcessProxy.h:
  38757. (WebProcessProxy):
  38758. 2012-10-14 Anders Carlsson <andersca@apple.com>
  38759. WebPage::PostInjectedBundleMessage should be a variadic message
  38760. https://bugs.webkit.org/show_bug.cgi?id=99277
  38761. Reviewed by Sam Weinig.
  38762. Don't use a data reference for messages posted to the injected bundle; they could contain data that requires attachments
  38763. (such as shared memory).
  38764. * UIProcess/WebPageProxy.cpp:
  38765. (WebKit::WebPageProxy::postMessageToInjectedBundle):
  38766. * WebProcess/WebPage/WebPage.cpp:
  38767. (WebKit::WebPage::postInjectedBundleMessage):
  38768. * WebProcess/WebPage/WebPage.h:
  38769. (WebPage):
  38770. * WebProcess/WebPage/WebPage.messages.in:
  38771. 2012-10-14 Sam Weinig <sam@webkit.org>
  38772. Simplify user content in WebKit2 by using WebCore::UserStyleSheet and WebCore::UserScript directly
  38773. https://bugs.webkit.org/show_bug.cgi?id=99276
  38774. Reviewed by Anders Carlsson.
  38775. - Removes UserContentContainer in favor of Vector<UserStyleSheet> and Vector<UserScript> right on WebPageGroupData.
  38776. - Adds support for UserScripts, but does not expose API for it just yet.
  38777. * CMakeLists.txt:
  38778. * GNUmakefile.list.am:
  38779. * Target.pri:
  38780. * WebKit2.xcodeproj/project.pbxproj:
  38781. * win/WebKit2.vcproj:
  38782. * Shared/UserContentContainer.cpp: Removed.
  38783. * Shared/UserContentContainer.h: Removed.
  38784. Remove UserContentContainer.h/cpp.
  38785. * Shared/API/c/WKBase.h:
  38786. * Shared/API/c/WKSharedAPICast.h:
  38787. (WebKit::toUserScriptInjectionTime):
  38788. (WebKit::toUserContentInjectedFrames):
  38789. * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
  38790. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  38791. Move UserContent enums to WKBase.h so they can be used from both processes, and move the
  38792. casts to WKSharedAPICast.
  38793. * Shared/WebCoreArgumentCoders.cpp:
  38794. * Shared/WebCoreArgumentCoders.h:
  38795. Add coders for UserStyleSheet and UserScript.
  38796. * Shared/WebPageGroupData.cpp:
  38797. (WebKit::WebPageGroupData::encode):
  38798. (WebKit::WebPageGroupData::decode):
  38799. * Shared/WebPageGroupData.h:
  38800. (WebPageGroupData):
  38801. Replace UserContentContainer with Vector<UserStyleSheet> and Vector<UserScript>. Stop using
  38802. CoreIPC::In() and CoreIPC::Out(), and instead just call encode/decode multiple times.
  38803. * UIProcess/API/C/WKPageGroup.cpp:
  38804. (WKPageGroupAddUserStyleSheet):
  38805. Pass the parameters with as little conversion as possible to the C++ to avoid doing too much
  38806. work in the API layer.
  38807. * UIProcess/WebPageGroup.cpp:
  38808. (WebKit::toStringVector):
  38809. (WebKit::WebPageGroup::addUserStyleSheet):
  38810. (WebKit::WebPageGroup::addUserScript):
  38811. (WebKit::WebPageGroup::removeAllUserStyleSheets):
  38812. (WebKit::WebPageGroup::removeAllUserScripts):
  38813. (WebKit::WebPageGroup::removeAllUserContent):
  38814. * UIProcess/WebPageGroup.h:
  38815. * WebProcess/WebPage/WebPageGroupProxy.cpp:
  38816. (WebKit::WebPageGroupProxy::WebPageGroupProxy):
  38817. (WebKit::WebPageGroupProxy::addUserStyleSheet):
  38818. (WebKit::WebPageGroupProxy::addUserScript):
  38819. (WebKit::WebPageGroupProxy::removeAllUserScripts):
  38820. (WebKit::WebPageGroupProxy::removeAllUserContent):
  38821. * WebProcess/WebPage/WebPageGroupProxy.h:
  38822. (WebPageGroupProxy):
  38823. * WebProcess/WebPage/WebPageGroupProxy.messages.in:
  38824. Add support for user scripts and update to use UserScript and UserStyleSheet directly.
  38825. 2012-10-14 Jon Lee <jonlee@apple.com>
  38826. Allow notification origin permission request when no js callback is provided
  38827. https://bugs.webkit.org/show_bug.cgi?id=63615
  38828. <rdar://problem/11059590>
  38829. Reviewed by Sam Weinig.
  38830. Null checks already exist for both standard and legacy API callbacks, so no changes are needed here
  38831. like there are in WebKit 1. The checks existed because the callbacks are held in a hash map used to keep
  38832. track of pending requests.
  38833. Also, add a check for a null callback when short circuiting.
  38834. * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
  38835. (WebKit::NotificationPermissionRequestManager::startRequest):
  38836. 2012-10-14 Anders Carlsson <andersca@apple.com>
  38837. Move QDataStream functions into HistoryItemQt.cpp
  38838. https://bugs.webkit.org/show_bug.cgi?id=99203
  38839. Reviewed by Andreas Kling.
  38840. Forward declare QTransform.
  38841. * Shared/qt/WebEventFactoryQt.h:
  38842. 2012-10-12 Anders Carlsson <andersca@apple.com>
  38843. Explicitly mark messages variadic
  38844. https://bugs.webkit.org/show_bug.cgi?id=99229
  38845. Reviewed by Dan Bernstein.
  38846. Instead of deciding whether messages are variadic based on their type, decide it based on the existence of a 'Variadic' message attribute.
  38847. * Scripts/webkit2/messages.py:
  38848. (messages_to_kind_enum):
  38849. (decode_type):
  38850. (async_case_statement):
  38851. (sync_case_statement):
  38852. * UIProcess/WebPageProxy.messages.in:
  38853. * WebProcess/WebProcess.messages.in:
  38854. 2012-10-14 Sam Weinig <sam@webkit.org>
  38855. Make UserScript and UserStyleSheet value objects that are copyable
  38856. https://bugs.webkit.org/show_bug.cgi?id=99275
  38857. Reviewed by Tim Horton.
  38858. * Shared/UserContentContainer.cpp:
  38859. (WebKit::toStringVector):
  38860. (WebKit::UserContentContainer::Item::Item):
  38861. (WebKit::UserContentContainer::Item::encode):
  38862. (WebKit::UserContentContainer::Item::decode):
  38863. * Shared/UserContentContainer.h:
  38864. (WebKit::UserContentContainer::Item::whitelist):
  38865. (WebKit::UserContentContainer::Item::blacklist):
  38866. Switch UserContentContainer::Item to store Vector<String> instead of ImmutableArray, easing
  38867. transition to new PageGroup function signatures.
  38868. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  38869. (WebKit::toStringVector):
  38870. * WebProcess/WebPage/qt/WebPageQt.cpp:
  38871. (WebKit::WebPage::setUserScripts):
  38872. Update for new PageGroup function signatures.
  38873. 2012-10-14 Tim Horton <timothy_horton@apple.com>
  38874. [wk2] Implement PDFPlugin
  38875. https://bugs.webkit.org/show_bug.cgi?id=99206
  38876. Unreviewed build fix, hand ivar name to @synthesize since it doesn't match the property name.
  38877. * WebProcess/Plugins/PDF/PDFPlugin.mm:
  38878. 2012-10-14 Tim Horton <timothy_horton@apple.com>
  38879. [wk2] Implement PDFPlugin
  38880. https://bugs.webkit.org/show_bug.cgi?id=99206
  38881. Unreviewed, attempt to manipuate SVN to retain the history of SimplePDFPlugin.
  38882. * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Replaced with Source/WebKit2/WebProcess/Plugins/PDF/BuiltInPDFView.h.
  38883. * WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Replaced with Source/WebKit2/WebProcess/Plugins/PDF/BuiltInPDFView.mm.
  38884. 2012-10-14 Tim Horton <timothy_horton@apple.com>
  38885. [wk2] Implement PDFPlugin
  38886. https://bugs.webkit.org/show_bug.cgi?id=99206
  38887. Reviewed by Dan Bernstein.
  38888. Add PDFPlugin, which uses PDFKit to display PDFs, instead of using PDFKit in the
  38889. UIProcess for full-page PDFs. This new plugin will also be used for inline PDFs
  38890. in place of SimplePDFPlugin (née BuiltInPDFView).
  38891. * Configurations/FeatureDefines.xcconfig: Add ENABLE_PDF_PLUGIN.
  38892. Support three new Plugin methods:
  38893. - handleEditingCommand, which hands editing commands to the Plugin
  38894. - isEditingCommandEnabled, which validates editing commands via the Plugin
  38895. - handlesPageScaleFactor, which asks the plugin whether it wants to
  38896. opt into a mode where the WebPage doesn't scale in the ordinary fashion,
  38897. but instead proxies the Plugin's scale factor, so full-page plugins
  38898. can handle scale factor changes however they need to.
  38899. * PluginProcess/PluginControllerProxy.cpp:
  38900. (WebKit::PluginControllerProxy::handleEditingCommand): Proxy handleEditingCommand to the Plugin.
  38901. (WebKit::PluginControllerProxy::isEditingCommandEnabled): Proxy isEditingCommandEnabled to the Plugin.
  38902. (WebKit::PluginControllerProxy::handlesPageScaleFactor): Proxy handlesPageScaleFactor to the Plugin.
  38903. * PluginProcess/PluginControllerProxy.h:
  38904. (PluginControllerProxy): Add handleEditingCommand, isEditingCommandEnabled, and handlesPageScaleFactor.
  38905. * PluginProcess/PluginControllerProxy.messages.in: Add HandleEditingCommand, IsEditingCommandEnabled, and HandlesPageScaleFactor.
  38906. * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
  38907. (WebKit::NetscapePlugin::handleEditingCommand): NPAPI plugins support no editing commands by default.
  38908. (WebKit::NetscapePlugin::isEditingCommandEnabled): NPAPI plugins enable no editing commands by default.
  38909. (WebKit::NetscapePlugin::handlesPageScaleFactor): NPAPI plugins do not handle page scale factor changes themselves by default.
  38910. * WebProcess/Plugins/Netscape/NetscapePlugin.h: Add handleEditingCommand, isEditingCommandEnabled, and handlesPageScaleFactor.
  38911. Add PDFPluginEnabled preference. If it is not enabled, or the plugin is
  38912. not built, behavior will be the same as before (the UIProcess PDFView will
  38913. handle full-page PDFs, and SimplePDFPlugin will handle inline ones).
  38914. * Shared/WebPreferencesStore.h: Add PDFPluginEnabled preference.
  38915. * UIProcess/API/C/WKPreferences.cpp:
  38916. (WKPreferencesSetPDFPluginEnabled): Setter for PDFPluginEnabled preference.
  38917. (WKPreferencesGetPDFPluginEnabled): Getter for PDFPluginEnabled preference.
  38918. * UIProcess/API/C/WKPreferencesPrivate.h: Expose WKPreferences(Set|Get)PDFPluginEnabled as a private preference.
  38919. Move support for MIME types with custom representations onto WebPage instead of WebProcess.
  38920. This allows us to use preferences to control the use of custom representations (for example,
  38921. it allows us to have a preference to toggle between UIProcess's PDFView and PDFPlugin).
  38922. * Shared/WebProcessCreationParameters.cpp:
  38923. (WebKit::WebProcessCreationParameters::encode): Don't pass mimeTypesWithCustomRepresentation
  38924. into the WebProcess, as we can compute it later.
  38925. (WebKit::WebProcessCreationParameters::decode): Same, on the decode side.
  38926. * Shared/WebProcessCreationParameters.h: Remove mimeTypesWithCustomRepresentation.
  38927. * UIProcess/mac/WebContextMac.mm:
  38928. (WebKit::WebContext::platformInitializeWebProcess): Don't add pdfAndPostScriptMIMETypes to mimeTypesWithCustomRepresentation here, as we're now computing it on WebPage instead.
  38929. * WebProcess/WebPage/WebPage.cpp:
  38930. (WebKit::canPluginHandleResponse): Move to WebPage from WebProcess so we can use WebPage's new notion of mimeTypesWithCustomRepresentation.
  38931. (WebKit::WebPage::shouldUseCustomRepresentationForResponse): Move to WebPage from WebProcess so we can use WebPage's new notion of mimeTypesWithCustomRepresentation.
  38932. * WebProcess/WebPage/mac/WebPageMac.mm:
  38933. (WebKit::WebPage::pdfAndPostScriptMIMETypes): Return the set of MIME types used for PDF and PostScript, which are handled with PDFView if PDFPlugin is not available or enabled.
  38934. * WebProcess/WebProcess.cpp:
  38935. (WebKit::WebProcess::initializeWebProcess): Don't keep m_mimeTypesWithCustomRepresentations on WebProcess, it's owned by WebPage now.
  38936. * WebProcess/WebProcess.h: Move canPluginHandleResponse and shouldUseCustomRepresentationForResponse to WebPage.
  38937. Add PDFLayerController to the set of classes returned by PDFKitImports.
  38938. * Shared/mac/PDFKitImports.h: Add pdfLayerControllerClass.
  38939. * Shared/mac/PDFKitImports.mm:
  38940. (WebKit::pdfLayerControllerClass): Find and return the PDFLayerController class.
  38941. Add PDFPlugin, which inherits from SimplePDFPlugin, but uses PDFKit instead
  38942. of CoreGraphics, to provide additional interactive functionality.
  38943. * UIProcess/WebProcessProxy.cpp:
  38944. (WebKit::WebProcessProxy::sendDidGetPlugins): Add PDFPlugin to the set of supported plugins.
  38945. * WebKit2.xcodeproj/project.pbxproj: Add PDFPlugin, rename BuiltInPDFView to SimplePDFPlugin.
  38946. * WebProcess/Plugins/PDF/PDFPlugin.h: Added.
  38947. * WebProcess/Plugins/PDF/PDFPlugin.mm: Added.
  38948. PDFPlugin uses layers for scrollbars.
  38949. (-[WKPDFPluginScrollbarLayer initWithPDFPlugin:WebKit::]): Initialize our CALayer subclass,
  38950. storing its parent PDFPlugin so it can delegate drawing there.
  38951. (-[WKPDFPluginScrollbarLayer actionForKey:]): Disable CoreAnimation implicit actions.
  38952. (-[WKPDFPluginScrollbarLayer drawInContext:]): Delegate scrollbar drawing to PDFPlugin.
  38953. Implement the PDFLayerController delegate, eventually forwarding calls back to PDFPlugin.
  38954. (-[WKPDFLayerControllerDelegate initWithPDFPlugin:WebKit::]): Initialize our delegate,
  38955. storing its parent PDFPlugin so it can forward delegate calls there.
  38956. (-[WKPDFLayerControllerDelegate updateScrollPosition:]): Update PDFPlugin's notion of the
  38957. current scroll position, when PDFKit changes the scroll position itself.
  38958. (-[WKPDFLayerControllerDelegate writeItemsToPasteboard:withTypes:]): Write the given
  38959. array of NSData objects to the pasteboard with the given types.
  38960. The following PDFLayerController delegate methods will be implemented in the future.
  38961. (-[WKPDFLayerControllerDelegate showDefinitionForAttributedString:atPoint:]):
  38962. (-[WKPDFLayerControllerDelegate performWebSearch:]):
  38963. (-[WKPDFLayerControllerDelegate openWithPreview]):
  38964. (-[WKPDFLayerControllerDelegate saveToPDF]):
  38965. (WebKit::PDFPlugin::PDFPlugin): Set up the requisite layer hierarchy, and create a PDFLayerController (and its delegate proxy).
  38966. (WebKit::PDFPlugin::updateScrollbars): Update the frame of the layers hosting our scrollbars.
  38967. (WebKit::PDFPlugin::createScrollbar): Create a scrollbar and hosting layer, attaching its layer
  38968. to PDFPlugin's container layer.
  38969. (WebKit::PDFPlugin::destroyScrollbar): Destroy a scrollbar, detaching and destroying its hosting layer in the process.
  38970. (WebKit::PDFPlugin::pdfDocumentDidLoad): Called when the document finishes loading; hand
  38971. the loaded document to PDFKit, update all of our state (cached document size, scrollbars, etc.), and then execute any scripts in the document (to allow for automatic printing).
  38972. (WebKit::PDFPlugin::calculateSizes): Determine the size of the PDF and its pages.
  38973. (WebKit::PDFPlugin::destroy): Tear down the layer hierarchy.
  38974. (WebKit::PDFPlugin::paint): PDFPlugin is layer-based, so we paint nothing into the tiles.
  38975. (WebKit::PDFPlugin::paintControlForLayerInContext): Scrollbar controls are drawn into layers, but their painting is delegated here from WKPDFPluginScrollbarLayer.
  38976. (WebKit::PDFPlugin::snapshot): Perform a paint into a bitmap context.
  38977. (WebKit::PDFPlugin::pluginLayer): Return PDFPlugin's root layer.
  38978. (WebKit::PDFPlugin::geometryDidChange): The size or scale of the plugin changed; update
  38979. PDFLayerController's notion of the size and page scale, and invalidate the scrollbars.
  38980. Mouse and keyboard events are converted back into NSEvents, but with
  38981. locationInWindow actually in terms of the PDFPlugin's layer, not
  38982. the window (since there is no window).
  38983. (WebKit::modifierFlagsFromWebEvent): Construct an AppKit-style modifier bitmask from WebEvent's modifier key getters.
  38984. (WebKit::eventTypeFromWebEvent): Return the NSEventType equivalent to the given WebEvent. Only supports keyboard and mouse events, and only the left and right mouse button.
  38985. (WebKit::PDFPlugin::handleMouseEvent): Construct an NSEvent from the given WebMouseEvent and hand it to PDFLayerController. Mouse coordinates are in terms of m_contentLayer's origin.
  38986. (WebKit::PDFPlugin::handleKeyboardEvent): Construct an NSEvent from the given WebKeyboardEvent and hand it to PDFLayerController. PDFLayerController currently only handles keyDown events.
  38987. (WebKit::PDFPlugin::handleEditingCommand): Handle copy and select-all commands, and forward them to PDFLayerController.
  38988. (WebKit::PDFPlugin::isEditingCommandEnabled): The 'copy' command should be enabled if
  38989. the user has selected a part of the PDF. The 'select all' command should always be enabled.
  38990. (WebKit::PDFPlugin::setScrollOffset): Update both PDFPlugin and PDFLayerController's notion
  38991. of the current scroll position.
  38992. (WebKit::PDFPlugin::invalidateScrollbarRect): Invalidate the whole scrollbar layer.
  38993. (WebKit::PDFPlugin::invalidateScrollCornerRect): Invalidate the whole scroll corner layer.
  38994. Rename BuiltInPDFView to SimplePDFPlugin, to differentiate it from PDFPlugin
  38995. and to better denote its inheritance from Plugin.
  38996. * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Renamed from WebProcess/Plugins/PDF/BuiltInPDFView.h.
  38997. (WebKit::SimplePDFPlugin): Make methods protected so PDFPlugin can override them. Rename m_pluginSize -> m_size, and m_dataBuffer->m_data.
  38998. (WebKit::SimplePDFPlugin::size): Retrieve the size of the plugin.
  38999. (WebKit::SimplePDFPlugin::setSize): Set the size of the plugin.
  39000. (WebKit::SimplePDFPlugin::pdfDocument): Retrieve the currently represented PDF document.
  39001. (WebKit::SimplePDFPlugin::setPDFDocument): Set the currently represented PDF document.
  39002. (WebKit::SimplePDFPlugin::pdfDocumentSize): Retrieve the current size of the PDF.
  39003. (WebKit::SimplePDFPlugin::setPDFDocumentSize): Set the current size of the PDF.
  39004. (WebKit::SimplePDFPlugin::data): Retrieve the accumulated document data.
  39005. * WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Renamed from WebProcess/Plugins/PDF/BuiltInPDFView.mm.
  39006. (WebKit::SimplePDFPlugin::computePageBoxes): Copied out of calculateSizes() so PDFPlugin can use it too.
  39007. (WebKit::SimplePDFPlugin::runScriptsInPDFDocument): Factored out of pdfDocumentDidLoad() so PDFPlugin can use it too.
  39008. (WebKit::SimplePDFPlugin::convertFromScrollbarToContainingView): Implement the remaining scrollbar point conversion functions.
  39009. (WebKit::SimplePDFPlugin::convertFromContainingViewToScrollbar): Implement the remaining scrollbar point conversion functions.
  39010. * WebProcess/Plugins/Plugin.h:
  39011. (Plugin): Add handleEditingCommand, isEditingCommandEnabled, and handlesPageScaleFactor.
  39012. * WebProcess/Plugins/PluginProxy.cpp:
  39013. (WebKit::PluginProxy::handleEditingCommand): Proxy handleEditingCommand to the PluginProcess.
  39014. (WebKit::PluginProxy::isEditingCommandEnabled): Proxy isEditingCommandEnabled
  39015. to the PluginProcess.
  39016. (WebKit::PluginProxy::handlesPageScaleFactor): Proxy handlesPageScaleFactor
  39017. to the PluginProcess.
  39018. * WebProcess/Plugins/PluginProxy.h: Add handleEditingCommand, isEditingCommandEnabled,
  39019. and handlesPageScaleFactor.
  39020. * WebProcess/Plugins/PluginView.cpp:
  39021. (WebKit::PluginView::setPageScaleFactor): Set the plugin's current page scale factor. Also,
  39022. update WebPageProxy's notion of the current pageScaleFactor when this is called.
  39023. (WebKit::PluginView::pageScaleFactor): Return the plugin's current page scale factor.
  39024. (WebKit::PluginView::handleEditingCommand): Proxy handleEditingCommand to the plugin.
  39025. (WebKit::PluginView::isEditingCommandEnabled): Proxy isEditingCommandEnabled to the plugin.
  39026. * WebProcess/Plugins/PluginView.h:
  39027. (PluginView): Add handleEditingCommand, isEditingCommandEnabled,
  39028. setPageScaleFactor/pageScaleFactor, and handlesPageScaleFactor. Add m_pageScaleFactor.
  39029. (WebKit::PluginView::handlesPageScaleFactor): Proxy handlesPageScaleFactor to the plugin.
  39030. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  39031. (WebKit::WebFrameLoaderClient::restoreViewState): Don't update WebPageProxy's notion of the scale factor if it should be the default.
  39032. (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame): Make use of shouldUseCustomRepresentationForResponse on WebPage instead of WebProcess.
  39033. (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Make use of shouldUseCustomRepresentationForResponse on WebPage instead of WebProcess.
  39034. * WebProcess/WebPage/WebPage.cpp:
  39035. (WebKit::WebPage::createPlugin): Create a PDFPlugin if appropriate (if it is built and the setting is enabled).
  39036. (WebKit::pluginViewForFrame): Return the PluginView for the given frame if its document is a PluginDocument.
  39037. (WebKit::WebPage::executeEditingCommand): Attempt to execute editing commands on the
  39038. currently focused (or main-frame) plugin.
  39039. (WebKit::WebPage::isEditingCommandEnabled): Validate editing commands against the
  39040. currently focused (or main-frame) plugin.
  39041. (WebKit::WebPage::scalePage): If the plugin reports that it handles page scale factor
  39042. itself, hand it the new scale instead of WebCore.
  39043. (WebKit::WebPage::pageScaleFactor): If the plugin reports that it handles page scale
  39044. factor itself, return its notion of the current scale instead of WebCore's.
  39045. (WebKit::WebPage::validateCommand): Validate editing commands against the
  39046. currently focused (or main-frame) plugin.
  39047. (WebKit::WebPage::updatePreferences): Update m_pdfPluginEnabled given the relevant WebPreference.
  39048. * WebProcess/WebPage/WebPage.h:
  39049. (WebKit::WebPage::pdfPluginEnabled): Return whether or not PDFPlugin should be used.
  39050. (WebKit::WebPage::setPDFPluginEnabled): Set whether or not PDFPlugin should be used.
  39051. 2012-10-13 Sam Weinig <sam@webkit.org>
  39052. Use class extension rather than a void* member for new Objective-C WebProcessPlugIn SPI
  39053. https://bugs.webkit.org/show_bug.cgi?id=99256
  39054. Reviewed by Dan Bernstein.
  39055. A bit of good old fashion cleanup.
  39056. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
  39057. Remove the void* member.
  39058. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
  39059. Move members from the WKWebProcessPlugInControllerData struct to a class extension.
  39060. (didCreatePage):
  39061. (willDestroyPage):
  39062. (-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundleRef:]):
  39063. Directly access the members instead of using properties, now that it is not inconvenient.
  39064. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
  39065. Remove the void* member.
  39066. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
  39067. Move members from the WKWebProcessPlugInBrowserContextControllerData struct to a class extension.
  39068. (-[WKWebProcessPlugInBrowserContextController _initWithBundlePageRef:]):
  39069. (-[WKWebProcessPlugInBrowserContextController _bundlePageRef]):
  39070. Remove unnecessary casts..
  39071. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
  39072. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
  39073. Add space before the parenthesis of a category to be consistent.
  39074. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
  39075. Remove unnecessary forward declare.
  39076. 2012-10-13 Andy Estes <aestes@apple.com>
  39077. Add a private header for WKWebProcessPlugInBrowserContextController that defines a property for getting the WKBundlePageRef
  39078. https://bugs.webkit.org/show_bug.cgi?id=99252
  39079. Reviewed by Sam Weinig.
  39080. * WebKit2.xcodeproj/project.pbxproj:
  39081. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
  39082. (-[WKWebProcessPlugInBrowserContextController _bundlePageRef]):
  39083. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h: Added.
  39084. 2012-10-12 Brady Eidson <beidson@apple.com>
  39085. Setup basic NetworkProcess messaging and initialization.
  39086. https://bugs.webkit.org/show_bug.cgi?id=99198
  39087. Reviewed by Sam Weinig.
  39088. Project file/build system stuff:
  39089. * DerivedSources.make:
  39090. * WebKit2.xcodeproj/project.pbxproj:
  39091. * Scripts/webkit2/messages.py:
  39092. (struct_or_class):
  39093. Add basic initialization parameters for the NetworkProcess:
  39094. * Shared/Network/NetworkProcessCreationParameters.cpp:
  39095. (WebKit):
  39096. (WebKit::NetworkProcessCreationParameters::NetworkProcessCreationParameters):
  39097. (WebKit::NetworkProcessCreationParameters::encode):
  39098. (WebKit::NetworkProcessCreationParameters::decode):
  39099. * Shared/Network/NetworkProcessCreationParameters.h:
  39100. (CoreIPC):
  39101. (WebKit):
  39102. (NetworkProcessCreationParameters):
  39103. Use them to message the NetworkProcess what it's application name should be:
  39104. * UIProcess/Network/NetworkProcessProxy.cpp:
  39105. (WebKit::NetworkProcessProxy::didFinishLaunching):
  39106. * UIProcess/Network/NetworkProcessProxy.h:
  39107. (WebKit):
  39108. (NetworkProcessProxy):
  39109. * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
  39110. (WebKit):
  39111. (WebKit::NetworkProcessProxy::platformInitializeNetworkProcess):
  39112. Add basic message handling and initialization to the NetworkProcess itself:
  39113. * NetworkProcess/NetworkProcess.messages.in: Added.
  39114. * Platform/CoreIPC/MessageID.h:
  39115. * NetworkProcess/NetworkProcess.cpp:
  39116. (WebKit::NetworkProcess::didReceiveMessage):
  39117. (WebKit::NetworkProcess::initializeNetworkProcess):
  39118. (WebKit):
  39119. * NetworkProcess/NetworkProcess.h:
  39120. (WebKit):
  39121. (NetworkProcess):
  39122. Set a reasonable application name to be revealed in UI:
  39123. * NetworkProcess/mac/NetworkProcessMac.mm:
  39124. (WebKit):
  39125. (WebKit::NetworkProcess::platformInitialize):
  39126. 2012-10-12 Ada Chan <adachan@apple.com>
  39127. Add WKPage API to get whether the main frame is pinned to the top or bottom edge
  39128. https://bugs.webkit.org/show_bug.cgi?id=99110
  39129. Reviewed by Beth Dakin.
  39130. This is very similar to r79025 where we add support to do this for the left and right sides.
  39131. * UIProcess/API/C/WKPage.cpp:
  39132. (WKPageIsPinnedToTopSide):
  39133. (WKPageIsPinnedToBottomSide):
  39134. * UIProcess/API/C/WKPage.h:
  39135. Add new API calls.
  39136. * UIProcess/WebPageProxy.cpp:
  39137. (WebKit::WebPageProxy::WebPageProxy):
  39138. (WebKit::WebPageProxy::close):
  39139. (WebKit::WebPageProxy::didCommitLoadForFrame):
  39140. (WebKit::WebPageProxy::processDidCrash):
  39141. (WebKit::WebPageProxy::didChangeScrollOffsetPinningForMainFrame):
  39142. * UIProcess/WebPageProxy.h:
  39143. (WebKit::WebPageProxy::isPinnedToTopSide):
  39144. (WebKit::WebPageProxy::isPinnedToBottomSide):
  39145. Declare new data members for keeping track of the pinned states for
  39146. top and bottom sides. Initialize, reset, and update these states
  39147. at appropriate times. Implement getters for these states.
  39148. * UIProcess/WebPageProxy.messages.in:
  39149. Change the DidChangeScrollOffsetPinningForMainFrame message to take
  39150. the pinned states for top and bottom sides.
  39151. * WebProcess/WebPage/WebPage.cpp:
  39152. (WebKit::WebPage::WebPage):
  39153. (WebKit::WebPage::didChangeScrollOffsetForMainFrame):
  39154. * WebProcess/WebPage/WebPage.h:
  39155. Cache the pinned states for top and bottom sides. Only notify the
  39156. UI process if the states have changed.
  39157. 2012-10-12 Anders Carlsson <andersca@apple.com>
  39158. Stop using deprecatedSend inside ConnectionMac.cpp
  39159. https://bugs.webkit.org/show_bug.cgi?id=99192
  39160. Reviewed by Andreas Kling.
  39161. The messages that we send are so simple that we can just use sendMessage.
  39162. * Platform/CoreIPC/mac/ConnectionMac.cpp:
  39163. (CoreIPC::Connection::open):
  39164. 2012-10-12 Brady Eidson <beidson@apple.com>
  39165. Add a basic NetworkProcess.app to the WebKit2 build
  39166. https://bugs.webkit.org/show_bug.cgi?id=98543
  39167. Reviewed by Sam Weinig.
  39168. This change sets up the Mac build to include a NetworkProcess.app.
  39169. It also launches this app when the first WebProcess is created.
  39170. It then quits this app when the UIProcess terminates.
  39171. The app, it does nothing.
  39172. -McBain
  39173. Pure project file/build system stuff:
  39174. * Configurations/NetworkProcess.xcconfig: Added.
  39175. * WebKit2.xcodeproj/project.pbxproj:
  39176. * WebKit2Prefix.h:
  39177. Basic UIProcess side of things:
  39178. * UIProcess/Network/NetworkProcessProxy.cpp: Added.
  39179. (WebKit):
  39180. (WebKit::NetworkProcessProxy::create):
  39181. (WebKit::NetworkProcessProxy::NetworkProcessProxy):
  39182. (WebKit::NetworkProcessProxy::~NetworkProcessProxy):
  39183. (WebKit::NetworkProcessProxy::didReceiveMessage):
  39184. (WebKit::NetworkProcessProxy::didClose):
  39185. (WebKit::NetworkProcessProxy::didReceiveInvalidMessage):
  39186. (WebKit::NetworkProcessProxy::syncMessageSendTimedOut):
  39187. (WebKit::NetworkProcessProxy::didFinishLaunching):
  39188. * UIProcess/Network/NetworkProcessProxy.h: Added.
  39189. (WebKit):
  39190. (NetworkProcessProxy):
  39191. Basic NetworkProcess side of things:
  39192. * NetworkProcess/Info.plist: Added.
  39193. * NetworkProcess/NetworkProcess.cpp: Added.
  39194. (WebKit):
  39195. (WebKit::NetworkProcess::shared):
  39196. (WebKit::NetworkProcess::NetworkProcess):
  39197. (WebKit::NetworkProcess::~NetworkProcess):
  39198. (WebKit::NetworkProcess::initialize):
  39199. (WebKit::NetworkProcess::shouldTerminate):
  39200. (WebKit::NetworkProcess::didReceiveMessage):
  39201. (WebKit::NetworkProcess::didClose):
  39202. (WebKit::NetworkProcess::didReceiveInvalidMessage):
  39203. (WebKit::NetworkProcess::syncMessageSendTimedOut):
  39204. * NetworkProcess/NetworkProcess.h: Added.
  39205. (WebCore):
  39206. (WebKit):
  39207. (NetworkProcess):
  39208. Add the main method for the NetworkProcess itself:
  39209. * WebProcess/WebKitMain.cpp:
  39210. (WebKitMain):
  39211. * NetworkProcess/NetworkProcessMain.h: Added.
  39212. (WebKit):
  39213. * NetworkProcess/mac/NetworkProcessMainMac.mm: Added.
  39214. (WebKit):
  39215. (WebKit::NetworkProcessMain):
  39216. Teach ProcessLauncher about the new app type:
  39217. * UIProcess/Launcher/ProcessLauncher.cpp:
  39218. (WebKit::ProcessLauncher::processTypeAsString):
  39219. (WebKit::ProcessLauncher::getProcessTypeFromString):
  39220. * UIProcess/Launcher/ProcessLauncher.h:
  39221. * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  39222. (WebKit::createProcess):
  39223. Launch the NetworkProcess when we launch the first WebProcess:
  39224. * UIProcess/WebContext.cpp:
  39225. (WebKit::WebContext::ensureNetworkProcess):
  39226. * UIProcess/WebContext.h:
  39227. (WebContext):
  39228. 2012-10-12 Sheriff Bot <webkit.review.bot@gmail.com>
  39229. Unreviewed, rolling out r131189.
  39230. http://trac.webkit.org/changeset/131189
  39231. https://bugs.webkit.org/show_bug.cgi?id=99187
  39232. Made inspector http tests crash on WK2. (Requested by rakuco
  39233. on #webkit).
  39234. * PlatformEfl.cmake:
  39235. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  39236. (WebKit::WebInspectorProxy::inspectorPageURL):
  39237. (WebKit::WebInspectorProxy::inspectorBaseURL):
  39238. 2012-10-12 Ryuan Choi <ryuan.choi@samsung.com>
  39239. [EFL] Share resources installed for inspector
  39240. https://bugs.webkit.org/show_bug.cgi?id=98991
  39241. Reviewed by Gyuyoung Kim.
  39242. * PlatformEfl.cmake: Removed build script which install resources to share.
  39243. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  39244. (WebKit::WebInspectorProxy::inspectorPageURL): Modified not to use makeString.
  39245. (WebKit::WebInspectorProxy::inspectorBaseURL): Changed resource path.
  39246. 2012-10-12 Sheriff Bot <webkit.review.bot@gmail.com>
  39247. Unreviewed, rolling out r131160.
  39248. http://trac.webkit.org/changeset/131160
  39249. https://bugs.webkit.org/show_bug.cgi?id=99163
  39250. "It should not be landed without it's follow-up because it
  39251. break pixal and ref tests without it." (Requested by kbalazs
  39252. on #webkit).
  39253. * Shared/API/c/qt/WKImageQt.cpp:
  39254. (WKImageCreateQImage):
  39255. * Shared/API/c/qt/WKImageQt.h:
  39256. 2012-10-12 Balazs Kelemen <kbalazs@webkit.org>
  39257. [WK2] Serialization of Resource[Request,Response,Error] should be shared across ports
  39258. https://bugs.webkit.org/show_bug.cgi?id=90142
  39259. Unreviewed buildfix 2.
  39260. * Shared/soup/WebCoreArgumentCodersSoup.cpp:
  39261. (CoreIPC::::encodePlatformData):
  39262. (CoreIPC::::decodePlatformData):
  39263. 2012-10-12 Balazs Kelemen <kbalazs@webkit.org>
  39264. [WK2] Serialization of Resource[Request,Response,Error] should be shared across ports
  39265. https://bugs.webkit.org/show_bug.cgi?id=90142
  39266. Unreviewed buildfix.
  39267. * Shared/WebCoreArgumentCoders.cpp:
  39268. (CoreIPC::::decode):
  39269. 2012-10-12 Balazs Kelemen <kbalazs@webkit.org>
  39270. [WK2] Serialization of Resource[Request,Response,Error] should be shared across ports
  39271. https://bugs.webkit.org/show_bug.cgi?id=90142
  39272. Reviewed by Simon Hausmann.
  39273. Share common serialization code across Qt and soup ports.
  39274. All of these ports serialize the WebCore representation
  39275. of these types.
  39276. * Shared/WebCoreArgumentCoders.cpp:
  39277. (CoreIPC::::encode):
  39278. (CoreIPC):
  39279. (CoreIPC::::decode):
  39280. * Shared/WebCoreArgumentCoders.h:
  39281. * Shared/mac/WebCoreArgumentCodersMac.mm:
  39282. (CoreIPC::::encodePlatformData):
  39283. (CoreIPC::::decodePlatformData):
  39284. * Shared/qt/WebCoreArgumentCodersQt.cpp:
  39285. (CoreIPC::::encodePlatformData):
  39286. (CoreIPC::::decodePlatformData):
  39287. * Shared/soup/WebCoreArgumentCodersSoup.cpp:
  39288. (CoreIPC::::encodePlatformData):
  39289. (CoreIPC::::decodePlatformData):
  39290. * Shared/win/WebCoreArgumentCodersWin.cpp:
  39291. (CoreIPC::::encodePlatformData):
  39292. (CoreIPC::::decodePlatformData):
  39293. 2012-10-12 Balazs Kelemen <kbalazs@webkit.org>
  39294. Unreviewed, rolling out r130389.
  39295. http://trac.webkit.org/changeset/130389
  39296. https://bugs.webkit.org/show_bug.cgi?id=98048
  39297. It broke chromium
  39298. * win/WebKit2.def:
  39299. * win/WebKit2CFLite.def:
  39300. 2012-10-12 Balazs Kelemen <kbalazs@webkit.org>
  39301. [Qt][WTR] Do a forced repaint before generating pixel results
  39302. https://bugs.webkit.org/show_bug.cgi?id=98654
  39303. Reviewed by Jocelyn Turcotte.
  39304. Added API to convert a QImage to a WKImage so we can
  39305. pass it to cross-platform code.
  39306. * Shared/API/c/qt/WKImageQt.cpp:
  39307. (WKImageCreateFromQImage):
  39308. * Shared/API/c/qt/WKImageQt.h:
  39309. 2012-10-12 Sheriff Bot <webkit.review.bot@gmail.com>
  39310. Unreviewed, rolling out r131121.
  39311. http://trac.webkit.org/changeset/131121
  39312. https://bugs.webkit.org/show_bug.cgi?id=99144
  39313. It made all tests timeout on all WK2 platform (Requested by
  39314. ossy on #webkit).
  39315. * UIProcess/WebProcessProxy.cpp:
  39316. * UIProcess/WebProcessProxy.h:
  39317. (WebProcessProxy):
  39318. * UIProcess/WebProcessProxy.messages.in:
  39319. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  39320. (WebKit::InjectedBundle::postMessage):
  39321. (WebKit::InjectedBundle::postSynchronousMessage):
  39322. 2012-10-11 Andy Estes <aestes@apple.com>
  39323. Add some basic methods and properties to the injected bundle Objective-C DOM API
  39324. https://bugs.webkit.org/show_bug.cgi?id=99137
  39325. Reviewed by Sam Weinig.
  39326. Add methods and properties that allow for tree traversal, node creation/insertion,
  39327. attribute modification, text node retrieval, and range creation.
  39328. * WebKit2.xcodeproj/project.pbxproj:
  39329. * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
  39330. * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
  39331. (toDocument):
  39332. (-[WKDOMDocument createElement:]):
  39333. (-[WKDOMDocument createTextNode:]):
  39334. (-[WKDOMDocument body]):
  39335. * WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
  39336. * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
  39337. (-[WKDOMElement hasAttribute:]):
  39338. (-[WKDOMElement getAttribute:]):
  39339. (-[WKDOMElement setAttribute:value:]):
  39340. (-[WKDOMElement tagName]):
  39341. * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
  39342. * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
  39343. (WebKit::WKDOMNodeClass):
  39344. (WebKit::toWebCoreText):
  39345. (WebKit::toWKDOMText):
  39346. (WebKit::toWebCoreRange):
  39347. * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
  39348. * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
  39349. (-[WKDOMNode insertNode:before:]):
  39350. (-[WKDOMNode appendChild:]):
  39351. (-[WKDOMNode parentNode]):
  39352. (-[WKDOMNode firstChild]):
  39353. (-[WKDOMNode nextSibling]):
  39354. * WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
  39355. * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
  39356. (-[WKDOMRange setStart:offset:]):
  39357. (-[WKDOMRange setEnd:offset:]):
  39358. (-[WKDOMRange collapse:]):
  39359. (-[WKDOMRange selectNode:]):
  39360. (-[WKDOMRange selectNodeContents:]):
  39361. (-[WKDOMRange isCollapsed]):
  39362. * WebProcess/InjectedBundle/API/mac/WKDOMText.h: Added.
  39363. * WebProcess/InjectedBundle/API/mac/WKDOMText.mm: Added.
  39364. (-[WKDOMText data]):
  39365. 2012-10-11 Brady Eidson <beidson@apple.com>
  39366. Add a WKContext call to enable the NetworkProcess.
  39367. https://bugs.webkit.org/show_bug.cgi?id=99140
  39368. Reviewed by Sam Weinig.
  39369. Add the SPI:
  39370. * UIProcess/API/C/WKContext.cpp:
  39371. (WKContextSetUsesNetworkProcess):
  39372. * UIProcess/API/C/WKContextPrivate.h:
  39373. Add a member for the flag and the first call site that will be interested in the flag's value:
  39374. * UIProcess/WebContext.cpp:
  39375. (WebKit::WebContext::WebContext):
  39376. (WebKit::WebContext::setUsesNetworkProcess):
  39377. (WebKit):
  39378. (WebKit::WebContext::createNewWebProcess):
  39379. (WebKit::WebContext::ensureNetworkProcess):
  39380. * UIProcess/WebContext.h:
  39381. (WebContext):
  39382. 2012-10-11 Andy Estes <aestes@apple.com>
  39383. Fix the 32-bit Mac build after r131138.
  39384. * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
  39385. (WebKit::InjectedBundle::load):
  39386. 2012-10-11 Anders Carlsson <andersca@apple.com>
  39387. Stop using Connection::deprecatedSend in WebConnection
  39388. https://bugs.webkit.org/show_bug.cgi?id=99130
  39389. Reviewed by Sam Weinig.
  39390. Instead of using deprecatedSend, just encode the data using a separate ArgumentEncoder and pass it along as a DataReference.
  39391. * DerivedSources.make:
  39392. * DerivedSources.pri:
  39393. * GNUmakefile.list.am:
  39394. Add new files.
  39395. * Platform/CoreIPC/MessageID.h:
  39396. Add WebConnectionMessageClass.
  39397. * Shared/WebConnection.cpp:
  39398. (WebKit::WebConnection::WebConnection):
  39399. Make WebConnection hold on to the CoreIPC::Connection.
  39400. (WebKit::WebConnection::postMessage):
  39401. Ask the subclasses to encode the body data, then send it.
  39402. (WebKit::WebConnection::handleMessage):
  39403. Ask the subclasses to decode the body data, then call didReceiveClient.
  39404. (WebKit::WebConnection::invalidate):
  39405. Null out m_connection.
  39406. * Shared/WebConnection.h:
  39407. (WebKit::WebConnection::connection):
  39408. * Shared/WebConnection.messages.in: Added.
  39409. * UIProcess/WebConnectionToWebProcess.cpp:
  39410. (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
  39411. Pass the connection to the WebConnection initializer.
  39412. (WebKit::WebConnectionToWebProcess::encodeMessageBody):
  39413. (WebKit::WebConnectionToWebProcess::decodeMessageBody):
  39414. Encode and decode the message body.
  39415. (WebKit::WebConnectionToWebProcess::didReceiveMessage):
  39416. Handle WebConnection messages.
  39417. * WebKit2.xcodeproj/project.pbxproj:
  39418. Add new files.
  39419. * WebProcess/WebConnectionToUIProcess.cpp:
  39420. (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
  39421. Pass the connection to the WebConnection initializer.
  39422. (WebKit::WebConnectionToUIProcess::encodeMessageBody):
  39423. (WebKit::WebConnectionToUIProcess::decodeMessageBody):
  39424. Encode and decode the message body.
  39425. (WebKit::WebConnectionToUIProcess::didReceiveMessage):
  39426. Handle WebConnection messages.
  39427. * win/WebKit2.vcproj:
  39428. Add new files.
  39429. 2012-10-11 Andy Estes <aestes@apple.com>
  39430. Expose the main frame's document to injected bundles via the Objective-C API
  39431. https://bugs.webkit.org/show_bug.cgi?id=99133
  39432. Patch by Sam Weinig.
  39433. Reviewed by Anders Carlsson.
  39434. Allow a bundle to declare a principle class which will be instantiated
  39435. by WebKit2 and passed an object to which WKBundleClient calls are
  39436. forwarded and which can access the main frame's WKDOMDocument.
  39437. * WebKit2.xcodeproj/project.pbxproj:
  39438. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
  39439. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: Instantiate
  39440. the bundle's principle class forward WKBundleClient calls to it.
  39441. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
  39442. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
  39443. Add a property called mainFrameDocument which returns a WKDOMDocument.
  39444. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
  39445. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
  39446. * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
  39447. (WebKit::InjectedBundle::load): Initialize the shared
  39448. WKWebProcessPlugInController with the bundle's principle class.
  39449. 2012-10-11 Sam Weinig <sam@webkit.org>
  39450. Add a helper function for initializing WebKit2 DOM objects
  39451. https://bugs.webkit.org/show_bug.cgi?id=99128
  39452. Reviewed by Anders Carlsson.
  39453. * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
  39454. (WebKit::WKDOMNodeClass):
  39455. (WebKit::initWithImpl):
  39456. (WebKit::toWKDOMNode):
  39457. (WebKit::toWKDOMRange):
  39458. (WebKit::toWKDOMType):
  39459. Add toWKDOMType which implements the core object initialization and caching.
  39460. 2012-10-11 Seokju Kwon <seokju.kwon@samsung.com>
  39461. [EFL][WK2] Add support for Inspector
  39462. https://bugs.webkit.org/show_bug.cgi?id=98639
  39463. Reviewed by Kenneth Rohde Christiansen.
  39464. Support inspector on WebKit2/Efl and add APIs to show and close the inspector.
  39465. * UIProcess/API/efl/ewk_view.cpp:
  39466. (ewk_view_inspector_show):
  39467. (ewk_view_inspector_close):
  39468. * UIProcess/API/efl/ewk_view.h:
  39469. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  39470. (TEST_F):
  39471. * UIProcess/WebInspectorProxy.h:
  39472. (WebInspectorProxy):
  39473. * UIProcess/efl/WebInspectorProxyEfl.cpp:
  39474. (WebKit::resizeInspectorWindow):
  39475. (WebKit):
  39476. (WebKit::destroyInspectorWindow):
  39477. (WebKit::closeInspectorWindow):
  39478. (WebKit::WebInspectorProxy::createInspectorWindow):
  39479. (WebKit::WebInspectorProxy::platformCreateInspectorPage):
  39480. (WebKit::WebInspectorProxy::platformOpen):
  39481. 2012-10-11 Anders Carlsson <andersca@apple.com>
  39482. Stop using deprecatedSend and deprecatedSendSync for sending messages to the UI process
  39483. https://bugs.webkit.org/show_bug.cgi?id=99125
  39484. Reviewed by Andreas Kling.
  39485. Instead of using deprecatedSend, just encode the data using a separate ArgumentEncoder and pass it along as a DataReference.
  39486. * UIProcess/WebContext.h:
  39487. * UIProcess/WebProcessProxy.cpp:
  39488. (WebKit::WebProcessProxy::postMessage):
  39489. (WebKit):
  39490. (WebKit::WebProcessProxy::postSynchronousMessage):
  39491. * UIProcess/WebProcessProxy.h:
  39492. (WebProcessProxy):
  39493. * UIProcess/WebProcessProxy.messages.in:
  39494. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  39495. (WebKit::InjectedBundle::postMessage):
  39496. (WebKit::InjectedBundle::postSynchronousMessage):
  39497. 2012-10-11 Anders Carlsson <andersca@apple.com>
  39498. Stop using deprecatedSend for WebContext::postMessageToInjectedBundle
  39499. https://bugs.webkit.org/show_bug.cgi?id=99123
  39500. Reviewed by Andreas Kling.
  39501. Instead of using deprecatedSend, just encode the data using a separate ArgumentEncoder and pass it along as a DataReference.
  39502. * Platform/CoreIPC/MessageID.h:
  39503. Remove MessageClassInjectedBundle.
  39504. * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h: Removed.
  39505. * UIProcess/WebContext.cpp:
  39506. (WebKit::WebContext::createNewWebProcess):
  39507. Stop using deprecatedSend.
  39508. (WebKit::WebContext::postMessageToInjectedBundle):
  39509. Stop using deprecatedSend. Remove now invalid FIXMEs.
  39510. * UIProcess/WebPageProxy.cpp:
  39511. Remove include.
  39512. * WebKit2.xcodeproj/project.pbxproj:
  39513. Remove InjectedBundleMessageKinds.h.
  39514. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  39515. * WebProcess/InjectedBundle/InjectedBundle.h:
  39516. The injected bundle is no longer in charge of receiving IPC messages.
  39517. * WebProcess/WebProcess.cpp:
  39518. (WebKit::WebProcess::didReceiveMessage):
  39519. Stop passing messages to the injected bundle.
  39520. (WebKit::WebProcess::postInjectedBundleMessage):
  39521. Decode the message and pass it to the injected bundle.
  39522. * WebProcess/WebProcess.messages.in:
  39523. Add PostInjectedBundleMessage.
  39524. 2012-10-11 Anders Carlsson <andersca@apple.com>
  39525. Stop using deprecatedSend for WebPageProxy::postMessageToInjectedBundle
  39526. https://bugs.webkit.org/show_bug.cgi?id=99120
  39527. Reviewed by Andreas Kling.
  39528. Instead of using deprecatedSend, just encode the data using a separate ArgumentEncoder and pass it along as a DataReference.
  39529. * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h:
  39530. Remove PostMessageToPage.
  39531. * UIProcess/WebPageProxy.cpp:
  39532. (WebKit::WebPageProxy::postMessageToInjectedBundle):
  39533. Stop using deprecatedSend.
  39534. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  39535. (WebKit::InjectedBundle::didReceiveMessage):
  39536. Remove code to handle PostMessageToPage.
  39537. * WebProcess/WebPage/WebPage.cpp:
  39538. (WebKit::WebPage::postInjectedBundleMessage):
  39539. Decode the APIObject and send it along to the injected bundle.
  39540. * WebProcess/WebPage/WebPage.messages.in:
  39541. Add PostInjectedBundleMessage message.
  39542. 2012-10-11 Regina Chung <heejin.r.chung@samsung.com>
  39543. [EFL][WK2] WebProcess keeps on waiting for UIProcess
  39544. https://bugs.webkit.org/show_bug.cgi?id=97646
  39545. Reviewed by Kenneth Rohde Christiansen.
  39546. Set LayerTreeRenderer to active so UIProcess can send RenderNextFrame message to WebProcess
  39547. after accelerated compositing(AC) mode is entered, so WebProcess can start flushing changes to UIProcess.
  39548. * UIProcess/API/efl/EflViewportHandler.cpp: Added API for setting LayerTreeRenderer's active state.
  39549. (WebKit::EflViewportHandler::setActive):
  39550. (WebKit):
  39551. * UIProcess/API/efl/EflViewportHandler.h:
  39552. (EflViewportHandler):
  39553. * UIProcess/API/efl/ewk_view.cpp: Sets LayerTreeRenderer's active status to true after entering AC mode.
  39554. (ewk_view_accelerated_compositing_mode_enter):
  39555. 2012-10-10 Brady Eidson <beidson@apple.com>
  39556. Switch ResourceLoader::resourceData() from SharedBuffer to ResourceBuffer
  39557. https://bugs.webkit.org/show_bug.cgi?id=98976
  39558. Reviewed by Anders Carlsson.
  39559. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  39560. (WebKit::WebFrameLoaderClient::finishedLoading):
  39561. * WebProcess/WebPage/WebFrame.cpp:
  39562. (WebKit::WebFrame::source):
  39563. * WebProcess/WebPage/WebPage.cpp:
  39564. (WebKit::WebPage::getMainResourceDataOfFrame):
  39565. 2012-10-11 Sam Weinig <sam@webkit.org>
  39566. Add missing WK_EXPORT for WKDOMTextIterator.
  39567. Rubber-stamped by Brady Eidson.
  39568. * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
  39569. 2012-10-11 Zeno Albisser <zeno@webkit.org>
  39570. [Qt] Implement GraphicsSurfaceToken to replace uint64_t as token type.
  39571. https://bugs.webkit.org/show_bug.cgi?id=98501
  39572. Replace the token type for GraphicsSurface with a new class GraphicsSurfaceToken.
  39573. This is necessary in order to implement GraphicsSurface for Windows.
  39574. Depending on the platform a GraphicsSurfaceToken might contain a
  39575. WindowID (Linux/GLX), two IOSurfaceIDs (Mac) or in the future two HANDLEs (Windows).
  39576. The simple uint64_t is not sufficient anymore, since a single HANDLE in windows
  39577. can be 64bit already.
  39578. Reviewed by Noam Rosenthal.
  39579. * Shared/ShareableSurface.cpp:
  39580. (WebKit::ShareableSurface::Handle::encode):
  39581. (WebKit::ShareableSurface::Handle::decode):
  39582. (WebKit::ShareableSurface::create):
  39583. (WebKit::ShareableSurface::createHandle):
  39584. * Shared/ShareableSurface.h:
  39585. (WebKit::ShareableSurface::Handle::graphicsSurfaceToken):
  39586. (Handle):
  39587. * Shared/WebCoreArgumentCoders.cpp:
  39588. (CoreIPC):
  39589. (CoreIPC::::encode):
  39590. (CoreIPC::::decode):
  39591. * Shared/WebCoreArgumentCoders.h:
  39592. (WebCore):
  39593. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  39594. (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
  39595. (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
  39596. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
  39597. (LayerTreeCoordinatorProxy):
  39598. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  39599. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  39600. (WebKit::LayerTreeRenderer::syncCanvas):
  39601. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  39602. (LayerTreeRenderer):
  39603. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  39604. (WebCore::CoordinatedGraphicsLayer::syncCanvas):
  39605. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  39606. (CoordinatedGraphicsLayerClient):
  39607. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  39608. (WebKit::LayerTreeCoordinator::syncCanvas):
  39609. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  39610. (LayerTreeCoordinator):
  39611. 2012-10-10 Andras Becsi <andras.becsi@digia.com>
  39612. [Qt][WK2] Avoid unnecessary calls in PageViewportController
  39613. https://bugs.webkit.org/show_bug.cgi?id=98886
  39614. Reviewed by Jocelyn Turcotte.
  39615. Remove leftover and unneeded update guards and visibility update
  39616. notifications to avoid unnecessary update cycles between the
  39617. controller an the client.
  39618. Previously didRenderFrame triggered updates for no reason since
  39619. animations on the page cause a lot of DidRenderFrame messages
  39620. for which the viewport state does not change.
  39621. * UIProcess/PageViewportController.cpp:
  39622. (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
  39623. (WebKit::PageViewportController::didRenderFrame):
  39624. * UIProcess/PageViewportController.h:
  39625. (PageViewportController):
  39626. * UIProcess/qt/PageViewportControllerClientQt.cpp:
  39627. (WebKit::PageViewportControllerClientQt::setContentsScale):
  39628. (WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
  39629. (WebKit::PageViewportControllerClientQt::updateViewportController):
  39630. * UIProcess/qt/PageViewportControllerClientQt.h:
  39631. (PageViewportControllerClientQt):
  39632. 2012-10-11 Mario Sanchez Prada <msanchez@igalia.com>
  39633. [GTK] It should be possible to disable favicons in WebKit2 GTK+ API
  39634. https://bugs.webkit.org/show_bug.cgi?id=98885
  39635. Reviewed by Carlos Garcia Campos.
  39636. Make support for favicons in WebKit2GTK+ disabled by default, and
  39637. allow enabling it even after calling webkit_web_context_get_favicon_database(),
  39638. by decoupling opening the IconDatabase, which will happen when
  39639. setting the path for the database directory, from creating the
  39640. instance of WebKitFaviconDatabase from WebKitWebContext.
  39641. * UIProcess/API/gtk/WebKitWebContext.cpp:
  39642. (_WebKitWebContextPrivate): Renamed faviconDatabasePath to
  39643. faviconDatabaseDirectory;
  39644. (ensureFaviconDatabase): Makes sure there's an instance of
  39645. WebKitFaviconDatabase created and associated to the context.
  39646. (webkit_web_context_set_favicon_database_directory): Use the
  39647. default path if NULL is passed, or the specified one, creating the
  39648. database if needed and opening it by setting it's path. If the
  39649. database is already open this method does nothing.
  39650. (webkit_web_context_get_favicon_database_directory): Return the
  39651. path or NULL if webkit_web_context_set_favicon_database_directory
  39652. has not been called yet.
  39653. (webkit_web_context_get_favicon_database): Return the instance of
  39654. WebKitFaviconDatabase, or create it if it doesn't exist yet, but
  39655. never set the path (would cause the icon database to be opened).
  39656. * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
  39657. (testNotInitialized): New test to check that a NOT_INITIALIZED
  39658. error is got when using the database before setting its path.
  39659. (testSetDirectory): Call set_favicon_database_directory() here
  39660. instead of doing it in the constructor of FaviconDatabaseTest.
  39661. (beforeAll): Add testNotInitialized() to the test suite.
  39662. 2012-10-11 Jinwoo Song <jinwoo7.song@samsung.com>
  39663. [EFL][WK2] Revisit setting API names and documentation
  39664. https://bugs.webkit.org/show_bug.cgi?id=98793
  39665. Reviewed by Kenneth Rohde Christiansen.
  39666. Make setting API names to be consistent and revisit the documentation.
  39667. * UIProcess/API/efl/ewk_settings.cpp:
  39668. (ewk_settings_frame_flattening_enabled_set):
  39669. (ewk_settings_frame_flattening_enabled_get):
  39670. (ewk_settings_dns_prefetching_enabled_set):
  39671. (ewk_settings_dns_prefetching_enabled_get):
  39672. * UIProcess/API/efl/ewk_settings.h:
  39673. * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
  39674. (TEST_F):
  39675. 2012-10-10 Jer Noble <jer.noble@apple.com>
  39676. Disallow full screen mode keyboard access by default.
  39677. https://bugs.webkit.org/show_bug.cgi?id=98971
  39678. <rdar://problem/12474226>
  39679. Reviewed by Sam Weinig.
  39680. Only support full screen if keyboard access is not requested.
  39681. * UIProcess/WebFullScreenManagerProxy.cpp:
  39682. (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
  39683. 2012-10-10 Sheriff Bot <webkit.review.bot@gmail.com>
  39684. Unreviewed, rolling out r130972 and r130984.
  39685. http://trac.webkit.org/changeset/130972
  39686. http://trac.webkit.org/changeset/130984
  39687. https://bugs.webkit.org/show_bug.cgi?id=98986
  39688. Huge numbers of WK2 crashes (Requested by smfr on #webkit).
  39689. * Platform/CoreIPC/Connection.h:
  39690. (Connection):
  39691. * Platform/CoreIPC/MessageReceiverMap.cpp:
  39692. (CoreIPC::MessageReceiverMap::addMessageReceiver):
  39693. (CoreIPC::MessageReceiverMap::clearAllMessageReceivers):
  39694. (CoreIPC::MessageReceiverMap::knowsHowToHandleMessage):
  39695. (CoreIPC::MessageReceiverMap::dispatchMessage):
  39696. (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
  39697. * Platform/CoreIPC/MessageReceiverMap.h:
  39698. (MessageReceiverMap):
  39699. * UIProcess/WebConnectionToWebProcess.h:
  39700. (WebConnectionToWebProcess):
  39701. * UIProcess/WebContext.cpp:
  39702. (WebKit::WebContext::WebContext):
  39703. (WebKit::WebContext::~WebContext):
  39704. (WebKit::WebContext::knowsHowToHandleMessage):
  39705. (WebKit::WebContext::didReceiveMessage):
  39706. (WebKit::WebContext::didReceiveSyncMessage):
  39707. * UIProcess/WebContext.h:
  39708. (WebContext):
  39709. * UIProcess/WebProcessProxy.cpp:
  39710. (WebKit::WebProcessProxy::didReceiveMessage):
  39711. (WebKit::WebProcessProxy::didReceiveSyncMessage):
  39712. * UIProcess/WebProcessProxy.h:
  39713. (WebProcessProxy):
  39714. 2012-10-10 Sam Weinig <sam@webkit.org>
  39715. Add more Objective-C WebKit2 DOM API skeletons.
  39716. https://bugs.webkit.org/show_bug.cgi?id=98981
  39717. Reviewed by Anders Carlsson.
  39718. * WebKit2.xcodeproj/project.pbxproj:
  39719. * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
  39720. * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
  39721. * WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
  39722. * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
  39723. Update guards to actually do something. __CLANG__ is never defined, but __clang__ is.
  39724. * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
  39725. * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
  39726. - Abstracts DOM object caching into the DOMCache class which can only be used as a singleton.
  39727. - Adds WKDOMRange class extension to allow manipulating its internal pointer for caching purposes.
  39728. - Add WKDOMRange conversion functions.
  39729. * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
  39730. * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
  39731. Rename _node to _impl for consistency.
  39732. * WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
  39733. * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
  39734. (-[WKDOMRange _initWithImpl:WebCore::]):
  39735. (-[WKDOMRange initWithDocument:]):
  39736. (-[WKDOMRange dealloc]):
  39737. (-[WKDOMRange startContainer]):
  39738. (-[WKDOMRange startOffset]):
  39739. (-[WKDOMRange endContainer]):
  39740. (-[WKDOMRange endOffset]):
  39741. (-[WKDOMRange text]):
  39742. Added. Only offers base range functionality.
  39743. * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
  39744. * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
  39745. (-[WKDOMTextIterator initWithRange:]):
  39746. (-[WKDOMTextIterator advance]):
  39747. (-[WKDOMTextIterator atEnd]):
  39748. (-[WKDOMTextIterator currentRange]):
  39749. (-[WKDOMTextIterator currentTextPointer]):
  39750. (-[WKDOMTextIterator currentTextLength]):
  39751. Added. Almost identical to WebTextIterator API in WebKit.
  39752. 2012-10-10 Anders Carlsson <andersca@apple.com>
  39753. Stop crashing left and right.
  39754. * UIProcess/WebConnectionToWebProcess.h:
  39755. (WebKit::WebConnectionToWebProcess::webProcessProxy):
  39756. Add a getter.
  39757. * UIProcess/WebProcessProxy.cpp:
  39758. (WebKit::WebProcessProxy::fromConnection):
  39759. The WebProcessProxy is not the Connection::Client, the WebConnectionToWebProcess is.
  39760. 2012-10-10 Sam Weinig <sam@webkit.org>
  39761. Fix the GCC Mac build. Why are we still building with GCC again?
  39762. * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
  39763. * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
  39764. * WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
  39765. * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
  39766. * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
  39767. * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
  39768. * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
  39769. * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
  39770. 2012-10-10 Christophe Dumez <christophe.dumez@intel.com>
  39771. [EFL][WK2] Add toolbar buttons to MiniBrowser
  39772. https://bugs.webkit.org/show_bug.cgi?id=98883
  39773. Reviewed by Kenneth Rohde Christiansen.
  39774. Add "back,forward,list,changed" signal on the Ewk_View
  39775. to notify the client when the view's back / forward
  39776. list has changed. This is useful for the UI to update
  39777. its back / forward buttons disabled state.
  39778. * UIProcess/API/efl/ewk_view.cpp:
  39779. (ewk_view_back_forward_list_changed):
  39780. * UIProcess/API/efl/ewk_view.h:
  39781. * UIProcess/API/efl/ewk_view_loader_client.cpp:
  39782. (didChangeBackForwardList):
  39783. * UIProcess/API/efl/ewk_view_private.h:
  39784. 2012-10-10 Jon Lee <jonlee@apple.com>
  39785. [WK2] Activate plugins when user clicks on snapshot
  39786. https://bugs.webkit.org/show_bug.cgi?id=98328
  39787. <rdar://problem/12426681>
  39788. Reviewed by Brady Eidson.
  39789. Implement the recreation of the plugin.
  39790. * WebProcess/Plugins/PluginView.cpp:
  39791. (WebKit::PluginView::recreateAndInitialize): We can run into a situation where the user
  39792. decided to run the plugin before the snapshot was ready to be taken. In this case, the
  39793. plugin member variable is non-null, and the timer is still active. Turn off the timer, and
  39794. destroy that instance of the plugin. We set the plugin to the instance provided in the
  39795. first parameter to this function, and reset the member variables so that the PluginView is
  39796. in a state similar to when it was first created. We also immediately initialize the plugin,
  39797. which may happen synchronously or asynchronously.
  39798. * WebProcess/Plugins/PluginView.h:
  39799. (WebKit::PluginView::initialParameters): Expose the initial parameters. Used to recreate
  39800. the plugin.
  39801. (WebKit::PluginView::pluginElement): Expose the element associated with the widget. Used to
  39802. recreate the plugin.
  39803. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  39804. (WebKit::WebFrameLoaderClient::recreatePlugin): Create a new Plugin instance using the same
  39805. parameters used to create the plugin for snapshotting. Forward that instance to the widget.
  39806. * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  39807. (WebFrameLoaderClient): Implement recreatePlugin().
  39808. 2012-10-10 Sam Weinig <sam@webkit.org>
  39809. Fix 32-bit build.
  39810. * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
  39811. * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
  39812. * WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
  39813. * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
  39814. * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
  39815. * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
  39816. * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
  39817. * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
  39818. 2012-10-10 Anders Carlsson <andersca@apple.com>
  39819. WebContext should be a MessageReceiver
  39820. https://bugs.webkit.org/show_bug.cgi?id=98958
  39821. Reviewed by Sam Weinig.
  39822. Make WebContext be a MessageReceiver that lives in its own map. This allows us to get rid of the
  39823. knowsHowToHandleMessage functions on MessageReceiverMap and WebContext.
  39824. * Platform/CoreIPC/Connection.h:
  39825. (CoreIPC::Connection::client):
  39826. (Connection):
  39827. * Platform/CoreIPC/MessageReceiverMap.cpp:
  39828. (CoreIPC::MessageReceiverMap::addMessageReceiver):
  39829. (CoreIPC::MessageReceiverMap::invalidate):
  39830. (CoreIPC::MessageReceiverMap::knowsHowToHandleMessage):
  39831. (CoreIPC::MessageReceiverMap::dispatchMessage):
  39832. (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
  39833. * Platform/CoreIPC/MessageReceiverMap.h:
  39834. (MessageReceiverMap):
  39835. * UIProcess/WebContext.cpp:
  39836. (WebKit::WebContext::WebContext):
  39837. (WebKit::WebContext::~WebContext):
  39838. (WebKit::WebContext::dispatchMessage):
  39839. (WebKit::WebContext::dispatchSyncMessage):
  39840. (WebKit::WebContext::didReceiveMessage):
  39841. (WebKit::WebContext::didReceiveSyncMessage):
  39842. * UIProcess/WebContext.h:
  39843. (WebContext):
  39844. * UIProcess/WebProcessProxy.cpp:
  39845. (WebKit::WebProcessProxy::fromConnection):
  39846. (WebKit):
  39847. (WebKit::WebProcessProxy::didReceiveMessage):
  39848. (WebKit::WebProcessProxy::didReceiveSyncMessage):
  39849. * UIProcess/WebProcessProxy.h:
  39850. (WebProcessProxy):
  39851. 2012-10-10 Sam Weinig <sam@webkit.org>
  39852. Add skeleton of a WebKit2 ObjC DOM SPI (not intended to be the full DOM)
  39853. https://bugs.webkit.org/show_bug.cgi?id=98955
  39854. Reviewed by Anders Carlsson.
  39855. Add a skeleton DOM implementation only exposing Node, Element and Document
  39856. for now. It is currently only available in 64-bit as it relies on the non-fragile
  39857. ABI for now.
  39858. * WebKit2.xcodeproj/project.pbxproj:
  39859. * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h: Added.
  39860. * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm: Added.
  39861. * WebProcess/InjectedBundle/API/mac/WKDOMElement.h: Added.
  39862. * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm: Added.
  39863. * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h: Added.
  39864. * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm: Added.
  39865. * WebProcess/InjectedBundle/API/mac/WKDOMNode.h: Added.
  39866. * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm: Added.
  39867. 2012-10-04 Andy Estes <aestes@apple.com>
  39868. [WebKit2] Create an API for adding and removing user stylesheets from a page group
  39869. https://bugs.webkit.org/show_bug.cgi?id=98432
  39870. Reviewed by Sam Weinig.
  39871. This patch adds the following API to WKBrowsingContextGroup:
  39872. - (void)addUserStyleSheet:(NSString *)source baseURL:(NSURL *)baseURL whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist mainFrameOnly:(BOOL)mainFrameOnly;
  39873. - (void)removeAllUserStyleSheets;
  39874. Sheets added via this API are sent to all processes that contain a page
  39875. in the given page group. Sheets are also cached in the UI process in a
  39876. new object called UserContentContainer, which is a property of each
  39877. group's WebPageGroupData and is sent to new web processes during page
  39878. initialization.
  39879. This is less than ideal, since new pages added to a pre-existing
  39880. process / page group combination will send redundant user stylesheet
  39881. strings over the wire. To avoid this we'd have to keep track track of
  39882. the groups that currently exist in each process and only send user
  39883. content during page creation if it is the first time a process has seen
  39884. the page's group. I decided to not add this complexity for the time
  39885. being, but we might need to consider it if we find that the current
  39886. approach impacts performance for clients that heavily utilize user
  39887. content.
  39888. * Shared/API/c/WKArray.cpp:
  39889. (WKArrayCreateAdoptingValues): Add a WKArray creation function that
  39890. adopts the incoming WKTypeRefs rather than refing them.
  39891. * Shared/API/c/WKArray.h:
  39892. * Shared/API/c/WKBase.h: Move WKUserContentInjectedFrames out of
  39893. WKBundlePrivate.h so it can be used in WKPageGroup, too.
  39894. * Shared/API/c/cf/WKURLCF.cpp:
  39895. (WKURLCreateWithCFURL): Return 0 for null CFURLRefs instead of crashing
  39896. inside CFURLGetString().
  39897. * Shared/ImmutableArray.cpp:
  39898. (WebKit::ImmutableArray::ImmutableArray): Add a tag to differentiate
  39899. between the adopting and refing ctors.
  39900. * Shared/ImmutableArray.h:
  39901. (WebKit::ImmutableArray::create): Call the refing ctor.
  39902. (WebKit::ImmutableArray::adopt): Call the adopting ctor.
  39903. * Shared/UserContentContainer.cpp: Added.
  39904. (UserContentItemMessageEncoder): Create a UserMessageEncoder for
  39905. serializing UserContentContainer::Item's APIObjects.
  39906. (WebKit::UserContentItemMessageEncoder::UserContentItemMessageEncoder):
  39907. (WebKit::UserContentItemMessageEncoder::encode):
  39908. (UserContentItemMessageDecoder): Create a UserMessageEncoder for
  39909. deserializing UserContentContainer::Item's APIObjects.
  39910. (WebKit::UserContentItemMessageDecoder::UserContentItemMessageDecoder):
  39911. (WebKit::UserContentItemMessageDecoder::decode):
  39912. (WebKit::UserContentContainer::Item::Item):
  39913. (WebKit::encodeStringArray): Add a helper function for encoding
  39914. ImmutableArrays of WebStrings.
  39915. (WebKit::UserContentContainer::Item::encode): Encode the item's
  39916. properties using UserContentItemMessageEncoder.
  39917. (WebKit::decodeStringArray): Add a helper function for decoding
  39918. ImmutableArrays of WebStrings.
  39919. (WebKit::UserContentContainer::Item::decode): Decode the item's
  39920. properties using UserContentItemMessageDecoder.
  39921. (WebKit::toStringVector): Add a helper function for converting an
  39922. ImmutableArray of WebStrings to a Vector of Strings.
  39923. (WebKit::UserContentContainer::Item::whitelist): Use toStringVector().
  39924. (WebKit::UserContentContainer::Item::blacklist): Ditto.
  39925. (WebKit::UserContentContainer::encode): Encode the Vector of UserContentContainer::Items.
  39926. (WebKit::UserContentContainer::decode): Decode the Vector of UserContentContainer::Items.
  39927. * Shared/UserContentContainer.h: Added.
  39928. * Shared/WebPageGroupData.cpp:
  39929. (WebKit::WebPageGroupData::encode): Include userStyleSheets when encoding.
  39930. (WebKit::WebPageGroupData::decode): Include userStyleSheets when decoding.
  39931. * Shared/WebPageGroupData.h:
  39932. (WebPageGroupData): Add a UserContentContainer called userStyleSheets
  39933. to WebPageGroupData.
  39934. * UIProcess/API/C/WKPageGroup.cpp: Add the C SPI version of the Objective-C API.
  39935. (WKPageGroupAddUserStyleSheet):
  39936. (WKPageGroupRemoveAllUserStyleSheets):
  39937. * UIProcess/API/C/WKPageGroup.h:
  39938. * UIProcess/API/mac/WKBrowsingContextGroup.h: Add the Objective-C API.
  39939. * UIProcess/API/mac/WKBrowsingContextGroup.mm:
  39940. (createWKArray): Add a helper function that converts an NSArray of NSStrings to a WKArray of WKStrings.
  39941. (-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelist:blacklist:mainFrameOnly:]):
  39942. Implement the Objective-C API in terms of the C SPI.
  39943. (-[WKBrowsingContextGroup removeAllUserStyleSheets]): Ditto.
  39944. * UIProcess/WebPageGroup.cpp:
  39945. (WebKit::WebPageGroup::addUserStyleSheet): Add the new sheet to the
  39946. group's WebPageGroupData, which ensures that the group's sheets are
  39947. sent to new web processes.
  39948. (WebKit::WebPageGroup::removeAllUserStyleSheets): Ditto for removal.
  39949. * UIProcess/WebPageGroup.h:
  39950. (WebKit::WebPageGroup::sendToAllProcessesInGroup): Add a helper message
  39951. that sends a message to all processes that have a page in the current
  39952. group. This is used to add new user sheets to already-initialized page
  39953. groups in the UI processes.
  39954. * WebKit2.xcodeproj/project.pbxproj:
  39955. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Moved
  39956. WKUserContentInjectedFrames from here to WKBase.h.
  39957. * WebProcess/WebPage/WebPageGroupProxy.cpp:
  39958. (WebKit::WebPageGroupProxy::WebPageGroupProxy): Add each sheet in the
  39959. WebPageGroupData to WebCore's page group.
  39960. (WebKit::WebPageGroupProxy::addUserStyleSheet): Add the sheet received
  39961. from the UI process to WebCore's page group.
  39962. (WebKit::WebPageGroupProxy::removeAllUserStyleSheets): Remove all
  39963. sheets from WebCore's page group.
  39964. * WebProcess/WebPage/WebPageGroupProxy.h:
  39965. * WebProcess/WebPage/WebPageGroupProxy.messages.in: Define
  39966. AddUserStyleSheet and RemoveAllUserStyleSheets, two messages sent from
  39967. the UI process to a web process's WebPageGroupProxy.
  39968. 2012-10-10 Sam Weinig <sam@webkit.org>
  39969. Make all of the WebContext sub objects MessageReceivers
  39970. https://bugs.webkit.org/show_bug.cgi?id=98661
  39971. Reviewed by Anders Carlsson.
  39972. Start work towards simplified message dispatch.
  39973. * Platform/CoreIPC/MessageReceiverMap.cpp:
  39974. (CoreIPC::MessageReceiverMap::clearAllMessageReceivers):
  39975. (CoreIPC::MessageReceiverMap::knowsHowToHandleMessage):
  39976. (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
  39977. * Platform/CoreIPC/MessageReceiverMap.h:
  39978. Add additional helper methods.
  39979. * UIProcess/WebContext.cpp:
  39980. (WebKit::WebContext::~WebContext):
  39981. (WebKit::WebContext::addMessageReceiver):
  39982. (WebKit::WebContext::knowsHowToHandleMessage):
  39983. (WebKit::WebContext::didReceiveMessage):
  39984. (WebKit::WebContext::didReceiveSyncMessage):
  39985. * UIProcess/WebContext.h:
  39986. Add a MessageReceiverMap that chains to the main on in WebProcessProxy. Simplifies
  39987. didReceiveMessage and didReceiveSyncMessage.
  39988. * UIProcess/WebProcessProxy.cpp:
  39989. (WebKit::WebProcessProxy::didReceiveMessage):
  39990. (WebKit::WebProcessProxy::didReceiveSyncMessage):
  39991. Use the new WebContext methods to simplify dispatch.
  39992. * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
  39993. (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
  39994. * UIProcess/Notifications/WebNotificationManagerProxy.h:
  39995. (WebNotificationManagerProxy):
  39996. * UIProcess/WebApplicationCacheManagerProxy.cpp:
  39997. (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
  39998. * UIProcess/WebApplicationCacheManagerProxy.h:
  39999. (WebApplicationCacheManagerProxy):
  40000. * UIProcess/WebBatteryManagerProxy.cpp:
  40001. (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):
  40002. * UIProcess/WebBatteryManagerProxy.h:
  40003. (WebBatteryManagerProxy):
  40004. * UIProcess/WebCookieManagerProxy.cpp:
  40005. (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
  40006. * UIProcess/WebCookieManagerProxy.h:
  40007. (WebCookieManagerProxy):
  40008. * UIProcess/WebDatabaseManagerProxy.cpp:
  40009. (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
  40010. (WebKit::WebDatabaseManagerProxy::didReceiveMessage):
  40011. (WebKit):
  40012. * UIProcess/WebDatabaseManagerProxy.h:
  40013. (WebDatabaseManagerProxy):
  40014. * UIProcess/WebGeolocationManagerProxy.cpp:
  40015. (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
  40016. * UIProcess/WebGeolocationManagerProxy.h:
  40017. (WebGeolocationManagerProxy):
  40018. * UIProcess/WebIconDatabase.cpp:
  40019. (WebKit::WebIconDatabase::WebIconDatabase):
  40020. * UIProcess/WebIconDatabase.h:
  40021. (WebIconDatabase):
  40022. (WebKit::WebIconDatabase::type):
  40023. * UIProcess/WebKeyValueStorageManagerProxy.cpp:
  40024. (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
  40025. * UIProcess/WebKeyValueStorageManagerProxy.h:
  40026. (WebKeyValueStorageManagerProxy):
  40027. * UIProcess/WebMediaCacheManagerProxy.cpp:
  40028. (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
  40029. * UIProcess/WebMediaCacheManagerProxy.h:
  40030. (WebMediaCacheManagerProxy):
  40031. * UIProcess/WebNetworkInfoManagerProxy.cpp:
  40032. (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy):
  40033. (WebKit::WebNetworkInfoManagerProxy::didReceiveSyncMessage):
  40034. * UIProcess/WebNetworkInfoManagerProxy.h:
  40035. (WebNetworkInfoManagerProxy):
  40036. * UIProcess/WebResourceCacheManagerProxy.cpp:
  40037. (WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
  40038. (WebKit::WebResourceCacheManagerProxy::didReceiveMessage):
  40039. (WebKit):
  40040. * UIProcess/WebResourceCacheManagerProxy.h:
  40041. (WebResourceCacheManagerProxy):
  40042. * UIProcess/WebVibrationProxy.cpp:
  40043. (WebKit::WebVibrationProxy::WebVibrationProxy):
  40044. * UIProcess/WebVibrationProxy.h:
  40045. (WebVibrationProxy):
  40046. * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
  40047. (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
  40048. (WebKit::WebSoupRequestManagerProxy::didReceiveMessage):
  40049. (WebKit):
  40050. * UIProcess/soup/WebSoupRequestManagerProxy.h:
  40051. (WebSoupRequestManagerProxy):
  40052. * WebProcess/Authentication/AuthenticationManager.h:
  40053. (AuthenticationManager):
  40054. * WebProcess/Geolocation/WebGeolocationManager.h:
  40055. (WebGeolocationManager):
  40056. Make all the WebContext sub-objects MessageReceivers to simplify dispatch.
  40057. 2012-10-10 Simon Fraser <simon.fraser@apple.com>
  40058. Add the mangled symbol name for Frame::layerTreeAsText() to the confusingly named
  40059. Windows export file.
  40060. * win/WebKit2.def:
  40061. 2012-10-10 Simon Fraser <simon.fraser@apple.com>
  40062. Store a visible rect in GraphicsLayers, and optionally dump it in layerTreeAsText
  40063. https://bugs.webkit.org/show_bug.cgi?id=98839
  40064. Reviewed by Sam Weinig.
  40065. Add a flag to layerTreeAsText() so that tests can optionally include this visible rect in
  40066. layer tree dumps. This output will be platform-specific, so we don't want to do it unconditionally.
  40067. * WebProcess/WebPage/WebFrame.cpp:
  40068. (WebKit::WebFrame::layerTreeAsText):
  40069. 2012-10-10 Shinya Kawanaka <shinyak@chromium.org>
  40070. Needs internal API to return distributed nodes for InsertionPoint
  40071. https://bugs.webkit.org/show_bug.cgi?id=98868
  40072. Reviewed by Hajime Morita.
  40073. * win/WebKit2.def:
  40074. * win/WebKit2CFLite.def:
  40075. 2012-10-10 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  40076. [Qt][WK2] REGRESSION(r130879): It made fast/events/touch/* tests crash
  40077. https://bugs.webkit.org/show_bug.cgi?id=98888
  40078. Reviewed by Kenneth Rohde Christiansen.
  40079. Add null-checks in the gesture recognizers to allow them working without a PageViewportController.
  40080. The pinch and pan gesture recognizers aren't used in that case yet, but they could eventually
  40081. be used to send pinch and pan gesture events to the web process. They are currently kept active
  40082. because we need the tap gesture recognizer and its logic is bound to those other recognizers.
  40083. * UIProcess/qt/QtPanGestureRecognizer.cpp:
  40084. (WebKit::QtPanGestureRecognizer::update):
  40085. (WebKit::QtPanGestureRecognizer::finish):
  40086. (WebKit::QtPanGestureRecognizer::cancel):
  40087. * UIProcess/qt/QtPinchGestureRecognizer.cpp:
  40088. (WebKit::QtPinchGestureRecognizer::update):
  40089. (WebKit::QtPinchGestureRecognizer::finish):
  40090. (WebKit::QtPinchGestureRecognizer::cancel):
  40091. 2012-10-10 Carlos Garcia Campos <cgarcia@igalia.com>
  40092. [GTK] Test /webkit2/WebKitWebView/history-cache asserts in debug bot
  40093. https://bugs.webkit.org/show_bug.cgi?id=98731
  40094. Reviewed by Martin Robinson.
  40095. The problem is in the test itself that is using
  40096. SingleResourceLoadTest class to load a multiresource document.
  40097. * UIProcess/API/gtk/tests/TestResources.cpp:
  40098. (testWebViewResourcesHistoryCache): Load only single resource
  40099. documents and check also that the main resource given is the
  40100. expected one.
  40101. (serverCallback): Add another single resource document.
  40102. 2012-10-10 Christophe Dumez <christophe.dumez@intel.com>
  40103. [WK2][SOUP] ResourceError.isCancellation() is not carried over IPC
  40104. https://bugs.webkit.org/show_bug.cgi?id=98882
  40105. Reviewed by Kenneth Rohde Christiansen.
  40106. Properly serialize / deserialize ResourceError.isCancellation
  40107. boolean so that it can be used in UIProcess.
  40108. * Shared/soup/WebCoreArgumentCodersSoup.cpp:
  40109. (CoreIPC::::encode):
  40110. (CoreIPC::::decode):
  40111. 2012-10-10 Jinwoo Song <jinwoo7.song@samsung.com>
  40112. [EFL][WK2] Add APIs to get/set the DNS prefetching
  40113. https://bugs.webkit.org/show_bug.cgi?id=98790
  40114. Reviewed by Laszlo Gombos.
  40115. Add setting APIs for DNS prefetching and a unit test.
  40116. * UIProcess/API/efl/ewk_settings.cpp:
  40117. (ewk_settings_DNS_prefetching_enabled_set):
  40118. (ewk_settings_DNS_prefetching_enabled_get):
  40119. * UIProcess/API/efl/ewk_settings.h:
  40120. * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
  40121. (TEST_F):
  40122. 2012-10-09 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  40123. [Qt][WK2] REGRESSION(r130629): It made touchadjustment/focusout-on-touch.html fai1
  40124. https://bugs.webkit.org/show_bug.cgi?id=98642
  40125. Reviewed by Kenneth Rohde Christiansen.
  40126. There was an early return that would prevent gesture recognition if no PageViewportController
  40127. has been set on QtWebPageEventHandler. The gesture recognizer are also used to send
  40128. GestureEvents to WebCore which this layout test is using.
  40129. Make sure that the gesture recognition is done even when no PageViewportController is present.
  40130. * UIProcess/qt/QtWebPageEventHandler.cpp:
  40131. (WebKit::QtWebPageEventHandler::handleInputEvent):
  40132. (WebKit::QtWebPageEventHandler::doneWithTouchEvent):
  40133. 2012-10-10 Zeno Albisser <zeno@webkit.org>
  40134. [Qt] ProcessLauncherQt should use QStringLiteral for serviceName.
  40135. https://bugs.webkit.org/show_bug.cgi?id=98398
  40136. QString(const char*) is deprecated, we should use QStringLiteral instead.
  40137. Reviewed by Kenneth Rohde Christiansen.
  40138. * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
  40139. (WebKit::ProcessLauncher::launchProcess):
  40140. 2012-10-10 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
  40141. [EFL][WK2] Add History callbacks API
  40142. https://bugs.webkit.org/show_bug.cgi?id=98594
  40143. Reviewed by Kenneth Rohde Christiansen.
  40144. Added History callbacks API to Ewk Context. Added unit tests.
  40145. * PlatformEfl.cmake:
  40146. * UIProcess/API/efl/EWebKit2.h:
  40147. * UIProcess/API/efl/ewk_context.cpp:
  40148. (_Ewk_Context):
  40149. (_Ewk_Context::_Ewk_Context):
  40150. (ewk_context_history_callbacks_set): New public function which lets the client to set History callbacks.
  40151. (ewk_context_history_client_get):
  40152. (ewk_context_add_visited_link): New public function to mark a URL as visited link.
  40153. * UIProcess/API/efl/ewk_context.h:
  40154. * UIProcess/API/efl/ewk_context_history_client.cpp: Added.
  40155. (getEwkHistoryDelegate):
  40156. (didNavigateWithNavigationData):
  40157. (didPerformClientRedirect):
  40158. (didPerformServerRedirect):
  40159. (didUpdateHistoryTitle):
  40160. (populateVisitedLinks):
  40161. (ewk_context_history_client_attach):
  40162. * UIProcess/API/efl/ewk_context_history_client_private.h: Added.
  40163. * UIProcess/API/efl/ewk_context_private.h:
  40164. * UIProcess/API/efl/ewk_navigation_data.cpp: Added.
  40165. (_Ewk_Navigation_Data):
  40166. (_Ewk_Navigation_Data::_Ewk_Navigation_Data):
  40167. (_Ewk_Navigation_Data::~_Ewk_Navigation_Data):
  40168. (ewk_navigation_data_ref):
  40169. (ewk_navigation_data_unref):
  40170. (ewk_navigation_data_title_get):
  40171. (ewk_navigation_data_original_request_get):
  40172. (ewk_navigation_data_url_get):
  40173. (ewk_navigation_data_new):
  40174. * UIProcess/API/efl/ewk_navigation_data.h: Added.
  40175. * UIProcess/API/efl/ewk_navigation_data_private.h: Added.
  40176. * UIProcess/API/efl/ewk_view.cpp:
  40177. (addToPageViewMap):
  40178. (removeFromPageViewMap):
  40179. (_ewk_view_smart_del):
  40180. (_ewk_view_initialize):
  40181. (ewk_view_from_page_get):
  40182. * UIProcess/API/efl/ewk_view_private.h:
  40183. * UIProcess/API/efl/tests/test_ewk2_context_history_delegate.cpp: Added.
  40184. (httpServer):
  40185. (navigateWithNavigationData):
  40186. (performClientRedirect):
  40187. (performServerRedirect):
  40188. (updateHistoryTitle):
  40189. (populateVisitedLinks):
  40190. (onLoadFinishedForRedirection):
  40191. (serverCallbackRedirection):
  40192. (TEST_F):
  40193. 2012-10-09 Byungwoo Lee <bw80.lee@samsung.com>
  40194. [EFL][WK2] Change parameter and return type of loadUrlSync().
  40195. https://bugs.webkit.org/show_bug.cgi?id=97920
  40196. Reviewed by Gyuyoung Kim.
  40197. loadUrlSync() uses waitUntilLoadFinished() internally, and it has
  40198. a parameter and return value for timeout.
  40199. To set and check timeout, loadUrlSync() should have those.
  40200. A parameter for timeout interval is added to loadUrlSync() and it
  40201. returns the result of waitUntilLoadFinished() for checking timeout.
  40202. And I added codes to check the result of all the LoadUrlSync()
  40203. function calls with ASSERT_TRUE() macro.
  40204. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
  40205. (EWK2UnitTest::EWK2UnitTestBase::loadUrlSync):
  40206. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
  40207. (EWK2UnitTestBase):
  40208. * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
  40209. (TEST_F):
  40210. * UIProcess/API/efl/tests/test_ewk2_context.cpp:
  40211. (TEST_F):
  40212. * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
  40213. (TEST_F):
  40214. * UIProcess/API/efl/tests/test_ewk2_intents.cpp:
  40215. (TEST_F):
  40216. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  40217. (TEST_F):
  40218. 2012-10-09 Byungwoo Lee <bw80.lee@samsung.com>
  40219. [EFL][WK2] Move timeout callback to the CallbackDataTimer class.
  40220. https://bugs.webkit.org/show_bug.cgi?id=97861
  40221. Reviewed by Gyuyoung Kim.
  40222. Timeout callbacks for waitUntil{LoadFinished,TitleChanged,URIChanged}
  40223. can be moved to the CallbackDataTimer class.
  40224. Moved the callback implementation to the CallbackDataTimer class.
  40225. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
  40226. (EWK2UnitTest::CallbackDataTimer::CallbackDataTimer):
  40227. (CallbackDataTimer):
  40228. (EWK2UnitTest::CallbackDataTimer::timeOutCallback):
  40229. (EWK2UnitTest::CallbackDataExpectedValue::CallbackDataExpectedValue):
  40230. (EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished):
  40231. (EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo):
  40232. (EWK2UnitTest::EWK2UnitTestBase::waitUntilURIChangedTo):
  40233. 2012-10-09 Jian Li <jianli@chromium.org>
  40234. Update the CSS property used to support draggable regions.
  40235. https://bugs.webkit.org/show_bug.cgi?id=97156
  40236. Reviewed by Adam Barth.
  40237. The CSS property to support draggable regions, guarded under
  40238. WIDGET_REGION is now disabled from Mac WebKit, in order not to cause
  40239. confusion with DASHBOARD_SUPPORT feature.
  40240. Also update the code to use the new name annotatedRegions to work for
  40241. both features.
  40242. * Configurations/FeatureDefines.xcconfig: Disable WIDGET_REGION feature.
  40243. * WebProcess/WebCoreSupport/WebChromeClient.cpp: Rename dashboardRegions to annotatedRegions.
  40244. (WebKit::WebChromeClient::annotatedRegionsChanged):
  40245. * WebProcess/WebCoreSupport/WebChromeClient.h: Rename dashboardRegions to annotatedRegions.
  40246. (WebChromeClient):
  40247. 2012-10-09 Sheriff Bot <webkit.review.bot@gmail.com>
  40248. Unreviewed, rolling out r130811 and r130821.
  40249. http://trac.webkit.org/changeset/130811
  40250. http://trac.webkit.org/changeset/130821
  40251. https://bugs.webkit.org/show_bug.cgi?id=98831
  40252. Broke date-suggestion-picker-appearance-with-scroll-bar.html
  40253. (Requested by abarth|gardening on #webkit).
  40254. * Shared/WebRenderObject.cpp:
  40255. (WebKit::WebRenderObject::WebRenderObject):
  40256. * WebProcess/FullScreen/WebFullScreenManager.cpp:
  40257. (WebKit::screenRectOfContents):
  40258. 2012-10-09 Jon Lee <jonlee@apple.com>
  40259. [WK2] Have plugins render offscreen to capture snapshot
  40260. https://bugs.webkit.org/show_bug.cgi?id=98326
  40261. <rdar://problem/12426658>
  40262. Reviewed by Simon Fraser.
  40263. Keep the plugin rendering without compositing to easily grab the snapshot.
  40264. PluginView now has two variables referring to snapshots, but are unrelated. The timer
  40265. is used to capture a snapshot that acts as a poster for a plugin. The ShareableBitmap
  40266. variable m_snapshot is used whenever the plugin paints in software, to avoid side effects
  40267. should the plugin run JS during painting.
  40268. * WebProcess/Plugins/PluginView.cpp:
  40269. (WebKit): Add a named constant for the time delay before a snapshot is taken.
  40270. (WebKit::PluginView::PluginView): Initialize a 3-second timer to get the snapshot.
  40271. (WebKit::PluginView::~PluginView): Refactor part of the destructor code out into
  40272. destroyPluginAndReset() for reuse.
  40273. (WebKit::PluginView::destroyPluginAndReset): Contains part of the destructor code.
  40274. In addition to destroying the plugin, the destructor cancels pending loads and streams.
  40275. (WebKit::PluginView::didInitializePlugin): If the plugin is in a state where it needs
  40276. to generate or display a poster, don't setup the compositing layer and start the timer.
  40277. (WebKit::PluginView::paint): Avoid painting if the plugin is not running.
  40278. (WebKit::PluginView::invalidateRect): Avoid painting if the plugin is not running.
  40279. (WebKit::PluginView::isAcceleratedCompositingEnabled): Don't enable accelerated compositing
  40280. until the plugin is running.
  40281. (WebKit::PluginView::pluginSnapshotTimerFired): When the timer fires, get a snapshot, generate
  40282. an Image that WebCore can render, and destroy the plugin.
  40283. Rename m_snapshot to m_transientPaintingSnapshot.
  40284. * WebProcess/Plugins/PluginView.h:
  40285. * WebProcess/Plugins/PluginView.cpp:
  40286. (WebKit::PluginView::paint):
  40287. (WebKit::PluginView::notifyWidget):
  40288. (WebKit::PluginView::pluginSnapshotTimerFired):
  40289. 2012-10-09 Rik Cabanier <cabanier@adobe.com>
  40290. Add missing compile flag for compositing
  40291. https://bugs.webkit.org/show_bug.cgi?id=98681
  40292. Reviewed by Dirk Schulze.
  40293. This flag is needed in case there is a difference in API
  40294. when compositing is enabled
  40295. * Configurations/FeatureDefines.xcconfig:
  40296. 2012-10-09 Sheriff Bot <webkit.review.bot@gmail.com>
  40297. Unreviewed, rolling out r130680.
  40298. http://trac.webkit.org/changeset/130680
  40299. https://bugs.webkit.org/show_bug.cgi?id=98720
  40300. this patch has a typo so was ineffective (Requested by
  40301. cabanier on #webkit).
  40302. * Configurations/FeatureDefines.xcconfig:
  40303. 2012-10-09 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
  40304. [EFL][WK2] Inform the PageProxy about visibility changes when the view is shown/hidden.
  40305. https://bugs.webkit.org/show_bug.cgi?id=98757
  40306. Reviewed by Kenneth Rohde Christiansen.
  40307. SVN r130720 exposed a bug in our code: the PageProxy is not
  40308. notified when one calls evas_object_show() or evas_object_hide()
  40309. on the view, so the visibility it has when the WebPageProxy is
  40310. constructed remained set forever.
  40311. This made the ewk_context_vibration_client_callbacks_set unit test
  40312. start running forever, because WebPageProxy's constructor now sets
  40313. the page's visibility to hidden by the default for us, since it is
  40314. called from within ewk_view_smart_add() and before
  40315. evas_object_show().
  40316. We now listen to the EVAS_CALLBACK_SHOW and EVAS_CALLBACK_HIDE
  40317. callbacks and update the WebPageProxy accordingly. Note that we
  40318. could not do this from the smart_show and smart_hide functions we
  40319. already had, since they are called before the object's actual
  40320. visibility is updated.
  40321. * UIProcess/API/efl/ewk_view.cpp:
  40322. (_ewk_view_on_show):
  40323. (_ewk_view_on_hide):
  40324. (_ewk_view_smart_add):
  40325. 2012-10-09 Simon Pena <spena@igalia.com>
  40326. [GTK] Add support for running JavaScript from GResources
  40327. https://bugs.webkit.org/show_bug.cgi?id=98488
  40328. Reviewed by Carlos Garcia Campos.
  40329. GResources allow embedding certain resources, frequently used, in a "bundle"
  40330. which can be kept separated or stored in the binary. This patch adds
  40331. support for running JavaScript from GResources.
  40332. For this, methods run_javascript_from_gresource and
  40333. run_javascript_from_gresource_finish are added, which load the resource
  40334. asynchronously and, when it is ready, run the JavaScript.
  40335. * UIProcess/API/gtk/WebKitWebView.cpp: Include the new methods.
  40336. (resourcesStreamReadCallback):
  40337. (webkit_web_view_run_javascript_from_gresource):
  40338. (webkit_web_view_run_javascript_from_gresource_finish):
  40339. * UIProcess/API/gtk/WebKitWebView.h:
  40340. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the new
  40341. methods in the documentation.
  40342. * UIProcess/API/gtk/tests/GNUmakefile.am: Add the test resources to the
  40343. build infrastructure.
  40344. * UIProcess/API/gtk/tests/TestMain.cpp: Register the resources in the tests,
  40345. so that they can be accessed in all of them.
  40346. (register_gresource):
  40347. (main):
  40348. * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Test the
  40349. run_javascript_from_gresource method.
  40350. (testWebViewRunJavaScript):
  40351. * UIProcess/API/gtk/tests/WebViewTest.cpp: Add a method for testing the
  40352. new run_javascript_from_gresource method.
  40353. (runJavaScriptFromGResourceReadyCallback):
  40354. (WebViewTest::runJavaScriptFromGResourceAndWaitUntilFinished):
  40355. * UIProcess/API/gtk/tests/WebViewTest.h:
  40356. * UIProcess/API/gtk/tests/resources/webkit2gtk-tests.gresource.xml: Added.
  40357. Resource bundle containing the resources.
  40358. * UIProcess/API/gtk/tests/resources/webkit2gtk-tests.test.js: Added.
  40359. Example JavaScript file to test the GResources support.
  40360. 2012-10-08 Kiran Muppala <cmuppala@apple.com>
  40361. Throttle DOM timers on hidden pages.
  40362. https://bugs.webkit.org/show_bug.cgi?id=98474
  40363. Reviewed by Maciej Stachowiak.
  40364. Add HIDDEN_PAGE_DOM_TIMER_THROTTLING feature define. Use existing code of
  40365. PAGE_VISIBILITY_API to detect changes to page visibility state.
  40366. * Configurations/FeatureDefines.xcconfig:
  40367. * UIProcess/WebPageProxy.cpp:
  40368. (WebKit::WebPageProxy::WebPageProxy):
  40369. Check visibility state on construction.
  40370. (WebKit::WebPageProxy::initializeWebPage):
  40371. Send initial visibility state message if HIDDEN_PAGE_DOM_TIMER_THROTTLING
  40372. is enabled or if PAGE_VISIBILITY_API is enabled.
  40373. (WebKit::WebPageProxy::viewStateDidChange):
  40374. When PAGE_VISIBILITY_API is not enabled, compare new visibility against
  40375. WebPageProxy::m_isVisible, to minimize number of messages sent.
  40376. Remove unnecessary second call to PageClient::isViewVisible for updating
  40377. visibility state.
  40378. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  40379. (WebKit::InjectedBundle::setPageVisibilityState):
  40380. WebKitTestRunner uses this method to implement testRunner.setPageVisibility(),
  40381. hence enable it for testing hidden page timer throttling as well.
  40382. * WebProcess/WebPage/WebPage.cpp:
  40383. (WebKit):
  40384. (WebKit::WebPage::setVisibilityState):
  40385. Ensure Page::setVisibilityState is called either if PAGE_VISIBILITY_API is
  40386. enabled or if HIDDEN_PAGE_DOM_TIMER_THROTTLING is enabled.
  40387. * WebProcess/WebPage/WebPage.h:
  40388. (WebPage):
  40389. * WebProcess/WebPage/WebPage.messages.in:
  40390. 2012-10-08 Simon Fraser <simon.fraser@apple.com>
  40391. Try to fix Windows build by exporting Frame::layerTreeAsText().
  40392. * win/WebKit2.def:
  40393. 2012-10-08 Rik Cabanier <cabanier@adobe.com>
  40394. Add missing compile flag for compositing
  40395. https://bugs.webkit.org/show_bug.cgi?id=98681
  40396. Reviewed by Dirk Schulze.
  40397. This flag is needed in case there is a difference in API
  40398. when compositing is enabled
  40399. * Configurations/FeatureDefines.xcconfig:
  40400. 2012-10-08 Christophe Dumez <christophe.dumez@intel.com>
  40401. [EFL][WK2] EWK2UnitTestBase.ewk_cookie_manager_accept_policy unit test is failing
  40402. https://bugs.webkit.org/show_bug.cgi?id=98663
  40403. Reviewed by Laszlo Gombos.
  40404. EWK2UnitTestBase.ewk_cookie_manager_accept_policy unit test was
  40405. failing because the elements of a list were checked in a given
  40406. order but the list was not sorted beforehand.
  40407. * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
  40408. (sortHostNames):
  40409. (TEST_F):
  40410. 2012-10-08 Jinwoo Song <jinwoo7.song@samsung.com>
  40411. [EFL][WK2] Avoid useless converting to WKPage
  40412. https://bugs.webkit.org/show_bug.cgi?id=98516
  40413. Reviewed by Eric Seidel.
  40414. Use priv->pageProxy->findString() and priv->pageProxy->hideFindUI()
  40415. to avoid useless converting to WK.
  40416. * UIProcess/API/efl/ewk_view.cpp:
  40417. (ewk_view_text_find):
  40418. (ewk_view_text_find_highlight_clear):
  40419. 2012-10-08 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  40420. [WK2][WTR] WebKitTestRunner needs testRunner.dispatchPendingLoadRequests
  40421. https://bugs.webkit.org/show_bug.cgi?id=98638
  40422. Reviewed by Eric Seidel.
  40423. Add implementation for testRunner.dispatchPendingLoadRequests in
  40424. WebKitTestRunner.
  40425. * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
  40426. (WKBundleDispatchPendingLoadRequests):
  40427. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  40428. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  40429. (WebKit::InjectedBundle::dispatchPendingLoadRequests):
  40430. (WebKit):
  40431. * WebProcess/InjectedBundle/InjectedBundle.h:
  40432. (InjectedBundle):
  40433. 2012-10-08 Carlos Garcia Campos <cgarcia@igalia.com>
  40434. [GTK] Add a setting to enable/disable smooth scrolling to WebKit2 GTK+ API
  40435. https://bugs.webkit.org/show_bug.cgi?id=98646
  40436. Reviewed by Xan Lopez.
  40437. * UIProcess/API/gtk/WebKitSettings.cpp:
  40438. (webKitSettingsSetProperty): Implement setter for new property.
  40439. (webKitSettingsGetProperty): Implement getter for new property.
  40440. (webkit_settings_class_init): Add new property
  40441. enable-smooth-scrolling.
  40442. (webkit_settings_get_enable_smooth_scrolling):
  40443. (webkit_settings_set_enable_smooth_scrolling):
  40444. * UIProcess/API/gtk/WebKitSettings.h:
  40445. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
  40446. * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
  40447. (testWebKitSettings): Test smooth scrolling setting API.
  40448. 2012-10-08 Christophe Dumez <christophe.dumez@intel.com>
  40449. [EFL][WK2] Use URL instead of URI in the API
  40450. https://bugs.webkit.org/show_bug.cgi?id=98643
  40451. Reviewed by Kenneth Rohde Christiansen.
  40452. Use URL instead of URI in WebKit2 EFL API. This change
  40453. was discussed on the mailing list and aims at making
  40454. the API more consistent.
  40455. * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
  40456. (_Ewk_Back_Forward_List_Item):
  40457. (ewk_back_forward_list_item_url_get):
  40458. (ewk_back_forward_list_item_original_url_get):
  40459. * UIProcess/API/efl/ewk_back_forward_list_item.h:
  40460. * UIProcess/API/efl/ewk_context.cpp:
  40461. (ewk_context_url_scheme_register):
  40462. * UIProcess/API/efl/ewk_context.h:
  40463. * UIProcess/API/efl/ewk_context_download_client.cpp:
  40464. (decideDestinationWithSuggestedFilename):
  40465. * UIProcess/API/efl/ewk_download_job.h:
  40466. * UIProcess/API/efl/ewk_resource_private.h:
  40467. * UIProcess/API/efl/ewk_view.cpp:
  40468. (_Ewk_View_Private_Data):
  40469. (ewk_view_url_update):
  40470. (ewk_view_url_set):
  40471. (ewk_view_url_get):
  40472. (ewk_view_reload):
  40473. (ewk_view_reload_bypass_cache):
  40474. (ewk_view_load_finished):
  40475. (ewk_view_load_provisional_redirect):
  40476. (ewk_view_load_provisional_started):
  40477. (ewk_view_html_string_load):
  40478. * UIProcess/API/efl/ewk_view.h:
  40479. * UIProcess/API/efl/ewk_view_loader_client.cpp:
  40480. (didSameDocumentNavigationForFrame):
  40481. * UIProcess/API/efl/ewk_view_private.h:
  40482. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
  40483. (EWK2UnitTest::EWK2UnitTestBase::loadUrlSync):
  40484. (EWK2UnitTest::onURLChanged):
  40485. (EWK2UnitTest::timeOutWhileWaitingUntilURLChangedTo):
  40486. (EWK2UnitTest::EWK2UnitTestBase::waitUntilURLChangedTo):
  40487. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
  40488. (EWK2UnitTestBase):
  40489. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp:
  40490. (EWK2UnitTestServer::EWK2UnitTestServer):
  40491. (EWK2UnitTestServer::~EWK2UnitTestServer):
  40492. (EWK2UnitTestServer::getURLForPath):
  40493. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.h:
  40494. (EWK2UnitTestServer):
  40495. * UIProcess/API/efl/tests/resources/redirect_url_to_default.html: Renamed from Source/WebKit2/UIProcess/API/efl/tests/resources/redirect_uri_to_default.html.
  40496. * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
  40497. (checkItem):
  40498. (urlFromTitle):
  40499. * UIProcess/API/efl/tests/test_ewk2_context.cpp:
  40500. (TEST_F):
  40501. * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
  40502. (TEST_F):
  40503. * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
  40504. (TEST_F):
  40505. * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
  40506. (TEST_F):
  40507. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  40508. (TEST_F):
  40509. 2012-10-08 Zoltan Horvath <zoltan@webkit.org>
  40510. [Qt] r122720 causes performance regression with DirectFB on ARMv7
  40511. https://bugs.webkit.org/show_bug.cgi?id=97548
  40512. Reviewed by Jocelyn Turcotte.
  40513. Revert the rest of r122720. This change modifies the NativeImagePtr from QImage* to QPixmap*.
  40514. Covered by existing tests.
  40515. * Shared/qt/ShareableBitmapQt.cpp:
  40516. (WebKit::ShareableBitmap::createImage):
  40517. * UIProcess/qt/QtWebIconDatabaseClient.cpp:
  40518. (WebKit::QtWebIconDatabaseClient::iconImageForPageURL):
  40519. * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
  40520. (WebKit::convertQPixmapToShareableBitmap):
  40521. (WebKit::WebDragClient::startDrag):
  40522. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  40523. (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
  40524. 2012-10-08 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  40525. Unreviewed build fix after r130630
  40526. Explicit convertion is required from QSizeF to FloatSize.
  40527. * UIProcess/API/qt/qquickwebview.cpp:
  40528. (QQuickWebViewLegacyPrivate::updateViewportSize):
  40529. 2012-10-04 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  40530. [Qt] Fix the mouse hover events transformation when devicePixelRatio != 1
  40531. https://bugs.webkit.org/show_bug.cgi?id=98429
  40532. Reviewed by Kenneth Rohde Christiansen.
  40533. This prevents the events from being transformed two or three times.
  40534. This is only noticeable in desktop mode.
  40535. * UIProcess/qt/QtWebPageEventHandler.cpp:
  40536. (WebKit::QtWebPageEventHandler::handleHoverLeaveEvent):
  40537. (WebKit::QtWebPageEventHandler::handleHoverMoveEvent):
  40538. 2012-10-04 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  40539. [Qt] Apply QQuickWebViewExperimental::devicePixelRatio to the desktop mode as well
  40540. https://bugs.webkit.org/show_bug.cgi?id=98428
  40541. Reviewed by Kenneth Rohde Christiansen.
  40542. This is handled by the PageViewportController when in flickable mode.
  40543. * UIProcess/API/qt/qquickwebview.cpp:
  40544. (QQuickWebViewLegacyPrivate::updateViewportSize):
  40545. 2012-10-04 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  40546. [Qt] Prevent the PageViewportController from affecting the viewport in desktop mode
  40547. https://bugs.webkit.org/show_bug.cgi?id=98427
  40548. Reviewed by Kenneth Rohde Christiansen.
  40549. QQuickFlickable isn't tightly bound to it anymore, we can avoid creating it
  40550. completely in this case.
  40551. * UIProcess/API/qt/qquickwebview.cpp:
  40552. (QQuickWebViewFlickablePrivate::onComponentComplete):
  40553. * UIProcess/API/qt/qquickwebview_p_p.h:
  40554. (QQuickWebViewPrivate::onComponentComplete):
  40555. (QQuickWebViewPrivate::viewportController):
  40556. (QQuickWebViewPrivate):
  40557. (QQuickWebViewFlickablePrivate::viewportController):
  40558. (QQuickWebViewFlickablePrivate):
  40559. * UIProcess/qt/QtPageClient.cpp:
  40560. (WebKit::QtPageClient::didRenderFrame):
  40561. (WebKit::QtPageClient::didChangeContentsSize):
  40562. (WebKit::QtPageClient::pageTransitionViewportReady):
  40563. * UIProcess/qt/QtWebPageLoadClient.cpp:
  40564. (WebKit::QtWebPageLoadClient::didCommitLoad):
  40565. 2012-10-04 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  40566. [Qt] Fix a QSocketNotifier warning at startup
  40567. https://bugs.webkit.org/show_bug.cgi?id=98411
  40568. Reviewed by Simon Hausmann.
  40569. The actual warning:
  40570. QSocketNotifier: socket notifiers cannot be enabled from another thread
  40571. The problem was that QSocketNotifier::setEnabled was called on the main thread
  40572. after moveToThread was called. This hasn't had any effect since Connection
  40573. would dispatch a readyReadHandler call right after which would then call
  40574. setEnabled again from the correct thread from ~SocketNotifierResourceGuard.
  40575. Replace the call with a queued invoke to shut the warning.
  40576. * Platform/qt/WorkQueueQt.cpp:
  40577. (WorkQueue::registerSocketEventHandler):
  40578. 2012-10-08 Carlos Garcia Campos <cgarcia@igalia.com>
  40579. [GTK] Test /webkit2/WebKitWebView/populate-menu asserts in debug bots
  40580. https://bugs.webkit.org/show_bug.cgi?id=98507
  40581. Reviewed by Martin Robinson.
  40582. Make sure we retain the page URL before asking for the icon.
  40583. * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
  40584. (getIconSurfaceSynchronously): Retain the page URL before asking
  40585. for the icon, and release it if we fail to get an icon.
  40586. (processPendingIconsForPageURL): Renamed to make it clear it
  40587. receives a Sring and not a char* and moved
  40588. getIconSurfaceSynchronously() call out of the loop to call it only
  40589. once even if there are multiple requests pending.
  40590. (iconDataReadyForPageURLCallback): Do not retain the page URL
  40591. here.
  40592. 2012-10-08 Carlos Garcia Campos <cgarcia@igalia.com>
  40593. [GTK] Don't use the C API internally in WebKitWebContext
  40594. https://bugs.webkit.org/show_bug.cgi?id=96768
  40595. Reviewed by Martin Robinson.
  40596. Using the C++ classes directly instead of the C API wrappers we
  40597. avoid a lot of toImpl/toAPI casts, string conversions and
  40598. allocations. The code is also a lot simpler and easier to read.
  40599. * UIProcess/API/gtk/WebKitDownloadClient.cpp:
  40600. (didStart):
  40601. (didReceiveResponse):
  40602. (didReceiveData):
  40603. (decideDestinationWithSuggestedFilename):
  40604. (didCreateDestination):
  40605. (didFail):
  40606. (didCancel):
  40607. (didFinish):
  40608. (attachDownloadClientToContext):
  40609. * UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
  40610. (attachRequestManagerClientToContext):
  40611. * UIProcess/API/gtk/WebKitSecurityManager.cpp:
  40612. (registerSecurityPolicyForURIScheme):
  40613. * UIProcess/API/gtk/WebKitWebContext.cpp:
  40614. (_WebKitWebContextPrivate):
  40615. (createDefaultWebContext):
  40616. (webkit_web_context_set_cache_model):
  40617. (webkit_web_context_get_cache_model):
  40618. (webkit_web_context_clear_cache):
  40619. (webkit_web_context_download_uri):
  40620. (webkit_web_context_get_cookie_manager):
  40621. (webkit_web_context_get_favicon_database_directory):
  40622. (webkit_web_context_get_favicon_database):
  40623. (webkit_web_context_set_additional_plugins_directory):
  40624. (webkitWebContextGetPluginThread):
  40625. (webkit_web_context_register_uri_scheme):
  40626. (webkitWebContextGetOrCreateDownload):
  40627. (webkitWebContextRemoveDownload):
  40628. (webkitWebContextGetContext):
  40629. (webkitWebContextGetRequestManager):
  40630. * UIProcess/API/gtk/WebKitWebContextPrivate.h:
  40631. * UIProcess/API/gtk/WebKitWebView.cpp:
  40632. (webkitWebViewConstructed):
  40633. 2012-10-07 Kangil Han <kangil.han@samsung.com>
  40634. [EFL][WK2] Fix unused parameter compile warning.
  40635. https://bugs.webkit.org/show_bug.cgi?id=98610
  40636. Reviewed by Laszlo Gombos.
  40637. Fixed unused parameter compile warning by removing initiatingPageRef parameter name.
  40638. * UIProcess/API/efl/ewk_context_request_manager_client.cpp:
  40639. (didReceiveURIRequest):
  40640. 2012-10-07 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
  40641. Rename first/second to key/value in HashMap iterators
  40642. https://bugs.webkit.org/show_bug.cgi?id=82784
  40643. Reviewed by Eric Seidel.
  40644. * Platform/CoreIPC/ArgumentCoders.h:
  40645. * Platform/CoreIPC/Connection.cpp:
  40646. (CoreIPC::Connection::SyncMessageState::getOrCreate):
  40647. (CoreIPC::Connection::waitForMessage):
  40648. (CoreIPC::Connection::processIncomingMessage):
  40649. * Platform/gtk/WorkQueueGtk.cpp:
  40650. (WorkQueue::registerEventSourceHandler):
  40651. (WorkQueue::unregisterEventSourceHandler):
  40652. * Platform/mac/WorkQueueMac.cpp:
  40653. (WorkQueue::unregisterMachPortEventHandler):
  40654. * Shared/Plugins/NPRemoteObjectMap.cpp:
  40655. (WebKit::NPRemoteObjectMap::pluginDestroyed):
  40656. * Shared/UserMessageCoders.h:
  40657. (WebKit::UserMessageEncoder::baseEncode):
  40658. * Shared/WebPreferencesStore.cpp:
  40659. (WebKit::valueForKey):
  40660. (WebKit::WebPreferencesStore::getBoolValueForKey):
  40661. * Shared/mac/WebCoreArgumentCodersMac.mm:
  40662. (CoreIPC::::decode):
  40663. * Shared/qt/ArgumentCodersQt.cpp:
  40664. (CoreIPC::::decode):
  40665. * Shared/soup/WebCoreArgumentCodersSoup.cpp:
  40666. (CoreIPC::::decode):
  40667. * UIProcess/API/efl/ewk_back_forward_list.cpp:
  40668. (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
  40669. * UIProcess/API/efl/ewk_context.cpp:
  40670. (_Ewk_Context::~_Ewk_Context):
  40671. * UIProcess/API/efl/ewk_view.cpp:
  40672. (_ewk_view_priv_loading_resources_clear):
  40673. * UIProcess/API/gtk/WebKitWebView.cpp:
  40674. (webkit_web_view_get_subresources):
  40675. * UIProcess/API/gtk/WebKitWebViewBase.cpp:
  40676. (webkitWebViewBaseContainerForall):
  40677. * UIProcess/API/mac/WKPrintingView.mm:
  40678. (-[WKPrintingView _expectedPreviewCallbackForRect:]):
  40679. (pageDidDrawToPDF):
  40680. (-[WKPrintingView _drawPreview:]):
  40681. * UIProcess/API/mac/WKView.mm:
  40682. (commandNameForSelector):
  40683. (-[WKView validateUserInterfaceItem:]):
  40684. * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  40685. (WebKit::CoordinatedBackingStore::updateTile):
  40686. (WebKit::CoordinatedBackingStore::texture):
  40687. (WebKit::CoordinatedBackingStore::paintToTextureMapper):
  40688. (WebKit::CoordinatedBackingStore::commitTileOperations):
  40689. * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
  40690. (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
  40691. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  40692. (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
  40693. (WebKit::LayerTreeRenderer::syncCanvas):
  40694. (WebKit::LayerTreeRenderer::setLayerChildren):
  40695. (WebKit::LayerTreeRenderer::setLayerFilters):
  40696. (WebKit::LayerTreeRenderer::setLayerState):
  40697. (WebKit::LayerTreeRenderer::assignImageToLayer):
  40698. * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
  40699. (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
  40700. * UIProcess/InspectorServer/WebInspectorServer.cpp:
  40701. (WebKit::WebInspectorServer::~WebInspectorServer):
  40702. (WebKit::WebInspectorServer::registerPage):
  40703. * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
  40704. (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
  40705. * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
  40706. (WebKit::WebInspectorServer::buildPageList):
  40707. * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
  40708. (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
  40709. * UIProcess/Plugins/PluginProcessProxy.cpp:
  40710. (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
  40711. * UIProcess/WebContext.cpp:
  40712. (WebKit::createDictionaryFromHashMap):
  40713. * UIProcess/WebIconDatabase.cpp:
  40714. (WebKit::WebIconDatabase::didFinishURLImport):
  40715. * UIProcess/WebIntentData.cpp:
  40716. (WebKit::WebIntentData::extras):
  40717. * UIProcess/WebProcessProxy.cpp:
  40718. (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
  40719. (WebKit::WebProcessProxy::addBackForwardItem):
  40720. (WebKit::WebProcessProxy::frameCountInPage):
  40721. * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
  40722. (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
  40723. (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
  40724. * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
  40725. (WebKit::InjectedBundleNodeHandle::getOrCreate):
  40726. * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
  40727. (WebKit::InjectedBundleRangeHandle::getOrCreate):
  40728. * WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
  40729. (WebKit::InjectedBundleIntent::extras):
  40730. * WebProcess/Notifications/WebNotificationManager.cpp:
  40731. (WebKit::WebNotificationManager::policyForOrigin):
  40732. (WebKit::WebNotificationManager::show):
  40733. (WebKit::WebNotificationManager::clearNotifications):
  40734. (WebKit::WebNotificationManager::removeNotificationFromContextMap):
  40735. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
  40736. (WebKit::NPRuntimeObjectMap::invalidate):
  40737. * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
  40738. (WebKit::NetscapePlugin::destroyStream):
  40739. (WebKit::NetscapePlugin::frameDidFinishLoading):
  40740. (WebKit::NetscapePlugin::frameDidFail):
  40741. * WebProcess/Plugins/PluginView.cpp:
  40742. (WebKit::buildHTTPHeaders):
  40743. (WebKit::PluginView::~PluginView):
  40744. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  40745. (WebCore::CoordinatedGraphicsLayer::layerByID):
  40746. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  40747. (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
  40748. (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
  40749. * WebProcess/WebPage/WebBackForwardListProxy.cpp:
  40750. (WebKit::WebBackForwardListProxy::removeItem):
  40751. * WebProcess/WebPage/mac/WebPageMac.mm:
  40752. (WebKit::commandNameForSelectorName):
  40753. * WebProcess/WebProcess.cpp:
  40754. (WebKit::WebProcess::visitedLinkStateChanged):
  40755. (WebKit::WebProcess::allVisitedLinkStateChanged):
  40756. (WebKit::WebProcess::focusedWebPage):
  40757. (WebKit::WebProcess::createWebPage):
  40758. (WebKit::WebProcess::webPageGroup):
  40759. (WebKit::fromCountedSetToHashMap):
  40760. (WebKit::WebProcess::setTextCheckerState):
  40761. 2012-10-07 Dan Bernstein <mitz@apple.com>
  40762. Web process XPC services don't have correct version information in their Info.plist files
  40763. https://bugs.webkit.org/show_bug.cgi?id=98619
  40764. Reviewed by Anders Carlsson.
  40765. * WebProcessService/Info.plist: Added CFBundleGetInfoString, and changed
  40766. CFBundleShortVersionString and CFBundleVersion to report the source version.
  40767. * WebProcessServiceForWebKitDevelopment/Info.plist: Ditto.
  40768. 2012-10-06 Dan Bernstein <mitz@apple.com>
  40769. WebKit2 part of <rdar://problem/12446507> [mac] WebKit clients cannot change the behavior of text-rendering: auto
  40770. https://bugs.webkit.org/show_bug.cgi?id=98601
  40771. Reviewed by Darin Adler.
  40772. * Shared/WebProcessCreationParameters.cpp:
  40773. (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Added initializer for
  40774. to shouldEnableKerningAndLigaturesByDefault. The initial value is false.
  40775. (WebKit::WebProcessCreationParameters::encode): Added encoding of
  40776. shouldEnableKerningAndLigaturesByDefault.
  40777. (WebKit::WebProcessCreationParameters::decode): Added decoding of
  40778. shouldEnableKerningAndLigaturesByDefault.
  40779. * Shared/WebProcessCreationParameters.h:
  40780. (WebProcessCreationParameters): Added shouldEnableKerningAndLigaturesByDefault boolean
  40781. member variable.
  40782. * UIProcess/mac/WebContextMac.mm:
  40783. (WebKit::WebContext::platformInitializeWebProcess): Changed to set
  40784. shouldEnableKerningAndLigaturesByDefault in the process creation parameters according to
  40785. the value of the WebKitKerningAndLigaturesEnabledByDefault user defaults key.
  40786. * WebProcess/mac/WebProcessMac.mm:
  40787. (WebKit::WebProcess::platformInitializeWebProcess): Added a call to
  40788. Font::setDefaultTypesettingFeatures() to enable kerning and ligatures if requested in the
  40789. process creation parameters.
  40790. 2012-10-05 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  40791. [WK2][WTR] WebKitTestRunner needs testRunner.setSerializeHTTPLoads
  40792. https://bugs.webkit.org/show_bug.cgi?id=98524
  40793. Reviewed by Alexey Proskuryakov.
  40794. Add implementation for testRunner.setSerializeHTTPLoads in
  40795. WebKitTestRunner.
  40796. * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
  40797. (WKBundleSetSerialLoadingEnabled):
  40798. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  40799. * WebProcess/InjectedBundle/InjectedBundle.cpp:
  40800. (WebKit::InjectedBundle::setSerialLoadingEnabled):
  40801. (WebKit):
  40802. * WebProcess/InjectedBundle/InjectedBundle.h:
  40803. (InjectedBundle):
  40804. 2012-10-05 Sheriff Bot <webkit.review.bot@gmail.com>
  40805. Unreviewed, rolling out r130556 and r130564.
  40806. http://trac.webkit.org/changeset/130556
  40807. http://trac.webkit.org/changeset/130564
  40808. https://bugs.webkit.org/show_bug.cgi?id=98572
  40809. The patch wasn't reviewed by a reviewer and it is breaking
  40810. Chromium Windows (Requested by jchaffraix on #webkit).
  40811. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
  40812. (InitWebCoreSystemInterface):
  40813. 2012-10-05 Sam Weinig <sam@webkit.org>
  40814. Set the current working directory to TMPDIR when entering the sandbox in the plug-in process.
  40815. Based on a patch by Ivan Krstić.
  40816. Reviewed by Anders Carlsson.
  40817. * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
  40818. (enterSandbox):
  40819. 2012-10-05 Tim Horton <timothy_horton@apple.com>
  40820. [cg] GraphicsContextCG should ask CG whether the shadow offset workaround is required
  40821. https://bugs.webkit.org/show_bug.cgi?id=98565
  40822. <rdar://problem/12436468>
  40823. Reviewed by Simon Fraser.
  40824. Add wkCGContextDrawsWithCorrectShadowOffsets.
  40825. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
  40826. (InitWebCoreSystemInterface):
  40827. 2012-10-04 Eric Carlson <eric.carlson@apple.com>
  40828. Allow ports to override text track rendering style
  40829. https://bugs.webkit.org/show_bug.cgi?id=97800
  40830. <rdar://problem/12044964>
  40831. Reviewed by Silvia Pfeiffer.
  40832. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
  40833. (InitWebCoreSystemInterface): Initialize new WKSI function pointers.
  40834. 2012-10-05 José Dapena Paz <jdapena@igalia.com>
  40835. [GTK] Add support for creating EGL contexts
  40836. https://bugs.webkit.org/show_bug.cgi?id=77921
  40837. Reviewed by Martin Robinson.
  40838. This patch adds support for EGL, using OpenGL and OpenGL ES 2. Both
  40839. options are set up on compile time, with the configure options
  40840. --enable-egl and --enable-gles2.
  40841. The implementation only adds support for EGL on top of X11, to
  40842. isolate the changes to the minimum. More changes should come
  40843. later to enable EGL for other targets (as Wayland).
  40844. * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
  40845. 2012-10-04 Jon Lee <jonlee@apple.com>
  40846. Add a setting to enable plugin snapshotting
  40847. https://bugs.webkit.org/show_bug.cgi?id=98319
  40848. <rdar://problem/12426480>
  40849. Reviewed by Brady Eidson.
  40850. Expose plugInSnapshottingEnabled preference to WebKit clients.
  40851. * Shared/WebPreferencesStore.h:
  40852. (WebKit):
  40853. * UIProcess/API/C/WKPreferences.cpp:
  40854. (WKPreferencesSetPlugInSnapshottingEnabled):
  40855. (WKPreferencesGetPlugInSnapshottingEnabled):
  40856. * UIProcess/API/C/WKPreferences.h:
  40857. * WebProcess/WebPage/WebPage.cpp:
  40858. (WebKit::WebPage::updatePreferences): Update preference based on store.
  40859. 2012-10-05 Balazs Kelemen <kbalazs@webkit.org>
  40860. [Qt][WK2] Plugins are completely broken with a custom device pixel ratio
  40861. https://bugs.webkit.org/show_bug.cgi?id=98518
  40862. Reviewed by Kenneth Rohde Christiansen.
  40863. Implement painting with scale factor in ShareableBitmap.
  40864. The backing store of the plugin are still overscaled in MiniBrowser
  40865. with this patch but this is only the effect of the fake device scale
  40866. factor defined in qml (1.5). We should probably remove it on desktop.
  40867. * Shared/qt/ShareableBitmapQt.cpp:
  40868. (WebKit::ShareableBitmap::paint):
  40869. 2012-10-05 Christophe Dumez <christophe.dumez@intel.com>
  40870. [EFL] Unskip fullscreen unit tests for EwkView
  40871. https://bugs.webkit.org/show_bug.cgi?id=98509
  40872. Reviewed by Kenneth Rohde Christiansen.
  40873. Update 2 fullscreen unit tests for EwkView so that
  40874. they don't require a call to ecore_evas_fullscreen_set()
  40875. to succeed. ecore_evas_fullscreen_set() does not
  40876. seem to work in Xvfb and causes the tests to hang.
  40877. With this update, we can now run those tests again.
  40878. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  40879. (TEST_F):
  40880. 2012-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
  40881. [GTK] Test /webkit2/WebKitPrintOperation/print-errors gives runtime critical warnings
  40882. https://bugs.webkit.org/show_bug.cgi?id=98497
  40883. Reviewed by Martin Robinson.
  40884. The problem is that GTK+ tries to write in the IO channel that has
  40885. already been closed.
  40886. * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
  40887. (WebKit::WebPrintOperationGtk::print): Finish the surface when
  40888. printing fails because printing data is invalid.
  40889. 2012-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
  40890. [GTK] Test /webkit2/WebKitWebResource/response fails
  40891. https://bugs.webkit.org/show_bug.cgi?id=98511
  40892. Reviewed by Martin Robinson.
  40893. Do not consider the favicon as a resource for the web resources
  40894. unit tests.
  40895. * UIProcess/API/gtk/tests/TestResources.cpp:
  40896. 2012-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
  40897. REGRESSION (r129989 - r130019): [WK2] TestResources test is failing
  40898. https://bugs.webkit.org/show_bug.cgi?id=98342
  40899. Reviewed by Martin Robinson.
  40900. Return 404 error in unit tests using a HTTP server for paths not
  40901. handled by the test. This way all tests should return now a 404
  40902. for /favicon.ico.
  40903. * UIProcess/API/gtk/tests/TestBackForwardList.cpp:
  40904. (serverCallback):
  40905. * UIProcess/API/gtk/tests/TestCookieManager.cpp:
  40906. (serverCallback):
  40907. * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
  40908. (serverCallback):
  40909. * UIProcess/API/gtk/tests/TestResources.cpp:
  40910. (serverCallback):
  40911. * UIProcess/API/gtk/tests/TestSSL.cpp:
  40912. (serverCallback):
  40913. * UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp:
  40914. (serverCallback):
  40915. * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
  40916. (serverCallback):
  40917. * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
  40918. (serverCallback):
  40919. 2012-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
  40920. [WK2][SOUP] Assertion hit in WebKit::DownloadManager::downloadFinished() when download fails
  40921. https://bugs.webkit.org/show_bug.cgi?id=97565
  40922. Reviewed by Gustavo Noronha Silva.
  40923. Make sure to notify the downlaod client that the response has been
  40924. received when the newly created download has already been added to
  40925. the DownloadManager downloads map.
  40926. * WebProcess/Downloads/soup/DownloadSoup.cpp:
  40927. (WebKit::DownloadClient::DownloadClient): Initialize
  40928. m_handleResponseLaterID.
  40929. (WebKit::DownloadClient::~DownloadClient): Remove the source for
  40930. the delayed response notification if it hasn't been triggered.
  40931. (WebKit::DownloadClient::didReceiveData): If response hasn't been
  40932. handled yet, remove the source for the delayed response
  40933. notification and handle the resource before start writing the data
  40934. received to the output stream.
  40935. (WebKit::DownloadClient::handleResponse): Call
  40936. didReceiveResponse() with the delayed response.
  40937. (WebKit::DownloadClient::handleResponseLaterCallback): Call
  40938. handleResponse().
  40939. (WebKit::DownloadClient::handleResponseLater): Schedule an idle
  40940. callback to handle the response later, to make sure the download
  40941. has been added to the downloads map.
  40942. (WebKit::Download::startWithHandle): Call handleResponseLater()
  40943. with the given response to handle the response when the download
  40944. has been added to the downloads map.
  40945. 2012-10-05 Jongseok Yang <js45.yang@samsung.com>
  40946. [EFL][WK2] Remove "web" word from ewk_web_error APIs
  40947. https://bugs.webkit.org/show_bug.cgi?id=97886
  40948. Reviewed by Gyuyoung Kim.
  40949. Remove "web" word from ewk_web_error APIs.
  40950. "web" word was redundant because "ewk" means "EFL WebKit" and WK APIs for error does not have "web" word.
  40951. * PlatformEfl.cmake:
  40952. * UIProcess/API/efl/EWebKit2.h:
  40953. * UIProcess/API/efl/ewk_context_download_client.cpp:
  40954. (didFail):
  40955. * UIProcess/API/efl/ewk_cookie_manager.cpp:
  40956. (getAcceptPolicyCallback):
  40957. (getHostnamesWithCookiesCallback):
  40958. * UIProcess/API/efl/ewk_cookie_manager.h:
  40959. * UIProcess/API/efl/ewk_download_job_private.h:
  40960. * UIProcess/API/efl/ewk_error.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_error.cpp.
  40961. (_Ewk_Error):
  40962. (_Ewk_Error::_Ewk_Error):
  40963. (_Ewk_Error::~_Ewk_Error):
  40964. (ewk_error_free):
  40965. (ewk_error_type_get):
  40966. (ewk_error_url_get):
  40967. (ewk_error_code_get):
  40968. (ewk_error_description_get):
  40969. (ewk_error_cancellation_get):
  40970. (ewk_error_new):
  40971. * UIProcess/API/efl/ewk_error.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_error.h.
  40972. * UIProcess/API/efl/ewk_error_private.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_error_private.h.
  40973. * UIProcess/API/efl/ewk_view.cpp:
  40974. (ewk_view_resource_load_failed):
  40975. (ewk_view_download_job_failed):
  40976. (ewk_view_load_error):
  40977. (ewk_view_load_provisional_failed):
  40978. * UIProcess/API/efl/ewk_view.h:
  40979. * UIProcess/API/efl/ewk_view_loader_client.cpp:
  40980. (didFailLoadWithErrorForFrame):
  40981. (didFailProvisionalLoadWithErrorForFrame):
  40982. * UIProcess/API/efl/ewk_view_private.h:
  40983. * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
  40984. (didFailLoadForResource):
  40985. * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
  40986. (getAcceptPolicyCallback):
  40987. (getHostnamesWithCookiesCallback):
  40988. * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
  40989. (on_download_failed):
  40990. 2012-10-05 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  40991. [WK2][GTK] WebPageAccessibilityObject leaking
  40992. https://bugs.webkit.org/show_bug.cgi?id=98502
  40993. Reviewed by Carlos Garcia Campos.
  40994. Use GRefPtr on the accessibility object to fix the leak.
  40995. * WebProcess/WebPage/WebPage.h:
  40996. (WebPage):
  40997. * WebProcess/WebPage/gtk/WebPageGtk.cpp:
  40998. (WebKit::WebPage::platformInitialize):
  40999. (WebKit::WebPage::updateAccessibilityTree):
  41000. 2012-10-05 Jinwoo Song <jinwoo7.song@samsung.com>
  41001. [EFL][WK2] Add API to count the matching text
  41002. https://bugs.webkit.org/show_bug.cgi?id=97873
  41003. Reviewed by Gyuyoung Kim.
  41004. Add an API, ewk_view_text_matches_count(), to count the matched text in the document.
  41005. This API does not highlight the matched text in the document unlike ewk_view_text_find().
  41006. ewk_view_text_find() finds the matching text and but also update the UI view,
  41007. but some applications may not want to affect the view, and just want to know the count.
  41008. * UIProcess/API/efl/ewk_view.cpp:
  41009. (ewk_view_text_matches_count):
  41010. * UIProcess/API/efl/ewk_view.h:
  41011. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  41012. (TEST_F):
  41013. 2012-10-05 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
  41014. [WK2][GTK][EFL] standard_output returned by g_spawn_sync must be freed
  41015. https://bugs.webkit.org/show_bug.cgi?id=98384
  41016. Reviewed by Gyuyoung Kim.
  41017. Free the standard_output returned by g_spawn_sync() to avoid
  41018. a memory leak.
  41019. * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
  41020. (WebKit::PluginProcessProxy::scanPlugin):
  41021. 2012-10-05 Jongseok Yang <js45.yang@samsung.com>
  41022. [EFL][WK2] Remove "web" word from ewk_resource APIs
  41023. https://bugs.webkit.org/show_bug.cgi?id=97887
  41024. Reviewed by Gyuyoung Kim.
  41025. Remove "web" word from ewk_web_resource APIs.
  41026. "web" word was redundant because "ewk" means "EFL WebKit" and enough to understand the meaning with ewk_resource_XXX.
  41027. * PlatformEfl.cmake:
  41028. * UIProcess/API/efl/EWebKit2.h:
  41029. * UIProcess/API/efl/ewk_resource.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_resource.cpp.
  41030. (_Ewk_Resource):
  41031. (_Ewk_Resource::_Ewk_Resource):
  41032. (_Ewk_Resource::~_Ewk_Resource):
  41033. (ewk_resource_ref):
  41034. (ewk_resource_unref):
  41035. (ewk_resource_url_get):
  41036. (ewk_resource_new):
  41037. (ewk_resource_main_resource_get):
  41038. * UIProcess/API/efl/ewk_resource.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_resource.h.
  41039. * UIProcess/API/efl/ewk_resource_private.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_resource_private.h.
  41040. * UIProcess/API/efl/ewk_view.cpp:
  41041. (_ewk_view_priv_loading_resources_clear):
  41042. (ewk_view_resource_load_initiated):
  41043. (ewk_view_resource_load_response):
  41044. (ewk_view_resource_load_failed):
  41045. (ewk_view_resource_load_finished):
  41046. (ewk_view_resource_request_sent):
  41047. * UIProcess/API/efl/ewk_view.h:
  41048. * UIProcess/API/efl/ewk_view_private.h:
  41049. * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
  41050. (didInitiateLoadForResource):
  41051. 2012-10-04 Ryuan Choi <ryuan.choi@samsung.com>
  41052. [EFL][WK2] ewk_web_error_free is not a public API
  41053. https://bugs.webkit.org/show_bug.cgi?id=98482
  41054. Reviewed by Gyuyoung Kim.
  41055. Because Ewk_Web_Error is just passed as a parameter of callback function
  41056. and maintained internally, ewk_web_error_free should not be a public API.
  41057. This patch moves ewk_web_error_free from public header to private header.
  41058. * UIProcess/API/efl/ewk_context_download_client.cpp:
  41059. * UIProcess/API/efl/ewk_view_loader_client.cpp:
  41060. * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
  41061. * UIProcess/API/efl/ewk_web_error.cpp:
  41062. * UIProcess/API/efl/ewk_web_error.h:
  41063. * UIProcess/API/efl/ewk_web_error_private.h:
  41064. 2012-10-04 Christophe Dumez <christophe.dumez@intel.com>
  41065. [EFL][WK2] Implement window frame callbacks in UIClient
  41066. https://bugs.webkit.org/show_bug.cgi?id=98280
  41067. Reviewed by Kenneth Rohde Christiansen.
  41068. Implement callbacks to set and query window geometry
  41069. in EwkView's UIClient.
  41070. * UIProcess/API/efl/ewk_view_ui_client.cpp:
  41071. (getWindowFrame):
  41072. (setWindowFrame):
  41073. (ewk_view_ui_client_attach):
  41074. * UIProcess/API/efl/tests/resources/window_move_resize.html: Added.
  41075. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  41076. (windowMoveResizeTimedOut):
  41077. (TEST_F): Add corresponding unit test.
  41078. 2012-10-04 Rik Cabanier <cabanier@adobe.com>
  41079. Turn Compositing on by default in WebKit build
  41080. https://bugs.webkit.org/show_bug.cgi?id=98315
  41081. Reviewed by Simon Fraser.
  41082. enable -webkit-blend-mode on trunk.
  41083. * Configurations/FeatureDefines.xcconfig:
  41084. 2012-10-04 Simon Fraser <simon.fraser@apple.com>
  41085. Fix the Qt build by removing an errant paste at the top of the file.
  41086. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  41087. 2012-10-04 Ryuan Choi <ryuan.choi@samsung.com>
  41088. [EFL][WK2] Add APIs to get/set the frame flattening.
  41089. https://bugs.webkit.org/show_bug.cgi?id=95982
  41090. Reviewed by Gyuyoung Kim.
  41091. Added new APIs and test case to support frame flattening.
  41092. * UIProcess/API/efl/ewk_settings.cpp:
  41093. (ewk_settings_enable_frame_flattening_set):
  41094. (ewk_settings_enable_frame_flattening_get):
  41095. * UIProcess/API/efl/ewk_settings.h:
  41096. * UIProcess/API/efl/tests/resources/frame_flattening_test.html: Added.
  41097. * UIProcess/API/efl/tests/resources/frame_flattening_test_subframe.html: Added.
  41098. * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
  41099. (TEST_F):
  41100. 2012-10-04 Simon Fraser <simon.fraser@apple.com>
  41101. TiledCoreAnimationDrawingArea.mm should not include RenderLayerCompositor.h
  41102. https://bugs.webkit.org/show_bug.cgi?id=98471
  41103. Reviewed by Dean Jackson.
  41104. Remove #import of <WebCore/RenderLayerCompositor.h> from this file.
  41105. It is not required.
  41106. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  41107. 2012-10-04 Simon Fraser <simon.fraser@apple.com>
  41108. Final part of "sync" to "flush" renaming
  41109. https://bugs.webkit.org/show_bug.cgi?id=98430
  41110. Reviewed by Tim Horton.
  41111. Change method names on GraphicsLayer and GraphicsLayerClient that
  41112. refer to "sync" to use the term "flush" instead, to be consistent
  41113. with the rest of the code.
  41114. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
  41115. (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
  41116. (WebKit::LayerTreeRenderer::flushLayerChanges):
  41117. * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  41118. (WebKit::LayerTreeRenderer::notifyFlushRequired):
  41119. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
  41120. (WebCore::CoordinatedGraphicsLayer::didChangeLayerState):
  41121. (WebCore::CoordinatedGraphicsLayer::didChangeAnimatedProperties):
  41122. (WebCore::CoordinatedGraphicsLayer::didChangeChildren):
  41123. (WebCore::CoordinatedGraphicsLayer::didChangeFilters):
  41124. (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
  41125. (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
  41126. (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
  41127. (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
  41128. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
  41129. (CoordinatedGraphicsLayer):
  41130. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  41131. (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
  41132. (WebKit::LayerTreeCoordinator::notifyFlushRequired):
  41133. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
  41134. (LayerTreeCoordinator):
  41135. * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
  41136. (WebKit::LayerTreeHostCA::notifyFlushRequired):
  41137. (WebKit::LayerTreeHostCA::flushPendingLayerChanges):
  41138. * WebProcess/WebPage/ca/LayerTreeHostCA.h:
  41139. (LayerTreeHostCA):
  41140. * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
  41141. (WebKit::LayerTreeHostGtk::notifyFlushRequired):
  41142. (WebKit::LayerTreeHostGtk::flushPendingLayerChanges):
  41143. * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
  41144. (LayerTreeHostGtk):
  41145. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  41146. (TiledCoreAnimationDrawingArea):
  41147. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  41148. (WebKit::TiledCoreAnimationDrawingArea::notifyFlushRequired):
  41149. (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
  41150. 2012-10-04 Christophe Dumez <christophe.dumez@intel.com>
  41151. [EFL][WK2] Implement PageClientImpl::isViewVisible()
  41152. https://bugs.webkit.org/show_bug.cgi?id=98249
  41153. Reviewed by Kenneth Rohde Christiansen.
  41154. Implement PageClientImpl::isViewVisible() for EFL port
  41155. by calling evas_object_visible_get() on the view.
  41156. * UIProcess/API/efl/PageClientImpl.cpp:
  41157. (WebKit::PageClientImpl::isViewVisible):
  41158. 2012-10-04 Alexey Proskuryakov <ap@apple.com>
  41159. Improve initial empty process tracking
  41160. https://bugs.webkit.org/show_bug.cgi?id=98458
  41161. Reviewed by Sam Weinig.
  41162. * UIProcess/WebContext.cpp: (WebKit::WebContext::disconnectProcess):
  41163. Unset m_haveInitialEmptyProcess if we no longer do.
  41164. 2012-10-03 Benjamin Poulain <bpoulain@apple.com>
  41165. [WK2] Support all attributes of GeolocationPosition
  41166. https://bugs.webkit.org/show_bug.cgi?id=98212
  41167. Reviewed by Sam Weinig.
  41168. Add complete support for GeolocationPosition.
  41169. * Shared/WebGeolocationPosition.cpp:
  41170. (WebKit::WebGeolocationPosition::WebGeolocationPosition):
  41171. (WebKit::WebGeolocationPosition::Data::encode):
  41172. (WebKit::WebGeolocationPosition::Data::decode):
  41173. * Shared/WebGeolocationPosition.h:
  41174. (Data):
  41175. (WebKit::WebGeolocationPosition::create):
  41176. (WebKit::WebGeolocationPosition::canProvideAltitude):
  41177. (WebKit::WebGeolocationPosition::altitude):
  41178. (WebGeolocationPosition):
  41179. (WebKit::WebGeolocationPosition::canProvideAltitudeAccuracy):
  41180. (WebKit::WebGeolocationPosition::altitudeAccuracy):
  41181. (WebKit::WebGeolocationPosition::canProvideHeading):
  41182. (WebKit::WebGeolocationPosition::heading):
  41183. (WebKit::WebGeolocationPosition::canProvideSpeed):
  41184. (WebKit::WebGeolocationPosition::speed):
  41185. WebGeolocationPosition mirror the attributes of WebCore::GeolocationPosition.
  41186. * UIProcess/API/C/WKGeolocationPosition.cpp:
  41187. (WKGeolocationPositionCreate):
  41188. (WKGeolocationPositionCreate_b):
  41189. Add a new API exposing all the arguments.
  41190. * UIProcess/API/C/WKGeolocationPosition.h:
  41191. * WebProcess/Geolocation/WebGeolocationManager.cpp:
  41192. (WebKit::WebGeolocationManager::didChangePosition):
  41193. 2012-10-04 Simon Fraser <simon.fraser@apple.com>
  41194. Standardize on "flush" terminology for compositing layer flushing/syncing
  41195. https://bugs.webkit.org/show_bug.cgi?id=98321
  41196. Reviewed by Simon Fraser.
  41197. Rename compositing-related methods that refer to "syncing" to instead
  41198. refer to "flushing".
  41199. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  41200. (WebKit::WebChromeClient::scheduleCompositingLayerFlush):
  41201. * WebProcess/WebCoreSupport/WebChromeClient.h:
  41202. (WebChromeClient):
  41203. * WebProcess/WebPage/DrawingArea.h:
  41204. (DrawingArea):
  41205. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  41206. (WebKit::DrawingAreaImpl::scheduleCompositingLayerFlush):
  41207. * WebProcess/WebPage/DrawingAreaImpl.h:
  41208. (DrawingAreaImpl):
  41209. * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
  41210. (WebKit::LayerTreeHostCA::flushPendingLayerChanges):
  41211. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  41212. (TiledCoreAnimationDrawingArea):
  41213. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  41214. (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerFlush):
  41215. (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
  41216. (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
  41217. (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
  41218. (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
  41219. 2012-10-04 Christophe Dumez <christophe.dumez@intel.com>
  41220. [EFL][WK2] Add setting to allow file access from file:// URLs
  41221. https://bugs.webkit.org/show_bug.cgi?id=98121
  41222. Reviewed by Laszlo Gombos.
  41223. Add Ewk setting to set / query permission to access
  41224. files from file:// URLs.
  41225. * UIProcess/API/efl/ewk_settings.cpp:
  41226. (ewk_settings_file_access_from_file_urls_allowed_set):
  41227. (ewk_settings_file_access_from_file_urls_allowed_get):
  41228. * UIProcess/API/efl/ewk_settings.h:
  41229. * UIProcess/API/efl/tests/resources/local_file_access.html: Added.
  41230. * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
  41231. (TEST_F): Add unit tests for new ewk setting.
  41232. 2012-10-04 Christophe Dumez <christophe.dumez@intel.com>
  41233. [EFL] Run unit tests with Xvfb
  41234. https://bugs.webkit.org/show_bug.cgi?id=98389
  41235. Reviewed by Laszlo Gombos.
  41236. * UIProcess/API/efl/ewk_main.cpp:
  41237. (ewk_init): Call ecore_evas_shutdown() instead of
  41238. edje_shutdown() when ecore_x_init() fails.
  41239. (ewk_shutdown): Remove extra call to edje_shutdown().
  41240. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  41241. (TEST_F): Temporarily disable fullscreen unit tests
  41242. until we get them working with Xvfb.
  41243. 2012-10-04 Balazs Kelemen <kbalazs@webkit.org>
  41244. Don't allow compositing to be disabled in forced compositing mode
  41245. https://bugs.webkit.org/show_bug.cgi?id=98048
  41246. Reviewed by Jocelyn Turcotte.
  41247. Export Settings::setAcceleratedCompositingEnabled because it has been deinlined.
  41248. * win/WebKit2.def:
  41249. * win/WebKit2CFLite.def:
  41250. 2012-10-04 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
  41251. [Qt] Fix the tst_QQuickWebView::scrollRequest auto test
  41252. https://bugs.webkit.org/show_bug.cgi?id=98045
  41253. Reviewed by Simon Hausmann.
  41254. Relying on QQuickWebViewPrivate::setNeedsDisplay can cause a false positive
  41255. emission of the loadVisuallyCommitted signal since this method is also
  41256. called when a layer is deleted or when the root layer changes.
  41257. Move the signal emission to QQuickWebViewPrivate::didRenderFrame which
  41258. is called only after a DidRenderFrame message has been received from the
  41259. web process.
  41260. * UIProcess/API/qt/qquickwebview.cpp:
  41261. (QQuickWebViewPrivate::setNeedsDisplay):
  41262. (QQuickWebViewPrivate::didRenderFrame):
  41263. * UIProcess/API/qt/qquickwebview_p_p.h:
  41264. (QQuickWebViewPrivate):
  41265. * UIProcess/qt/QtPageClient.cpp:
  41266. (WebKit::QtPageClient::didRenderFrame):
  41267. 2012-10-04 Christophe Dumez <christophe.dumez@intel.com>
  41268. Regression(r130363): Broke unit tests
  41269. https://bugs.webkit.org/show_bug.cgi?id=98341
  41270. Reviewed by Gyuyoung Kim.
  41271. Fix WebKit2 EFL to use X11 as well.
  41272. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
  41273. (EWK2UnitTest::EWK2UnitTestBase::SetUp):
  41274. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
  41275. (EWK2UnitTest::EWK2UnitTestEnvironment::EWK2UnitTestEnvironment):
  41276. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
  41277. (EWK2UnitTestEnvironment):
  41278. * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp:
  41279. (main):
  41280. * UIProcess/API/efl/tests/test_ewk2_view.cpp:
  41281. (checkFullScreenProperty):
  41282. 2012-10-03 Christophe Dumez <christophe.dumez@intel.com>
  41283. [EFL] Enable use of X11 in DumpRenderTree / WebKitTestRunner
  41284. https://bugs.webkit.org/show_bug.cgi?id=98231
  41285. Reviewed by Gyuyoung Kim.
  41286. Initialize ecore_x library in ewk_main instead of
  41287. WebKitTestRunner since WebKit is using ecore_x
  41288. not WebKitTestRunner itself.
  41289. * UIProcess/API/efl/ewk_main.cpp:
  41290. (ewk_init):
  41291. (ewk_shutdown):
  41292. 2012-10-03 Kangil Han <kangil.han@samsung.com>
  41293. Fix unused parameter compile warnings.
  41294. https://bugs.webkit.org/show_bug.cgi?id=98243
  41295. Reviewed by Alexey Proskuryakov.
  41296. Fixed unused parameter compile warnings by removing parameter names, adding UNUSED_PARAM usage and commenting out.
  41297. * PluginProcess/WebProcessConnection.cpp:
  41298. (WebKit::WebProcessConnection::createPluginInternal):
  41299. * PluginProcess/unix/PluginProcessUnix.cpp:
  41300. (WebKit::PluginProcess::platformInitialize):
  41301. * WebProcess/Plugins/Netscape/JSNPObject.cpp:
  41302. (WebKit::JSNPObject::getOwnPropertyNames):
  41303. * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
  41304. (WebKit::NPN_RequestRead):
  41305. (WebKit::NPN_NewStream):
  41306. (WebKit::NPN_Write):
  41307. (WebKit::NPN_MemFlush):
  41308. (WebKit::NPN_ReloadPlugins):
  41309. (WebKit::NPN_GetJavaPeer):
  41310. (WebKit::NPN_InvalidateRegion):
  41311. (WebKit::NPN_ForceRedraw):
  41312. * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
  41313. (WebKit::NetscapePlugin::contentsScaleFactorChanged):
  41314. * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
  41315. (WebKit::NetscapePlugin::platformPostInitializeWindowed):
  41316. * WebProcess/Plugins/PluginProxy.cpp:
  41317. (WebKit::PluginProxy::contentsScaleFactorChanged):
  41318. 2012-10-03 Anders Carlsson <andersca@apple.com>
  41319. Plugins are killed after 45 seconds if showing keychain "Allow/Deny" dialog
  41320. https://bugs.webkit.org/show_bug.cgi?id=85138
  41321. <rdar://problem/11406430>
  41322. Reviewed by Andreas Kling.
  41323. Remove the watchdog that would kill a plug-in if we've been waiting for a sync reply from it for more than 45 seconds.
  41324. It's unlikely that someone is going to wait 45 seconds for Safari to recover from a plug-in hang, and the timeout is
  41325. causing problems with plug-ins (see the bugzilla bug for more information).
  41326. * Platform/CoreIPC/Connection.cpp:
  41327. (CoreIPC::Connection::Connection):
  41328. (CoreIPC::Connection::waitForSyncReply):
  41329. * Platform/CoreIPC/Connection.h:
  41330. (Client):
  41331. (Connection):
  41332. * PluginProcess/PluginProcess.cpp:
  41333. * PluginProcess/PluginProcess.h:
  41334. (PluginProcess):
  41335. * PluginProcess/WebProcessConnection.cpp:
  41336. * PluginProcess/WebProcessConnection.h:
  41337. (WebProcessConnection):
  41338. * Shared/WebProcessCreationParameters.cpp:
  41339. (WebKit::WebProcessCreationParameters::encode):
  41340. (WebKit::WebProcessCreationParameters::decode):
  41341. * Shared/WebProcessCreationParameters.h:
  41342. (WebProcessCreationParameters):
  41343. * UIProcess/Plugins/PluginProcessManager.cpp:
  41344. * UIProcess/Plugins/PluginProcessManager.h:
  41345. (PluginProcessManager):
  41346. * UIProcess/Plugins/PluginProcessProxy.cpp:
  41347. * UIProcess/Plugins/PluginProcessProxy.h:
  41348. (PluginProcessProxy):
  41349. * UIProcess/WebConnectionToWebProcess.cpp:
  41350. * UIProcess/WebConnectionToWebProcess.h:
  41351. (WebConnectionToWebProcess):
  41352. * UIProcess/WebProcessProxy.cpp:
  41353. * UIProcess/WebProcessProxy.h:
  41354. (WebProcessProxy):
  41355. * UIProcess/WebProcessProxy.messages.in:
  41356. * UIProcess/mac/WebContextMac.mm:
  41357. (WebKit::WebContext::platformInitializeWebProcess):
  41358. * WebProcess/Plugins/PluginProcessConnection.cpp:
  41359. (WebKit::PluginProcessConnection::PluginProcessConnection):
  41360. * WebProcess/Plugins/PluginProcessConnection.h:
  41361. (PluginProcessConnection):
  41362. * WebProcess/WebConnectionToUIProcess.cpp:
  41363. * WebProcess/WebConnectionToUIProcess.h:
  41364. (WebConnectionToUIProcess):
  41365. * WebProcess/WebCoreSupport/WebChromeClient.cpp:
  41366. (WebKit::WebChromeClient::runJavaScriptAlert):
  41367. (WebKit::WebChromeClient::runJavaScriptConfirm):
  41368. (WebKit::WebChromeClient::runJavaScriptPrompt):
  41369. * WebProcess/WebProcess.cpp:
  41370. (WebKit::WebProcess::WebProcess):
  41371. (WebKit::WebProcess::initializeWebProcess):
  41372. * WebProcess/WebProcess.h:
  41373. (WebProcess):
  41374. 2012-10-03 Hugo Parente Lima <hugo.lima@openbossa.org>
  41375. [WK2] PageViewportController.cpp is supposed to be a generic WebKit2 file but only works with Qt port.
  41376. https://bugs.webkit.org/show_bug.cgi?id=98186
  41377. Reviewed by Noam Rosenthal.
  41378. Remove the dependece of WebCore::FloatSize to QSize implicit conversion.
  41379. * UIProcess/API/qt/qquickwebpage.cpp:
  41380. (QQuickWebPagePrivate::updateSize):
  41381. * UIProcess/API/qt/qquickwebview.cpp:
  41382. (QQuickWebViewLegacyPrivate::updateViewportSize):
  41383. (QQuickWebViewFlickablePrivate::updateViewportSize):
  41384. * UIProcess/PageViewportController.cpp:
  41385. (WebKit::PageViewportController::didRenderFrame):
  41386. (WebKit::PageViewportController::pageDidRequestScroll):
  41387. (WebKit::PageViewportController::syncVisibleContents):
  41388. (WebKit::PageViewportController::viewportSizeInContentsCoordinates):
  41389. (WebKit):
  41390. * UIProcess/PageViewportController.h:
  41391. (PageViewportController):
  41392. 2012-10-03 Anders Carlsson <andersca@apple.com>
  41393. Try to fix the Qt WebKit2 failures.
  41394. * WebProcess/WebPage/DrawingAreaImpl.cpp:
  41395. (WebKit::DrawingAreaImpl::DrawingAreaImpl):
  41396. Always force compositing if USE(COORDINATED_GRAPHICS) is true.
  41397. 2012-10-03 Anders Carlsson <andersca@apple.com>
  41398. Use the XPC service by default on newer systems
  41399. https://bugs.webkit.org/show_bug.cgi?id=98297
  41400. <rdar://problem/12424641>
  41401. Reviewed by Sam Weinig.
  41402. * UIProcess/mac/WebProcessProxyMac.mm:
  41403. (WebKit::shouldUseXPC):
  41404. Return false for older systems.
  41405. (WebKit::WebProcessProxy::platformConnect):
  41406. Call shouldUseXPC().
  41407. 2012-10-02 Andy Estes <aestes@apple.com>
  41408. [WebKit2] Add the ability to send messages to the WebPageGroupProxy
  41409. https://bugs.webkit.org/show_bug.cgi?id=98233
  41410. Reviewed by Anders Carlsson.
  41411. Add a WebPageGroupProxy.messages.in, implement a stub message receiver
  41412. in WebPageGroupProxy, and teach WebProcess how to route messages to the
  41413. appropriate WebPageGroupProxy.
  41414. * CMakeLists.txt: Tell a build system about added files.
  41415. * DerivedSources.make: Ditto.
  41416. * DerivedSources.pri: Ditto.
  41417. * GNUmakefile.list.am: Ditto.
  41418. * WebKit2.xcodeproj/project.pbxproj: Ditto.
  41419. * win/WebKit2.vcproj: Ditto.
  41420. * Platform/CoreIPC/MessageID.h: Add MessageClassWebPageGroupProxy.
  41421. * WebProcess/WebPage/WebPageGroupProxy.cpp:
  41422. (WebKit::WebPageGroupProxy::didReceiveMessage): Stub out the method
  41423. that will receive messages.
  41424. (WebKit::WebPageGroupProxy::didReceiveWebPageGroupProxyMessage): Stub
  41425. out a method that will exist in WebPageGroupProxyMessageReceiver.cpp
  41426. once WebPageGroupProxy.messages.in contains messages.
  41427. * WebProcess/WebPage/WebPageGroupProxy.h:
  41428. * WebProcess/WebPage/WebPageGroupProxy.messages.in: Added.
  41429. * WebProcess/WebProcess.cpp:
  41430. (WebKit::WebProcess::didReceiveMessage): Route messages to the
  41431. WebPageGroupProxy matching destinationID if the message is of class
  41432. MessageClassWebPageGroupProxy.
  41433. 2012-10-02 Anders Carlsson <andersca@apple.com>
  41434. Change most GraphicsLayer::create calls to use the version that takes a GraphicsLayerFactory
  41435. https://bugs.webkit.org/show_bug.cgi?id=98217
  41436. Reviewed by Andreas Kling.
  41437. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
  41438. (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
  41439. (WebKit::LayerTreeCoordinator::createPageOverlayLayer):
  41440. * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
  41441. (WebKit::LayerTreeHostCA::initialize):
  41442. (WebKit::LayerTreeHostCA::createPageOverlayLayer):
  41443. * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
  41444. (WebKit::LayerTreeHostGtk::initialize):
  41445. (WebKit::LayerTreeHostGtk::createPageOverlayLayer):
  41446. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
  41447. (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
  41448. 2012-10-03 Alberto Garcia <agarcia@igalia.com>
  41449. [GTK] [WK2] Unused variable in webkitWebViewLoadChanged
  41450. https://bugs.webkit.org/show_bug.cgi?id=98271
  41451. Reviewed by Martin Robinson.
  41452. Use the priv variable to directly access private attributes
  41453. instead of dereferencing webView->priv all the time.
  41454. Fixes -Wunused-variable.
  41455. * UIProcess/API/gtk/WebKitWebView.cpp:
  41456. (webkitWebViewLoadChanged):
  41457. 2012-10-03 Christophe Dumez <christophe.dumez@intel.com>
  41458. [EFL][WK2] Implement focus/unfocus in UIClient
  41459. https://bugs.webkit.org/show_bug.cgi?id=98253
  41460. Reviewed by Gyuyoung Kim.
  41461. Implement focus-related functionality in
  41462. WebKitEFL's UIClient.
  41463. * UIProcess/API/efl/ewk_view_ui_client.cpp:
  41464. (focus):
  41465. (unfocus):
  41466. (takeFocus):
  41467. (ewk_view_ui_client_attach):
  41468. 2012-10-03 Carlos Garcia Campos <cgarcia@igalia.com>
  41469. [GTK] WebKitWebView doesn't emit notify:favicon when it changes in some cases in WebKit2
  41470. https://bugs.webkit.org/show_bug.cgi?id=98153
  41471. Reviewed by Martin Robinson.
  41472. The main problem is that it relies on icon-ready signal to be
  41473. emitted by the favicon database, but that signal is only emitted
  41474. when the icon is loaded from the network or imported from the
  41475. database, but not when the icon is already in memory. The way to
  41476. detect if a web page doesn't have a favicon or it's unknown it's
  41477. also incorrectly done and the wrong error is returned for pages
  41478. not having a favicon.
  41479. * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
  41480. (GetFaviconSurfaceAsyncData): Add a GError field.
  41481. (getIconSurfaceSynchronously): Add a GError parameter and fill it
  41482. accordingly. Use imageForPageURL() instead of
  41483. nativeImageForPageURL() because the latter always returns NULL for
  41484. empty images, so it's not possible to know whether it's an empty
  41485. image or not. If the image is empty is because the web page is
  41486. known by the database and it doesn't have a favicon.
  41487. (processPendingIconsForURI): Pass the data error to
  41488. getIconSurfaceSynchronously(). Don't set the icon if the request
  41489. has been cancelled.
  41490. (webkitFaviconDatabaseGetFavicon): Pass NULL as error to
  41491. getIconSurfaceSynchronously().
  41492. (setErrorForAsyncResult): Fill also error for
  41493. WEBKIT_FAVICON_DATABASE_ERROR_FAVICON_UNKNOWN.
  41494. (webkit_favicon_database_get_favicon): If we get NULL as icon in
  41495. the first place, check the error code returned by
  41496. getIconSurfaceSynchronously() and return early if the page doesn't
  41497. have a favicon. Remove the cancelled signal to avoid race
  41498. conditions.
  41499. (webkit_favicon_database_get_favicon_finish): Errors are processed
  41500. before now, so simply propagate the error if any or return the
  41501. favicon.
  41502. * UIProcess/API/gtk/WebKitWebView.cpp:
  41503. (_WebKitWebViewPrivate): Keep a reference of the favicon.
  41504. (webkitWebViewCancelFaviconRequest): Cancel any async operation to
  41505. get the favicon.
  41506. (webkitWebViewUpdateFavicon): Check if favicon has changed and
  41507. save it emitting also notify::favicon signal.
  41508. (iconReadyCallback): Only update the favicon if we don't have one
  41509. already.
  41510. (webkitWebViewFinalize): Call webkitWebViewCancelFaviconRequest().
  41511. (getFaviconReadyCallback): Update the favicon.
  41512. (webkitWebViewRequestFavicon): Request a new favicon.
  41513. (webkitWebViewLoadChanged): Try to get the favicon when the load
  41514. has been committed and the URI is the final one.
  41515. (webkit_web_view_get_favicon): Return the cached favicon.
  41516. * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
  41517. (serverCallback):
  41518. (testSetDirectory):
  41519. (testGetFavicon):
  41520. (testWebViewFavicon):
  41521. 2012-10-02 Carlos Garcia Campos <cgarcia@igalia.com>
  41522. [GTK] Add API to get the web view that initiated a custom URI request to WebKit2 GTK+
  41523. https://bugs.webkit.org/show_bug.cgi?id=97895
  41524. Reviewed by Martin Robinson.
  41525. The message DidReceiveURIRequest is now sent to the page that
  41526. initiated the request that forwards the mesassage to the
  41527. WebSoupRequestManagerProxy.
  41528. * UIProcess/API/C/soup/WKSoupRequestManager.h: Update
  41529. didReceiveURIRequest callback to receive the initiating page ID.
  41530. * UIProcess/API/efl/ewk_context_request_manager_client.cpp:
  41531. (didReceiveURIRequest): Update the callback API change.
  41532. * UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
  41533. (didReceiveURIRequest): Pass the initiating page to the
  41534. WebKitURISchemeRequest constructor.
  41535. * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
  41536. (_WebKitURISchemeRequestPrivate): Keep a reference to the
  41537. WebPageProxy that initiatesd the request.
  41538. (webkitURISchemeRequestCreate): Save the initiating page.
  41539. (webkit_uri_scheme_request_get_web_view): Return the view widget
  41540. of the initiating WebPageProxy.
  41541. * UIProcess/API/gtk/WebKitURISchemeRequest.h:
  41542. * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
  41543. * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
  41544. * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
  41545. * UIProcess/WebPageProxy.cpp:
  41546. (WebKit::WebPageProxy::didReceiveURIRequest): Forward the request
  41547. to the soup request manager proxy.
  41548. * UIProcess/WebPageProxy.h:
  41549. (WebPageProxy): Add didReceiveURIRequest().
  41550. * UIProcess/WebPageProxy.messages.in: Add DidReceiveURIRequest
  41551. message.
  41552. * UIProcess/soup/WebSoupRequestManagerClient.cpp:
  41553. (WebKit::WebSoupRequestManagerClient::didReceiveURIRequest):
  41554. Pass the inititing page to the client callback.
  41555. * UIProcess/soup/WebSoupRequestManagerClient.h:
  41556. (WebSoupRequestManagerClient):
  41557. * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
  41558. (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): Pass
  41559. the inititing page to the client.
  41560. * UIProcess/soup/WebSoupRequestManagerProxy.h:
  41561. (WebSoupRequestManagerProxy):
  41562. * UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Remove
  41563. DidReceiveURIRequest message.
  41564. * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
  41565. (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
  41566. Save the pageID of the WebFrame.
  41567. (WebKit::WebFrameNetworkingContext::initiatingPageID): Return the
  41568. inititing page ID.
  41569. * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
  41570. * WebProcess/soup/WebSoupRequestManager.cpp:
  41571. (WebKit::WebSoupRequestManager::send): Send DidReceiveURIRequest
  41572. message to the WebPage that initiated the request.
  41573. 2012-10-02 Zan Dobersek <zandobersek@gmail.com>
  41574. Unreviewed build fix for the GTK port after r130207.
  41575. Use proper file separators for new entries.
  41576. * GNUmakefile.list.am:
  41577. 2012-10-02 Joone Hur <joone.hur@intel.com>
  41578. Unreviewed, GTK+,Efl debug build fix after r130225.
  41579. This patch allows to include the static xErrorString variable when LOG_DISABLED is 0.
  41580. * PluginProcess/unix/PluginProcessMainUnix.cpp:
  41581. (WebKit):
  41582. 2012-10-02 Sam Weinig <sam@webkit.org>
  41583. Fix a typo and add some \n's to make Mark happy.
  41584. Rubber-stamped by Mark "logging must be fast" Rowe.
  41585. * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
  41586. (WebKit::InjectedBundle::load):
  41587. 2012-10-02 Sam Weinig <sam@webkit.org>
  41588. Add Objective-C API for the InjectedBundle
  41589. https://bugs.webkit.org/show_bug.cgi?id=98222
  41590. Reviewed by Anders Carlsson.
  41591. Add skeleton of the Objective-C API for the InjectedBundle.
  41592. * WebKit2.xcodeproj/project.pbxproj:
  41593. Add new API files.
  41594. * WebProcess/InjectedBundle/API/mac: Added.
  41595. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h: Added.
  41596. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: Added.
  41597. (-[WKWebProcessPlugIn _initWithPrincipalClassInstance:injectedBundle:]):
  41598. Initialization method for the WKWebProcessPlugIn object. This object will act as the WKBundleRef
  41599. object does in the C-SPI.
  41600. (+[WKWebProcessPlugIn _shared]):
  41601. Access the shared instance.
  41602. * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h: Added.
  41603. * WebProcess/InjectedBundle/InjectedBundle.h:
  41604. Store an NSBundle rather than a CFBundleRef as the platform bundle.
  41605. * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: Removed.
  41606. * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: Copied from Source/WebKit2/WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp.
  41607. (WebKit::InjectedBundle::load):
  41608. If a principal class is provided and no WKBundleInitialize function is present in the bundle, use the principal class
  41609. as the initialization point. The principal class must conform to the WKWebProcessPlugIn protocol and if a
  41610. webProcessPlugInInitialize: method is present, it is called.
  41611. 2012-10-02 Dan Bernstein <mitz@apple.com>
  41612. Fixed a crash when the localization option is not passed to the web process.
  41613. Reviewed by Sam Weinig.
  41614. * PluginProcess/mac/PluginProcessMainMac.mm:
  41615. (WebKit::PluginProcessMain): Changed to not call WKSetDefaultLocalization
  41616. with the empty string.
  41617. * WebProcess/mac/WebProcessMainMac.mm:
  41618. (WebKit::WebProcessMain): Ditto.
  41619. == Rolled over to ChangeLog-2012-10-02 ==