1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497 |
- 2011-06-04 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Disable WebProcess side display throttling when in a user scroll
- <rdar://problem/9517175>
- https://bugs.webkit.org/show_bug.cgi?id=62095
- Add the ability to disable WebProcess side display throttling that
- takes place in DrawingAreaImpl::displayTimerFired. Disable the throttling
- when in a user or animated scroll.
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::didStartRubberBandForFrame):
- (WebKit::WebChromeClient::didCompleteRubberBandForFrame):
- (WebKit::WebChromeClient::didStartAnimatedScroll):
- (WebKit::WebChromeClient::didCompleteAnimatedScroll):
- * WebProcess/WebPage/DrawingArea.h:
- (WebKit::DrawingArea::enableDisplayThrottling):
- (WebKit::DrawingArea::disableDisplayThrottling):
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::DrawingAreaImpl):
- (WebKit::DrawingAreaImpl::enableDisplayThrottling):
- (WebKit::DrawingAreaImpl::disableDisplayThrottling):
- (WebKit::DrawingAreaImpl::displayTimerFired):
- * WebProcess/WebPage/DrawingAreaImpl.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::wheelEvent):
- 2011-06-04 Darin Adler <darin@apple.com>
- Reviewed by Anders Carlsson.
- [Mac WebKit2] REGRESSION (r86692): Synchronous XMLHttpRequest hangs in credential shim (affects Netgear ReadyNAS admin page)
- https://bugs.webkit.org/show_bug.cgi?id=62094
- rdar://problem/9539204
- * WebKit2.xcodeproj/project.pbxproj: Added new source files.
- * WebProcess/mac/CoreIPCClientRunLoop.h: Added.
- * WebProcess/mac/CoreIPCClientRunLoop.mm: Added.
- (-[WKFunctionAdapter perform]): Added.
- (WebKit::createCoreIPCRunLoopModesArray): Added.
- (WebKit::coreIPCRunLoopModesArray): Added.
- (WebKit::callOnCoreIPCClientRunLoopAndWait): Added.
- * WebProcess/mac/KeychainItemShimMethods.mm:
- (WebKit::webFreeAttributeListContent): Use callOnCoreIPCClientRunLoopAndWait.
- (WebKit::webFreeKeychainItemContent): Ditto.
- (WebKit::webSecKeychainItemCopyContent): Ditto.
- (WebKit::webSecKeychainItemCreateFromContent): Ditto.
- (WebKit::webSecKeychainItemModifyContent): Ditto.
- * WebProcess/mac/SecItemShimMethods.mm:
- (WebKit::webSecItemCopyMatching): Ditto.
- (WebKit::webSecItemAdd): Ditto.
- (WebKit::webSecItemUpdate): Ditto.
- (WebKit::webSecItemDelete): Ditto.
- 2011-06-04 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- WebKit2 needs to know when a scroll is happening due to the ScrollAnimator
- https://bugs.webkit.org/show_bug.cgi?id=62093
- Stub out new ChromeClient functions regarding the start and end of ScrollAnimator
- animated scrolls, and update logic for rubber-band ending to check for main frame
- now that it is called for all frames.
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::didStartRubberBandForFrame):
- (WebKit::WebChromeClient::didCompleteRubberBandForFrame):
- (WebKit::WebChromeClient::didStartAnimatedScroll):
- (WebKit::WebChromeClient::didCompleteAnimatedScroll):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- 2011-06-03 Brady Eidson <beidson@apple.com>
- Reviewed by Steve Falkenburg.
- <rdar://problem/9553645> and https://bugs.webkit.org/show_bug.cgi?id=62064
- WebBackForwardListItem::setBackForwardData actually appends data
- * Shared/WebBackForwardListItem.cpp:
- (WebKit::WebBackForwardListItem::setBackForwardData): Clear the Vector out before appending
- the replacement data.
- 2011-06-03 Anders Carlsson <andersca@apple.com>
- Reviewed by Brady Eidson.
- Disable the sync message timeout for the Microsoft SharePoint plug-in
- https://bugs.webkit.org/show_bug.cgi?id=62043
- <rdar://problem/9536303>
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- (WebKit::defaultSyncMessageTimeout):
- 2011-06-03 Andreas Kling <kling@webkit.org>
- Reviewed by Benjamin Poulain.
- [Qt] TiledDrawingArea: Initialize tiles to transparent.
- * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
- (WebKit::TiledDrawingAreaTile::incorporateUpdate): When constructing new
- back buffers, fill them with transparent pixels.
- 2011-06-03 No'am Rosenthal <noam.rosenthal@nokia.com>
- Reviewed by Andreas Kling.
- [Qt][WK2] Make tiling on WebKit2 more responsive.
- https://bugs.webkit.org/show_bug.cgi?id=50064
- Instead of creating and destroying pixmaps, and copying them using QPixmap::copy()
- or relying on the implicit sharing functionality, we keep the QPixmaps alive
- and just make sure their content is synchronized.
- This seems to improve responsiveness noticably, as now the UI process doesn't deal
- with allocating/deallocating pixmaps, and the copies are done with the optimized
- path (QPainter) vs the unoptimized ones (QPixmap::copy().)
- * UIProcess/TiledDrawingAreaTile.h:
- * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
- (WebKit::TiledDrawingAreaTile::TiledDrawingAreaTile):
- (WebKit::TiledDrawingAreaTile::isReadyToPaint):
- (WebKit::TiledDrawingAreaTile::hasReadyBackBuffer):
- (WebKit::TiledDrawingAreaTile::swapBackBufferToFront):
- (WebKit::TiledDrawingAreaTile::incorporateUpdate):
- 2011-06-03 Mikhail Naganov <mnaganov@chromium.org>
- Reviewed by Yury Semikhatsky.
- Web Inspector: [Chromium] cpu-profiler-profiling layout test is flaky on Linux Debug.
- https://bugs.webkit.org/show_bug.cgi?id=61533
- Skip cpu-profiler-profiling in debug, implement a fast headless alternative.
- * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp:
- (WKBundleInspectorSetJavaScriptProfilingEnabled):
- * WebProcess/InjectedBundle/API/c/WKBundleInspector.h:
- * WebProcess/WebPage/WebInspector.cpp:
- (WebKit::WebInspector::setJavaScriptProfilingEnabled):
- * WebProcess/WebPage/WebInspector.h:
- 2011-06-02 Anders Carlsson <andersca@apple.com>
- Reviewed by Mark Rowe.
- Assert when trying to unload a module that failed to load
- https://bugs.webkit.org/show_bug.cgi?id=61980
- Remove an invalid ASSERT; it's OK for m_bundle to be null if the bundle failed to load.
- * Platform/mac/ModuleMac.mm:
- (WebKit::Module::unload):
- 2011-06-02 Anders Carlsson <andersca@apple.com>
- Reviewed by Simon Fraser.
- Add quirk for plug-ins that return a retained CALayer
- https://bugs.webkit.org/show_bug.cgi?id=61948
- <rdar://problem/9530390>
- * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
- (WebKit::NetscapePluginModule::determineQuirks):
- Set the ReturnsRetainedCoreAnimationLayer quirk for Flash.
- * Shared/Plugins/PluginQuirks.h:
- Add ReturnsRetainedCoreAnimationLayer quirk.
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetValue):
- Handle WKNVExpectsNonretainedLayer by always returning true, and also
- call NetscapePlugin::setPluginReturnsNonretainedLayer(true) to add a way
- for plug-ins to opt into returning non-retained layers even if they have
- the quirk specified.
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin):
- Initialize m_pluginReturnsNonretainedLayer to true.
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- (WebKit::NetscapePlugin::setPluginReturnsNonretainedLayer):
- Add setter.
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformPostInitialize):
- If m_pluginReturnsNonretainedLayer is false, adopt the layer.
- 2011-06-02 Brent Fulgham <bfulgham@webkit.org>
- Unreviewed WinCairo build correction.
- * UIProcess/win/WebView.cpp: Don't include CG file header
- when building without CoreGraphics support.
- 2011-06-02 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Implement popup menus in Webkit2
- https://bugs.webkit.org/show_bug.cgi?id=61854
- * GNUmakefile.am: Add new files to compilation.
- * UIProcess/API/gtk/PageClientImpl.cpp:
- (WebKit::PageClientImpl::createPopupMenuProxy): Create a new
- WebPopupMenuProxy.
- * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: Added.
- (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
- (WebKit::WebPopupMenuProxyGtk::~WebPopupMenuProxyGtk):
- (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
- (WebKit::WebPopupMenuProxyGtk::hidePopupMenu):
- (WebKit::WebPopupMenuProxyGtk::shutdownRunLoop):
- (WebKit::WebPopupMenuProxyGtk::menuItemActivated):
- (WebKit::WebPopupMenuProxyGtk::menuUnmapped):
- * UIProcess/gtk/WebPopupMenuProxyGtk.h: Added.
- (WebKit::WebPopupMenuProxyGtk::create):
- (WebKit::WebPopupMenuProxyGtk::setActiveItem):
- 2011-06-01 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Non-users need access to the mds caches for SSL support.
- <rdar://problem/9471799>
- * WebProcess/com.apple.WebProcess.sb:
- 2011-06-01 Jer Noble <jer.noble@apple.com>
- Reviewed by Maciej Stachowiak.
- Flash of old video frame at the end of full screen transition
- https://bugs.webkit.org/show_bug.cgi?id=61752
- Add a new method and message, DisposeOfLayerClient, which will invalidate and release
- the WKRemoteLayerClient used during the full-screen animation. This ensures that
- the root layer used for the full-screen animation will be in a clean state at the start
- of the next transition.
- * UIProcess/WebFullScreenManagerProxy.cpp:
- (WebKit::WebFullScreenManagerProxy::disposeOfLayerClient): Added.
- * UIProcess/WebFullScreenManagerProxy.h:
- * UIProcess/mac/WKFullScreenWindowController.mm:
- (-[WKFullScreenWindowController exitCompositedModeRepaintCompleted]): Call disposeOfLayerClient.
- * WebProcess/FullScreen/WebFullScreenManager.h:
- (WebKit::WebFullScreenManager::disposeOfLayerClient): Added.
- * WebProcess/FullScreen/WebFullScreenManager.messages.in: Added DisposeOfLayerClient.
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
- (WebKit::WebFullScreenManagerMac::disposeOfLayerClient): Added, invalidates and clears m_rootLayerClient.
- 2011-06-01 Adam Roben <aroben@apple.com>
- Build fix after r87831
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::enterAcceleratedCompositingMode):
- (WebKit::WebView::exitAcceleratedCompositingMode):
- Added some HAVE(WKQCA) guards.
- 2011-06-01 Adam Roben <aroben@apple.com>
- Delete a bunch of dead code in DrawingAreaImpl
- LayerTreeHost::participatesInDisplay always returns false now, which means a bunch of code
- in DrawingAreaImpl no longer runs.
- Cleanup after fixing <http://webkit.org/b/58054>
- <rdar://problem/9249839> REGRESSION (WebKit2): Accelerated CSS animations have a lower
- framerate than in WebKit1
- Reviewed by Anders Carlsson.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::forceRepaint):
- (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
- (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
- (WebKit::DrawingAreaImpl::didUpdate):
- (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
- (WebKit::DrawingAreaImpl::scheduleDisplay):
- (WebKit::DrawingAreaImpl::displayTimerFired):
- (WebKit::DrawingAreaImpl::display):
- * WebProcess/WebPage/DrawingAreaImpl.h:
- * WebProcess/WebPage/LayerTreeHost.h:
- Reverted r82959.
- 2011-06-01 Adam Roben <aroben@apple.com>
- Render accelerated content into a web process-owned child HWND
- This allows us to use WKCACFView's far more efficient kWKCACFViewDrawingDestinationWindow
- mode, which gives us asynchronous rendering on a background thread and doesn't require us to
- read bits off the GPU back into system memory.
- A new class, WKCACFViewWindow, represents the child HWND. The child HWND is placed at the
- bottom of the z-order so it won't obscure any other child HWNDs (i.e., windowed plugins).
- The child HWND is made transparent to mouse events so that WKView will continue to receive
- mouse events even though it is obscured by the child HWND.
- There is now a bunch of dead code in DrawingAreaImpl to handle our old rendering model. I'll
- remove that in a future patch.
- Fixes <http://webkit.org/b/58054> <rdar://problem/9249839> REGRESSION (WebKit2): Accelerated
- CSS animations have a lower framerate than in WebKit1
- Reviewed by Anders Carlsson.
- * Shared/LayerTreeContext.h: Added HWND member on Windows.
- * Shared/win/CoalescedWindowGeometriesUpdater.cpp:
- (WebKit::CoalescedWindowGeometriesUpdater::updateGeometries):
- * Shared/win/CoalescedWindowGeometriesUpdater.h:
- Added new BringToTopOrNot argument. Allows the caller to specify that all windows being
- updated should also be brought to the top of the z-order.
- * Shared/win/LayerTreeContextWin.cpp:
- (WebKit::LayerTreeContext::LayerTreeContext):
- (WebKit::LayerTreeContext::~LayerTreeContext):
- (WebKit::LayerTreeContext::encode):
- (WebKit::LayerTreeContext::decode):
- (WebKit::LayerTreeContext::isEmpty):
- (WebKit::operator==):
- Implemented based on new window member.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView): Initialize new member.
- (WebKit::WebView::onSizeEvent): Resize the layer host window to cover our entire view, if we
- have one.
- (WebKit::WebView::enterAcceleratedCompositingMode): Store, position, and show the layer host
- window.
- (WebKit::WebView::exitAcceleratedCompositingMode): Destroy the layer host window.
- (WebKit::WebView::updateChildWindowGeometries): Updated for change to
- CoalescedWindowGeometriesUpdater.
- * UIProcess/win/WebView.h: Added m_layerHostWindow member.
- * WebProcess/WebPage/LayerTreeHost.h: Added scheduleChildWindowGeometryUpdate.
- * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
- (WebKit::LayerTreeHostCAWin::supportsAcceleratedCompositing): Simplified by using
- WKCACFViewWindow.
- (WebKit::LayerTreeHostCAWin::LayerTreeHostCAWin): Removed initialization of a removed
- member.
- (WebKit::LayerTreeHostCAWin::platformInitialize): Changed to use WKCACFViewWindow,
- kWKCACFViewDrawingDestinationWindow, and to initialize the LayerTreeContext.
- (WebKit::LayerTreeHostCAWin::invalidate): Leak our window and tell it to clean up after
- itself. The UI process will take care of destroying the window when it finishes switching
- out of accelerated compositing mode. Removed a WKCACFViewUpdate call that is now handled by
- WKCACFViewWindow.
- (WebKit::LayerTreeHostCAWin::scheduleChildWindowGeometryUpdate): Added. Calls through to
- m_geometriesUpdater.
- (WebKit::LayerTreeHostCAWin::sizeDidChange): Updated to use WKCACFViewWindow.
- (WebKit::LayerTreeHostCAWin::contextDidChange): Update child window geometries now to keep
- them (almost) in sync with the accelerated content. <http://webkit.org/b/61867> covers the
- slight asynchrony that still exists.
- (WebKit::LayerTreeHostCAWin::setRootCompositingLayer): Don't flush any changes when we don't
- have a root layer. This prevents a flash of white when switching out of compositing mode.
- * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Added m_window and m_geometriesUpdater.
- Removed code related to the old, synchronous display model.
- * WebProcess/WebPage/ca/win/WKCACFViewWindow.cpp: Added.
- (WebKit::WKCACFViewWindow::WKCACFViewWindow): Initialize members and create our window.
- (WebKit::WKCACFViewWindow::~WKCACFViewWindow): Destroy our window if needed.
- (WebKit::WKCACFViewWindow::onCustomDestroy): Just call ::DestroyWindow.
- (WebKit::WKCACFViewWindow::onDestroy): Tell our view not to render into our window anymore.
- (WebKit::WKCACFViewWindow::onEraseBackground): Tell Windows not to erase us.
- (WebKit::WKCACFViewWindow::onNCDestroy): Clear out m_window since it's now pointing to a
- destroy window, and destroy ourselves if requested.
- (WebKit::WKCACFViewWindow::onPaint): Tell the view to draw, then clear our invalid region.
- (WebKit::WKCACFViewWindow::onPrintClient): Tell our view to draw into the given HDC.
- (WebKit::WKCACFViewWindow::registerClass): Register our class (duh).
- (WebKit::WKCACFViewWindow::staticWndProc): Get the WKCACFViewWindow pointer, or store the
- pointer if needed, then call through to wndProc.
- (WebKit::WKCACFViewWindow::wndProc): Call out to the appropriate handler function.
- * WebProcess/WebPage/ca/win/WKCACFViewWindow.h: Added.
- (WebKit::WKCACFViewWindow::setDeletesSelfWhenWindowDestroyed): Simple setter.
- (WebKit::WKCACFViewWindow::window): Simple getter.
- * WebProcess/WebPage/win/DrawingAreaImplWin.cpp:
- (WebKit::DrawingAreaImpl::scheduleChildWindowGeometryUpdate): Let the LayerTreeHost handle
- the geometry update, if we have one.
- * win/WebKit2.vcproj: Added WKCACFViewWindow files.
- 2011-06-01 Adam Roben <aroben@apple.com>
- Route plugin window geometry updates through the DrawingArea
- This will allow the geometry updates to be handled by the LayerTreeHost in compositing mode
- in the future.
- More rep work for <http://webkit.org/b/58054> <rdar://problem/9249839> REGRESSION (WebKit2):
- Accelerated CSS animations have a lower framerate than in WebKit1
- Reviewed by Anders Carlsson.
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::scheduleWindowedPluginGeometryUpdate): Tell the DrawingArea, not the
- WebPage, about the geometry update.
- * WebProcess/WebPage/DrawingArea.h:
- * WebProcess/WebPage/DrawingAreaImpl.h:
- * WebProcess/WebPage/win/DrawingAreaImplWin.cpp: Added.
- (WebKit::DrawingAreaImpl::scheduleChildWindowGeometryUpdate):
- Moved code here...
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/win/WebPageWin.cpp:
- ...from here.
- * win/WebKit2.vcproj: Added DrawingAreaImplWin.cpp.
- 2011-06-01 Adam Roben <aroben@apple.com>
- Move WebView's window geometry updating code to a new class
- This will allow us to share this code with LayerTreeHostCAWin.
- Prep work for <http://webkit.org/b/58054> <rdar://problem/9249839> REGRESSION (WebKit2):
- Accelerated CSS animations have a lower framerate than in WebKit1
- Reviewed by Anders Carlsson.
- * Shared/win/CoalescedWindowGeometriesUpdater.cpp: Added.
- (WebKit::CoalescedWindowGeometriesUpdater::CoalescedWindowGeometriesUpdater):
- (WebKit::CoalescedWindowGeometriesUpdater::~CoalescedWindowGeometriesUpdater):
- Simple constructor/destructor.
- (WebKit::CoalescedWindowGeometriesUpdater::addPendingUpdate):
- (WebKit::setWindowRegion):
- (WebKit::CoalescedWindowGeometriesUpdater::updateGeometries):
- * Shared/win/CoalescedWindowGeometriesUpdater.h: Added.
- Moved code here...
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::scheduleChildWindowGeometryUpdate):
- (WebKit::WebView::updateChildWindowGeometries):
- * UIProcess/win/WebView.h:
- ...from here.
- * win/WebKit2.vcproj: Added new files.
- 2011-06-01 Adam Roben <aroben@apple.com>
- Windows build fix after r87755
- * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
- (WebKit::LayerTreeHostCAWin::setLayerFlushSchedulingEnabled): Fixed
- typo.
- 2011-06-01 Oleg Romashin <romaxa@gmail.com>
- Reviewed by Kenneth Rohde Christiansen.
- platformGeometryDidChange function definition was changed everywhere except Qt.
- This is fix for Qt WK2 plugins compilation
- https://bugs.webkit.org/show_bug.cgi?id=61832
- * PluginProcess/qt/PluginControllerProxyQt.cpp:
- (WebKit::PluginControllerProxy::platformGeometryDidChange):
- 2011-05-31 Jer Noble <jer.noble@apple.com>
- Reviewed by Darin Adler.
- Flash of black at the end of full screen transition at apple.com product videos
- https://bugs.webkit.org/show_bug.cgi?id=61756
- The @"WebKitLayerHostChanged" notification is causing the QTMovie to tear down its layer
- (which is good) at the wrong time (which is bad). Send this notification only after
- the dragImage snapshot is taken. This exposed another problem, that the snapshot has
- a white background. Set the default background color and transparency for the view (making
- sure to reset them afterwards) to transparent.
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
- (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
- 2011-03-30 Martin Robinson <mrobinson@igalia.com>
- Reviewed by Adam Roben.
- [GTK] [WebKit2] Implement a basic WebKitTestRunner
- https://bugs.webkit.org/show_bug.cgi?id=57068
- Added InjectedBundle support for GTK+.
- * WebProcess/InjectedBundle/InjectedBundle.h: Added typedef for GTK+.
- * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: Added implementation.
- (WebKit::InjectedBundle::load):
- (WebKit::InjectedBundle::activateMacFontAscentHack):
- * WebProcess/WebPage/gtk/WebPageGtk.cpp: Remove unnecessary method definition.
- 2011-05-31 Dan Bernstein <mitz@apple.com>
- Reviewed by Simon Fraser.
- <rdar://problem/9523192> REGRESSION (5.0.5-ToT, WebKit2): Flash to white when navigating between pages on wsj.com, other sites (when navigating away from composited page)
- https://bugs.webkit.org/show_bug.cgi?id=61808
- WebKit1 has a mechanism to prevent the stale bits from the outgoing page from being erased
- until the incoming page has layout. Adapt this in WebKit2 to prevent the composited layer tree
- of the outgoing page from being torn down or updated until the incoming page has layout.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout): Unfreeze the layer tree state.
- (WebKit::WebFrameLoaderClient::frameLoadCompleted): Ditto.
- (WebKit::WebFrameLoaderClient::provisionalLoadStarted): Freeze the layer tree state.
- * WebProcess/WebPage/DrawingArea.h:
- (WebKit::DrawingArea::setLayerTreeStateIsFrozen): Added.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::DrawingAreaImpl): Initialize new member variables.
- (WebKit::DrawingAreaImpl::setLayerTreeStateIsFrozen): Added. When freezing, sets the flag and
- disables layer flush scheduling and exiting accelerated compositing mode. When unfreezing,
- clears the flag and exits compositing mode if needed.
- (WebKit::DrawingAreaImpl::setRootCompositingLayer): Reset m_wantsToExitAcceleratedCompositingMode.
- (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): Ditto.
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): Ditto.
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingModeSoon): If the layer tree state is frozen,
- bail out but set m_wantsToExitAcceleratedCompositingMode.
- * WebProcess/WebPage/DrawingAreaImpl.h:
- * WebProcess/WebPage/LayerTreeHost.h:
- * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
- (WebKit::LayerTreeHostCA::LayerTreeHostCA): Initialize m_layerFlushSchedulingEnabled.
- * WebProcess/WebPage/ca/LayerTreeHostCA.h:
- * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
- * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
- (WebKit::LayerTreeHostCAMac::scheduleLayerFlush): Bail out if scheduling is not enabled.
- (WebKit::LayerTreeHostCAMac::setLayerFlushSchedulingEnabled): Added. Sets the flag. If disabling
- flushing, cancels the pending flush.
- (WebKit::LayerTreeHostCAMac::flushPendingLayerChangesRunLoopObserverCallback): Added an assertion.
- * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
- (WebKit::LayerTreeHostCAWin::scheduleLayerFlush): Bail out if scheduling is not enabled.
- (WebKit::LayerTreeHostCAWin::setLayerFlushSchedulingEnabled): Added. Sets the flag. If disabling
- flushing, cancels the pending flush.
- * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h:
- 2011-05-31 ChangeLog <james.cooley@nokia.com>
- Reviewed by Andreas Kling.
- [Qt][WK2] Qt port needs test content for QWKHistory
- https://bugs.webkit.org/show_bug.cgi?id=57850
- Created data-driven QTestLib tests for existing QWKHistory APIs.
- This walks through loading four simple pages, navigating
- backwards and forwards.
- We check the results at each action by creating expected forward/back
- lists and comparing those lists in count and membership to those kept by
- WebKit and retrieved via the QWKHistory APIs.
- * UIProcess/API/qt/tests/html/a.htm: Added.
- * UIProcess/API/qt/tests/html/b.htm: Added.
- * UIProcess/API/qt/tests/html/c.htm: Added.
- * UIProcess/API/qt/tests/html/d.htm: Added.
- Four added simple pages
- * UIProcess/API/qt/tests/qwkhistory: Added.
- * UIProcess/API/qt/tests/qwkhistory/qwkhistory.pro: Added.
- Created qwkhistory folder and pro
- * UIProcess/API/qt/tests/qwkhistory/tst_qwkhistory.cpp: Added.
- (TestHistoryItem::title):
- (TestHistoryItem::url):
- (TestHistoryItem::TestHistoryItem):
- Utility class to hold expected url,title for test
- (tst_QWKHistory::initTestCase):
- (tst_QWKHistory::historyFBTest_data):
- (tst_QWKHistory::historyFBTest):
- init, data, and data-driven test case
- * UIProcess/API/qt/tests/tests.pro:
- Included qwkhistory in tests.pro
- 2011-05-30 No'am Rosenthal <noam.rosenthal@nokia.com>
- Reviewed by Simon Hausmann.
- WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
- https://bugs.webkit.org/show_bug.cgi?id=61694
- Create an ArgumentCoder for WebCore::Animation.
- * Scripts/webkit2/messages.py:
- * Shared/WebCoreArgumentCoders.h:
- 2011-05-30 No'am Rosenthal <noam.rosenthal@nokia.com>
- Reviewed by Simon Hausmann.
- WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
- https://bugs.webkit.org/show_bug.cgi?id=61694
- Add an ArgumentCoder for WebCore::TimingFunction. This serializer can create the appropriate
- TimingFunction subclass based on the type of timing function.
- * Scripts/webkit2/messages.py:
- * Shared/WebCoreArgumentCoders.h:
- 2011-05-30 No'am Rosenthal <noam.rosenthal@nokia.com>
- Reviewed by Simon Hausmann.
- WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
- https://bugs.webkit.org/show_bug.cgi?id=61694
- Add WebCore::Length and WebCore::TransformationMatrix to the types that use SimpleArgumentCoder.
- * Scripts/webkit2/messages.py:
- * Shared/WebCoreArgumentCoders.h:
- 2011-05-30 Anders Carlsson <andersca@apple.com>
- Reviewed by Simon Fraser.
- Remove incorrect asserts from PluginProcessConnection
- https://bugs.webkit.org/show_bug.cgi?id=61731
- There might be pending incoming messages from a PluginProxy even though we've
- destroyed the plug-in and removed it from the m_plugins map, so remove the incorrect assertions.
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- (WebKit::PluginProcessConnection::didReceiveMessage):
- (WebKit::PluginProcessConnection::didReceiveSyncMessage):
- 2011-05-30 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Initial tooltips implementation for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=59318
- * UIProcess/API/gtk/PageClientImpl.cpp:
- (WebKit::PageClientImpl::toolTipChanged): Update view's tooltip
- text.
- * UIProcess/API/gtk/WebKitWebViewBase.cpp:
- (webkitWebViewBaseQueryTooltip): Implement GtkWidget::query-tooltip.
- (webkit_web_view_base_class_init): Override GtkWidget::query-tooltip.
- (webkitWebViewBaseSetTooltipText): Update tooltip text and trigger
- GtkWidget::query-tooltip.
- * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
- 2011-05-30 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Remove some unneeded header includes
- https://bugs.webkit.org/show_bug.cgi?id=60536
- * Platform/CoreIPC/Connection.cpp: Remove WebProcess.h.
- * Platform/CoreIPC/unix/ConnectionUnix.cpp: Remove
- ProcessLauncher.h and WebProcessProxy.h. Add <wtf/OwnArrayPtr.h>.
- * WebProcess/Plugins/Netscape/NPJSObject.cpp: Remove PluginView.h.
- 2011-05-29 Darin Adler <darin@apple.com>
- Reviewed by Dan Bernstein.
- Race condition in full screen controller, which leads to problem when web process crashes
- https://bugs.webkit.org/show_bug.cgi?id=61707
- Second try at this. First try could lead to a WKView leak.
- * UIProcess/mac/WKFullScreenWindowController.h: Added _isExitingAcceleratedCompositingMode.
- Needed to track whether we have retained so we don't leak if the page goes away before
- we get the callback.
- * UIProcess/mac/WKFullScreenWindowController.mm:
- (-[WKFullScreenWindowController exitAcceleratedCompositingMode]): Added code to set
- the new variable to YES.
- (-[WKFullScreenWindowController exitCompositedModeRepaintCompleted]): Added code to
- deal with the new boolean and to release.
- (exitCompositedModeRepaintCompleted): Removed the release that was here.
- (-[WKFullScreenWindowController close]): Added a call to exitCompositedModeRepaintCompleted
- here. We're as complete as we'll ever be when we're closed; we can't get the callback
- after that point.
- 2011-05-29 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- REGRESSION (r87637): nytimes.com freezes after going back to it
- <rdar://problem/9521928>
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::forceRepaint):
- Add call to setShouldNotifyAfterNextScheduledLayerFlush(false) to prevent a
- redundant call to layerHostDidFlushLayers which would cause the layer state
- to get out of sync with the UIProcess.
- 2011-05-29 Jer Noble <jer.noble@apple.com>
- Reviewed by Simon Fraser.
- REGRESSION (r86924): webkitRequestFullScreen does not work properly (black screen, can’t interact)
- https://bugs.webkit.org/show_bug.cgi?id=61710
- When taking the documentElement full screen, we don't create a RenderFullScreen
- object and thus never enter accelerated compositing mode for the animation. Tell
- the WKFullScreenWindowController to enter accelerated compositing mode anyway
- (with an empty layer context) so as to fulfill its expectations and cause the
- full screen animation to complete.
- * UIProcess/mac/WKFullScreenWindowController.mm:
- (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Added a
- comment explaining when we expect the animation to complete.
- (-[WKFullScreenWindowController enterAcceleratedCompositingMode:WebKit::]):
- Remove an ASSERT which is no longer valid.
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
- (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation): Tell the UIProcess
- to enter then exit full-screen mode.
- (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation): Ditto.
- 2011-05-29 Darin Adler <darin@apple.com>
- Reviewed by Dan Bernstein.
- Race condition in full screen controller, which leads to problem when web process crashes
- https://bugs.webkit.org/show_bug.cgi?id=61707
- Saw this while debugging a crash. We don't have a way to make regression tests for this
- kind of issue at this time.
- * UIProcess/mac/WKFullScreenWindowController.mm:
- (-[WKFullScreenWindowController exitAcceleratedCompositingMode]): Retain the controller
- here since we are keeping a pointer to it.
- (exitCompositedModeRepaintCompleted): Release the controller here.
- 2011-05-29 Anders Carlsson <andersca@apple.com>
- Reviewed by Darin Adler.
- REGRESSION (87637): Entering WebKit Full Screen mode causes an assertion in DrawingAreaImpl::layerHostDidFlushLayers
- https://bugs.webkit.org/show_bug.cgi?id=61706
- <rdar://problem/9521970>
- If we've already let the UI process know that we're in compositing mode, we just need to force a repaint.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::forceRepaint):
- 2011-05-29 Beth Dakin <bdakin@apple.com>
- Reviewed by Darin Adler.
- https://bugs.webkit.org/show_bug.cgi?id=61700
- Need WebKit2 API to get the size of the render tree
- -and corresponding-
- <rdar://problem/9512733>
- * UIProcess/API/C/WKPage.cpp:
- (WKPageGetRenderTreeSize):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::renderTreeSize):
- (WebKit::WebPageProxy::setRenderTreeSize):
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::setRenderTreeSize):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- 2011-05-29 Darin Adler <darin@apple.com>
- Reviewed by Anders Carlsson and Simon Fraser.
- <rdar://problem/9519453>
- When calling ForceRepaint on a page with accelerated compositing, we can get
- a race condition where the UI process paints the old content, resulting in showing
- the previous page. That happens because forceRepaint's callback waits for the next
- repaint to happen, but nothing notifies UI process that the page is in accelerated
- compositing mode.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::forceRepaint): Call layerHostDidFlushLayers instead of
- just calling forceRepaint on the layer tree host.
- 2011-05-28 Simon Fraser <simon.fraser@apple.com>
- Reviewed by Dan Bernstein, Maciej Stachowiak.
- Denying access to your keychain on login crashes WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=61695
- <rdar://problem/9520570>
-
- Fix two sources of crashes if you hit the Deny button when WebKit2 is
- doing HTTP authentication.
-
- First, SecKeychainItemRequestData::attributeList() failed to initialize the
- length and data members of SecKeychainAttributes in the list if there was no data.
- This caused invalid memory reads later.
-
- Second, returning a non-zero error from the SecKeychainItemCopyContent shim method
- would cause a later crash in a system framework, which is not set up to handle
- errors. Instead, we always return noErr, and allow the authentication to fail.
-
- Finally, paranoically initialize the SecKeychainItemContext in two places
- to avoid uninitialized data members, and initialize length and outData
- to 0 in secKeychainItemCopyContent() in case SecKeychainItemCopyContent()
- fails to set them on error.
-
- * Shared/mac/SecKeychainItemRequestData.cpp:
- (WebKit::SecKeychainItemRequestData::attributeList):
- * UIProcess/mac/WebProcessProxyMac.mm:
- (WebKit::WebProcessProxy::secKeychainItemCopyContent):
- * WebProcess/mac/KeychainItemShimMethods.mm:
- (WebKit::webSecKeychainItemCopyContent):
- (WebKit::webSecKeychainItemCreateFromContent):
- 2011-05-28 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- REGRESSION (r86578): Flash content missing from mercurynews.com
- https://bugs.webkit.org/show_bug.cgi?id=61691
- <rdar://problem/9519893>
- If the plug-in doesn't have access to the toplevel URL, make sure to
- return *something* to the plug-in.
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::tryToShortCircuitInvoke):
- 2011-05-28 Adam Barth <abarth@webkit.org>
- Reviewed by Alexey Proskuryakov.
- Audit all uses of KURL::prettyURL
- https://bugs.webkit.org/show_bug.cgi?id=61201
- Update callers of prettyURL to just call string.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin):
- * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
- (WebKit::cancelledError):
- (WebKit::blockedError):
- 2011-05-27 Stephanie Lewis <slewis@apple.com>
- Unreviewed.
- Fix a typo in the order_file flag.
- * Configurations/Base.xcconfig:
- 2011-05-27 Stephanie Lewis <slewis@apple.com>
- Rubber Stamped by Adam Roben.
- Add Order File. Use -order_file flag since it can order more of the binary.
- * Configurations/Base.xcconfig:
- * mac/WebKit2.order: Added.
- 2011-05-27 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [CAIRO] Don't copy the surface before drawing it into the context in ShareableBitmap::paint()
- https://bugs.webkit.org/show_bug.cgi?id=60757
- cairo_image_surface_create_for_data() is already a shallow copy of
- the image, so we don't need to copy it again.
- * Shared/cairo/ShareableBitmapCairo.cpp:
- (WebKit::ShareableBitmap::paint):
- 2011-05-26 Jeff Miller <jeffm@apple.com>
- Reviewed by Alexey Proskuryakov.
- Add a key handling logging channel for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=61588
-
- Added a new LogKeyHandling channel, and logged some key events in WebPageProxy.
- I also fixed a misspelling of coalescing in a comment in WebPageProxy.cpp.
- * Platform/Logging.cpp:
- (WebKit::initializeLogChannelsIfNecessary): Initialize LogKeyHandling channel.
- * Platform/Logging.h: Added LogKeyHandling channel.
- * UIProcess/WebPageProxy.cpp: Fixed misspelling of coalescing in a comment.
- (WebKit::webKeyboardEventTypeString): Added to support logging.
- (WebKit::WebPageProxy::handleKeyboardEvent): Log the keyboard event.
- (WebKit::WebPageProxy::didReceiveEvent): Log the keyboard event.
- 2011-05-26 Chris Fleizach <cfleizach@apple.com>
- Reviewed by Darin Adler.
- Safari's AXFocusedUIElement attribute returns WebArea object with AXSelectedTextMarkerRange of nil
- https://bugs.webkit.org/show_bug.cgi?id=61492
- The method for determining which WebPage is actually focused and foreground was faulty. More
- extensive checks are required to check which WebPage should be returned as the focusable one.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::windowIsFocused):
- 2011-05-26 Jon Lee <jonlee@apple.com>
- Reviewed by Darin Adler.
- REGRESSION (5.0.5-Jazz): Transition to full screen video animates in wrong location when scrolled (61559)
- https://bugs.webkit.org/show_bug.cgi?id=61559
- <rdar://problem/9496054>
- The CALayer that gets animated has a position that is offset by the scroll position of the web view. To
- fix this, we set the destination location based on the rect of the full screen, and add a position
- animation which keeps the position of the layer centered. This prevents glitches if others
- are trying to change the layer position while the animation is running.
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h: Refactor the calculation of the CALayer windowed
- position into a private helper function, as well as the animation setup.
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
- (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation):
- (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation):
- (WebKit::WebFullScreenManagerMac::animateFullScreen): Sets up the zoom animation, and the position offset
- animation.
- (WebKit::WebFullScreenManagerMac::windowedCGTransform): Calculates the placement of the windowed layer
- in screen coordinates.
- 2011-05-26 Qi Zhang <qi.2.zhang@nokia.com>
- Reviewed by Andreas Kling.
- WebKitTestRunner needs layoutTestController.setAuthorAndUserStylesEnabled
- https://bugs.webkit.org/show_bug.cgi?id=42676
- Implemented layoutTestController.setAuthorAndUserStylesEnabled for WebKitTestRunner.
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleSetAuthorAndUserStylesEnabled):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::setAuthorAndUserStylesEnabled):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- 2011-05-25 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben.
- WebKit2: Status bar, toolbar, and menu bar checks should be in the injected bundle
- https://bugs.webkit.org/show_bug.cgi?id=61474
- <rdar://problem/9468337>
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
- (WebKit::InjectedBundlePageUIClient::statusBarIsVisible): Call the function on the client
- if it exists.
- (WebKit::InjectedBundlePageUIClient::menuBarIsVisible): Ditto.
- (WebKit::InjectedBundlePageUIClient::toolbarsAreVisible): Ditto.
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::statusbarVisible): Add a possible short-circuit in the injected bundle.
- (WebKit::WebChromeClient::menubarVisible): Ditto.
- (WebKit::WebChromeClient::toolbarsVisible): Ditto.
- 2011-05-26 Steve Falkenburg <sfalken@apple.com>
- Reviewed by Adam Roben.
- WebKit2 bundle missing localization subdirectories
- https://bugs.webkit.org/show_bug.cgi?id=61512
-
- Better fix for this. We just need to specify CFBundleAllowMixedLocalizations.
- * win/WebKit2WebProcess.resources/English.lproj: Removed.
- * win/WebKit2WebProcess.resources/Info.plist:
- * win/WebKit2WebProcess.resources/da.lproj: Removed.
- * win/WebKit2WebProcess.resources/de.lproj: Removed.
- * win/WebKit2WebProcess.resources/es.lproj: Removed.
- * win/WebKit2WebProcess.resources/fi.lproj: Removed.
- * win/WebKit2WebProcess.resources/fr.lproj: Removed.
- * win/WebKit2WebProcess.resources/it.lproj: Removed.
- * win/WebKit2WebProcess.resources/ja.lproj: Removed.
- * win/WebKit2WebProcess.resources/ko.lproj: Removed.
- * win/WebKit2WebProcess.resources/nb.lproj: Removed.
- * win/WebKit2WebProcess.resources/nl.lproj: Removed.
- * win/WebKit2WebProcess.resources/pl.lproj: Removed.
- * win/WebKit2WebProcess.resources/pt.lproj: Removed.
- * win/WebKit2WebProcess.resources/pt_PT.lproj: Removed.
- * win/WebKit2WebProcess.resources/ru.lproj: Removed.
- * win/WebKit2WebProcess.resources/sv.lproj: Removed.
- * win/WebKit2WebProcess.resources/zh_CN.lproj: Removed.
- * win/WebKit2WebProcess.resources/zh_TW.lproj: Removed.
- 2011-05-26 Steve Falkenburg <sfalken@apple.com>
- Reviewed by Adam Roben.
- WebKit2 bundle missing localization subdirectories
- https://bugs.webkit.org/show_bug.cgi?id=61512
- <rdar://problem/9498607>
-
- These lproj directories are intentionally left empty.
- Their presence indicates that this exe is localized to this
- set of languages.
- * win/WebKit2WebProcess.resources/English.lproj: Added.
- * win/WebKit2WebProcess.resources/da.lproj: Added.
- * win/WebKit2WebProcess.resources/de.lproj: Added.
- * win/WebKit2WebProcess.resources/es.lproj: Added.
- * win/WebKit2WebProcess.resources/fi.lproj: Added.
- * win/WebKit2WebProcess.resources/fr.lproj: Added.
- * win/WebKit2WebProcess.resources/it.lproj: Added.
- * win/WebKit2WebProcess.resources/ja.lproj: Added.
- * win/WebKit2WebProcess.resources/ko.lproj: Added.
- * win/WebKit2WebProcess.resources/nb.lproj: Added.
- * win/WebKit2WebProcess.resources/nl.lproj: Added.
- * win/WebKit2WebProcess.resources/pl.lproj: Added.
- * win/WebKit2WebProcess.resources/pt.lproj: Added.
- * win/WebKit2WebProcess.resources/pt_PT.lproj: Added.
- * win/WebKit2WebProcess.resources/ru.lproj: Added.
- * win/WebKit2WebProcess.resources/sv.lproj: Added.
- * win/WebKit2WebProcess.resources/zh_CN.lproj: Added.
- * win/WebKit2WebProcess.resources/zh_TW.lproj: Added.
- * win/WebKit2WebProcessPostBuild.cmd: Copy entire resources directory, exclude .svn directories.
- * win/xcopy.excludes: Added. Excludes .svn directories.
- 2011-05-25 Qi Zhang <qi.2.zhang@nokia.com>
- Reviewed by Simon Hausmann.
- WebKitTestRunner needs layoutTestController.setPrivateBrowsingEnabled
- https://bugs.webkit.org/show_bug.cgi?id=42697
- Implemented layoutTestController.setPrivateBrowsingEnabled for WebKitTestRunner.
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleSetPrivateBrowsingEnabled):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- 2011-05-25 Mark Rowe <mrowe@apple.com>
- Reviewed by Sam Weinig.
- <rdar://problem/9504058> Need some way to query user gesture state from injected bundle
- Add WKBundleIsProcessingUserGesture.
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleIsPageBoxVisible):
- (WKBundleIsProcessingUserGesture):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::isProcessingUserGesture):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- 2011-05-24 Jer Noble <jer.noble@apple.com>
- Reviewed by Darin Adler.
- Video fails to play on Vimeo
- https://bugs.webkit.org/show_bug.cgi?id=61403
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Added support for wkAVAssetResolvedURL and
- wkQTMovieResolvedURL.
- 2011-05-25 Jon Honeycutt <jhoneycutt@apple.com>
- REGRESSION (WebKit2): Crash in Flash on USA Today photo gallery
- https://bugs.webkit.org/show_bug.cgi?id=61428
- <rdar://problem/9457006>
- Reviewed by Adam Roben.
- The crash occurs when Flash posts a message to a window that it
- creates, and in processing the message, it calls NPN_Evaluate to
- evaluate JavaScript that removes the plug-in from the page. Flash then
- crashes when we return to Flash code.
- * Platform/WorkItem.h:
- (DerefWorkItem::DerefWorkItem):
- Initialize m_ptr.
- (DerefWorkItem::execute):
- Deref the object.
- (WorkItem::createDeref):
- Create and return a DerefWorkItem.
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::unprotectPluginFromDestruction):
- If the PluginView has only one reference left, deref it asynchronously.
- 2011-05-25 Dan Bernstein <mitz@apple.com>
- Reviewed by Anders Carlsson.
- <rdar://problem/9496795> REGRESSION (r86851): Plug-ins disappear when scrolled with non-1 page scale
- https://bugs.webkit.org/show_bug.cgi?id=61448
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::clipRectInWindowCoordinates): Correct for page scale
- after intersecting the two rectangles.
- 2011-05-24 Timothy Hatcher <timothy@apple.com>
- Make the Web Inspector bring the right window to the front when docked.
- rdar://problem/9464685
- https://webkit.org/b/61420
- Reviewed by Brian Weinstein.
- * UIProcess/mac/WebInspectorProxyMac.mm:
- (WebKit::WebInspectorProxy::platformBringToFront): Order front the parent window of the Inspector's WKView.
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::platformBringToFront): Ditto.
- 2011-05-24 Keishi Hattori <keishi@webkit.org>
- Reviewed by Kent Tamura.
- Disable textfield implementation of <input type=color>. Add INPUT_COLOR feature flag. Add input color sanitizer.
- https://bugs.webkit.org/show_bug.cgi?id=61273
- * Configurations/FeatureDefines.xcconfig: Added INPUT_COLOR feature flag.
- 2011-05-24 Maciej Stachowiak <mjs@apple.com>
- Reviewed by Dan Bernstein.
- Update the WebProcess sandbox exceptions to silence warnings for a file that is accessed uselessly
- https://bugs.webkit.org/show_bug.cgi?id=61349
- <rdar://problem/9476255>
- * WebProcess/com.apple.WebProcess.sb:
- 2011-05-24 Mark Rowe <mrowe@apple.com>
- Fix the 32-bit build.
- Explicitly use uint32_t when encoding / decoding a type that is a typedef of OSType,
- as this is declared as different underlying types in 32- and 64-bit (unsigned long
- vs unsigned int).
-
- * Shared/mac/KeychainAttribute.cpp:
- (CoreIPC::encode):
- (CoreIPC::decode):
- 2011-05-24 Sam Weinig <sam@webkit.org>
- Reviewed by Maciej Stachowiak.
- Enable coalesced wheel events
- <rdar://problem/9444786>
- * UIProcess/WebPageProxy.cpp:
- Flip the switch for coalescing wheel events rather than dropping them.
- 2011-05-24 Sam Weinig <sam@webkit.org>
- Reviewed by Maciej Stachowiak.
- Additional sandbox extension required for quarantine database
- <rdar://problem/9397494>
- https://bugs.webkit.org/show_bug.cgi?id=61405
- * WebProcess/com.apple.WebProcess.sb:
- Add read-data access for ~/Library/Preferences.
- 2011-05-24 Michael Saboff <msaboff@apple.com>
- Reviewed by Geoffrey Garen.
- Improve handling in WebCore of low memory situations
- https://bugs.webkit.org/show_bug.cgi?id=61222
- Added call to enable memory pressure handling for Mac case.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess):
- * WebProcess/WebProcess.h:
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::platformInitializeWebProcess):
- 2011-05-24 Brady Eidson <beidson@apple.com>
- Reviewed by Darin Adler.
- Part of <rdar://problem/9434311> and https://bugs.webkit.org/show_bug.cgi?id=61334
- Should shim a few SecKeychainItem* methods on SnowLeopard
- Initialize the KeychainItem shim on SnowLeopard:
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::initializeShim):
- On SnowLeopard, shim the 4 SecKeychainItem methods:
- * WebProcess/mac/WebProcessShim.h:
- * WebProcess/mac/WebProcessShim.mm:
- (WebKit::shimSecKeychainItemCopyContent):
- (WebKit::shimSecKeychainItemCreateFromContent):
- (WebKit::shimSecKeychainItemModifyContent):
- (WebKit::shimSecKeychainItemFreeContent):
- (WebKit::WebKitWebProcessKeychainItemShimInitialize):
- * WebProcess/mac/KeychainItemShimMethods.h: Added.
- * WebProcess/mac/KeychainItemShimMethods.mm: Added.
- Manage a set of shim-controlled AttributeList data:
- (WebKit::shimManagedAttributeLists):
- (WebKit::freeAttributeListContents):
- (WebKit::allocateAttributeListContents):
- Manage a set of shim-controlled KeychainItem data:
- (WebKit::shimManagedKeychainItemContents):
- (WebKit::allocateKeychainItemContentData):
- Free any shim-controlled AttributeList or KeychainItem data:
- (WebKit::webFreeAttributeListContentOnMainThread):
- (WebKit::webFreeAttributeListContent):
- (WebKit::webFreeKeychainItemContentOnMainThread):
- (WebKit::webFreeKeychainItemContent):
- Marshall these 3 KeychainItem methods to the UIProcess:
- (WebKit::webSecKeychainItemCopyContentOnMainThread):
- (WebKit::webSecKeychainItemCopyContent):
- (WebKit::webSecKeychainItemCreateFromContentOnMainThread):
- (WebKit::webSecKeychainItemCreateFromContent):
- (WebKit::webSecKeychainItemModifyContentOnMainThread):
- (WebKit::webSecKeychainItemModifyContent):
- (WebKit::initializeKeychainItemShim):
- Container for an AttributeList entry that knows how to encode/decode:
- * Shared/mac/KeychainAttribute.cpp: Added.
- (WebKit::KeychainAttribute::KeychainAttribute):
- (CoreIPC::encode):
- (CoreIPC::decode):
- * Shared/mac/KeychainAttribute.h: Added.
- Container for the relevant arguments to the shimmed methods, to send to the UIProcess:
- * Shared/mac/SecKeychainItemRequestData.cpp: Added.
- (WebKit::SecKeychainItemRequestData::SecKeychainItemRequestData):
- (WebKit::SecKeychainItemRequestData::initializeWithAttributeList):
- (WebKit::SecKeychainItemRequestData::~SecKeychainItemRequestData):
- (WebKit::SecKeychainItemRequestData::attributeList):
- (WebKit::SecKeychainItemRequestData::encode):
- (WebKit::SecKeychainItemRequestData::decode):
- * Shared/mac/SecKeychainItemRequestData.h: Added.
- (WebKit::SecKeychainItemRequestData::keychainItem):
- (WebKit::SecKeychainItemRequestData::itemClass):
- (WebKit::SecKeychainItemRequestData::length):
- (WebKit::SecKeychainItemRequestData::data):
- Container for the possible output from the shimmed methods, to send back to the WebProcess:
- * Shared/mac/SecKeychainItemResponseData.cpp: Added.
- (WebKit::SecKeychainItemResponseData::SecKeychainItemResponseData):
- (WebKit::SecKeychainItemResponseData::encode):
- (WebKit::SecKeychainItemResponseData::decode):
- * Shared/mac/SecKeychainItemResponseData.h: Added.
- (WebKit::SecKeychainItemResponseData::itemClass):
- (WebKit::SecKeychainItemResponseData::data):
- (WebKit::SecKeychainItemResponseData::resultCode):
- (WebKit::SecKeychainItemResponseData::attributes):
- (WebKit::SecKeychainItemResponseData::keychainItem):
- Actually implement the calls to the SecKeychainItem* methods in the UIProcess:
- * UIProcess/WebProcessProxy.h:
- * UIProcess/WebProcessProxy.messages.in:
- * UIProcess/mac/WebProcessProxyMac.mm:
- (WebKit::WebProcessProxy::secKeychainItemCopyContent):
- (WebKit::WebProcessProxy::secKeychainItemCreateFromContent):
- (WebKit::WebProcessProxy::secKeychainItemModifyContent):
- * WebKit2.xcodeproj/project.pbxproj: Project file stuff
- * Configurations/Shim.xcconfig:
- 2011-05-24 Jay Civelli <jcivelli@chromium.org>
- Rubberstamped by David Kilzer.
- Updated some files that I forgot in my previous MHTML CL.
- * Configurations/FeatureDefines.xcconfig:
- 2011-05-24 Sam Weinig <sam@webkit.org>
- Clean up after Geoff and fix the WebKit2 build.
- * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
- 2011-05-24 Adam Roben <aroben@apple.com>
- Invalidate JSNPObjects when they are finalized
- This will cause the underlying NPObject to be released at finalization time, rather than at
- destruction time (which is unpredictable and could occur after the plugin has been
- unloaded).
- Test: plugins/npobject-js-wrapper-destroyed-after-plugin-unload.html
- Fixes <http://webkit.org/b/61316> <rdar://problem/9489824> Crash in deallocateNPObject when
- reloading yahoo.com webarchive in WebKit2
- Reviewed by Oliver Hunt.
- * WebProcess/Plugins/Netscape/JSNPObject.cpp:
- (WebKit::JSNPObject::~JSNPObject): Assert that we've already been invalidated, rather than
- trying to perform invalidation now (when the plugin might already be unloaded).
- * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
- (WebKit::NPRuntimeObjectMap::invalidate):
- Updated for m_jsNPObjects type change.
- (WebKit::NPRuntimeObjectMap::finalize): Added. Invalidates the JSNPObject and removes it
- from the map.
- * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: Now inherits from WeakHandleOwner.
- Changed m_jsNPObjects from a WeakGCMap to a HashMap of JSC::Weak objects so that we will be
- notified when the JSNPObjects are finalized.
- 2011-05-24 Qi Zhang <qi.2.zhang@nokia.com>
- Reviewed by Adam Roben.
- WebKitTestRunner needs layoutTestController.setJavaScriptCanAccessClipboard
- https://bugs.webkit.org/show_bug.cgi?id=42669
- Fixes a typo issue for patch 94265.
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleSetJavaScriptCanAccessClipboard):
- 2011-05-24 Sam Weinig <sam@webkit.org>
- Reviewed by John Sullivan.
- WebKit tells client that the page has become unresponsive while the beforeUnloadConfirm dialog is up
- https://bugs.webkit.org/show_bug.cgi?id=61372
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
- Stop the unresponsiveness timer like we do for other client functions that spin a
- runloop.
- 2011-05-24 Andreas Kling <kling@webkit.org>
- Reviewed by Simon Hausmann.
- [WK2] Change TiledDrawingArea to use ShareableBitmap instead of UpdateChunk.
- https://bugs.webkit.org/show_bug.cgi?id=61296
- Pass UpdateInfo containing ShareableBitmaps instead of UpdateChunk for tile updates.
- Only the bounds rect and bitmap handle in the UpdateInfo are used since none of the
- other parameters are needed for TiledDrawingArea.
- * Shared/ShareableBitmap.h:
- * Shared/qt/ShareableBitmapQt.cpp:
- (WebKit::ShareableBitmap::createQImage):
- (WebKit::ShareableBitmap::createGraphicsContext):
- (WebKit::ShareableBitmap::paint):
- * Shared/qt/UpdateChunk.cpp: Removed.
- * Shared/qt/UpdateChunk.h: Removed.
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::didReceiveMessage):
- (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
- * UIProcess/TiledDrawingAreaProxy.h:
- * UIProcess/TiledDrawingAreaTile.h:
- * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
- (WebKit::TiledDrawingAreaProxy::snapshotTaken):
- * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
- (WebKit::TiledDrawingAreaTile::incorporateUpdate):
- * WebKit2.pro:
- * WebProcess/WebPage/TiledDrawingArea.cpp:
- (WebKit::TiledDrawingArea::updateTile):
- (WebKit::TiledDrawingArea::didReceiveMessage):
- * WebProcess/WebPage/TiledDrawingArea.h:
- * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp:
- (WebKit::TiledDrawingArea::paintIntoBitmap):
- 2011-05-24 Brady Eidson <beidson@apple.com>
- Build fix after r87153
- * WebProcess/mac/SecItemShimMethods.mm: Don't compile this code on SnowLeopard.
- 2011-05-23 Brady Eidson <beidson@apple.com>
- Reviewed by Sam Weinig.
- Part of <rdar://problem/9434311> and https://bugs.webkit.org/show_bug.cgi?id=61334
- Should shim a few SecKeychainItem* methods on SnowLeopard
- In preparation for different WebProcess shims depending on platform, move the current
- shim to its own files.
-
- * WebKit2.xcodeproj/project.pbxproj:
-
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::initializeShim): For non-SnowLeopard platforms, call initializeSecItemShim().
-
- * WebProcess/mac/SecItemShimMethods.h: Added.
- * WebProcess/mac/SecItemShimMethods.mm: Added. Actual webSecItem* methods moved from WebProcessMac.mm.
- (WebKit::webSecItemCopyMatchingMainThread):
- (WebKit::webSecItemCopyMatching):
- (WebKit::webSecItemAddOnMainThread):
- (WebKit::webSecItemAdd):
- (WebKit::webSecItemUpdateOnMainThread):
- (WebKit::webSecItemUpdate):
- (WebKit::webSecItemDeleteOnMainThread):
- (WebKit::webSecItemDelete):
- (WebKit::initializeSecItemShim): Initialize the callbacks via WebKitWebProcessSecItemShimInitialize
- * WebProcess/mac/WebProcessShim.h:
- * WebProcess/mac/WebProcessShim.mm: Wrap all the actual code here in a !BUILDING_ON_SNOW_LEOPARD block
- (WebKit::shimSecItemCopyMatching):
- (WebKit::shimSecItemAdd):
- (WebKit::shimSecItemUpdate):
- (WebKit::shimSecItemDelete):
- (WebKit::WebKitWebProcessSecItemShimInitialize):
- 2011-05-23 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Cap painting to 30fps on Windows
- https://bugs.webkit.org/show_bug.cgi?id=61337
- <rdar://problem/9213388>
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::displayTimerFired):
- 2011-05-23 Jeremy Noble <jer.noble@apple.com>
- Reviewed by Darin Adler.
- REGRESSION (r86990:86992): World leak when all windows closed
- https://bugs.webkit.org/show_bug.cgi?id=61311
- Three interlocking problems:
-
- 1) Calling [WKView fullScreenController] will create the controller if it doesn't all ready
- exist, so move the closing code into WKView, where we can bail early if there isn't a
- controller.
-
- 2) A retain-cycle exists between WKView and WKFullScreenWindowController. Make sure to break
- the cycle explicitly by clearing the _fullScreenWindowController ivar when closing the
- controller.
-
- 3) [NSWindowController close] was overridden without calling [super close]. Do that.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView closeFullScreenWindowController]): Moved here from WebFullScreenManagerProxyMac.mm.
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/mac/WKFullScreenWindowController.mm:
- (-[WKFullScreenWindowController close]): Call [super close].
- * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
- (WebKit::WebFullScreenManagerProxy::invalidate):
- 2011-05-20 Jer Noble <jer.noble@apple.com>
- Reviewed by Darin Adler.
- Video looks squished when animating to full screen.
- https://bugs.webkit.org/show_bug.cgi?id=61220
- Instead of scaling between the client sizes of the full-screen element before and after
- entering full-screen, scale between their content boxes. The difference is that the client
- sizes can have different aspect ratios, and thus the animation can end up "squishing" the
- content at one end of the animation. When animating between the two content box sizes, their
- aspect ratios (for the case of video) are equal, so the animation will appear to scale
- smoothly between the two states without "squishing" the content.
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
- (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation): Set the destination frame
- to be the content box of the current full screen element.
- (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation): Ditto.
- 2011-05-23 Sam Weinig <sam@webkit.org>
- Reviewed by Darin Adler.
- Terminating a WebProcess should work even while a page is being closed
- <rdar://problem/8934632>
- https://bugs.webkit.org/show_bug.cgi?id=61299
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::terminateProcess):
- Change validity check to only check for process validity, since terminating the process of a page that
- is closed or is closing is acceptable behavior.
- 2011-05-23 Jessie Berlin <jberlin@apple.com>
- Reviewed by Darin Adler.
- [Windows] Initial Cookie Accept Policy not set on Deserialized Storage Session.
- https://bugs.webkit.org/show_bug.cgi?id=61255
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::WebProcess::platformInitializeWebProcess):
- Move the code to set the cookie policy before the early return that is taken when using the
- default storage session from the UI Process.
- Also, remove unnecessary #ifdefs (USE(CFURLSTORAGESESSIONS) is true if USE(CFNETWORK) is
- true) and add a comment explaining the early return.
- 2011-05-23 Qi Zhang <qi.2.zhang@nokia.com>
- Reviewed by Darin Adler.
- WebKitTestRunner needs layoutTestController.setJavaScriptCanAccessClipboard
- https://bugs.webkit.org/show_bug.cgi?id=42669
- Implement setJavaScriptCanAccessClipboard in WebKitTestRunner.
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleSetJavaScriptCanAccessClipboard):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::setJavaScriptCanAccessClipboard):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- 2011-05-23 Csaba Osztrogonác <ossy@webkit.org>
- [Qt][WK2] Unreviewed trivial fix after r86990.
- * WebKit2.pro: Remove UIProcess/ChunkedUpdateDrawingAreaProxy.h.
- 2011-05-23 Carlos Garcia Campos <cgarcia@igalia.com>
- Unreviewed. Fix WebKit2 GTK build after r86990.
- * GNUmakefile.am: Remove UpdateChunk.cpp and UpdateChunk.h.
- 2011-05-21 John Sullivan <sullivan@apple.com>
- Reviewed by Darin Adler.
- https://bugs.webkit.org/show_bug.cgi?id=61244
- <rdar://problem/9482856>
- Undo operations for a web page linger after page is destroyed
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::closePage):
- Clear editing commands before telling UI client to close the page (this must be done
- while the page is still in a window so its undo manager can be accessed, so waiting
- for WebPageProxy::close() is too late).
- 2011-05-22 Jeff Miller <jeffm@apple.com>
- Reviewed by Darin Adler.
- Don't call WebKit::initializeLogChannelsIfNecessary if logging is disabled
- https://bugs.webkit.org/show_bug.cgi?id=61249
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext): Check #if !LOG_DISABLED, not #ifndef NDEBUG, to decide whether to call WebKit::initializeLogChannelsIfNecessary().
- 2011-05-21 Nancy Piedra <nancy.piedra@nokia.com>
- Reviewed by Andreas Kling.
- [Qt][Symbian] WKStringCopyQString function is not exported
- https://bugs.webkit.org/show_bug.cgi?id=59285
- A few functions were declared twice but without the export macro.
- On Symbian, the linking failed when trying to reference these functions.
- * UIProcess/API/qt/qgraphicswkview.h:
- 2011-05-21 Jeremy Noble <jer.noble@apple.com>
- Reviewed by Eric Carlson.
- WebKit2: fix failing fullscreen/full-screen-remove* tests.
- https://bugs.webkit.org/show_bug.cgi?id=61027
- * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp:
- (WebKit::InjectedBundlePageFullScreenClient::exitFullScreenForElement): Call the
- exit functions (was calling the enter functions).
- 2011-05-20 Jeremy Noble <jer.noble@apple.com>
- Reviewed by Mark Rowe.
- Crash in WebFullScreenManager::didExitFullScreen when closing a window in Safari.
- https://bugs.webkit.org/show_bug.cgi?id=61228
- Do not attempt to exit full screen if we aren't in full screen to begin with, as the WebProcess
- won't be expecting will/didExitFullScreen notifications.
- * UIProcess/mac/WKFullScreenWindowController.mm:
- (-[WKFullScreenWindowController close]):
- 2011-05-20 Andy Estes <aestes@apple.com>
- Reviewed by Darin Adler.
- WebView loses firstResponder status when entering full-screen mode.
- https://bugs.webkit.org/show_bug.cgi?id=61153
- * UIProcess/mac/WKFullScreenWindowController.mm:
- (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): If
- the WebView was a descendant of the browser window's first responder
- when entering full-screen mode, set the full-screen window's first
- responder to that same NSResponder.
- (-[WKFullScreenWindowController beganExitFullScreenAnimation]): Do the
- reverse of what is done in finishedEnterFullScreenAnimation:.
- 2011-05-20 Jeremy Noble <jer.noble@apple.com>
- Reviewed by Maciej Stachowiak.
- WebKit2: Exit full screen mode if the WebProcess crashes.
- https://bugs.webkit.org/show_bug.cgi?id=61151
- If the WebProcess crashes, exit full-screen mode to avoid getting stuck. Move the
- WebFullScreenManagerProxy::invalidate() implementation into the platform-specific
- files, and have them close their respective platform's full-screen window.
- * UIProcess/WebFullScreenManagerProxy.cpp:
- * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
- (WebKit::WebFullScreenManagerProxy::invalidate): Added. Copied from main implementation.
- * UIProcess/mac/WKFullScreenWindowController.h:
- * UIProcess/mac/WKFullScreenWindowController.mm:
- (-[WKFullScreenWindowController close]): Added.
- * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
- (WebKit::WebFullScreenManagerProxy::invalidate): Added.
- * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
- (WebKit::WebFullScreenManagerProxy::invalidate): Added.
- 2011-05-20 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Remove the chunked update drawing area
- https://bugs.webkit.org/show_bug.cgi?id=61216
- The chunked update drawing area is no longer used in any port, so remove all traces of it.
- Qt still uses UpdateChunks for the tiled drawing area so keep the Shared/qt/UpdateChunk.* classes for now.
- * GNUmakefile.am:
- * Shared/DrawingAreaInfo.h:
- * Shared/gtk/UpdateChunk.cpp: Removed.
- * Shared/gtk/UpdateChunk.h: Removed.
- * Shared/mac/UpdateChunk.cpp: Removed.
- * Shared/mac/UpdateChunk.h: Removed.
- * Shared/win/UpdateChunk.cpp: Removed.
- * Shared/win/UpdateChunk.h: Removed.
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: Removed.
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h: Removed.
- * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp: Removed.
- * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm: Removed.
- * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp: Removed.
- * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp: Removed.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::paint):
- (WebKit::WebView::createDrawingAreaProxy):
- (WebKit::WebView::enterAcceleratedCompositingMode):
- (WebKit::WebView::exitAcceleratedCompositingMode):
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: Removed.
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: Removed.
- * WebProcess/WebPage/DrawingArea.cpp:
- (WebKit::DrawingArea::create):
- * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp: Removed.
- * WebProcess/WebPage/qt/ChunkedUpdateDrawingAreaQt.cpp: Removed.
- * WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp: Removed.
- * win/WebKit2.vcproj:
- 2011-05-20 Matthew Delaney <mdelaney@apple.com>
- Reviewed by Steve Falkenburg.
- Default min DOM Timer interval is not set soon enough for first page to pick it up in WK2
- https://bugs.webkit.org/show_bug.cgi?id=61215
- * WebProcess/WebPage/WebPage.cpp: Simply moving the DOM min timer interval setting to before the first page creation.
- 2011-05-20 Simon Fraser <simon.fraser@apple.com>
- Reviewed by Sam Weinig.
- numberOfActiveAnimations() can include animations from documents in the page cache
- https://bugs.webkit.org/show_bug.cgi?id=53641
- Pass the Frame's document as the one to count animations on.
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::numberOfActiveAnimations):
- 2011-05-20 Simon Fraser <simon.fraser@apple.com>
- Reviewed by Sam Weinig.
- WebKitTestRunner needs layoutTestController.pauseTransitionAtTimeOnElementWithId
- https://bugs.webkit.org/show_bug.cgi?id=42550
-
- Plumb through methods to pause a transition of a given property on an element.
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFramePauseAnimationOnElementWithId):
- (WKBundleFramePauseTransitionOnElementWithId):
- * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::pauseTransitionOnElementWithId):
- * WebProcess/WebPage/WebFrame.h:
- 2011-05-20 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- WebKit2: Media files cannot be saved in the Application Cache due to a sandbox violation
- https://bugs.webkit.org/show_bug.cgi?id=61199
- Instead of using a sandbox extension to give permission to the application cache directory,
- initialize the sandbox with access to it like we do for other databases.
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::ensureWebProcess):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess):
- * WebProcess/com.apple.WebProcess.sb:
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::initializeSandbox):
- 2011-05-20 Jer Noble <jer.noble@apple.com>
- Reviewed by Maciej Stachowiak.
- Win: non-full-screen content is briefly seen when entering full-screen mode (and vice versa)
- https://bugs.webkit.org/show_bug.cgi?id=61108
- When the fullScreenController asks us to repaint, make an async repaint request, and when the
- callback is fired, notify the fullScreenController that repaint has completed.
- * UIProcess/win/WebView.cpp:
- (WebKit::fullScreenClientForceRepaintCompleted): Added.
- (WebKit::WebView::fullScreenClientForceRepaint): Added.
- * UIProcess/win/WebView.h:
- 2011-05-19 Adam Roben <aroben@apple.com>
- Don't try to process DownloadProxy messages twice (and robustify code that runs if we do)
- Fixes <http://webkit.org/b/61142> <rdar://problem/9471680> REGRESSION (r86812): Crash
- (preceded by assertion) in fastMalloc when downloading a file
- Reviewed by Darin Adler.
- * Platform/CoreIPC/ArgumentDecoder.cpp:
- (CoreIPC::alignedBufferIsLargeEnoughToContain): Added. This helper function checks that the
- given buffer is large enough to hold |size| bytes (and correctly handles the case where
- we're already at the end or beyond the end of the buffer).
- (CoreIPC::ArgumentDecoder::alignBufferPosition):
- (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
- Replaced old code that was vulnerable to underflow with the new helper function.
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveSyncMessage): Added back an early return that was
- mistakenly removed in r86812 so that we don't mistakenly pass DownloadProxy messages on to
- a WebPageProxy after we've already handled them.
- 2011-05-19 Jer Noble <jer.noble@apple.com>
- Reviewed by Maciej Stachowiak.
- WebKit2: Flashing when entering and exiting full screen mode
- https://bugs.webkit.org/show_bug.cgi?id=56957
- In the WKFullscreenWindowController, when exiting accelerated compositing mode,
- force a repaint, and don't actually remove the animation layer until the repaint
- completes. Also, move back to parenting the WebView in a layer-backed view, and
- work around the SnowLeopard bug which causes a crash in those situations. We no
- longer need to do a bunch of work in finishedEnterFullScreenAnimation, because
- the animation layer is "hiding" all the drawing happening in the webView underneath.
- In the WebFullScreenManagerMac, when asked to tear down the root layer, instead
- remove all its children, and set its contents to a flattened image of the full
- screen element and its children. This helps patch over the time where everything
- is re-rendering and helps give the appearance of continuousness in the animation.
- * UIProcess/mac/WKFullScreenWindowController.mm:
- (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
- (-[WKFullScreenWindowController beganExitFullScreenAnimation]):
- (-[WKFullScreenWindowController enterAcceleratedCompositingMode:WebKit::]):
- (-[WKFullScreenWindowController exitAcceleratedCompositingMode]):
- (-[WKFullScreenWindowController exitCompositedModeRepaintCompleted]):
- (exitCompositedModeRepaintCompleted):
- (-[WKFullScreenWindowController _page]):
- (-[WKFullScreenWindowController _manager]):
- (-[WKFullScreenWindow initWithContentRect:styleMask:backing:defer:]):
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
- (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
- 2011-05-19 Anders Carlsson <andersca@apple.com>
- Address a review comment by Sam Weinig.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::didUpdateHistoryTitle):
- 2011-05-19 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Hang UI appears when WebProcess isn't running
- https://bugs.webkit.org/show_bug.cgi?id=61147
- <rdar://problem/9413683>
- This fixes two bugs:
- 1. The HistoryClient related message handlers in WebContext could get invoked for pages that have been closed,
- and thus didn't have any subframes. Since we have a MESSAGE_CHECK that checks that the frame exists, we'd
- mark the currently dispatched message as invalid, which would end up calling Connection::Client::didReceiveInvalidMessage.
- Fix this by checking that the page exists first.
- 2. In the call to WebProcessProxy::didReceiveInvalidMessage we'd first invalidate the CoreIPC connection to make sure
- that we won't get any further messages from this connection. We'd then go ahead and terminate the web process,
- but because we've already invalidated the CoreIPC connection we would never get the Connection::Client::didClose
- callback that would call WebPageProxy::processDidCrash. Fix this by explicitly calling WebProcessProxy::didClose.
- Also, add logging when we receive an invalid message
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::didNavigateWithNavigationData):
- (WebKit::WebContext::didPerformClientRedirect):
- (WebKit::WebContext::didPerformServerRedirect):
- (WebKit::WebContext::didUpdateHistoryTitle):
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveInvalidMessage):
- 2011-05-19 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben.
- Crash when detaching Web Inspector when parent is in process of closing.
- https://bugs.webkit.org/show_bug.cgi?id=61141
- <rdar://problem/9470027>
-
- We were trying to send a WM_SIZE to a window that was in the process of closing. Switch
- to using PostMessage, so the window will finish closing, and then it won't need to
- process the WM_SIZE message anymore.
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::platformAttach): Call PostMessage instead of SendMessage.
- (WebKit::WebInspectorProxy::platformDetach): Ditto.
- 2011-05-19 Robert Hogan <robert@webkit.org>
- Reviewed by Andreas Kling.
- [Qt] Fix plugins/windowless_plugin_paint_test.html
- Call gdk_init_check before gdk_display_get_default().
- If we don't do this, gdk_display_get_default() will hang
- the next time it's called.
- * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
- (WebKit::getPluginDisplay):
- 2011-05-18 Chris Marrin <cmarrin@apple.com>
- Reviewed by Anders Carlsson.
- Plug-ins at YouTube, cnn.com, nytimes vanish when their top/left is scrolled out of view when zoomed
- https://bugs.webkit.org/show_bug.cgi?id=61101
- Scale both bounding boxes sent to m_plugin->geometryDidChange(), not just the frameRect. This fools
- the plugin into thinking it is drawing into an unscaled box with an unscaled view even when scaled.
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::frame):Made this const so it can be used in clipRectInWindowCoordinates()
- (WebKit::PluginView::viewGeometryDidChange):Used IntRect::scale() rather than scaling by hand
- (WebKit::PluginView::clipRectInWindowCoordinates):Added scale of clipRect.
- * WebProcess/Plugins/PluginView.h:
- 2011-05-19 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Anders Carlsson.
- Fix build with ENABLE_PLUGIN_PROCESS=1 for non-mac platforms after r86578
- https://bugs.webkit.org/show_bug.cgi?id=61113
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::tryToShortCircuitInvoke):
- (WebKit::PluginControllerProxy::tryToShortCircuitEvaluate):
- 2011-05-19 Philippe Normand <pnormand@igalia.com>
- Unreviewed, follow-up fix of the messages python unittests after r86812.
- [WebKit2] handleMessageDelayed leaks replyEncoder if decoding fails
- https://bugs.webkit.org/show_bug.cgi?id=60872
- * Scripts/webkit2/messages_unittest.py:
- 2011-05-18 Brady Eidson <beidson@apple.com>
- As originally reviewed by Anders Carlsson.
- <rdar://problem/9457633> and https://bugs.webkit.org/show_bug.cgi?id=61009
- Processes spawned by SnowLeopard's WebProcess attempt to install WebKit2 shims.
- Restore r86797 to how it was supposed to be using the appropriate #ifdef,
- reverting the temporary r86814 in the process.
- The #ifdef is BUILDING_ON_SNOW_LEOPARD, not BUILDING_ON_SNOWLEOPARD!
-
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess):
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain):
- 2011-05-18 Brady Eidson <beidson@apple.com>
- Fix the WK2 SnowLeopard layouttests (again) until I can explore on a SnowLeopard machine tomorrow.
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess):
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain):
- 2011-05-18 Darin Adler <darin@apple.com>
- Reviewed by Anders Carlsson.
- [WebKit2] handleMessageDelayed leaks replyEncoder if decoding fails
- https://bugs.webkit.org/show_bug.cgi?id=60872
- Eliminate the concept of SyncReplyMode and instead hand around ownership
- of the reply decoder using an OwnPtr.
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::dispatchSyncMessage): Eliminated comments that say
- the same things the code itself does. Removed code that handles the
- reply mode. Instead, pass the OwnPtr to the message handling function and
- make the call to sendSyncReply conditional on whether the reply encoder
- is still non-null.
- * Platform/CoreIPC/Connection.h: Removed SyncReplyMode. Made
- didReceiveSyncMessage return void, and take OwnPtr<ArgumentEncoder>& for
- the reply encoder.
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::handleMessageDelayed): Take an OwnPtr&. Replaced the call to
- adoptPtr with a call to release.
- * PluginProcess/PluginControllerProxy.h: Updated to take an OwnPtr& and
- not return SyncReplyMode.
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::didReceiveSyncMessage): Ditto.
- * PluginProcess/WebProcessConnection.h: Ditto.
- * Scripts/webkit2/messages.py: Updated for changes to sync messages.
- Eliminated unneeded return types and use get() when apporopriate to call
- the handleMessage functions.
- * Scripts/webkit2/messages_unittest.py: Tried to update this too.
- I don't know how to run the test, though.
- * Shared/Plugins/NPObjectMessageReceiver.h: Updated to take an OwnPtr& and
- not return SyncReplyMode.
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- (WebKit::NPRemoteObjectMap::didReceiveSyncMessage): Ditto.
- * Shared/Plugins/NPRemoteObjectMap.h: Ditto.
- * UIProcess/Downloads/DownloadProxy.h: Ditto.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::didReceiveSyncMessage): Ditto.
- * UIProcess/WebContext.h: Ditto.
- * UIProcess/WebFullScreenManagerProxy.cpp:
- (WebKit::WebFullScreenManagerProxy::didReceiveSyncMessage): Ditto.
- * UIProcess/WebFullScreenManagerProxy.h: Ditto.
- * UIProcess/WebIconDatabase.cpp:
- (WebKit::WebIconDatabase::didReceiveSyncMessage): Ditto.
- * UIProcess/WebIconDatabase.h: Ditto.
- * UIProcess/WebInspectorProxy.h: Ditto.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveSyncMessage): Ditto.
- * UIProcess/WebPageProxy.h: Ditto.
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveSyncMessage): Ditto.
- * UIProcess/WebProcessProxy.h: Ditto.
- * WebProcess/Plugins/Netscape/JSNPObject.cpp: Added a missing include.
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- (WebKit::PluginProcessConnection::didReceiveSyncMessage): Updated to take
- an OwnPtr& and not return SyncReplyMode.
- * WebProcess/Plugins/PluginProcessConnection.h: Ditto.
- * WebProcess/Plugins/PluginProxy.h: Ditto.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didReceiveSyncMessage): Ditto.
- * WebProcess/WebPage/WebPage.h: Ditto.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::didReceiveSyncMessage): Ditto.
- * WebProcess/WebProcess.h: Ditto.
- 2011-05-18 Chris Fleizach <cfleizach@apple.com>
- Reviewed by Maciej Stachowiak.
- WK2: VoiceOver cannot move focus into a web area programmatically
- https://bugs.webkit.org/show_bug.cgi?id=60661
- Add a makeFirstResponder method that will bring focus to the widget view within the UI
- process.
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::makeFirstResponder):
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/mac/WebPageProxyMac.mm:
- (WebKit::WebPageProxy::makeFirstResponder):
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::makeFirstResponder):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- 2011-05-18 Brady Eidson <beidson@apple.com>
- Reviewed by Anders Carlsson.
- <rdar://problem/9457633> and https://bugs.webkit.org/show_bug.cgi?id=61009
- Processes spawned by SnowLeopard's WebProcess attempt to install WebKit2 shims.
- * Platform/unix/EnvironmentUtilities.cpp: Remove an unnecessary #include, as reviewed.
- 2011-05-17 Timothy Hatcher <timothy@apple.com>
- Update the the context menu to reflect the system search provider on Mac.
- <rdar://problem/9198419>
- Reviewed by Sam Weinig.
- * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
- (WebKit::WebContextMenuClient::searchWithGoogle): Add a FIXME about using NSPerformService on Mac.
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Added CopyDefaultSearchProviderDisplayName.
- 2011-05-18 Brady Eidson <beidson@apple.com>
- Reviewed by Anders Carlsson.
- <rdar://problem/9457633> and https://bugs.webkit.org/show_bug.cgi?id=61009
- Processes spawned by SnowLeopard's WebProcess attempt to install WebKit2 shims.
- If the WebProcess or PluginProcess forks, it shouldn't pass WebKit2 shims along to the new process
- in the DYLD_INSERT_LIBRARIES environment variable.
- Add Environment Utilities helper to strip unwanted values from an environment variable:
- * Platform/unix/EnvironmentUtilities.cpp: Added.
- (WebKit::EnvironmentUtilities::stripValuesEndingWithString):
- * Platform/unix/EnvironmentUtilities.h: Added.
- * WebKit2.xcodeproj/project.pbxproj:
- Strip PluginProcessShim.dylib from DYLD_INSERT_LIBRARIES:
- * PluginProcess/mac/PluginProcessMainMac.mm:
- (WebKit::PluginProcessMain):
- Strip WebProcessShim.dylib from DYLD_INSERT_LIBRARIES:
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain):
- Unprotect SnowLeopard now that it will behave and not spawn processes trying to use WebKit2 shims:
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess):
- 2011-05-18 Jon Lee <jonlee@apple.com>
- Reviewed by Simon Fraser.
- Crash in injected bundle client
- https://bugs.webkit.org/show_bug.cgi?id=61086
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
- (WebKit::InjectedBundlePageUIClient::shouldRubberBandInDirection): Check for existence of method in client prior to calling.
- 2011-05-18 Andreas Kling <kling@webkit.org>
- Reviewed by Kenneth Rohde Christiansen.
- [Qt][WK2] Remove usage of ChunkedUpdateDrawingArea.
- https://bugs.webkit.org/show_bug.cgi?id=60901
- To prepare for the eventual removal of the ChunkedUpdateDrawingArea,
- make QGraphicsWKView's "Simple" backing store type map to DrawingAreaImpl.
- * UIProcess/API/qt/qgraphicswkview.cpp:
- * UIProcess/API/qt/qgraphicswkview.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::createDrawingAreaProxy):
- 2011-05-18 Andreas Kling <kling@webkit.org>
- Reviewed by Kenneth Rohde Christiansen.
- [Qt][WK2] Don't lie about supporting accelerated compositing.
- https://bugs.webkit.org/show_bug.cgi?id=61054
- Until we have an implementation of LayerTreeHost, we shouldn't lie about it.
- * WebKit2.pro:
- * WebProcess/WebPage/LayerTreeHost.h:
- * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: Added.
- (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
- 2011-05-17 Jeremy Noble <jer.noble@apple.com>
- Reviewed by Darin Adler.
- Exiting full screen will leave up invisible full-screen window, blocking all mouse clicks.
- https://bugs.webkit.org/show_bug.cgi?id=60982
- The GraphicsLayer tree has unparented m_fullScreenRootLayer behind our backs, replacing the
- tiled layer with a normal one. Instead of holding on to a specific layer, assume that the
- w_rootLayer will only have 0 or 1 children, and if a child is present, then that is our full-
- screen layer.
- Additionally, check to see if the animating layer's presentationLayer is nil
- before calling it; asking a nil object for a CATransform3D will give back a struct full of
- garbage.
- In WKFullScreenWindowController, when the exit animation completes, ignore the "completed"
- parameter. This eliminates the possibility that the full screen window will end up left
- on top of the screen if the animation is cancelled and a enter full screen animation isn't
- forthcoming.
- * UIProcess/mac/WKFullScreenWindowController.mm:
- (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
- (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
- (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation):
- (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation):
- 2011-05-17 Dan Bernstein <mitz@apple.com>
- Reviewed by Alice Liu.
- <rdar://problem/9458300> REGRESSION (r86724): Repro crash loading any webpage in WebKit2 on SnowLeopard
- https://bugs.webkit.org/show_bug.cgi?id=61022
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain): As long as we are not loading the shim on Snow Leopard, we should not
- try to initialize it.
- 2011-05-17 Brady Eidson <beidson@apple.com>
- Rubberstamped by Sam Weinig.
- https://bugs.webkit.org/show_bug.cgi?id=60595
- Fix the rampant WebProcess crashing because we're trying to install the WebProcess shim
- into QTKitServer when we launch it.
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess): This is only happening on SnowLeopard, so put
- SnowLeopard build guards around the shim install path.
- 2011-05-17 Sheriff Bot <webkit.review.bot@gmail.com>
- Unreviewed, rolling out r86668.
- http://trac.webkit.org/changeset/86668
- https://bugs.webkit.org/show_bug.cgi?id=61001
- It made 52 tests crash on Qt WK2 bot (Requested by Ossy on
- #webkit).
- * UIProcess/API/qt/qgraphicswkview.cpp:
- * UIProcess/API/qt/qgraphicswkview.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::createDrawingAreaProxy):
- 2011-05-17 Brian Weinstein <bweinstein@apple.com>
- Build fix after r86717.
- * UIProcess/API/C/win/WKView.h: Add a forward declaration of IDropTarget
- 2011-05-17 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben.
- WebKit2: Needs API to set a custom drop target
- https://bugs.webkit.org/show_bug.cgi?id=60991
- <rdar://problem/9090868>
-
- Add API to set a custom drop target on a WKView.
- * UIProcess/API/C/win/WKView.cpp:
- (WKViewSetCustomDropTarget): Call through to WebView::setCustomDropTarget.
- * UIProcess/API/C/win/WKView.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::setCustomDropTarget): Revoke the current drop target, and register the
- custom one.
- * UIProcess/win/WebView.h:
- 2011-05-17 Sam Weinig <sam@webkit.org>
- Reviewed by Dan Bernstein.
- Add API to determine if a frame has any form elements without going to javascript
- https://bugs.webkit.org/show_bug.cgi?id=60999
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameContainsAnyFormElements):
- * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::containsAnyFormElements):
- * WebProcess/WebPage/WebFrame.h:
- Add WKBundleFrameContainsAnyFormElements which does a walk of the document to determine
- if there are any form elements.
- 2011-05-17 Andreas Kling <kling@webkit.org>
- Reviewed by Kenneth Rohde Christiansen.
- [Qt][WK2] Initial support for favicons.
- https://bugs.webkit.org/show_bug.cgi?id=58937
- Add the following API to QWKContext:
- - void setIconDatabasePath(QString)
- - void iconChangedForPageURL(QUrl) [signal]
- - QIcon iconForPageURL(QUrl)
- This is mostly analogous to the QWebSettings/QWebFrame icon API we had in WebKit1.
- * UIProcess/API/qt/ClientImpl.h: Added WKIconDatabaseClient methods.
- * UIProcess/API/qt/ClientImpl.cpp:
- (toQWKContext): Helper to cast from "void* clientInfo" to a QWKContext*.
- (qt_wk_didChangeIconForPageURL): Emits QWKContext::iconChangedForPageURL(QUrl).
- (qt_wk_didRemoveAllIcons): Stub.
- * UIProcess/API/qt/qwkcontext.h:
- * UIProcess/API/qt/qwkcontext_p.h:
- * UIProcess/API/qt/qwkcontext.cpp:
- (QWKContextPrivate::QWKContextPrivate): Set up and register a WKIconDatabaseClient.
- (QWKContext::QWKContext): Minor refactor to avoid code duplication in constructors.
- (QWKContext::setIconDatabasePath): Exactly what it sounds like.
- (QWKContext::iconForPageURL): Retrieves the favicon for a given page URL as a QIcon.
- * WebKit2API.pri: Add WKIconDatabase.cpp and WKIconDatabase.h to build.
- 2011-05-17 Brady Eidson <beidson@apple.com>
- Reviewed by Anders Carlsson.
- Part 4 of <rdar://problem/8814289> and https://bugs.webkit.org/show_bug.cgi?id=60595
- Mac WebKit2 WebProcess needs a shim to make prompts appear to be from the UIProcess
- This patch actually hooks up the shim to the WebProcess shim callbacks, which messages these
- 4 calls up to the UIProcess and returns the result.
- Note that this patch uncovered the fact that CoreIPC can't sync message out from a secondary thread,
- so I filed https://bugs.webkit.org/show_bug.cgi?id=60975 as a followup to allow that.
- * Shared/mac/SecItemResponseData.cpp:
- (WebKit::SecItemResponseData::SecItemResponseData): Reorder the constructor arguments to be
- a little cleaner.
- * Shared/mac/SecItemResponseData.h:
- Call the shim callbacks for each method:
- * WebProcess/mac/WebProcessShim.mm:
- (WebKit::shimSecItemCopyMatching):
- (WebKit::shimSecItemAdd):
- (WebKit::shimSecItemUpdate):
- (WebKit::shimSecItemDelete):
- Implement the shim callbacks, which each marshall to the main thread, which then calls out to CoreIPC:
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebSecItemCopyMatchingMainThread):
- (WebKit::WebSecItemCopyMatching):
- (WebKit::WebSecItemAddOnMainThread):
- (WebKit::WebSecItemAdd):
- (WebKit::WebSecItemUpdateOnMainThread):
- (WebKit::WebSecItemUpdate):
- (WebKit::WebSecItemDeleteOnMainThread):
- (WebKit::WebSecItemDelete):
- Add the 4 messages and their implementations in the UIProcess:
- * UIProcess/WebProcessProxy.h:
- * UIProcess/WebProcessProxy.messages.in:
- * UIProcess/mac/WebProcessProxyMac.mm: Added.
- (WebKit::WebProcessProxy::secItemCopyMatching):
- (WebKit::WebProcessProxy::secItemAdd):
- (WebKit::WebProcessProxy::secItemUpdate):
- (WebKit::WebProcessProxy::secItemDelete):
- * WebKit2.xcodeproj/project.pbxproj:
- 2011-05-17 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Incomplete page painting at dropbox.com
- https://bugs.webkit.org/show_bug.cgi?id=60974
- <rdar://problem/9448213>
- When we're exiting compositing mode and haven't sent an EnterAcceleratedCompositingMode
- message to the UI process, we still need to send the updated bits to the ui process.
-
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
- 2011-05-17 Brady Eidson <beidson@apple.com>
- Reviewed by Anders Carlsson.
- Part 3 of <rdar://problem/8814289> and https://bugs.webkit.org/show_bug.cgi?id=60595
- Mac WebKit2 WebProcess needs a shim to make prompts appear to be from the UIProcess
- Add CoreIPC stuff we'll need to marshall the SecItem calls to the UIProcess and back.
- Teach ArgumentCodersCF about CFDateRef, SecKeychainItemRef, and generic CFTypeRefs:
- * Shared/cf/ArgumentCodersCF.cpp:
- (CoreIPC::typeFromCFTypeRef):
- (CoreIPC::encode):
- (CoreIPC::decode):
- * Shared/cf/ArgumentCodersCF.h:
- Serializable object that contains the query CFDictionaryRef and optionally the
- "attributesToMatch" CFDictionaryRef:
- * Shared/mac/SecItemRequestData.cpp: Added.
- (WebKit::SecItemRequestData::SecItemRequestData):
- (WebKit::SecItemRequestData::encode):
- (WebKit::SecItemRequestData::decode):
- * Shared/mac/SecItemRequestData.h: Added.
- (WebKit::SecItemRequestData::query):
- (WebKit::SecItemRequestData::attributesToMatch):
- Serializable object that returns an OSStatus and optionally a "result object" CFTypeRef:
- * Shared/mac/SecItemResponseData.cpp: Added.
- (WebKit::SecItemResponseData::SecItemResponseData):
- (WebKit::SecItemResponseData::encode):
- (WebKit::SecItemResponseData::decode):
- * Shared/mac/SecItemResponseData.h: Added.
- (WebKit::SecItemResponseData::resultObject):
- (WebKit::SecItemResponseData::resultCode):
- * WebKit2.xcodeproj/project.pbxproj:
- 2011-05-17 Brady Eidson <beidson@apple.com>
- Reviewed by Anders Carlsson.
- Part 2 of <rdar://problem/8814289> and https://bugs.webkit.org/show_bug.cgi?id=60595
- Mac WebKit2 WebProcess needs a shim to make prompts appear to be from the UIProcess
- Hookup some of the methods we plan to shim in the patch, but just have them call through
- to the actual implementations for now.
- Also stub-out the future shimmed versions of the methods.
- * WebProcess/mac/WebProcessShim.h: Add the methods to the shim callbacks.
- * WebProcess/mac/WebProcessShim.mm:
- (WebKit::shimSecItemCopyMatching): Call through to the actual function for now.
- (WebKit::shimSecItemAdd): Ditto.
- (WebKit::shimSecItemUpdate): Ditto.
- (WebKit::shimSecItemDelete): Ditto.
- (WebKit::WebKitWebProcessShimInitialize): Copy over the shim callbacks.
- * WebKit2.xcodeproj/project.pbxproj: Link the shim to required frameworks.
-
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebSecItemCopyMatching): Add placeholders for the future to-be-shimmed functions.
- (WebKit::WebSecItemAdd): Ditto.
- (WebKit::WebSecItemUpdate): Ditto.
- (WebKit::WebSecItemDelete): Ditto.
- (WebKit::WebProcess::initializeShim): Pass along those placeholders to the shim initializer.
- 2011-05-17 Brady Eidson <beidson@apple.com>
- Reviewed by Anders Carlsson.
- Part 1 of <rdar://problem/8814289> and https://bugs.webkit.org/show_bug.cgi?id=60595
- Mac WebKit2 WebProcess needs a shim to make prompts appear to be from the UIProcess
- Add am empty shim for a new WebProcess shim and install it at launch.
- Use the same Shim.xcconfig for both the web and plugin processes:
- * Configurations/PluginProcessShim.xcconfig: Removed.
- * Configurations/Shim.xcconfig: Copied from Configurations/PluginProcessShim.xcconfig.
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebProcess.h: Add initializeShim() for Mac-only
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::initializeShim): Initialize the (empty) shim callbacks.
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain): Call initializeShim()
- * WebProcess/mac/WebProcessShim.h: Added.
- * WebProcess/mac/WebProcessShim.mm: Added.
- (WebKit::WebKitWebProcessShimInitialize): Empty for now.
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess): Install the Plugin Process shim for plugin processes
- and the WebProcess shim for the web content process.
- 2011-05-17 John Sullivan <sullivan@apple.com>
- Reviewed by Adam Roben.
- Loose end from fix for https://bugs.webkit.org/show_bug.cgi?id=60938
- * WebKit2.xcodeproj/project.pbxproj:
- Made new header file "private" instead of "project" so clients can access it.
- 2011-05-17 Andreas Kling <kling@webkit.org>
- Reviewed by Kenneth Rohde Christiansen.
- [Qt][WK2] Remove usage of ChunkedUpdateDrawingArea.
- https://bugs.webkit.org/show_bug.cgi?id=60901
- To prepare for the eventual removal of the ChunkedUpdateDrawingArea,
- make QGraphicsWKView's "Simple" backing store type map to DrawingAreaImpl.
- * UIProcess/API/qt/qgraphicswkview.cpp:
- * UIProcess/API/qt/qgraphicswkview.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::createDrawingAreaProxy):
- 2011-05-16 Martin Robinson <mrobinson@igalia.com>
- Take another shot at fixing the WinCairo build.
- * Shared/cairo/LayerTreeContextCairo.cpp: Include NotImplemented.h using a framework include.
- 2011-05-16 Sam Weinig <sam@webkit.org>
- Reviewed by Jon Honeycutt.
- Add access to process pid in WebKit2 API
- https://bugs.webkit.org/show_bug.cgi?id=60938
- * UIProcess/API/C/mac/WKPagePrivateMac.cpp: Added.
- (WKPageGetProcessIdentifier):
- * UIProcess/API/C/mac/WKPagePrivateMac.h: Added.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::processIdentifier):
- * UIProcess/WebPageProxy.h:
- * WebKit2.xcodeproj/project.pbxproj:
- Add WKPageGetProcessIdentifier as SPI for the mac.
- 2011-05-16 Martin Robinson <mrobinson@igalia.com>
- Add file missing from my previous commit.
- * Shared/cairo/LayerTreeContextCairo.cpp: Added.
- 2011-05-16 Martin Robinson <martin.james.robinson@gmail.com>
- Try to fix the WinCairo build after r86612.
- Move the LayerTreeContextGtk.cpp stub to LayerTreeContextCairo.cpp and add
- it to the WinCairo build.
- * GNUmakefile.am: Update the source list.
- * Shared/cairo/LayerTreeContextCairo.cpp: Renamed from Source/WebKit2/Shared/gtk/LayerTreeContextGtk.cpp.
- * win/WebKit2.vcproj: Update the source list.
- 2011-05-16 Martin Robinson <mrobinson@igalia.com>
- Reviewed by Anders Carlsson.
- [GTK] [WebKit2] Provide a fast version of the backing store for X11
- https://bugs.webkit.org/show_bug.cgi?id=60912
- Instead of allocating the backing store surface directly in WebKit2,
- instantiate the GtkWidgetBackingStore class which abstracts away the
- platform-specific details of maintaining the backing store.
- * UIProcess/BackingStore.h:
- * UIProcess/gtk/BackingStoreGtk.cpp:
- (WebKit::BackingStore::paint): Call into GtkWidgetBackingStore to get the Cairo surface now.
- (WebKit::BackingStore::incorporateUpdate): Ditto.
- (WebKit::BackingStore::scroll): Call into GtkWidgetBackingStore to do the actual backing store scroll.
- 2011-05-16 Chris Marrin <cmarrin@apple.com>
- Reviewed by Darin Adler.
- Plug-in hit testing is broken after zooming
- https://bugs.webkit.org/show_bug.cgi?id=60916
- Construct a WebMouseEvent to send to plugin, adjusting values to take pageScaleFactor
- into account. Also adjusted bounds sent to viewGeometryDidChange to take pageScaleFactor
- into account. Both are needed or the plugin will think the mouse positions are outside
- its bounds.
- * Shared/WebEvent.h:
- * Shared/WebMouseEvent.cpp:Add ctor to clone a WebMouseEvent and add a scaleFactor to values
- (WebKit::WebMouseEvent::WebMouseEvent):
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::handleEvent):Adjust mouse coords to take pageScaleFactor into account
- (WebKit::PluginView::viewGeometryDidChange):Adjust bounds to take pageScaleFactor into account
- 2011-05-16 Martin Robinson <mrobinson@igalia.com>
- Reviewed by Anders Carlsson.
- GTK port of WebKit2 should switch to new DrawingAreaImpl model
- https://bugs.webkit.org/show_bug.cgi?id=59655
- * GNUmakefile.am: Add the files necessary to use the DrawingAreaProxyImpl
- to the source list. The source list also needs the LayerContextTree stubs.
- * Shared/LayerTreeContext.h: This file should not be guarded by
- USE(ACCELERATED_COMPOSITING) as it's needed for the DrawingAreaProxyImpl
- IPC messaging.
- * Shared/gtk/LayerTreeContextGtk.cpp: Added this stub.
- * UIProcess/API/gtk/PageClientImpl.cpp:
- (WebKit::PageClientImpl::createDrawingAreaProxy): Instead of creating the deprecated
- chunked drawing area, create a DrawingAreaProxyImpl.
- (WebKit::PageClientImpl::setViewNeedsDisplay): Here we must now queue a redraw. Previously
- the chunked drawing area was doing this manually. This is the appropriate place though.
- (WebKit::PageClientImpl::scrollView): Add an implementation that just calls into setViewNeedsDisplay.
- * UIProcess/API/gtk/PageClientImpl.h: Added a getter for m_viewWidget.
- (WebKit::PageClientImpl::viewWidget):
- * UIProcess/API/gtk/WebKitWebViewBase.cpp:
- (callDrawingAreaPaintMethod): Added this helper which reduces code duplication between
- GTK+ 2.x and 3.x
- (webkitWebViewBaseExpose): Call the new helper now.
- (webkitWebViewBaseDraw): Ditto.
- * UIProcess/BackingStore.h: Updated to include GTK+ specific types.
- * UIProcess/DrawingAreaProxy.h: Ditto.
- * UIProcess/DrawingAreaProxy.messages.in: Do not the DrawingAreaProxyImpl-specific
- message with USE(ACCELERATED_COMPOSITING).
- * UIProcess/WebPageProxy.cpp: Removed these guards, as DrawingAreProxyImpl is used on all platforms now.
- (WebKit::WebPageProxy::didReceiveMessage): Ditto.
- * UIProcess/WebPageProxy.h: Ditto.
- * UIProcess/gtk/BackingStoreGtk.cpp: Added. This implementation heavily uses Cairo,
- but depends on GTK+/GDK in a few places.
- (WebKit::BackingStore::paint):
- (WebKit::BackingStore::incorporateUpdate):
- (WebKit::BackingStore::scroll):
- * UIProcess/gtk/WebPageProxyGtk.cpp: Added a getting for the viewWidget, which is
- required by BackingStoreGtk. A similar getter exists for Windows and Mac.
- (WebKit::WebPageProxy::viewWidget): Ditto.
- * WebProcess/WebPage/DrawingArea.cpp: Removed these guards as DrawingAreaProxyImpl is used on all platforms now.
- (WebKit::DrawingArea::create): Ditto.
- * WebProcess/WebPage/DrawingArea.h: Ditto.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Do not guard
- this DrawingAreaProxyImpl-specific message with USE(ACCELERATED_COMPOSITING)
- * WebProcess/WebPage/WebPage.cpp: Removed these guards as DrawingAreaProxyImpl is used on all platforms now.
- (WebKit::WebPage::didReceiveMessage): Ditto.
- 2011-05-16 Maciej Stachowiak <mjs@apple.com>
- Reviewed by Sam Weinig.
- Sandbox denies Kerberos authentication
- https://bugs.webkit.org/show_bug.cgi?id=60921
- <rdar://problem/9133872>
-
- * WebProcess/com.apple.WebProcess.sb:
- 2011-05-16 David Kilzer <ddkilzer@apple.com>
- <http://webkit.org/b/60913> C++ exceptions should not be enabled when building with llvm-gcc-4.2
- <rdar://problem/9446430>
- Reviewed by Mark Rowe.
- * Configurations/Base.xcconfig: Fixed typo.
- 2011-05-16 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- If the root compositing layer changes while we're about to exit compositing mode, make sure to enter compositing mode
- https://bugs.webkit.org/show_bug.cgi?id=60905
- <rdar://problem/9365574>
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::setRootCompositingLayer):
- If we have a layer tree host, but haven't yet sent a EnterAcceleratedCompositingMode message (this can happen
- when quickly going in and out of compositing mode), make sure to schedule a notification when the layer tree host
- does it next flush. This will end up sending the EnterAcceleratedCompositingMode message.
- 2011-05-13 Jer Noble <jer.noble@apple.com>
- Reviewed by Simon Fraser.
- Video is blank, controller is misplaced on trailers.apple.com movie in fullscreen (with two screens)
- https://bugs.webkit.org/show_bug.cgi?id=60826
- Emit a notification when moving a CALayer from the WebProcess's main
- layer host to a new context. This allows listeners to invalidate their
- layers which may not support moving between different CAContexts (as is
- the case with QTMovieLayer). In order to allow listeners to determine if they
- are affected, the notification will pass the root CALayer in a userInfo
- dictionary.
- In WebFullScreenManagerMac, move from storing a pointer to a non-refcounted
- class (GraphicsLayer) to a retainable class (PlatformLayer).
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
- (WebKit::WebFullScreenManagerMac::WebFullScreenManagerMac): No need to initialize
- m_fullScreenRootLayer now that it is a RetainPtr<>.
- (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): Emit a notification
- after either creating or destroying the full screen layer host.
- (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation):
- (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation):
- 2011-05-16 Siddharth Mathur <siddharth.mathur@nokia.com>
- Rubber-stamped by Csaba Osztrogonác.
- [Qt][Wk2][Symbian] Fix build after r86560
- https://bugs.webkit.org/show_bug.cgi?id=60887
- Temporarily fix Symbian build by re-enabling compilation
- of Qt/Gtk common code (as was the case for Symbian before r55875).
- This is a stop gap until the pure Symbian Core IPC and process launching bits land in Bug 55875
- As of this revision, only the native SharedMemory implementation is in trunk.
- * Platform/CoreIPC/Attachment.h: Compile Qt/Gtk common code for Qt-Symbian too
- * Platform/CoreIPC/Connection.h: ditto
- * Platform/SharedMemory.h: ditto
- * Platform/qt/SharedMemorySymbian.cpp: stub implementations of attachment handling
- (WebKit::SharedMemory::Handle::releaseToAttachment):
- (WebKit::SharedMemory::Handle::adoptFromAttachment):
- 2011-05-16 Jon Lee <jonlee@apple.com>
- Reviewed by Simon Fraser.
- Can't horizontally scroll iframes and overflow because wheel events are always accepted
- https://bugs.webkit.org/show_bug.cgi?id=60779
- We keep track of the number of horizontal scrollbars and mouse wheel event handlers in the
- UI process as a means of determining whether horizontal scroll events will be handled
- by the web process.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::willHandleHorizontalScrollEvents): Return true if there is at least
- one wheel event handler
- * UIProcess/WebPageProxy.h: Add new variable to cache the count
- (WebKit::WebPageProxy::numWheelEventHandlersChanged): Sets the count
- The rest just provides all the connections.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageWillHandleHorizontalScrollEvents):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
- (WebKit::InjectedBundlePageUIClient::shouldRubberBandInDirection):
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::shouldRubberBandInDirection): Forward to injected bundle UI client
- (WebKit::WebChromeClient::updateCountWheelEventHandlers): Updates the web page proxy
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- 2011-05-16 Anders Carlsson <andersca@apple.com>
- Reviewed by Oliver Hunt.
- Silverlight: Selection via keyboard selects the entire plugin instead of the contents of a TextBox
- https://bugs.webkit.org/show_bug.cgi?id=60898
- <rdar://problem/9309903>
- Special-case Command-A and always return true, indicating that the plug-in handled the event.
- This matches WebKit1.
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
- 2011-05-16 Anders Carlsson <andersca@apple.com>
- Reviewed by Oliver Hunt.
- Short-circuit NPRuntime calls made by Flash during plug-in instantiation
- https://bugs.webkit.org/show_bug.cgi?id=60894
- <rdar://problem/8804681>
- During plug-in instantiation, Flash makes a couple of NPRuntime calls to get the
- URL of the current document as well as the URL of the toplevel document. This leads to
- a bunch of IPC traffic that slows down instantiation.
- Since we know what calls Flash is making and what results are expected, we can handle the
- NPRuntime calls directly in the plug-in process and avoid extra IPC overhead.
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::PluginControllerProxy):
- Initialize m_pluginCreationParameters.
- (WebKit::PluginControllerProxy::initialize):
- Set m_pluginCreationParameters to point to the creation parameters right before
- calling Plugin::initialize and restore it back afterwards.
- (WebKit::PluginControllerProxy::tryToShortCircuitInvoke):
- If the plug-in calling NPN_Invoke has the CanShortCircuitSomeNPRuntimeCallsDuringInitialization
- quirk, and we're being initialized, check for the __flash_getWindowLocation and
- __flash_getTopLocation function calls and return the correct values.
- (WebKit::PluginControllerProxy::tryToShortCircuitEvaluate):
- Check if the script string has the definitions of __flash_getWindowLocation or __flash_getTopLocation
- and just ignore them. Note that ignoring them has the effect of not adding them to the window object,
- which could in theory be a backwards compatibility problem if web pages were to assume that these
- functions existed on a page with plug-ins. In practice this is probably not a problem, especially since
- these functions are only used on Mac WebKit.
- * PluginProcess/PluginControllerProxy.h:
- (WebKit::PluginControllerProxy::inInitialize):
- Add helper function.
- * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
- (WebKit::NetscapePluginModule::determineQuirks):
- Add the CanShortCircuitSomeNPRuntimeCallsDuringInitialization quirk for Flash on Mac.
- * Shared/Plugins/PluginQuirks.h:
- Add Mac specific CanShortCircuitSomeNPRuntimeCallsDuringInitialization quirk.
- 2011-05-16 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- Add a returnValue parameter to tryToShortCircuitInvoke
- https://bugs.webkit.org/show_bug.cgi?id=60891
- tryToShortCircuitInvoke needs to be able to indicate that an invoke
- call failed. Add a returnValue parameter and have the real return value
- indicate whether tryToShortCircuitInvoke did short-circuit the invoke or not.
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::tryToShortCircuitInvoke):
- * PluginProcess/PluginControllerProxy.h:
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_Invoke):
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::tryToShortCircuitInvoke):
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- * WebProcess/Plugins/PluginController.h:
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::tryToShortCircuitInvoke):
- * WebProcess/Plugins/PluginView.h:
- 2011-05-16 Siddharth Mathur <siddharth.mathur@nokia.com>
- Reviewed by Csaba Osztrogonác.
- [Qt][Wk2][Symbian] Fix build after r86560
- https://bugs.webkit.org/show_bug.cgi?id=60887
- * Platform/CoreIPC/ArgumentDecoder.cpp:
- (CoreIPC::ArgumentDecoder::~ArgumentDecoder): guard Unix and Gtk code with USE(UNIX_DOMAIN_SOCKETS)
- * Platform/CoreIPC/ArgumentEncoder.cpp:
- (CoreIPC::ArgumentEncoder::~ArgumentEncoder): ditto
- 2011-05-16 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- Add the ability for a plug-in controller to short-circuit calls to NPN_Invoke
- https://bugs.webkit.org/show_bug.cgi?id=60886
- Make it possible for a plug-in controller to intercept calls to NPN_Invoke, which
- will be useful for avoiding sync IPC messages during instantiation.
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::evaluate):
- Call tryToShortCircuitEvaluate. If it returns true, we don't need to call back to
- the web process to ask it to evaluate the script string.
- (WebKit::PluginControllerProxy::tryToShortCircuitInvoke):
- (WebKit::PluginControllerProxy::tryToShortCircuitEvaluate):
- Always return false for now.
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_Invoke):
- Get the plug-in and call tryToShortCircuitInvoke.
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::tryToShortCircuitInvoke):
- Call the plug-in controller.
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::tryToShortCircuitInvoke):
- Always return false here, since there's no need to short-circuit calls
- for plug-ins that live in the web process.
- 2011-05-16 Siddharth Mathur <siddharth.mathur@nokia.com>
- Reviewed by Laszlo Gombos.
- [Qt][WK2][Symbian] Shared memory implementation for Symbian
- https://bugs.webkit.org/show_bug.cgi?id=55875
- Use global chunks for sharing data between processes.
- This is an initial implementation. An outstanding issue
- is the correct way to close() the chunk in the SharedMemory d'tor
- without triggering a delete by the kernel when the ref-count
- temporarily goes to zero.
- * Platform/SharedMemory.h: platform specific handle and chunk name
- * Platform/qt/SharedMemorySymbian.cpp: Added. Native Symbian OS implementation
- using RChunk.CreateGlobal() for named chunks. The chunk name is serialized
- and sent over the IPC channel and opened by the remote process using
- RChunk.OpenGlobal().
- (WebKit::SharedMemory::Handle::Handle):
- (WebKit::SharedMemory::Handle::~Handle):
- (WebKit::SharedMemory::Handle::isNull):
- (WebKit::SharedMemory::Handle::encode):
- (WebKit::SharedMemory::Handle::decode):
- (WebKit::SharedMemory::create):
- (WebKit::SharedMemory::~SharedMemory):
- (WebKit::SharedMemory::createHandle):
- (WebKit::SharedMemory::systemPageSize):
- * Platform/unix/SharedMemoryUnix.cpp: Exclude Qt-Symbian using HAVE(UNIX_DOMAIN_SOCKETS)
- * WebKit2.pro: Add SharedMemorySymbian.cpp
- 2011-05-16 Carlos Garcia Campos <cgarcia@igalia.com>
- Unreviewed. Fix WebKit2 GTK build after r86489.
- * GNUmakefile.am: Add PluginProcess/PluginCreationParameters.cpp
- and PluginProcess/PluginCreationParameters.h to compilation.
- 2011-05-16 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Enable building GTK port with ENABLE_PLUGIN_PROCESS=1
- https://bugs.webkit.org/show_bug.cgi?id=58223
- * GNUmakefile.am: Add new files to compilation.
- * PluginProcess/gtk/PluginControllerProxyGtk.cpp: Added.
- (WebKit::PluginControllerProxy::platformInitialize):
- (WebKit::PluginControllerProxy::platformDestroy):
- (WebKit::PluginControllerProxy::platformGeometryDidChange):
- * PluginProcess/gtk/PluginProcessGtk.cpp: Added.
- (WebKit::PluginProcess::platformInitialize):
- * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp: Added.
- (WebKit::PluginProcessProxy::platformInitializePluginProcess):
- * WebProcess/Plugins/Netscape/gtk/PluginProxyGtk.cpp: Added.
- (WebKit::PluginProxy::needsBackingStore):
- 2011-05-16 Adam Barth <abarth@webkit.org>
- Attempt to fix the Qt build. (Strict PassOwnPtr fix.)
- * Shared/qt/ShareableBitmapQt.cpp:
- (WebKit::ShareableBitmap::createGraphicsContext):
- 2011-05-15 Michael Saboff <msaboff@apple.com>
- Reviewed by Geoffrey Garen.
- Suboptimal lifetime of BackingStore objects in DrawingAreaProxyImpl
- https://bugs.webkit.org/show_bug.cgi?id=60864
- Implemented reuse of BackingStore's in
- DrawingAreaProxyImpl::didUpdateBackingStoreState when the size needed
- matches the size of the existing BackingStore.
- Also reduced the discardBackingStoreTimer from 5 to 2 seconds.
- These changes reduces memory usage up to 10MB on memory tests.
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
- (WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon):
- 2011-05-15 Anders Carlsson <andersca@apple.com>
- Reviewed by Maciej Stachowiak.
- Pass the window NPObject identifier in the plug-in creation parameters
- https://bugs.webkit.org/show_bug.cgi?id=60865
- This avoids a synchronous call when the plug-in wants to get the NPObject that
- corresponds to the window.
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::initialize):
- Change this to take the PluginCreationParameters. Initialize the window NPObject.
- (WebKit::PluginControllerProxy::windowScriptNPObject):
- Just return the window NPObject; it's already been initialized.
- * PluginProcess/PluginControllerProxy.h:
- * PluginProcess/PluginCreationParameters.cpp:
- (WebKit::PluginCreationParameters::PluginCreationParameters):
- (WebKit::PluginCreationParameters::encode):
- (WebKit::PluginCreationParameters::decode):
- * PluginProcess/PluginCreationParameters.h:
- Add the window NPObject ID.
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::createPlugin):
- Pass the creation parameters to PluginControllerProxy::initialize.
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::initialize):
- Initialize the window NPObject ID.
- * WebProcess/Plugins/PluginProxy.messages.in:
- Remove the GetWindowScriptNPObject message.
- 2011-05-15 Anders Carlsson <andersca@apple.com>
- Reviewed by Geoffrey Garen.
- Pass the document URL and toplevel document URL when creating a plug-in
- https://bugs.webkit.org/show_bug.cgi?id=60863
- This is the first of a series of patches intended to reduce the IPC traffic
- during plug-in instantiation.
- * WebProcess/Plugins/Plugin.cpp:
- (WebKit::Plugin::Parameters::encode):
- Encode the URLs.
- (WebKit::Plugin::Parameters::decode):
- Decode the URLs.
- * WebProcess/Plugins/Plugin.h:
- Add the document and toplevel document URLs.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin):
- Initialize the document and toplevel document URLs.
- 2011-05-13 Oliver Hunt <oliver@apple.com>
- Reviewed by Geoffrey Garen.
- Make GC validation more aggressive
- https://bugs.webkit.org/show_bug.cgi?id=60802
- Add GC_VALIDATION calls to all the JSNPObject methods.
- * WebProcess/Plugins/Netscape/JSNPObject.cpp:
- (WebKit::JSNPObject::invalidate):
- (WebKit::JSNPObject::callMethod):
- (WebKit::JSNPObject::callObject):
- (WebKit::JSNPObject::callConstructor):
- (WebKit::JSNPObject::getCallData):
- (WebKit::JSNPObject::getConstructData):
- (WebKit::JSNPObject::getOwnPropertySlot):
- (WebKit::JSNPObject::getOwnPropertyDescriptor):
- (WebKit::JSNPObject::put):
- (WebKit::JSNPObject::getOwnPropertyNames):
- (WebKit::JSNPObject::propertyGetter):
- (WebKit::JSNPObject::methodGetter):
- 2011-05-13 Oliver Hunt <oliver@apple.com>
- Reviewed by Geoffrey Garen.
- Make GC validation more aggressive
- https://bugs.webkit.org/show_bug.cgi?id=60802
- Add GC_VALIDATION calls to all the JSNPObject methods.
- * WebProcess/Plugins/Netscape/JSNPObject.cpp:
- (WebKit::JSNPObject::invalidate):
- (WebKit::JSNPObject::callMethod):
- (WebKit::JSNPObject::callObject):
- (WebKit::JSNPObject::callConstructor):
- (WebKit::JSNPObject::getCallData):
- (WebKit::JSNPObject::getConstructData):
- (WebKit::JSNPObject::getOwnPropertySlot):
- (WebKit::JSNPObject::getOwnPropertyDescriptor):
- (WebKit::JSNPObject::put):
- (WebKit::JSNPObject::getOwnPropertyNames):
- (WebKit::JSNPObject::propertyGetter):
- (WebKit::JSNPObject::methodGetter):
- 2011-05-14 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Sam Weinig.
- WebKit2: Smart cut&paste is broken
- https://bugs.webkit.org/show_bug.cgi?id=60840
- <rdar://problem/9439927>
- * UIProcess/mac/TextCheckerMac.mm: (WebKit::TextChecker::isSmartInsertDeleteEnabled):
- Match WK1 - this default defaults to YES if not present.
- 2011-05-14 Dan Bernstein <mitz@apple.com>
- Reviewed by Alice Liu.
- WKView does not draw after forced repaint before the first update
- https://bugs.webkit.org/show_bug.cgi?id=60845
- * UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::waitForBackingStoreUpdateOnNextPaint): Added.
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::waitForBackingStoreUpdateOnNextPaint): Set m_hasReceivedFirstUpdate
- to true, ensuring that paint() will wait for an update if needed.
- * UIProcess/DrawingAreaProxyImpl.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::forceRepaint): Call DrawingAreaProxy::waitForBackingStoreUpdateOnNextPaint().
- 2011-05-14 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Document the WantsMozillaUserAgent quirk and make it Windows specific
- https://bugs.webkit.org/show_bug.cgi?id=60843
- * Shared/Plugins/PluginQuirks.h:
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::userAgent):
- 2011-05-14 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Consolidate plug-in creation parameters to a single struct
- https://bugs.webkit.org/show_bug.cgi?id=60839
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::create):
- (WebKit::PluginControllerProxy::PluginControllerProxy):
- * PluginProcess/PluginControllerProxy.h:
- * PluginProcess/PluginCreationParameters.cpp: Added.
- (WebKit::PluginCreationParameters::PluginCreationParameters):
- (WebKit::PluginCreationParameters::encode):
- (WebKit::PluginCreationParameters::decode):
- * PluginProcess/PluginCreationParameters.h: Added.
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::createPlugin):
- * PluginProcess/WebProcessConnection.h:
- * PluginProcess/WebProcessConnection.messages.in:
- * Scripts/webkit2/messages.py:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::initialize):
- 2011-05-14 Anders Carlsson <andersca@apple.com>
- Reviewed by Kevin Decker.
- NPP_URLNotify is not called if a URL passed to NPN_GetURLNotify fails to load
- https://bugs.webkit.org/show_bug.cgi?id=60823
- <rdar://problem/9430386>
- If a plug-in stream fails to load before it's been started, we won't destroy the stream.
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::stop):
- Call notifyAndDestroyStream which will call NPP_URLNotify if necessary, and also destroy the stream.
- (WebKit::NetscapePluginStream::notifyAndDestroyStream):
- Pass the request URL to NPP_URLNotify, matching other browsers.
- 2011-05-14 Jer Noble <jer.noble@apple.com>
- Reviewed by Simon Fraser.
- Flashing window frame and graphical glitches after exiting full screen mode.
- https://bugs.webkit.org/show_bug.cgi?id=60825
- A layer-backed WebView throws an exception when moved from a layer-backed parent view
- to a non-layer-backed one, so make the WebView a child of the content view, instead of
- the animation view. There is an unrelated fix in beganExitFullScreen, which was calling
- finishedExitFullScreenAnimation: instead of finishedEnterFullScreenAnimation: when
- notifications come out of order.
- * UIProcess/mac/WKFullScreenWindowController.mm:
- (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Add the _webView
- to the full screen window's content view, instead of the _animationView.
- (-[WKFullScreenWindowController beganExitFullScreenAnimation]): Call
- finishedEnterFullScreenAnimation: instead of finishedExitFullScreenAnimation:.
- (-[WKFullScreenWindowController enterAcceleratedCompositingMode:WebKit::]): Add the
- _layerHostingView to the contentView, instead of the animationView.
- 2011-05-14 Csaba Osztrogonác <ossy@webkit.org>
- Unreviewed, rolling out r86469 and r86471, because they made hundreds tests crash on Qt.
- Make GC validation more aggressive
- https://bugs.webkit.org/show_bug.cgi?id=60802
- * WebProcess/Plugins/Netscape/JSNPObject.cpp:
- (WebKit::JSNPObject::invalidate):
- (WebKit::JSNPObject::callMethod):
- (WebKit::JSNPObject::callObject):
- (WebKit::JSNPObject::callConstructor):
- (WebKit::JSNPObject::getCallData):
- (WebKit::JSNPObject::getConstructData):
- (WebKit::JSNPObject::getOwnPropertySlot):
- (WebKit::JSNPObject::getOwnPropertyDescriptor):
- (WebKit::JSNPObject::put):
- (WebKit::JSNPObject::getOwnPropertyNames):
- (WebKit::JSNPObject::propertyGetter):
- (WebKit::JSNPObject::methodGetter):
- 2011-05-14 Sheriff Bot <webkit.review.bot@gmail.com>
- Unreviewed, rolling out r86476.
- http://trac.webkit.org/changeset/86476
- https://bugs.webkit.org/show_bug.cgi?id=60832
- It made plugins/get-url-notify-with-url-that-fails-to-
- load.html crash on GTK (Requested by Ossy on #webkit).
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::stop):
- (WebKit::NetscapePluginStream::notifyAndDestroyStream):
- 2011-05-13 Enrica Casucci <enrica@apple.com>
- Reviewed by Darin Adler and Brian Weinstein.
- REGRESSION (WK2): Can't drag and drop a link or image from Safari to Desktop
- https://bugs.webkit.org/show_bug.cgi?id=60819
- <rdar://problem/9370689>
- To support drag-and-drop to the desktop and other windows applications,
- we need to support the fileDescriptor and fileContentZero clipboard formats.
- This patch adds the support for serializing these types across the process boundary.
- * Platform/CoreIPC/Arguments.h: Added support for messages with 10 arguments.
- (CoreIPC::Arguments10::Arguments10):
- (CoreIPC::Arguments10::encode):
- (CoreIPC::Arguments10::decode):
- (CoreIPC::In):
- (CoreIPC::Out):
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::callMemberFunction): Added support for memebers with 10 arguments.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::startDragDrop):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebCoreSupport/win/WebDragClientWin.cpp:
- (WebKit::WebDragClient::startDrag):
- 2011-05-13 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- NPP_URLNotify is not called if a URL passed to NPN_GetURLNotify fails to load
- https://bugs.webkit.org/show_bug.cgi?id=60823
- <rdar://problem/9430386>
- If a plug-in stream fails to load before it's been started, we won't destroy the stream.
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::stop):
- Call notifyAndDestroyStream which will call NPP_URLNotify if necessary, and also destroy the stream.
- (WebKit::NetscapePluginStream::notifyAndDestroyStream):
- Pass the request URL to NPP_URLNotify, matching other browsers.
- 2011-05-13 Michael Saboff <msaboff@apple.com>
- Reviewed by Geoffrey Garen.
- Backing store may not get discarded due to stopped timer
- https://bugs.webkit.org/show_bug.cgi?id=60816
- Changed the backing store timer to restart if it has been stopped.
- The evaluation is done when the view's state is changed.
- This change appears to be worth ~3MB (one backing store worth)
- during memory tests.
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::viewStateDidChange):
- 2011-05-13 Oliver Hunt <oliver@apple.com>
- Reviewed by Geoffrey Garen.
- Make GC validation more aggressive
- https://bugs.webkit.org/show_bug.cgi?id=60802
- Add GC_VALIDATION calls to all the JSNPObject methods.
- * WebProcess/Plugins/Netscape/JSNPObject.cpp:
- (WebKit::JSNPObject::invalidate):
- (WebKit::JSNPObject::callMethod):
- (WebKit::JSNPObject::callObject):
- (WebKit::JSNPObject::callConstructor):
- (WebKit::JSNPObject::getCallData):
- (WebKit::JSNPObject::getConstructData):
- (WebKit::JSNPObject::getOwnPropertySlot):
- (WebKit::JSNPObject::getOwnPropertyDescriptor):
- (WebKit::JSNPObject::put):
- (WebKit::JSNPObject::getOwnPropertyNames):
- (WebKit::JSNPObject::propertyGetter):
- (WebKit::JSNPObject::methodGetter):
- 2011-05-13 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- NPN_GetURL with a javascript: URL doesn't send back the result in the stream
- https://bugs.webkit.org/show_bug.cgi?id=60810
- In NetscapePluginStream::sendJavaScriptStream, we were incorrectly passing the result URL
- to the stream, instead of the result. Also, store the request URL in the NetscapePluginStream object
- to avoid sending it over the wire.
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::didEvaluateJavaScript):
- * PluginProcess/PluginControllerProxy.h:
- * PluginProcess/PluginControllerProxy.messages.in:
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::loadURL):
- (WebKit::NetscapePlugin::didEvaluateJavaScript):
- (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::NetscapePluginStream):
- (WebKit::NetscapePluginStream::sendJavaScriptStream):
- * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
- (WebKit::NetscapePluginStream::create):
- * WebProcess/Plugins/Plugin.h:
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::didEvaluateJavaScript):
- * WebProcess/Plugins/PluginProxy.h:
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::performJavaScriptURLRequest):
- 2011-05-13 Jeff Miller <jeffm@apple.com>
- Reviewed by Darin Adler.
- Make some page() member functions const
- https://bugs.webkit.org/show_bug.cgi?id=60794
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h: Make page() const.
- * UIProcess/WebFrameProxy.h:
- (WebKit::WebFrameProxy::page): Make page() const.
- * UIProcess/WebInspectorProxy.h:
- (WebKit::WebInspectorProxy::page): Make page() const.
- * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::page): Make page() const.
- * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
- (WebKit::ChunkedUpdateDrawingAreaProxy::page): Make page() const.
- * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::page): Make page() const.
- * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::page): Make page() const.
- 2011-05-13 Adam Roben <aroben@apple.com>
- Load plugins in the order they're found
- Fixes <http://webkit.org/b/60788> <rdar://problem/9435787> REGRESSION (r69790): WebKit2
- doesn't prefer plugins in the additional plugins directory
- Reviewed by Anders Carlsson.
- * UIProcess/Plugins/PluginInfoStore.cpp:
- (WebKit::addFromVector):
- Changed to use a ListHashSet instead of a HashSet to store the plugin paths.
- 2011-05-13 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Prune #includes from FrameView.h (Part 2)
- https://bugs.webkit.org/show_bug.cgi?id=60748
- - Update files that were depending on FrameView.h #including Frame.h or
- Page.h.
- * WebProcess/Plugins/PluginView.cpp:
- * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
- * WebProcess/WebPage/WebContextMenu.cpp:
- * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
- 2011-05-13 Martin Robinson <mrobinson@igalia.com>
- Reviewed by Eric Seidel.
- [GTK] Share the GTK+ key binding code between WebKit1 and WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=59765
- Use the new KeyBindingTranslator class from WebCore/platform/gtk. With this utility
- class we can now share the code with WebKit2.
- * UIProcess/API/gtk/PageClientImpl.cpp:
- (WebKit::PageClientImpl::PageClientImpl): No longer need to initialize keybinding code.
- (WebKit::PageClientImpl::getEditorCommandsForKeyEvent): Use the new utility class.
- * UIProcess/API/gtk/PageClientImpl.h: Remove unnecessary members. Add utility class member.
- 2011-05-12 Pratik Solanki <psolanki@apple.com>
- Reviewed by Antti Koivisto.
- Part of WebCore should use CFNetwork-based loader on Mac
- https://bugs.webkit.org/show_bug.cgi?id=51836
- Use CFRunLoop when using CFNetwork.
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::platformInitialize):
- 2011-05-12 Sam Weinig <sam@webkit.org>
- Reviewed by Gavin Barraclough.
- WebProcess sandbox denies file:/// accesses after you navigate to a nonexistent file
- <rdar://problem/9427752>
- https://bugs.webkit.org/show_bug.cgi?id=60745
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad):
- Don't attempt to re-use a non-existent committed sandbox extension. This can
- happen when the previous load was file: url, but did not require an extension,
- such as an error page.
- 2011-05-12 Jia Pu <jpu@apple.com>
- Reviewed by Darin Adler.
- Regression caused by changeset 86281
- https://bugs.webkit.org/show_bug.cgi?id=60712
- <rdar://problem/9427970>
- Removed the condition variable. [NSSpellChecker dismissCorrectionIndicatorForView:] is blocking.
- So handleAcceptedReplacement() triggered by dismissInternal() will return before dismissInternal()
- returns. So we don't need to use the condition to coordinate between these two function. In fact,
- all callbacks are delivered on main thread. We don't really need any locking here.
- Since now we don't have distinction between dismiss() and dismissSoon(). dismissSoon() has
- been removed.
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::dismissCorrectionPanelSoon):
- * UIProcess/mac/CorrectionPanel.h:
- * UIProcess/mac/CorrectionPanel.mm:
- (WebKit::CorrectionPanel::CorrectionPanel):
- (WebKit::CorrectionPanel::show):
- (WebKit::CorrectionPanel::dismiss):
- (WebKit::CorrectionPanel::dismissInternal):
- (WebKit::CorrectionPanel::handleAcceptedReplacement):
- 2011-05-12 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben.
- WebKit2: Implement plugin quirk for Mozilla user agent for older Flash
- https://bugs.webkit.org/show_bug.cgi?id=60726
- <rdar://problem/8470824>
-
- Implement the quirk for versions of Flash before v10 that only request windowless plugins
- if we use a Mozilla user agent.
- * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
- (WebKit::NetscapePluginModule::determineQuirks): If we have a plugin that handles the
- "application/x-shockwave-flash" MIME type with a version less than 10, tell it to use
- the Mozilla user agent.
- * Shared/Plugins/PluginQuirks.h:
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::userAgent): Add an early return if the plugin uses the Mozilla user
- agent.
- * win/WebKit2.vcproj: Add PluginQuirks.h.
- 2011-05-12 Anders Carlsson <andersca@apple.com>
- Reviewed by Simon Fraser.
- PluginView::invalidateRect doesn't work for transformed plug-ins
- https://bugs.webkit.org/show_bug.cgi?id=60727
- <rdar://problem/9331244>
- Ask the RenderObject to repaint the plug-in instead of using invalidateContentsAndWindow.
- This matches what we do in WebKit1.
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::invalidateRect):
- 2011-05-12 Jessie Berlin <jberlin@apple.com>
- Reviewed by Darin Adler.
- [Windows WebKit2] Use cookies set in WebKit1
- https://bugs.webkit.org/show_bug.cgi?id=60274
- Properly handle the case where there is no serialized default storage session by not trying
- to encode or decode 0, while still making sure to decode any valid storage session.
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
- (WebKit::WebProcessCreationParameters::encode):
- Only encode the storage session if there is one to encode.
- (WebKit::WebProcessCreationParameters::decode):
- Only decode the storage session there is one to decode.
- * Shared/WebProcessCreationParameters.h:
- 2011-05-11 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Anders Carlsson.
- After relaunching an unresponsive web process, web page stops responding to mouse movement
- https://bugs.webkit.org/show_bug.cgi?id=60669
- <rdar://problem/9409934>
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::processDidCrash): Set m_processingMouseMoveEvent to false when the WebProcess
- crashes.
- 2011-05-10 Tony Gentilcore <tonyg@chromium.org>
- Reviewed by Darin Adler.
- Perform some forward declarations suggested by include-what-you-use
- https://bugs.webkit.org/show_bug.cgi?id=60545
- * WebProcess/WebPage/mac/WebPageMac.mm:
- 2011-05-12 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- Fix the build with ENABLE_PLUGIN_PROCESS
- https://bugs.webkit.org/show_bug.cgi?id=60628
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::initialize): Move the call to
- pluginController->isAcceleratedCompositingEnabled() to a #ifdef block.
- * WebProcess/Plugins/PluginProxy.h: Add include for <WebCore/IntRect.h>.
- 2011-05-11 Damian Kaleta <dkaleta@apple.com>
- Reviewed by Brady Eidson.
- Need a new API that will try to restore the scrollbars' position, when navigating in the back/forward history
- https://bugs.webkit.org/show_bug.cgi?id=60674
- * UIProcess/API/C/WKPage.cpp:
- (WKPageTryRestoreScrollPosition):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::tryRestoreScrollPosition):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::tryRestoreScrollPosition):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
- 2011-05-11 Sam Weinig <sam@webkit.org>
- Reviewed by Gavin Barraclough.
- WebKit2 doesn't build on Mac with strict PassOwnPtr
- https://bugs.webkit.org/show_bug.cgi?id=60655
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::handleMessageDelayed):
- Add explicit adoptPtr to indicate that the constructor is taking ownership.
- 2011-05-11 Jessie Berlin <jberlin@apple.com>
- Reviewed by Steve Falkenburg.
- [Windows WebKit2] Use cookies set in WebKit1
- https://bugs.webkit.org/show_bug.cgi?id=60274
- Share the default storage session between the UI and Web Processes.
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- Only encode the session parameter if it is valid.
- (WebKit::WebProcessCreationParameters::decode):
- Don't try to decode a null session data.
- * Shared/WebProcessCreationParameters.h:
- Add a parameter for a serialized default storage session, used only on Windows.
- * Shared/win/WebCoreArgumentCodersWin.cpp:
- (CoreIPC::decodeResourceRequest):
- Make sure to set the current storage session on any requests used by the Web
- Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
- doing anything with the Web Process's default storage session.
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::platformInitializeWebProcess):
- Serialize the default storage session in the UI Process and add it to the
- WebProcessCreationParameters.
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::cachedResponseForURL):
- Use the cache associated with the current storage session and make sure the request has the
- current storage session set on it before doing anything with it.
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::WebProcess::platformSetCacheModel):
- Use the default storage session.
- (WebKit::WebProcess::platformClearResourceCaches):
- Ditto.
- (WebKit::WebProcess::platformInitializeWebProcess):
- Deserialize the default storage session passed in by the UI Process and hand it to the
- ResourceHandle.
- 2011-05-11 Jia Pu <jpu@apple.com>
- Reviewed by Darin Adler.
- CorrectionPanel sometimes hangs in dismissSoon().
- https://bugs.webkit.org/show_bug.cgi?id=60599
- <rdar://problem/9313628>
- Make sure dismissSoon() won't wait indefinitely if handleAcceptedReplacement() sets m_resultForSynchronousDismissal
- to nil. Added a designated variable m_isDismissing, instead of piggy-backing m_resultForSynchronousDismissal,
- for condition checking.
- * UIProcess/mac/CorrectionPanel.h:
- * UIProcess/mac/CorrectionPanel.mm:
- (WebKit::CorrectionPanel::CorrectionPanel):
- (WebKit::CorrectionPanel::show):
- (WebKit::CorrectionPanel::dismissSoon):
- (WebKit::CorrectionPanel::dismissInternal):
- (WebKit::CorrectionPanel::handleAcceptedReplacement):
- 2011-05-11 Sheriff Bot <webkit.review.bot@gmail.com>
- Unreviewed, rolling out r86255.
- http://trac.webkit.org/changeset/86255
- https://bugs.webkit.org/show_bug.cgi?id=60660
- REGRESSION (r86255): Lots of tests crashing in
- CFWriteStreamCreateWithAllocatedBuffers on Windows 7 Release
- (WebKit2 Tests) (Requested by aroben on #webkit).
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
- * Shared/win/WebCoreArgumentCodersWin.cpp:
- (CoreIPC::decodeResourceRequest):
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::platformInitializeWebProcess):
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::cachedResponseForURL):
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::WebProcess::platformSetCacheModel):
- (WebKit::WebProcess::platformClearResourceCaches):
- (WebKit::WebProcess::platformInitializeWebProcess):
- 2011-05-11 Adam Roben <aroben@apple.com>
- Don't notify the plugin when a targeted javascript: URL request completes
- This matches Mozilla and WebKit1.
- Fixes <http://webkit.org/b/60568> <rdar://problem/8610657> REGRESSION (WebKit2): Flash
- plugin doesn't appear on a hanes.com page
- Test: plugins/get-targeted-javascript-url.html
- Reviewed by Anders Carlsson.
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::performJavaScriptURLRequest): Don't call back to the plugin if the
- request had a target.
- 2011-05-11 Jessie Berlin <jberlin@apple.com>
- Reviewed by Steve Falkenburg.
- [Windows WebKit2] Use cookies set in WebKit1
- https://bugs.webkit.org/show_bug.cgi?id=60274
- Share the default storage session between the UI and Web Processes.
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
- Add a parameter for a serialized default storage session, used only on Windows.
- * Shared/win/WebCoreArgumentCodersWin.cpp:
- (CoreIPC::decodeResourceRequest):
- Make sure to set the current storage session on any requests used by the Web
- Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
- doing anything with the Web Process's default storage session.
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::platformInitializeWebProcess):
- Serialize the default storage session in the UI Process and add it to the
- WebProcessCreationParameters.
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::cachedResponseForURL):
- Use the cache associated with the current storage session and make sure the request has the
- current storage session set on it before doing anything with it.
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::WebProcess::platformSetCacheModel):
- Use the default storage session.
- (WebKit::WebProcess::platformClearResourceCaches):
- Ditto.
- (WebKit::WebProcess::platformInitializeWebProcess):
- Deserialize the default storage session passed in by the UI Process and hand it to the
- ResourceHandle.
- 2011-05-11 Sam Weinig <sam@webkit.org>
- Reviewed by Adam Roben.
- WebKit2 should tell app that is unresponsive in more cases
- <rdar://problem/9110151>
- https://bugs.webkit.org/show_bug.cgi?id=60608
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
- (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
- Invoke the responsiveness time when forcing a backing store update
- to catch the cases of activating tabs, resizing the window, etc.
- 2011-05-11 Martin Robinson <mrobinson@igalia.com>
- Try to fix the WinCairo build.
- * Shared/ShareableBitmap.h: Correctly include RefPtrCairo here and
- guard it with USE(CAIRO) instead of PLATFORM(CAIRO).
- 2011-05-11 John Sullivan <sullivan@apple.com>
- Reviewed by Darin Adler.
- <https://bugs.webkit.org/show_bug.cgi?id=60631>
- <rdar://problem/9420520>
-
- WebKit2 doesn't clear the pendingAPIRequestURL on in-page anchor navigation [60631]
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
- Call clearPendingAPIRequestURL().
- 2011-05-11 Adam Roben <aroben@apple.com>
- Turn on strict PassOwnPtr on Windows
- Fixes <http://webkit.org/b/60632> Windows should build with strict PassOwnPtr enabled
- Reviewed by Adam Barth.
- * WebProcess/FullScreen/win/WebFullScreenManagerWin.cpp:
- (WebKit::WebFullScreenManagerWin::setRootFullScreenLayer): Use nullptr instead of 0.
- 2011-05-11 Jessie Berlin <jberlin@apple.com>
- Reviewed by Darin Adler.
- [WebKit2] exceededDatabaseQuota function on WKPageUIClient needs to provide information
- about the usage for both the origin overall and the database in question.
- https://bugs.webkit.org/show_bug.cgi?id=60573
- Add the currentOriginUsage parameter.
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::callMemberFunction):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::exceededDatabaseQuota):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::exceededDatabaseQuota):
- * UIProcess/WebUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::exceededDatabaseQuota):
- 2011-05-10 Oliver Hunt <oliver@apple.com>
- Reviewed by Geoffrey Garen.
- Assertion failure in JSC::Structure::typeInfo when reloading weather.com video page
- https://bugs.webkit.org/show_bug.cgi?id=60580
- The plugin object map was incorrect trying to implement a weak map itself using
- destructors. Switch to a WeakGCMap and the problem is fixed.
- * WebProcess/Plugins/Netscape/JSNPObject.cpp:
- (WebKit::JSNPObject::~JSNPObject):
- * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
- (WebKit::NPRuntimeObjectMap::invalidate):
- * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
- 2011-05-10 Sam Weinig <sam@webkit.org>
- Reviewed by Dan Bernstein.
- Yet more quarantine related sandbox denial when downloading files
- <rdar://problem/9397494>
- * WebProcess/com.apple.WebProcess.sb:
- 2011-05-10 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- WebKit2: Coalesced wheel events should be saved to hand back to the client on unhandled return
- https://bugs.webkit.org/show_bug.cgi?id=60584
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::handleWheelEvent):
- (WebKit::canCoalesce):
- (WebKit::coalesce):
- (WebKit::coalescedWheelEvent):
- (WebKit::WebPageProxy::didReceiveEvent):
- (WebKit::WebPageProxy::processDidCrash):
- Reworks coalescing/merging code to happen on didReceiveEvent rather than in
- handleWheelEvent. This means we now store the pending events in a queue, and
- pull them out when we can.
- * UIProcess/WebPageProxy.h:
- Change single event containers to contain all pending/merged/coalesced events
- and remove unused flag.
- 2011-05-09 Jeremy Noble <jer.noble@apple.com>
- Reviewed by Darin Adler.
- WebKit2: Cancelling full screen before animation completes leads to full screen window staying up.
- https://bugs.webkit.org/show_bug.cgi?id=60531
- Remove the (unused) _isAnimating ivar and replace it with two ivars: _isEnteringFullScreen and
- _isExitingFullScreen. These will ensure each is only called once per full screen request, and
- that if one exit/enter request interrupts another, that the required functions are called in
- order.
- * UIProcess/mac/WKFullScreenWindowController.h:
- * UIProcess/mac/WKFullScreenWindowController.mm:
- (-[WKFullScreenWindowController enterFullScreen:]): Removed _isAnimating.
- (-[WKFullScreenWindowController exitFullScreen]): Ditto.
- (-[WKFullScreenWindowController beganEnterFullScreenAnimation]): Gate on _isEnteringFullScreen. Check _isExitingFullScreen
- and call [self finishedExitFullScreenAnimation:] if necessary.
- (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Gate on _isEnteringFullScreen.
- (-[WKFullScreenWindowController beganExitFullScreenAnimation]): Gate on _isExitingFullScreen. Check _isEnteringFullScreen
- and call [self finishedEnterFullScreenAnimation:] if necessary.
- (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Gate on _isExitingFullScreen.
- 2011-05-10 Beth Dakin <bdakin@apple.com>
- Reviewed by Darin Adler.
- https://bugs.webkit.org/show_bug.cgi?id=60582
- Crash switching overlay/non-overlay scrollbar preference still possible
- -and corresponding-
- <rdar://problem/9323983>
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- 2011-05-10 Jeff Miller <jeffm@apple.com>
- Reviewed by Anders Carlsson.
- WebKit2: Windows clients need to know if the page overlay is installed
- https://bugs.webkit.org/show_bug.cgi?id=60562
- <rdar://problem/8940164>
-
- Until we move all the UI for find on page into WebKit on Windows (specifically, drawing the find bouncy),
- WebKit clients need to know whether WebKit is drawing the page overlay or not. Keep track of this in
- the WebPageProxy in the UI process and provide a WebKit2 API to retrieve this information.
- * UIProcess/API/C/win/WKView.cpp:
- (WKViewIsPageOverlayInstalled): Added.
- * UIProcess/API/C/win/WKView.h: Added WKViewIsPageOverlayInstalled().
-
- * UIProcess/PageClient.h: Added didInstallOrUninstallPageOverlay().
- * UIProcess/WebPageProxy.h: Added didInstallOrUninstallPageOverlay().
- * UIProcess/WebPageProxy.messages.in: Added DidInstallOrUninstallPageOverlay.
- * UIProcess/win/WebPageProxyWin.cpp:
- (WebKit::WebPageProxy::didInstallOrUninstallPageOverlay): Added.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView): Initialize m_pageOverlayInstalled.
- (WebKit::WebView::didInstallOrUninstallPageOverlay): Added.
- * UIProcess/win/WebView.h: Added didInstallOrUninstallPageOverlay() and m_pageOverlayInstalled.
- (WebKit::WebView::pageOverlayInstalled): Added.
-
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::installPageOverlay): Send message to UI process to tell it the page overlay is installed.
- (WebKit::WebPage::uninstallPageOverlay): Send message to UI process to tell it the page overlay is uninstalled.
- 2011-05-10 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- Remove incorrect ASSERTs from CoreIPC::Connection::processIncomingSyncReply
- https://bugs.webkit.org/show_bug.cgi?id=60567
- <rdar://problem/9377845>
- It is possible to receive an incoming sync reply that is for a request we don't know about.
- This could happen if the sync message send timed out for example.
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::processIncomingSyncReply):
- 2011-05-05 Brent Fulgham <bfulgham@webkit.org> and Martin Robinson <mrobinson@igalia.com>
- Reviewed by Anders Carlsson.
- [Cairo][WebKit2] Add an implementation of ShareableBitmap for Cairo
- https://bugs.webkit.org/show_bug.cgi?id=60293
- * GNUmakefile.am: Remove ShareableBitmapGtk in favor of ShareableBitmapCairo.
- * Shared/ShareableBitmap.h: Added a couple Cairo-specific declarations.
- * Shared/cairo/ShareableBitmapCairo.cpp:
- (WebKit::ShareableBitmap::createGraphicsContext): Added.
- (WebKit::ShareableBitmap::paint): Added.
- (WebKit::ShareableBitmap::createCairoSurface): Added.
- (WebKit::ShareableBitmap::releaseSurfaceData): Added.
- 2011-05-10 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Extra sign in required to view video on MobileMe Gallery album
- https://bugs.webkit.org/show_bug.cgi?id=60560
- Implement NPN_GetAuthenticationInfo.
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::getAuthenticationInfo):
- Send a GetAuthenticationInfo message to the web process.
- * PluginProcess/PluginControllerProxy.h:
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::initializeProtectionSpace):
- Initialize a WebCore::ProtectionSpace object from NPAPI parameters.
- (WebKit::NPN_GetAuthenticationInfo):
- Make a ProtectionSpace object and then call NetscapePlugin::getAuthenticationInfo.
- Finally, copy the username/password and pass them back to the plug-in.
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::getAuthenticationInfo):
- Call the plug-in controller.
- * WebProcess/Plugins/PluginController.h:
- Add getAuthenticationInfo pure virtual member function.
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::getAuthenticationInfo):
- Call the real plug-in controller's getAuthenticationInfo member function.
- * WebProcess/Plugins/PluginProxy.messages.in:
- Add GetAuthenticationInfo message.
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::getAuthenticationInfo):
- Try to get the authentication info from the credential storage. Failing that,
- get it from the persistent credential storage.
- 2011-05-10 Adam Roben <aroben@apple.com>
- Use FontSmoothingLevelWindows by default on Windows
- Fixes <http://webkit.org/b/60557> REGRESSION (r86077): Web Inspector uses CG font rendering
- in WebKit2 on Windows
- Reviewed by Darin Adler.
- * Shared/WebPreferencesStore.h: Added and deployed a new DEFAULT_WEBKIT_FONT_SMOOTHING_LEVEL
- macro to let Windows have a different default font smoothing level from other platforms.
- * UIProcess/API/C/WKPreferencesPrivate.h: Updated the comment about the default font
- smoothing level.
- 2011-05-06 Tony Gentilcore <tonyg@chromium.org>
- Reviewed by Darin Adler.
- Fix some unnecessary includes in headers
- https://bugs.webkit.org/show_bug.cgi?id=60388
- * WebProcess/FullScreen/WebFullScreenManager.cpp:
- 2011-05-09 Jeremy Noble <jer.noble@apple.com>
- Reviewed by Darin Adler.
- Command-~/Exposé to another window while <video> is in full screen, breaks Safari, eventually leading to crash
- https://bugs.webkit.org/show_bug.cgi?id=60496
- When animating into and out of full screen, order out and back in the original webView window,
- disabling animations when necessary. The beganExitFullScreenAnimation method was targeting the wrong window,
- as the webView is hosted in the full screen window when we ask for it's parent window.
- * UIProcess/mac/WKFullScreenWindowController.mm:
- (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
- (-[WKFullScreenWindowController beganExitFullScreenAnimation]):
- 2011-05-09 Dan Bernstein <mitz@apple.com>
- Reviewed by Darin Adler.
- A WKView with plug-ins paints white when first moved into a window
- https://bugs.webkit.org/show_bug.cgi?id=60511
- The UI process’s wait for DidUpdateBackingStoreState would always time out because the Web process
- was blocked on a synchronous message the UI process trying to get the connections for plug-ins in
- the view. This is avoided by deferring the call to Page::setCanStartMedia().
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage): Initialize the new m_setCanStartMediaTimer.
- (WebKit::WebPage::setCanStartMediaTimerFired): Added. Calls setCanStartMedia(true) when the timer
- fires.
- (WebKit::WebPage::setIsInWindow): When going out of a window, stop the timer. When going into a
- window, start it.
- * WebProcess/WebPage/WebPage.h:
- 2011-05-09 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Crash when sending a sync message to a crashed web process
- https://bugs.webkit.org/show_bug.cgi?id=60514
- <rdar://problem/9281270>
- Change WebProcessProxy::sendSync to return false if there's no connection.
- Audit all WebProcessProxy::sendSync call sites to initialize reply parameters.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::firstRectForCharacterInSelectedRange):
- (WebKit::WebPageProxy::getSelectedText):
- (WebKit::WebPageProxy::gestureWillBegin):
- * UIProcess/WebProcessProxy.h:
- (WebKit::WebProcessProxy::sendSync):
- * UIProcess/mac/WebPageProxyMac.mm:
- (WebKit::WebPageProxy::insertText):
- (WebKit::WebPageProxy::getMarkedRange):
- (WebKit::WebPageProxy::getSelectedRange):
- (WebKit::WebPageProxy::characterIndexForPoint):
- (WebKit::WebPageProxy::executeKeypressCommands):
- (WebKit::WebPageProxy::writeSelectionToPasteboard):
- (WebKit::WebPageProxy::readSelectionFromPasteboard):
- 2011-05-09 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Create a plug-in's MIME types preferences plist if it doesn't exist.
- https://bugs.webkit.org/show_bug.cgi?id=57204
- <rdar://problem/9195048>
- Spawn a plug-in process and let it create the plist. For now, we'll do this on the
- main thread since it's a rare one-time computation and we have an API function,
- WKFrameCanShowMIMEType, which would have to block anyway.
- * PluginProcess/mac/PluginProcessMainMac.mm:
- (WebKit::PluginProcessMain):
- If -createPluginMIMETypesPreferences is one of the command line argument keys,
- the plug-in path will be the argument value. Call NetscapePluginModule::createPluginMIMETypesPreferences
- to create the preferences file and then exit.
- * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
- (WebKit::contentsOfPropertyListAtURL):
- Move code to read a property list out into a helper function.
- (WebKit::getMIMETypesFromPluginBundle):
- If there's no property list file, try to create one.
- (WebKit::NetscapePluginModule::createPluginMIMETypesPreferences):
- Load the plug-in, find the BP_CreatePluginMIMETypesPreferences and call it.
- * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
- (WebKit::PluginProcessProxy::createPropertyListFile):
- Spawn a plug-in process and pass the -createPluginMIMETypesPreferences flag to it and then wait
- for it to exit.
- 2011-05-09 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Move EnvironmentVariables out into its own .cpp file
- https://bugs.webkit.org/show_bug.cgi?id=60507
- * UIProcess/Launcher/mac/EnvironmentVariables.cpp: Added.
- (WebKit::EnvironmentVariables::EnvironmentVariables):
- (WebKit::EnvironmentVariables::~EnvironmentVariables):
- (WebKit::EnvironmentVariables::set):
- (WebKit::EnvironmentVariables::get):
- (WebKit::EnvironmentVariables::appendValue):
- (WebKit::EnvironmentVariables::valueIfVariableHasName):
- (WebKit::EnvironmentVariables::createStringForVariable):
- (WebKit::EnvironmentVariables::copyEnvironmentVariables):
- * UIProcess/Launcher/mac/EnvironmentVariables.h: Added.
- (WebKit::EnvironmentVariables::environmentPointer):
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- * WebKit2.xcodeproj/project.pbxproj:
- 2011-05-09 Adam Roben <aroben@apple.com>
- Always set the font rendering mode based on preference values
- WebPage::platformInitialize and WebPage::platformPreferencesDidChange were fighting over the
- font rendering mode. The platformInitialize code predates preference-based font rendering
- mode support, and is now redundant and incorrect.
- Fixes <http://webkit.org/b/60494> WebKit2 uses GDI text instead of CG text when
- FontSmoothing preference is set to kWKFontSmoothingLevelNoSubpixelAntiAliasing in a .plist
- on disk
- Reviewed by Sam Weinig.
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::platformInitialize): Removed code to set the font rendering mode.
- platformPreferencesDidChange will take care of this for us.
- 2011-05-09 Anders Carlsson <andersca@apple.com>
- Reviewed by John Sullivan.
- Clean up NetscapePluginModule::getPluginInfo
- https://bugs.webkit.org/show_bug.cgi?id=60486
- Make all 'get' functions take a PluginInfoStore::Plugin reference, since getPluginInfoFromPropertyLists
- is going to need it to know the path and plug-in architecture.
- * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
- (WebKit::getPluginArchitecture):
- (WebKit::getPluginInfoFromPropertyLists):
- (WebKit::getPluginInfoFromCarbonResources):
- (WebKit::NetscapePluginModule::getPluginInfo):
- 2011-05-09 Dan Bernstein <mitz@apple.com>
- Reviewed by Darin Adler.
- <rdar://problem/9005982> REGRESSION (r85780): Flash of white when a WKView with composited content moves on-screen
- https://bugs.webkit.org/show_bug.cgi?id=60488
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Update m_compositingAccordingToProxyMessages,
- since the DidUpdateBackingStoreState message also changes the compositing state in the proxy.
- 2011-05-09 Benjamin Poulain <benjamin.poulain@nokia.com>
- Reviewed by Andreas Kling.
- Build fix for WebKit 2 on Qt
- Qt treats warnings as errors so it does not build with unused variables. This patch removed two unused variable in WebKit 2.
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::createTiles):
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::~PluginView):
- 2011-05-07 Dan Bernstein <mitz@apple.com>
- Reviewed by Timothy Hatcher.
- <rdar://problem/9365358> REGRESSION (WebKit2): When clicking in the page, Find overlay fades out instead of disappearing immediately
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::hideFindUI): Do not fade out the overlay.
- 2011-05-07 Dan Bernstein <mitz@apple.com>
- Avoid copying a header file into the WebKit2 framework wrapper.
- * WebKit2.xcodeproj/project.pbxproj: Corrected the target membership of HTTPCookieAcceptPolicy.h.
- 2011-05-07 Sheriff Bot <webkit.review.bot@gmail.com>
- Unreviewed, rolling out r86016.
- http://trac.webkit.org/changeset/86016
- https://bugs.webkit.org/show_bug.cgi?id=60445
- caused crashes on the WK2 Windows bots (Requested by
- jessieberlin on #webkit).
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
- * Shared/win/WebCoreArgumentCodersWin.cpp:
- (CoreIPC::decodeResourceRequest):
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::platformInitializeWebProcess):
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::cachedResponseForURL):
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::WebProcess::platformSetCacheModel):
- (WebKit::WebProcess::platformClearResourceCaches):
- (WebKit::WebProcess::platformInitializeWebProcess):
- 2011-05-07 Jessie Berlin <jberlin@apple.com>
- Reviewed by Steve Falkenburg.
- [Windows WebKit2] Use cookies set in WebKit1
- https://bugs.webkit.org/show_bug.cgi?id=60274
- Share the default storage session between the UI and Web Processes.
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
- Add a parameter for a serialized default storage session, used only on Windows.
- * Shared/win/WebCoreArgumentCodersWin.cpp:
- (CoreIPC::decodeResourceRequest):
- Make sure to set the current storage session on any requests used by the Web
- Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
- doing anything with the Web Process's default storage session.
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::platformInitializeWebProcess):
- Serialize the default storage session in the UI Process and add it to the
- WebProcessCreationParameters.
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::cachedResponseForURL):
- Use the cache associated with the current storage session and make sure the request has the
- current storage session set on it before doing anything with it.
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::WebProcess::platformSetCacheModel):
- Use the default storage session.
- (WebKit::WebProcess::platformClearResourceCaches):
- Ditto.
- (WebKit::WebProcess::platformInitializeWebProcess):
- Deserialize the default storage session passed in by the UI Process and hand it to the
- ResourceHandle.
- 2011-05-07 Keith Kyzivat <keith.kyzivat@nokia.com>
- Reviewed by Adam Roben.
- [Qt] Webkit2 PLUGIN_ARCHITECTURE(UNSUPPORTED) configuration broken by r85961
- https://bugs.webkit.org/show_bug.cgi?id=60420
- * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
- (WebKit::NetscapePlugin::platformVisibilityDidChange):
- 2011-05-06 Martin Robinson <mrobinson@igalia.com>
- Reviewed by Xan Lopez.
- [GTK] [WebKit2] WebView::windowToScreen needs an implementation
- https://bugs.webkit.org/show_bug.cgi?id=55960
- Add an implementation of PageClient::windowToScreen for GTK+ WebKit2 using
- the newly abstracted widget to screen coordinate translation code in WebCore.
- * UIProcess/API/gtk/PageClientImpl.cpp:
- (WebKit::PageClientImpl::windowToScreen): Added implementation.
- 2011-05-06 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Simplify the PluginInfoStore interface
- https://bugs.webkit.org/show_bug.cgi?id=60406
- Just expose a single API for getting a list of plug-ins from the info store,
- PluginInfoStore::plugins and remove PluginInfoStore::getPlugins and PluginInfoStore::getPluginPaths.
- Also, change the WebContext::pluginInfoStore() getter to return a reference.
- * UIProcess/Plugins/PluginInfoStore.cpp:
- (WebKit::PluginInfoStore::plugins):
- * UIProcess/Plugins/PluginInfoStore.h:
- * UIProcess/Plugins/PluginProcessManager.cpp:
- (WebKit::PluginProcessManager::getPluginProcessConnection):
- * UIProcess/Plugins/PluginProcessManager.h:
- * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
- (WebKit::WebPluginSiteDataManager::GetSitesWithDataState::GetSitesWithDataState):
- (WebKit::WebPluginSiteDataManager::ClearSiteDataState::ClearSiteDataState):
- (WebKit::WebPluginSiteDataManager::getSitesWithData):
- (WebKit::WebPluginSiteDataManager::clearSiteData):
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::getPlugins):
- (WebKit::WebContext::getPluginPath):
- * UIProcess/WebContext.h:
- (WebKit::WebContext::pluginInfoStore):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::canShowMIMEType):
- 2011-05-06 Anders Carlsson <andersca@apple.com>
- Windows build fix.
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- (WebKit::PluginInfoStore::shouldUsePlugin):
- 2011-05-06 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Make more PluginInfoStore member functions static
- https://bugs.webkit.org/show_bug.cgi?id=60401
- This is a first step towards making PluginInfoStore thread safe.
- * UIProcess/Plugins/PluginInfoStore.cpp:
- (WebKit::PluginInfoStore::loadPluginsIfNecessary):
- (WebKit::PluginInfoStore::loadPlugin):
- * UIProcess/Plugins/PluginInfoStore.h:
- * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
- (WebKit::PluginInfoStore::shouldUsePlugin):
- * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
- (WebKit::PluginInfoStore::shouldUsePlugin):
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- (WebKit::PluginInfoStore::shouldUsePlugin):
- 2011-05-06 Adam Roben <aroben@apple.com>
- Mac build fix
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: Added a
- missing #import.
- 2011-05-06 Adam Roben <aroben@apple.com>
- Show/hide windowed plugins according to the plugin element's visibility CSS property
- Fixes <http://webkit.org/b/60285> <rdar://problem/9152400> REGRESSION (WebKit2): A white
- rectangle covers up important UI elements when composing a new message at mail.yahoo.com
- with BrowserPlus! plug-in installed
- Reviewed by Anders Carlsson.
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::isPluginVisible):
- * PluginProcess/PluginControllerProxy.h:
- Stubbed out.
- * Shared/win/WindowGeometry.cpp:
- (WebKit::WindowGeometry::WindowGeometry):
- (WebKit::WindowGeometry::encode):
- (WebKit::WindowGeometry::decode):
- * Shared/win/WindowGeometry.h:
- Added visible member.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::updateChildWindowGeometries): Show or hide the window as specified in the
- geometry.
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::visibilityDidChange):
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- Added. Calls through to platform-specific code.
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformVisibilityDidChange):
- * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
- (WebKit::NetscapePlugin::platformVisibilityDidChange):
- Stubbed out.
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- (WebKit::NetscapePlugin::platformGeometryDidChange): Moved most logic from here to
- scheduleWindowedGeometryUpdate.
- (WebKit::NetscapePlugin::platformVisibilityDidChange): Added. Calls through to
- scheduleWindowedGeometryUpdate.
- (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate): Added. Code came from
- platformGeometryDidChange. Now also records whether the plugin element is visible.
- * WebProcess/Plugins/Plugin.h: Added visibilityDidChange.
- * WebProcess/Plugins/PluginController.h: Added isPluginVisible.
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::visibilityDidChange):
- * WebProcess/Plugins/PluginProxy.h:
- Stubbed out.
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::show):
- (WebKit::PluginView::hide):
- Added. These Widget overrides were based on WebCore's PluginView class.
- (WebKit::PluginView::viewVisibilityDidChange): Added. Similar to viewGeometryDidChange.
- Calls down to the plugin if it's been initialized.
- (WebKit::PluginView::isPluginVisible): Added. Just calls up to the Widget base class.
- * WebProcess/Plugins/PluginView.h: Updated for PluginController changes.
- 2011-05-06 Adam Roben <aroben@apple.com>
- Add a WindowGeometry struct for use in the ScheduleChildWindowGeometryUpdate message
- This will make it easier to add more info to this message in the future (like whether the
- window is visible).
- Fixes <http://webkit.org/b/60374> Adding parameters to ScheduleChildWindowGeometryUpdate
- message is tedious
- Reviewed by Anders Carlsson.
- * Scripts/webkit2/messages.py:
- (struct_or_class): Added WindowGeometry to the list of structs.
- * Shared/win/WindowGeometry.cpp: Added.
- * Shared/win/WindowGeometry.h: Added.
- * win/WebKit2.vcproj: Added new files.
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/win/WebPageProxyWin.cpp:
- (WebKit::WebPageProxy::scheduleChildWindowGeometryUpdate):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::scheduleChildWindowGeometryUpdate):
- (WebKit::WebView::updateChildWindowGeometries):
- * UIProcess/win/WebView.h:
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- (WebKit::NetscapePlugin::platformGeometryDidChange):
- * WebProcess/Plugins/PluginController.h:
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::scheduleWindowedPluginGeometryUpdate):
- * WebProcess/Plugins/PluginView.h:
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::scheduleChildWindowGeometryUpdate):
- Changed to use WindowGeometry.
- 2011-05-06 David Kilzer <ddkilzer@apple.com>
- Remove unused GCC_ENABLE_FIX_AND_CONTINUE and ZERO_LINK settings
- Reviewed by Jon Honeycutt.
- This fixes an Xcode 4 warning about using obsolete settings.
- * WebKit2.xcodeproj/project.pbxproj: Removed
- GCC_ENABLE_FIX_AND_CONTINUE and ZERO_LINK settings.
- 2011-05-06 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Implement NetscapePlugin::platformPaint for GTK platform
- https://bugs.webkit.org/show_bug.cgi?id=60368
- * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
- (WebKit::NetscapePlugin::platformPaint):
- 2011-05-06 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- Share PluginInfoStore implementation between Qt and GTK ports
- https://bugs.webkit.org/show_bug.cgi?id=60366
- * GNUmakefile.am:
- * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp: Removed.
- * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: Renamed from Source/WebKit2/UIProcess/Plugins/qt/PluginInfoStoreQt.cpp.
- (WebKit::PluginInfoStore::pluginsDirectories):
- (WebKit::PluginInfoStore::pluginPathsInDirectory):
- (WebKit::PluginInfoStore::individualPluginPaths):
- (WebKit::PluginInfoStore::getPluginInfo):
- (WebKit::PluginInfoStore::shouldUsePlugin):
- * WebKit2.pro:
- 2011-05-06 Carlos Garcia Campos <cgarcia@igalia.com>
- Unreviewed. Fix WebKit2 GTK build after r85860.
- * UIProcess/API/gtk/PageClientImpl.h: Fix typo.
- 2011-05-05 Philippe Normand <pnormand@igalia.com>
- Reviewed by Dimitri Glazkov.
- Implement LayoutTestController::pseudoShadowId()
- https://bugs.webkit.org/show_bug.cgi?id=60034
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
- (WKBundleNodeHandleShadowPseudoId):
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
- (WebKit::InjectedBundleNodeHandle::elementRemoveShadowRoot):
- (WebKit::InjectedBundleNodeHandle::elementShadowPseudoId):
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
- 2011-05-05 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- REGRESSION (r85689): Unresponsive timer firing when closing background tabs
- <rdar://problem/9385988>
- https://bugs.webkit.org/show_bug.cgi?id=60325
- When calling WKPageTryClose(), if the page close succeeded, the notification to stop
- the responsiveness timer would be dropped because the page was closed by the time it
- got to the UIProcess.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::closePage):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- Add parameter to closePage stipulating whether or not to stop the responsiveness timer.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::tryClose):
- (WebKit::WebPage::sendClose):
- Instead of sending a StopResponsivenessTimer message after sending the ClosePage message,
- add a bit to the ClosePage message.
- 2011-05-05 Dan Bernstein <mitz@apple.com>
- Reviewed by Simon Fraser.
- WebKit2 part of <rdar://problem/9155590> Broken animation in iAd producer
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Initialize wkExecutableWasLinkedOnOrBeforeSnowLeopard.
- 2011-05-05 Keith Kyzivat <keith.kyzivat@nokia.com>
- Reviewed by Laszlo Gombos.
- [Qt] [WK2] Add method to disable plugins under WK2
- https://bugs.webkit.org/show_bug.cgi?id=57796
- * config.h: Allow PLUGIN_ARCHITECTURE_UNSUPPORTED to be defined on build command line
- 2011-05-05 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- When an underlay surface is active, paint normal web contents in a transparency layer
- https://bugs.webkit.org/show_bug.cgi?id=60296
- In order for the page contents to correctly blend with the underlay, the page contents
- needs to be painted in a transparency layer.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::drawRect):
- 2011-05-05 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Timothy Hatcher.
- WebKit2: Docking Web Inspector doesn't respect maximum inspector size
- https://bugs.webkit.org/show_bug.cgi?id=60294
- <rdar://problem/9388518>
-
- Before we place the inspector and the inspected views, make sure that we have constrained the height
- of the docked inspector. Putting the code here covers both when the inspector is initially attached
- and when a window with the docked inspector is resized.
- * UIProcess/mac/WebInspectorProxyMac.mm:
- (WebKit::WebInspectorProxy::inspectedViewFrameDidChange): Constrain the height before laying out the views.
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::onWebViewWindowPosChangingEvent): Ditto.
- 2011-05-05 Chang Shu <cshu@webkit.org>
- Reviewed by Andreas Kling.
- [Qt][WK2] Support PageGroup in QGraphicsWKView/QWKPage constructors
- https://bugs.webkit.org/show_bug.cgi?id=59638
- Added private constructors for class QGraphicsWKView and QWKPage to support
- WKPageGroupRef.
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::QGraphicsWKView):
- (QGraphicsWKView::~QGraphicsWKView):
- (QGraphicsWKView::init):
- * UIProcess/API/qt/qgraphicswkview.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::QWKPagePrivate):
- (QWKPage::QWKPage):
- (QWKPage::~QWKPage):
- (QWKPage::init):
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/API/qt/qwkpage_p.h:
- 2011-05-05 Brent Fulgham <bfulgham@webkit.org>
- [WinCairo] Unreviewed build fix.
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::cachedResponseDataForURL): Stub out
- implementation for cURL networking case.
- 2011-05-05 Jeff Miller <jeffm@apple.com>
- Reviewed by Darin Adler.
- Add didNotHandleWheelEvent callback to WKPageUIClient
- https://bugs.webkit.org/show_bug.cgi?id=60203
-
- Remove Windows-specific WebPageProxy::wheelEventNotHandled() member function and use
- didNotHandleWheelEvent callback in WKPageUIClient instead. It turns out that just
- resending the wheel event to the parent window doesn't provide the client with enough context
- to know that WebKit has already attempted to handle the event.
- * UIProcess/API/C/WKPage.h: Added WKPageDidNotHandleWheelEventCallback typedef and didNotHandleWheelEvent to WKPageUIClient.
- * UIProcess/API/gtk/PageClientImpl.cpp:
- (WebKit::PageClientImpl::didNotHandleWheelEvent): Added, but not implemented.
- * UIProcess/API/gtk/PageClientImpl.h: Added didNotHandleWheelEvent().
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):Stubbed out didNotHandleWheelEvent callback.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveEvent): Call didNotHandleWheelEvent in WKPageUIClient if wheel event is not handled.
- * UIProcess/WebPageProxy.h: Removed wheelEventNotHandled().
-
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::implementsDidNotHandleWheelEvent): Added.
- (WebKit::WebUIClient::didNotHandleWheelEvent): Added.
- * UIProcess/WebUIClient.h: Added implementsDidNotHandleWheelEvent() and didNotHandleWheelEvent().
- * UIProcess/win/WebPageProxyWin.cpp: Removed wheelEventNotHandled().
- 2011-05-05 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Return correct GTK version for NPNVToolkit
- https://bugs.webkit.org/show_bug.cgi?id=60275
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetValue): Return always 2 for NPNVToolkit in GTK
- platform.
- 2011-05-05 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Make native events code more consistent
- https://bugs.webkit.org/show_bug.cgi?id=60258
- Make all other native events code follow the current keyboard
- events approach: use a GOwnPtr for the native event, and use
- const GdkEvent* in the API. We need to implement the copy
- constructors for native events to copy the gdk events with
- gdk_event_copy().
- * Shared/NativeWebMouseEvent.h:
- (WebKit::NativeWebMouseEvent::nativeEvent):
- * Shared/NativeWebWheelEvent.h:
- (WebKit::NativeWebWheelEvent::nativeEvent):
- * Shared/gtk/NativeWebKeyboardEventGtk.cpp:
- (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
- * Shared/gtk/NativeWebMouseEventGtk.cpp:
- (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
- * Shared/gtk/NativeWebWheelEventGtk.cpp:
- (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
- * Shared/gtk/WebEventFactory.cpp:
- (WebKit::buttonForEvent):
- (WebKit::WebEventFactory::createWebMouseEvent):
- (WebKit::WebEventFactory::createWebWheelEvent):
- (WebKit::WebEventFactory::createWebKeyboardEvent):
- * Shared/gtk/WebEventFactory.h:
- * UIProcess/API/gtk/WebKitWebViewBase.cpp:
- (webkitWebViewBaseScrollEvent):
- 2011-05-05 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Module::load() should return true when g_module_open() returns a valid pointer
- https://bugs.webkit.org/show_bug.cgi?id=60261
- * Platform/gtk/ModuleGtk.cpp:
- (WebKit::Module::load):
- 2011-05-05 Carlos Garcia Campos <cgarcia@igalia.com>
- Unreviewed. Fix WebKit2 GTK build after r85808.
- * Shared/NativeWebWheelEvent.h:
- * UIProcess/API/gtk/WebKitWebViewBase.cpp:
- (webkitWebViewBaseScrollEvent):
- 2011-05-04 Cris Neckar <cdn@chromium.org>
- Reviewed by Adam Barth.
- Expose WebView directly through ChromeClient.
- https://bugs.webkit.org/show_bug.cgi?id=49902
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- (WebKit::WebChromeClient::webView):
- 2011-05-04 Jeff Miller <jeffm@apple.com>
- Reviewed by Darin Adler.
- Send unhandled wheel events to parent window on Windows
- https://bugs.webkit.org/show_bug.cgi?id=60220
- Keep track of wheel events using NativeWebWheelEvent instead of WebWheelEvent in WebPageProxy
- so we can send the native event to the parent window if WebKit doesn't handle it.
- * UIProcess/API/mac/WKView.mm: Use NativeWebWheelEvent instead of WebWheelEvent.
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::wheelEvent): Use NativeWebWheelEvent instead of WebWheelEvent.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy): Removed initialization of obsolete m_processingWheelEvent member variable.
- (WebKit::coalesceWheelEvents): Use NativeWebWheelEvent instead of WebWheelEvent and add a note that this won't work if we ever enable MERGE_WHEEL_EVENTS.
- (WebKit::WebPageProxy::handleWheelEvent): Use NativeWebWheelEvent instead of WebWheelEvent, keep track of the current event in m_currentlyProcessedWheelEvent.
- (WebKit::WebPageProxy::didReceiveEvent): Call wheelEventNotHandled() on Windows if wheel event is not handled.
- (WebKit::WebPageProxy::processDidCrash): Clear out m_currentlyProcessedWheelEvent.
- * UIProcess/WebPageProxy.h: Change handleWheelEvent() to take a NativeWebWheelEvent, added wheelEventNotHandled() on Windows, remove m_processingWheelEvent, add m_currentlyProcessedWheelEvent.
- * UIProcess/win/WebPageProxyWin.cpp:
- (WebKit::WebPageProxy::wheelEventNotHandled): Added.
-
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::onWheelEvent): Use NativeWebWheelEvent instead of WebWheelEvent.
- 2011-05-04 Anders Carlsson <andersca@apple.com>
- Reviewed by Darin Adler.
- Add bundle API for making a page paint as the background of another page
- https://bugs.webkit.org/show_bug.cgi?id=60227
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageSetUnderlayPage):
- Call WebPage::setUnderlayPage.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::close):
- Null out the underlay page.
- (WebKit::WebPage::layoutIfNeeded):
- Layout the underlay page if necessary.
- (WebKit::WebPage::drawRect):
- Draw the underlay page.
- 2011-05-04 Siddharth Mathur <siddharth.mathur@nokia.com>
- Reviewed by Laszlo Gombos.
- [Qt][Wk2][Symbian] Capabilities for Qt MiniBrowser and QtWebProcess on Symbian
- https://bugs.webkit.org/show_bug.cgi?id=59462
- * WebProcess.pro: Add Symbian OS capabilities to web process executable. Also enable
- data paging flag and prevent application's icon from showing up in the application grid.
- 2011-05-04 Adam Roben <aroben@apple.com>
- Clip and reposition windowed plugins when the UI process paints
- This ensures that their geometry updates in sync with the rest of the page.
- Most of this patch is just plumbing the scheduleWindowedPluginGeometryUpdate and
- scheduleChildWindowGeometryUpdate calls through from NetscapePlugin all the way over to
- WebView. I've tried to call out the other parts below.
- Fixes <http://webkit.org/b/60210> <rdar://problem/8483441> REGRESSION (WebKit2): Windowed
- plugins don't scroll at the same speed as the rest of the page
- Reviewed by Darin Adler and Anders Carlsson.
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/win/WebPageProxyWin.cpp:
- (WebKit::WebPageProxy::scheduleChildWindowGeometryUpdate):
- Added plumbing.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::onPaintEvent): Update child windows before painting so that they will stay
- in sync with the rest of the page.
- (WebKit::WebView::scheduleChildWindowGeometryUpdate): Add this update information to the
- set of geometries to update on the next paint.
- (WebKit::setWindowRegion): Moved this helper function here from NetscapePluginWin.cpp.
- (WebKit::WebView::updateChildWindowGeometries): Update the size, position, and clip rects of
- all the child windows with scheduled geometry updates.
- * UIProcess/win/WebView.h: Added new members to track and update child window geometries.
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- (WebKit::NetscapePlugin::platformPostInitialize): Don't show the window immediately. Let the
- UI process take care of it.
- (WebKit::NetscapePlugin::platformGeometryDidChange): Don't update the window's position or
- clip rect. Let the UI process take care of it.
- * WebProcess/Plugins/PluginController.h:
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::scheduleWindowedPluginGeometryUpdate):
- * WebProcess/Plugins/PluginView.h:
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::scheduleChildWindowGeometryUpdate):
- Added plumbing.
- 2011-05-04 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- WKView on Windows has no equivalent of Mac's -[WKView setDraws[Transparent]Background:]
- https://bugs.webkit.org/show_bug.cgi?id=52009
- <rdar://problem/8829746>
- Add and implement WKViewSetDrawsTransparentBackground on windows.
- * UIProcess/API/C/win/WKView.cpp:
- (WKViewSetDrawsTransparentBackground):
- (WKViewDrawsTransparentBackground):
- Call through to the WebPageProxy object.
- * UIProcess/API/C/win/WKView.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::drawPageBackground):
- Don't fill the rect with white if WebPageProxy::drawsBackground() or
- WebPageProxy::drawsTransparentBackground() returns false. Because of limitations in Win32,
- both drawsBackground and drawsTransparentBackground are pretty much equivalent.
- (WebKit::WebView::paint):
- Pass the WebPageProxy object to drawPageBackground.
- 2011-05-04 Tao Bai <michaelbai@chromium.org>
- Reviewed by David Kilzer.
- Populate touch-icon url to FrameLoaderClient
- https://bugs.webkit.org/show_bug.cgi?id=59143
- Respected the change of FrameLoaderClient.
- Added WebIconURL and WebIconType responding the new IconURL and IconType.
- Supported to get the multiple icon urls.
- * Configurations/FeatureDefines.xcconfig:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidChangeIcons):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- 2011-05-04 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Can't save a link from "Save Linked File to Download" popup menu
- https://bugs.webkit.org/show_bug.cgi?id=60190
- <rdar://problem/9367927>
- Make sure that suggestedFilenameForResourceWithURL and resourceDataForFrame both look
- in the cache if the resource can't be found in the current web page. This matches WebKit1.
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::suggestedFilenameForResourceWithURL):
- Call WebPage::cachedSuggestedFilenameForURL if we can't find a resource in the page.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::resourceDataForFrame):
- Move code out from getResourceDataFromFrame.
- (WebKit::WebPage::getResourceDataFromFrame):
- Call resourceDataForFrame first and then cachedResponseDataForURL.
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/gtk/WebPageGtk.cpp:
- (WebKit::WebPage::platformHasLocalDataForURL):
- (WebKit::WebPage::cachedResponseMIMETypeForURL):
- (WebKit::WebPage::platformCanHandleRequest):
- (WebKit::WebPage::cachedSuggestedFilenameForURL):
- (WebKit::WebPage::cachedResponseDataForURL):
- Add stubs.
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::cachedResponseForURL):
- Add helper function.
- (WebKit::WebPage::cachedSuggestedFilenameForURL):
- (WebKit::WebPage::cachedResponseMIMETypeForURL):
- (WebKit::WebPage::cachedResponseDataForURL):
- Call helper function.
- * WebProcess/WebPage/qt/WebPageQt.cpp:
- (WebKit::WebPage::platformHasLocalDataForURL):
- (WebKit::WebPage::cachedResponseMIMETypeForURL):
- (WebKit::WebPage::platformCanHandleRequest):
- (WebKit::WebPage::cachedSuggestedFilenameForURL):
- (WebKit::WebPage::cachedResponseDataForURL):
- Add stubs.
-
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::cachedResponseForURL):
- Add helper function.
- (WebKit::WebPage::platformHasLocalDataForURL):
- (WebKit::WebPage::cachedResponseMIMETypeForURL):
- (WebKit::WebPage::cachedSuggestedFilenameForURL):
- (WebKit::WebPage::cachedResponseDataForURL):
- Call helper function.
- 2011-05-04 Simon Fraser <simon.fraser@apple.com>
- Reviewed by Anders Carlsson.
- WebKit2 flashes if entering and exiting compositing rapidly
- https://bugs.webkit.org/show_bug.cgi?id=60198
-
- If a page enters then immediately leaves compositing mode, the
- DrawingAreaImpl would send a message to the UI process that it
- had entered compositing even after all the layers had been torn
- down. Fix this by never sending the 'enter' message if we're
- waiting for the 'exit' timer to fire.
-
- Also fix an assertion in the UI process caused by sending mismatched
- 'enter' and 'leave' messages by keeping track of which messages
- we've sent.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::DrawingAreaImpl):
- (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingModeSoon):
- * WebProcess/WebPage/DrawingAreaImpl.h:
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingModePending):
- 2011-05-04 Jeff Miller <jeffm@apple.com>
- Fix typo in svn property in r85756.
- * Shared/mac/NativeWebWheelEventMac.mm: Added property svn:eol-style. Removed property snv:eol-style.
- 2011-05-04 Jeff Miller <jeffm@apple.com>
- Reviewed by Darin Adler.
- Add NativeWebWheelEvent class
- https://bugs.webkit.org/show_bug.cgi?id=60182
-
- This will be needed soon when we start notifying the UI process that a mouse wheel event wasn't handled by WebKit.
- * GNUmakefile.am: Added NativeWebWheelEventGtk.cpp and NativeWebWheelEvent.h.
- * Shared/NativeWebWheelEvent.h: Added.
- (WebKit::NativeWebWheelEvent::nativeEvent): Added.
- * Shared/gtk/NativeWebWheelEventGtk.cpp: Added.
- (WebKit::NativeWebWheelEvent::NativeWebWheelEvent): Added.
- * Shared/mac/NativeWebWheelEventMac.mm: Added.
- (WebKit::NativeWebWheelEvent::NativeWebWheelEvent): Added.
- * Shared/qt/NativeWebWheelEventQt.cpp: Added.
- (WebKit::NativeWebWheelEvent::NativeWebWheelEvent): Added.
- * Shared/win/NativeWebWheelEventWin.cpp: Added.
- (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):Added.
- * WebKit2.pro: Added NativeWebWheelEventQt.cpp and NativeWebWheelEvent.h.
- * WebKit2.xcodeproj/project.pbxproj: Added NativeWebWheelEventMac.mm and NativeWebWheelEvent.h.
- * win/WebKit2.vcproj: Added NativeWebWheelEventWin.cpp and NativeWebWheelEvent.h.
- 2011-05-04 Siddharth Mathur <siddharth.mathur@nokia.com>
- Reviewed by Anders Carlsson.
- ArgumentDecoder should use aligned memory for its internal copy of data
- https://bugs.webkit.org/show_bug.cgi?id=59960
- Since we check for memory alignment when unpacking primitive types from the buffer,
- insure alignment of the base address.
- As uint64_t is the largest type we use in Argument encoder/decoder, use 8 byte alignment.
- * Platform/CoreIPC/ArgumentDecoder.cpp:
- (CoreIPC::ArgumentDecoder::~ArgumentDecoder): free m_alignedBase
- (CoreIPC::roundUpToAlignment): move this up in the source file
- (CoreIPC::ArgumentDecoder::initialize): m_buffer is now guaranteed sizeof(uint64_t) aligned
- * Platform/CoreIPC/ArgumentDecoder.h: add m_alignedBase member which needs to be freed in d'tor
- 2011-05-04 Adam Roben <aroben@apple.com>
- Make ShareableBitmap::makeCGImageCopy use a copy-on-write copy on Windows when possible
- Fixes <http://webkit.org/b/57269> <rdar://problem/9198788> REGRESSION (r82151): Every WKView
- paint now makes an extra copy of the painted bits
- Reviewed by Anders Carlsson.
- * Platform/SharedMemory.h:
- * Platform/win/SharedMemoryWin.cpp:
- (WebKit::SharedMemory::createCopyOnWriteCopy):
- Added this new function. Creates a copy-on-write copy of the first |size| bytes of the
- original SharedMemory.
- * Shared/ShareableBitmap.h: Added createCGImage helper function.
- * Shared/cg/ShareableBitmapCG.cpp:
- (WebKit::ShareableBitmap::makeCGImageCopy): Don't compile this version of this function on
- Windows; we'll provide our own implementation since CGBitmapContextCreateImage isn't smart
- enough to make a copy-on-write copy on Windows.
- (WebKit::ShareableBitmap::makeCGImage): Moved some code from here...
- (WebKit::ShareableBitmap::createCGImage): ...to this new function.
- * Shared/cg/win/ShareableBitmapCGWin.cpp: Added.
- (WebKit::derefSharedMemory): This function is called when the CGDataProvider is finalized.
- All we have to do is deref the SharedMemory that was backing the CGDataProvider.
- (WebKit::ShareableBitmap::makeCGImageCopy): Create a copy-on-write copy of the image data
- when possible. We use the copy-on-write copy to back this ShareableBitmap from here on out,
- and use the original SharedMemory to back the CGImage. This should prevent future
- modifications to the ShareableBitmap from affecting the CGImage. If we can't make a
- copy-on-write copy, we fall back to just copying the data normally.
- * win/WebKit2.vcproj: Added ShareableBitmapCGWin.cpp.
- 2011-05-04 Adam Roben <aroben@apple.com>
- Let transparent windowless plugins draw into a graphics context with an alpha channel
- Fixes <http://webkit.org/b/57647> <rdar://problem/9168462> Flash plugins with
- wmode=transparent have black (instead of transparent) background in WebKit2 on Windows
- I had trouble writing a test case for this, so I split that task out into
- <http://webkit.org/b/60169>.
- Reviewed by Sam Weinig.
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- (WebKit::NetscapePlugin::platformPaint): Give the graphics context an alpha channel if this
- is a transparent windowless plugin.
- 2011-05-03 Adam Roben <aroben@apple.com>
- Remove WebPageProxy::setDrawingArea
- It is unused. It also does a useless equality comparison between OwnPtrs; if they are equal,
- we've already lost.
- Reviewed by Anders Carlsson and Antti Koivisto.
- * UIProcess/WebPageProxy.cpp:
- * UIProcess/WebPageProxy.h:
- Removed setDrawingArea.
- (WebKit::WebPageProxy::drawingArea):
- (WebKit::WebPageProxy::backForwardList):
- Made these functions const while I was at it.
- 2011-05-03 Pratik Solanki <psolanki@apple.com>
- Reviewed by Antti Koivisto.
- Part of WebCore should use CFNetwork-based loader on Mac
- https://bugs.webkit.org/show_bug.cgi?id=51836
- Merge the conflicting definitions of WebCore::privateBrowsingCookieStorage() into one.
- * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
- (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
- 2011-05-02 Jer Noble <jer.noble@apple.com>
- Reviewed by Adam Roben.
- Implement FULLSCREEN_API on Windows, Part 3: WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=59845
- Implement a similar full screen mode to WebKit; Re-use the same
- full screen window class used in WebKit in the new WebFullScreenController.
- No animations (yet), so many of the stubs remain unimplemented.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::onKeyEvent): Handle VK_ESCAPE and cancel full screen
- mode if caught.
- (WebKit::WebView::fullScreenController): Lazily instantiate m_fullScreenController.
- (WebKit::WebView::fullScreenClientWindow): Added accessor.
- (WebKit::WebView::fullScreenClientParentWindow): Ditto.
- (WebKit::WebView::fullScreenClientSetParentWindow): Ditto.
- (WebKit::WebView::fullScreenClientWillEnterFullScreen): Pass through to WebFullScreenManagerProxy.
- (WebKit::WebView::fullScreenClientDidEnterFullScreen): Ditto.
- (WebKit::WebView::fullScreenClientWillExitFullScreen): Ditto.
- (WebKit::WebView::fullScreenClientDidExitFullScreen): Ditto.
- * UIProcess/win/WebView.h:
- * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
- (WebKit::WebFullScreenManagerProxy::enterFullScreen): Pass through to
- WebFullScreenController.
- (WebKit::WebFullScreenManagerProxy::exitFullScreen): Ditto.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView):
- (WebKit::WebView::onKeyEvent): Handle the escape key and exit
- full screen mode when detected.
- (WebKit::WebView::fullScreenWindowController): Added.
- * UIProcess/win/WebView.h:
- * WebProcess/FullScreen/win/WebFullScreenManagerWin.cpp:
- (WebKit::WebFullScreenManagerWin::~WebFullScreenManagerWin):
- (WebKit::WebFullScreenManagerWin::setRootFullScreenLayer): Host the root
- full screen layer if it gets detached.
- * WebProcess/FullScreen/win/WebFullScreenManagerWin.h:
- * win/WebKit2.vcproj:
- 2011-05-03 Brady Eidson <beidson@apple.com>
- Reviewed by Sam Weinig.
- https://bugs.webkit.org/show_bug.cgi?id=60087 and <rdar://problem/9373182>
- WK2 Icon Database should provide access to all image representations in the icon.
- Expose a CFArrayRef of CGImageRefs as API for CG platforms:
- * UIProcess/API/C/cg/WKIconDatabaseCG.cpp:
- (WKIconDatabaseTryCopyCGImageArrayForURL):
- * UIProcess/API/C/cg/WKIconDatabaseCG.h:
- 2011-05-03 Sam Weinig <sam@webkit.org>
- Reviewed by Dan Bernstein.
- WebKit2 should treat API calls that start/stop loads as user gestures for responsiveness timer
- https://bugs.webkit.org/show_bug.cgi?id=60083
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::reattachToWebProcessWithItem):
- (WebKit::WebPageProxy::tryClose):
- (WebKit::WebPageProxy::loadURL):
- (WebKit::WebPageProxy::loadURLRequest):
- (WebKit::WebPageProxy::loadHTMLString):
- (WebKit::WebPageProxy::loadAlternateHTMLString):
- (WebKit::WebPageProxy::loadPlainTextString):
- (WebKit::WebPageProxy::stopLoading):
- (WebKit::WebPageProxy::reload):
- (WebKit::WebPageProxy::goForward):
- (WebKit::WebPageProxy::goBack):
- (WebKit::WebPageProxy::goToBackForwardItem):
- Start responsiveness timer for load start/stop and close.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::SendStopResponsivenessTimer::SendStopResponsivenessTimer):
- (WebKit::SendStopResponsivenessTimer::~SendStopResponsivenessTimer):
- Add simple RAII class to ensure the StopResponsivenessTimer is called.
- (WebKit::WebPage::tryClose):
- (WebKit::WebPage::loadURLRequest):
- (WebKit::WebPage::loadData):
- (WebKit::WebPage::stopLoading):
- (WebKit::WebPage::reload):
- (WebKit::WebPage::goForward):
- (WebKit::WebPage::goBack):
- (WebKit::WebPage::goToBackForwardItem):
- Sends a message back to the UIProcess to indicate the WebProcess
- is still responsive.
- 2011-05-03 Darin Adler <darin@apple.com>
- Reviewed by Sam Weinig.
- <rdar://problem/9250444> Enter key doesn't work in a web text field (but Return key does)
- No test at this time because the WebKit2 eventSender doesn't use this code path.
- * Shared/mac/WebEventFactory.mm:
- (WebKit::WebEventFactory::createWebKeyboardEvent): Copied the code to special-case certain
- keys from the corresponding Mac WebKit1 code path.
- 2011-05-03 Jeff Miller <jeffm@apple.com>
- Reviewed by Darin Adler.
- Unreachable URL is lost when canceling load of a new page
- https://bugs.webkit.org/show_bug.cgi?id=60057
- <rdar://problem/9049135>
-
- When setting the unreachable URL in the WebFrameProxy, keep track of any previous unreachable URL
- so we can restore it if the page load fails.
- * UIProcess/WebFrameProxy.cpp:
- (WebKit::WebFrameProxy::didFailProvisionalLoad): Restore m_unreachableURL to previous value.
- (WebKit::WebFrameProxy::setUnreachableURL): Keep track of previous unreachable URL in m_lastUnreachableURL.
- * UIProcess/WebFrameProxy.h: Moved setUnreachableURL() implementation to .cpp file, added m_lastUnreachableURL.
- 2011-05-03 Adam Roben <aroben@apple.com>
- Fix most strict PassOwnPtr violations on Windows
- Fixes <http://webkit.org/b/60025> Windows should (almost) build with strict PassOwnPtr
- enabled
- Reviewed by Anders Carlsson.
- * Platform/CoreIPC/win/ConnectionWin.cpp:
- (CoreIPC::Connection::writeEventHandler): Use nullptr.
- 2011-05-03 Julien Chaffraix <jchaffraix@codeaurora.org>
- Reviewed by Dimitri Glazkov.
- Element:shadowRoot & Element::ensureShadowRoot should return ShadowRoot*
- https://bugs.webkit.org/show_bug.cgi?id=58703
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: Added #include for ShadowRoot.h.
- 2011-05-03 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- More quarantine related sandbox denial when downloading files
- <rdar://problem/9362626>
- * WebProcess/com.apple.WebProcess.sb:
- 2011-05-02 Adam Roben <aroben@apple.com>
- Take advantage of implicit conversion from nullptr_t to PassOwnPtr
- Fixes <http://webkit.org/b/59964> Implicit conversion from std::nullptr_t to PassOwnPtr
- doesn't work, but should
- Reviewed by Adam Barth.
- * Platform/CoreIPC/Connection.cpp:
- * UIProcess/qt/WebContextMenuProxyQt.cpp:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- * WebProcess/WebPage/DrawingArea.cpp:
- 2011-05-03 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Eric Seidel.
- [GTK] Build webkit1 even when webkit2 is enabled
- https://bugs.webkit.org/show_bug.cgi?id=59695
- * GNUmakefile.am:
- 2011-05-02 Yael Aharon <yael.aharon@nokia.com>
- Reviewed by Andreas Kling.
- [Qt] White screen displays when using MiniBrowser with DrawingAreaImpl
- https://bugs.webkit.org/show_bug.cgi?id=60003
- When using DrawingAreaImpl, we need to properly pass the viewSize to the WebPage.
- Otherwise, the dirty rect will always be empty and we will not draw.
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::viewSize):
- 2011-05-02 Anders Carlsson <andersca@apple.com>
- Fix crash that was introduced in r85515.
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::dispatchSyncMessage):
- If didReceiveSyncMessage returns ManualReply, the client took ownership of the reply
- encoder so we must leak it to avoid a double-free.
- 2011-05-02 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- The web process locks up when the plug-in process crashes
- https://bugs.webkit.org/show_bug.cgi?id=59999
- <rdar://problem/8889303>
- Add a hash map from plug-in paths to CoreIPC connections to PluginProcessConnectionManager.
- Add PluginProcessConnectionManager::pluginProcessCrashed and make it look up the corresponding
- CoreIPC connection and call postConnectionDidCloseOnConnectionWorkQueue on it.
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::postConnectionDidCloseOnConnectionWorkQueue):
- * Platform/CoreIPC/Connection.h:
- * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
- (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
- (WebKit::PluginProcessConnectionManager::removePluginProcessConnection):
- (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
- * WebProcess/Plugins/PluginProcessConnectionManager.h:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::pluginProcessCrashed):
- 2011-05-02 Anders Carlsson <andersca@apple.com>
- Try to fix Windows build.
- * Scripts/webkit2/messages.py:
- * Scripts/webkit2/messages_unittest.py:
- 2011-05-02 Anders Carlsson <andersca@apple.com>
- Reviewed by Oliver Hunt.
- Dispatch the PluginProcessCrashed on the connection work queue
- https://bugs.webkit.org/show_bug.cgi?id=59996
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initialize):
- Add the web process as a queue client.
- (WebKit::WebProcess::terminate):
- Remove the web process as a queue client.
- (WebKit::WebProcess::willProcessMessageOnClientRunLoop):
- Try calling willProcessWebProcessMessageOnClientRunLoop.
- * WebProcess/WebProcess.messages.in:
- Add the DispatchOnConnectionQueue attribute to PluginProcessCrashed.
- 2011-05-02 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Send a PluginProcessCrashed message to all web processes when a plug-in crashes
- https://bugs.webkit.org/show_bug.cgi?id=59994
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::PluginProcessProxy::didClose):
- Iterate over all contexts and send PluginProcessCrashed to all web processes in each context.
- (WebKit::PluginProcessProxy::didFinishLaunching):
- Call setShouldCloseConnectionOnMachExceptions on the CoreIPC connection.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::pluginProcessCrashed):
- Add empty stub.
- * WebProcess/WebProcess.messages.in:
- Add message.
- 2011-05-02 Anders Carlsson <andersca@apple.com>
- Reviewed by Simon Fraser.
- Plug-in not completely repainted after a crash
- https://bugs.webkit.org/show_bug.cgi?id=59991
- Call Widget::invalidate().
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::pluginProcessCrashed):
- 2011-05-02 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Make PluginProcessConnectionManager a member of WebProcess
- https://bugs.webkit.org/show_bug.cgi?id=59989
- * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
- * WebProcess/Plugins/PluginProcessConnectionManager.h:
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::initialize):
- * WebProcess/WebProcess.h:
- (WebKit::WebProcess::pluginProcessConnectionManager):
- 2011-05-02 Mark Rowe <mrowe@apple.com>
- Reviewed by Brady Eidson.
- <rdar://problem/9371289> WebKit2 can persist an invalid current back/forward item index when URLs are filtered from back/forward list
- * UIProcess/cf/WebBackForwardListCF.cpp:
- (WebKit::WebBackForwardList::createCFDictionaryRepresentation): We need to update the current index to account for filtered items
- for all items before the current item in the array.
- 2011-05-02 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- Handle DispatchOnConnectionQueue for asynchronous messages
- https://bugs.webkit.org/show_bug.cgi?id=59959
- If any asynchronous messages have the DispatchOnConnectionQueue attribute,
- create a new willProcess{Receiver}MessageOnClientRunLoop.
- * Scripts/webkit2/messages.py:
- - Fix a regex bug where we would only parse attributes on synchronous messages.
- - Collect messages with the dispatch_on_connection_queue flag set. We only handle
- asynchronous messages currently; sync message support will be added when/if the
- need arises.
- * Scripts/webkit2/messages_unittest.py:
- Update test.
- 2011-05-02 Adam Barth <abarth@webkit.org>
- Reviewed by David Levin.
- PLATFORM(MAC) should (almost!) build with strict PassOwnPtr
- https://bugs.webkit.org/show_bug.cgi?id=59924
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::sendSyncMessage):
- (CoreIPC::Connection::waitForSyncReply):
- (CoreIPC::Connection::dispatchSyncMessage):
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::Message::releaseArguments):
- - The memory management for this class is very strange. I wrote a
- large comment. Hopefully a kind soul will come by and fix it.
- * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
- (WebKit::NetscapePluginModule::unload):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _setFindIndicator:fadeOut:]):
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
- (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::toStringVector):
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::stop):
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
- (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient):
- * WebProcess/WebPage/DrawingArea.cpp:
- (WebKit::DrawingArea::create):
- 2011-04-29 Chris Marrin <cmarrin@apple.com>
- Reviewed by Simon Fraser.
- Pages with accelerated compositing do not redraw unless scrolled
- https://bugs.webkit.org/show_bug.cgi?id=59851
- Added a setNeedDisplay on the non-composited content layer after
- the size is changed so it paints the full size of the layer. Called
- only for the areas newly exposed, if any.
- * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
- (WebKit::LayerTreeHostCA::sizeDidChange):
- 2011-05-02 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- Need a way to handle CoreIPC messages on the connection work queue
- https://bugs.webkit.org/show_bug.cgi?id=59954
- Add a Connection::QueueClient abstract class. This class has a single pure virtual
- member function, willProcessMessageOnClientRunLoop which should return true if the message
- should be forwarded to the next Connection::QueueClient in the list or Connection::Client's
- run loop for processing and false otherwise. Users of Connection can use addQueueClient to
- add clients and all messages will be dispatched to the queue clients first.
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::addQueueClient):
- (CoreIPC::Connection::removeQueueClient):
- (CoreIPC::Connection::processIncomingMessage):
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::QueueClient::~QueueClient):
- 2011-05-02 Jeff Miller <jeffm@apple.com>
- Reviewed by Adam Roben.
- WebKit2 thinks the web process is unresponsive when a plugin displays a context menu
- https://bugs.webkit.org/show_bug.cgi?id=59124
- <rdar://problem/9318600>
-
- This is the Windows version of <https://bugs.webkit.org/show_bug.cgi?id=58943>.
- Since we have no control over how long a plugin will take to handle an event, we need
- to tell the UI process to stop its responsive timer when we're about to send an event
- to the plugin. The downside of doing this is that if the plugin does become unresponsive,
- the user won't know this immediately until they click on the web page again. At that point,
- if the web process is unresponsive because of a hung plugin, the responsiveness timer will fire.
-
- We're only doing this on Windows currently when running plugins in the web process (Anders fixed
- bug 58943 in a different way when running plugins in a separate plugin process on the Mac).
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::willSendEventToPlugin): Added, not used when running plugins in a separate process.
- * PluginProcess/PluginControllerProxy.h: Added willSendEventToPlugin().
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::stopResponsivenessTimer): Added.
- * UIProcess/WebPageProxy.h: Added stopResponsivenessTimer().
- * UIProcess/WebPageProxy.messages.in: Added StopResponsivenessTimer message.
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- (WebKit::NetscapePlugin::platformPaint): Tell our controller when we're about to send an event to the plugin.
- (WebKit::NetscapePlugin::platformHandleMouseEvent): Ditto.
- (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): Ditto.
- (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): Ditto.
- * WebProcess/Plugins/PluginController.h: Added willSendEventToPlugin().
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::willSendEventToPlugin): Added, tell the UI process to stop its responsiveness timer.
- * WebProcess/Plugins/PluginView.h: Added willSendEventToPlugin().
- 2011-04-29 Steve Falkenburg <sfalken@apple.com>
- Reviewed by Maciej Stachowiak.
- Plug-in failed to initialize message should be called when Java fails to initialize
- https://bugs.webkit.org/show_bug.cgi?id=59856
-
- To match the WebKit1 behavior, WebKit2 should dispatch the plug-in failed
- to initialize message when we can't instantiate the Java plug-in.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
- 2011-05-02 Sam Weinig <sam@webkit.org>
- Reviewed by Adam Barth.
- Prune some #includes from DOMWindow.h
- https://bugs.webkit.org/show_bug.cgi?id=59907
- * WebProcess/WebPage/WebFrame.cpp:
- Add now missing SecurityOrigin.h #include.
- 2011-04-29 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Dan Bernstein.
- WebKit2: Crash closing tab with docked Web Inspector
- https://bugs.webkit.org/show_bug.cgi?id=59914
- <rdar://problem/9359672>
-
- When a tab is closed with a docked inspector, invalidate called platformClose, which
- didn't do the tear down that is needed, but is called when we close the web inspector explcitly.
- One part of tear down we weren't doing is removing ourselves as a WindowMessageBrodcaster listener
- on the inspected web view, and this can cause crashes.
-
- This patch also renames platformClose to platformDidClose, to be clearer about when the function
- is called.
- * UIProcess/WebInspectorProxy.cpp:
- (WebKit::WebInspectorProxy::invalidate): Call didClose instead of platformClose.
- (WebKit::WebInspectorProxy::didClose): Call platformDidClose instead of platformClose.
- * UIProcess/WebInspectorProxy.h:
- * UIProcess/mac/WebInspectorProxyMac.mm:
- (WebKit::WebInspectorProxy::platformDidClose): Renamed from platformClose.
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::platformDidClose): Ditto.
- * UIProcess/gtk/WebInspectorGtk.cpp:
- (WebKit::WebInspectorProxy::platformDidClose): Ditto.
- * UIProcess/qt/WebInspectorProxyQt.cpp:
- (WebKit::WebInspectorProxy::platformDidClose): Ditto.
- 2011-05-01 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Prune some unnecessary #includes
- https://bugs.webkit.org/show_bug.cgi?id=59895
- Start getting rid of unnecessary #includes and forward declares.
- * WebProcess/Plugins/PluginView.cpp:
- * WebProcess/WebPage/WebPage.cpp:
- 2011-05-01 Patrick Gansterer <paroga@webkit.org>
- [WIN] Unreviewed buildfix after r85434.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::startDragDrop):
- * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
- (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
- * WebProcess/WebCoreSupport/win/WebDragClientWin.cpp:
- (WebKit::WebDragClient::startDrag):
- * WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp:
- (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
- 2011-05-01 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Can't open document from skydrive.com in Microsoft Word
- https://bugs.webkit.org/show_bug.cgi?id=59891
- <rdar://problem/9354285>
- Add the AllowHalfBakedQuickDrawSupport quirk for the SharePoint plug-in.
- * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
- (WebKit::NetscapePluginModule::determineQuirks):
- 2011-05-01 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Don't try to create a backing store for a 0x0 plug-in
- https://bugs.webkit.org/show_bug.cgi?id=59887
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::geometryDidChange):
- 2011-05-01 Anders Carlsson <andersca@apple.com>
- Reviewed by Kevin Decker.
- Sandbox violation by WebProcess for DownloadAssessment.plist
- https://bugs.webkit.org/show_bug.cgi?id=59879
- <rdar://problem/9326041>
- * WebProcess/com.apple.WebProcess.sb:
- Allow reading ~/Library/Preferences/com.apple.DownloadAssessment.plist
- 2011-05-01 Ivan Krstić <ike@apple.com>
- Reviewed by Maciej Stachowiak.
- Remove unnecessary keychain and CoreAudio debris from WebProcess sandbox
- https://bugs.webkit.org/show_bug.cgi?id=59873
- These rules have been obsoleted by <rdar://problem/9301520> and
- <rdar://problem/9181468>.
- * WebProcess/com.apple.WebProcess.sb:
- 2011-05-01 Ivan Krstić <ike@apple.com>
- Reviewed by Maciej Stachowiak.
- Simplify WebProcess sandbox with homedir-relative path filters.
- https://bugs.webkit.org/show_bug.cgi?id=59872
- * WebProcess/com.apple.WebProcess.sb:
- 2011-05-01 Ivan Krstić <ike@apple.com>
- Reviewed by Maciej Stachowiak.
- On-demand VPN support for sandboxed WebProcess.
- <rdar://problem/8994181>
- * WebProcess/com.apple.WebProcess.sb:
- 2011-04-30 Ivan Krstić <ike@apple.com>
- Reviewed by Sam Weinig.
- Reindent WebProcess sandbox to standard scheme style
- https://bugs.webkit.org/show_bug.cgi?id=59870
- * WebProcess/com.apple.WebProcess.sb:
- 2011-04-28 Jer Noble <jer.noble@apple.com>
- Reviewed by Jon Honeycutt.
- Implement FULLSCREEN_API on Windows, Part 1: Stubs
- https://bugs.webkit.org/show_bug.cgi?id=59778
- Add Windows specific stubs for WebKit2 full screen APIs.
- * UIProcess/win/WebFullScreenManagerProxyWin.cpp: Added.
- (WebKit::WebFullScreenManagerProxy::enterFullScreen): Added stub.
- (WebKit::WebFullScreenManagerProxy::exitFullScreen): Added stub.
- (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation): Added stub.
- (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation): Added stub.
- (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation): Added stub.
- (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation): Added stub.
- (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode): Added stub.
- (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode): Added stub.
- (WebKit::WebFullScreenManagerProxy::getFullScreenRect): Added stub.
- * WebProcess/FullScreen/win/WebFullScreenManagerWin.cpp: Added.
- (WebKit::WebFullScreenManager::create): Added. Returns a WebFullScreenManagerWin.
- (WebKit::WebFullScreenManagerWin::create): Added.
- (WebKit::WebFullScreenManagerWin::WebFullScreenManagerWin): Added.
- (WebKit::WebFullScreenManagerWin::~WebFullScreenManagerWin): Added.
- (WebKit::WebFullScreenManagerWin::setRootFullScreenLayer): Added stub.
- (WebKit::WebFullScreenManagerWin::beginEnterFullScreenAnimation): Added stub.
- (WebKit::WebFullScreenManagerWin::beginExitFullScreenAnimation): Added stub.
- * WebProcess/FullScreen/win/WebFullScreenManagerWin.h: Added.
- * win/WebKit2.vcproj: Added new classes.
- 2011-04-29 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Simon Fraser and Dan Bernstein.
- WebKit2: WebPluginTypeEnabled key is ignored when enumerating plug-ins
- https://bugs.webkit.org/show_bug.cgi?id=59852
- <rdar://problem/9314011>
- * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
- (WebKit::getPluginInfoFromPropertyLists): Do what WebKit1 does (but in CF dialect). And yes,
- I've seen plists with both numbers and booleans used .
- 2011-04-29 Beth Dakin <bdakin@apple.com>
- Reviewed by Simon Fraser.
- https://bugs.webkit.org/show_bug.cgi?id=59846
- Scrolling causes rounded bottom window corners to become square
- <rdar://problem/9234239>
- Keep track of the m_windowBottomCornerIntersectionRect in WKView.
- Invalidate the rect before scrolling. And if the rect is non-zero during a
- display, mask the corners, then set the rect to zero so that only displays that
- happen right after a scroll bother to do this.
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::scrollView):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView displayIfNeeded]):
- (-[WKView _cacheWindowBottomCornerRect]):
- * UIProcess/API/mac/WKViewInternal.h:
- 2011-04-29 Jia Pu <jpu@apple.com>
- Reviewed by Sam Weinig.
- [Mac] Scrolling WK2 window should dismiss autocorrection panel.
- https://bugs.webkit.org/show_bug.cgi?id=59809
- <rdar://problem/9317410>
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::pageDidScroll): Dimiss autocorrection panel in this function.
- 2011-04-29 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Dan Bernstein.
- WebKit2: Typing with Input methods still enters Roman characters in Safari search field frequently
- https://bugs.webkit.org/show_bug.cgi?id=59829
- <rdar://problem/9336907>
- This patch regresses behavior somewhat in that inline input isn't discarded when something
- happens in an inactive window. This doesn't work well in shipping Safari either.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _notifyInputContextAboutDiscardedComposition]): Added a method that calls
- -discardMarkedText with a safety check.
- (-[WKView setMarkedText:selectedRange:replacementRange:]): Use it.
- (-[WKView _updateTextInputStateIncludingSecureInputState:]): Use it.
- (-[WKView _resetTextInputState]): Use it.
- 2011-04-29 Chris Fleizach <cfleizach@apple.com>
- Reviewed by Beth Dakin.
- AX: Remote accessibility should build on snow leopard
- https://bugs.webkit.org/show_bug.cgi?id=59767
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _updateRemoteAccessibilityRegistration:]):
- (-[WKView viewDidMoveToWindow]):
- (-[WKView _setAccessibilityWebProcessToken:]):
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::platformInitialize):
- (WebKit::WebPage::registerUIProcessAccessibilityTokens):
- * WebProcess/mac/WebProcessMainMac.mm:
- (WebKit::WebProcessMain):
- 2011-04-29 Sam Weinig <sam@webkit.org>
- Reviewed by Dan Bernstein.
- Add protection for shared memory failing to allocate
- <rdar://problem/9125287>
- https://bugs.webkit.org/show_bug.cgi?id=59842
- * Platform/mac/SharedMemoryMac.cpp:
- (WebKit::SharedMemory::create):
- Add logging in shared memory failure cases.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::display):
- Guard against ShareableBitmap failing to create a shared memory
- backing.
- 2011-04-28 Stephanie Lewis <slewis@apple.com>
- Reviewed by Darin Adler.
- https://bugs.webkit.org/show_bug.cgi?id=59776
- <rdar://problem/9287113> REGRESSION: Safari cold/warm launch time 15% to 2x regression
- On the first draw the WebProcess is just going to send us blank bits anyway so don't
- pause waiting for the update. Continue drawing a blank window until the WebProcess
- sends us the update.
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
- (WebKit::DrawingAreaProxyImpl::paint):
- (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
- (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
- * UIProcess/DrawingAreaProxyImpl.h:
- 2011-04-29 Jon Lee <jonlee@apple.com>
- Reviewed by mitzpettel.
- REGRESSION (WebKit2): (Mac) Selection is gone after switching tabs (59721)
- <rdar://problem/9327332>
- https://bugs.webkit.org/show_bug.cgi?id=59721
- When resigning first responder status, check to see if we need to maintain an inactive
- selection in the web view. If we don't, we clear the selection.
- This also reverts the change made in 83814, since that was a different attempt to solve this same issue.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageSetMaintainsInactiveSelection): Export setMaintainsInactiveSelection()
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView resignFirstResponder]): Check and see if we need to maintain the selection in the view prior to resigning.
- If not, we clear the selection
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::clearSelection): Send message across process boundary
- (WebKit::WebPageProxy::setMaintainsInactiveSelection): Sets variable
- * UIProcess/WebPageProxy.h: New member variable to keep track of whether we need to maintain the current selection
- (WebKit::WebPageProxy::maintainsInactiveSelection): Returns variable
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::setFocused): Reverting code to just set the focused bit instead of also clearing the selection
- (WebKit::WebPage::clearSelection):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in: add new ClearSelection() message
- 2011-04-29 Anders Carlsson <andersca@apple.com>
- Reviewed by Darin Adler.
- Application cache doesn't work due to a sandbox violation
- https://bugs.webkit.org/show_bug.cgi?id=59818
- <rdar://problem/9346971>
- Add a sandbox extension for the application cache directory.
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- Encode and decode the sandbox extension handle.
- * Shared/WebProcessCreationParameters.h:
- Add a applicationCacheDirectoryExtensionHandle member.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::ensureWebProcess):
- If we have a non-empty application cache directory, create a sandbox extension
- and pass it to the creation parameters.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess):
- Create and consume a sandbox extension.
- * WebProcess/WebProcess.h:
- Add an m_applicationCachePathExtension member variable.
- 2011-04-29 Dean Jackson <dino@apple.com>
- Reviewed by Simon Fraser.
- Add ENABLE macro for WebKitAnimation
- https://bugs.webkit.org/show_bug.cgi?id=59729
- Add new feature to toggle WebKit Animation API.
- * Configurations/FeatureDefines.xcconfig:
- 2011-04-29 Anders Carlsson <andersca@apple.com>
- Reviewed by Brian Weinstein.
- Crash when closing a tab that is unresponsive
- https://bugs.webkit.org/show_bug.cgi?id=59810
- <rdar://problem/9329133>
- Back out r84643 - there was no rationale for this change, and it's causing crashes.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::processDidCrash):
- 2011-04-29 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Rename page as pageProxy in WebKitWebViewBase
- https://bugs.webkit.org/show_bug.cgi?id=59790
- To avoid consufion between page client and page proxy. Also rename
- some methods to webkitWebViewBase* for consistency.
- * UIProcess/API/gtk/WebKitWebViewBase.cpp:
- (webkitWebViewBaseFinalize):
- (webkitWebViewBaseExpose):
- (webkitWebViewBaseDraw):
- (webkitWebViewBaseSizeAllocate):
- (webkitWebViewBaseFocusInEvent):
- (webkitWebViewBaseFocusOutEvent):
- (webkitWebViewBaseKeyPressEvent):
- (webkitWebViewBaseKeyReleaseEvent):
- (webkitWebViewBaseButtonPressEvent):
- (webkitWebViewBaseButtonReleaseEvent):
- (webkitWebViewBaseScrollEvent):
- (webkitWebViewBaseMotionNotifyEvent):
- (webkit_web_view_base_class_init):
- (webkitWebViewBaseCreate):
- (webkitWebViewBaseGetPage):
- 2011-04-29 Carlos Garcia Campos <cgarcia@igalia.com>
- Unreviewed. Fix a crash after r85214.
- * UIProcess/API/gtk/WebKitWebViewBase.cpp:
- (webkit_web_view_base_init): Add line to create the page client
- instance, removed by mistake in r85214.
- 2011-04-28 David Levin <levin@chromium.org>
- Reviewed by Adam Barth.
- Remove IMAGE_RESIZER related code.
- https://bugs.webkit.org/show_bug.cgi?id=59735
- * Configurations/FeatureDefines.xcconfig:
- 2011-04-28 Sam Weinig <sam@webkit.org>
- Reviewed by Gavin Barraclough.
- Original patch by Austin Jennings.
- <rdar://problem/9350288>
- Update sandbox profile for extension changes
- * WebProcess/com.apple.WebProcess.sb:
- 2011-04-28 Anders Carlsson <andersca@apple.com>
- Reviewed by Darin Adler.
- Right-clicking on a Flash movie in an iframe shows the browser context menu
- https://bugs.webkit.org/show_bug.cgi?id=59760
- <rdar://problem/9340541>
- Move context menu event handling out into a separate function. Make sure to call
- EventHandler::sendContextMenuEvent on the event handler belonging to the frame of the
- node that was clicked, and not the main frame.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::handleContextMenuEvent):
- (WebKit::handleMouseEvent):
- 2011-04-28 Adam Barth <abarth@webkit.org>
- Reviewed by Eric Seidel.
- Remove WML
- https://bugs.webkit.org/show_bug.cgi?id=59678
- Remove WML-related code in WebKit2.
- * Configurations/FeatureDefines.xcconfig:
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- * WebProcess/WebPage/WebBackForwardListProxy.h:
- 2011-04-28 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Anders Carlsson.
- WebKit2: Frequent crashes in acceptsFirstMouse
- https://bugs.webkit.org/show_bug.cgi?id=59746
- <rdar://problem/9281270>
- The crash occurred when connection was null (and it can become null at any time).
- Added checks for the proxy being valid in all sync calls that lacked such.
- WebPageProxy::isValid() is not the same as WebProcessProxy::isValid(), but existing checks
- looked at the former, so I used that.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::firstRectForCharacterInSelectedRange):
- (WebKit::WebPageProxy::getSelectedText):
- (WebKit::WebPageProxy::gestureWillBegin):
- (WebKit::WebPageProxy::createSnapshotOfVisibleContent):
- * UIProcess/mac/WebPageProxyMac.mm:
- (WebKit::WebPageProxy::setComposition):
- (WebKit::WebPageProxy::confirmComposition):
- (WebKit::WebPageProxy::confirmCompositionWithoutDisturbingSelection):
- (WebKit::WebPageProxy::insertText):
- (WebKit::WebPageProxy::getMarkedRange):
- (WebKit::WebPageProxy::getSelectedRange):
- (WebKit::WebPageProxy::getAttributedSubstringFromRange):
- (WebKit::WebPageProxy::characterIndexForPoint):
- (WebKit::WebPageProxy::firstRectForCharacterRange):
- (WebKit::WebPageProxy::executeKeypressCommands):
- (WebKit::WebPageProxy::writeSelectionToPasteboard):
- (WebKit::WebPageProxy::readSelectionFromPasteboard):
- (WebKit::WebPageProxy::shouldDelayWindowOrderingForEvent):
- (WebKit::WebPageProxy::acceptsFirstMouse):
- 2011-04-27 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Timothy Hatcher.
- Mac side of: WebKit2: Support docked mode for Web Inspector
- https://bugs.webkit.org/show_bug.cgi?id=59134
- <rdar://problem/8739005>
- Implement docking of the Web Inspector on Mac. This matches the Windows (WK1 and WK2) closely,
- where the inspector and the inspected view are siblings.
- * UIProcess/API/C/mac: Added.
- * UIProcess/API/C/mac/WKInspectorMac.h: Added.
- * UIProcess/API/mac/PageClientImpl.h:
- (WebKit::PageClientImpl::wkView): Returns the WKView.
- * UIProcess/PageClient.h:
- * UIProcess/WebInspectorProxy.h: The inspected view is now a WebInspectorWKView, so we can override tag.
- * UIProcess/WebPageProxy.h: Added a getter for the WKView.
- * UIProcess/mac/WebInspectorProxyMac.mm:
- (-[WebInspectorProxyObjCAdapter inspectedViewFrameDidChange:]): Calls through to WebInspectorProxy::inspectedViewFrameDidChange.
- (-[WebInspectorWKView tag]): Returns a constant defined in WKInspectorMac.h.
- (WebKit::WebInspectorProxy::platformCreateInspectorPage): Create a WebInspectorWKView instead of a WKView.
- (WebKit::WebInspectorProxy::platformClose): Removed a FIXME that isn't needed anymore (we always detach before closing).
- (WebKit::WebInspectorProxy::inspectedViewFrameDidChange): Place our inspector and the inspected view next to each other, assuming the
- bottom of the inspector is at the Y origin.
- (WebKit::WebInspectorProxy::platformAttach): Listen for changes to the inspected view's frame, and move the inspectorView from the
- detached inspector window to the superview of the inspected view (to make the inspector and inspected view siblings).
- (WebKit::WebInspectorProxy::platformDetach): Stop listening for changes to the inspected view's frame, and move the inspectorView
- back to the detached inspector window. We also resize the inspected view to take up the space the inspector took up before
- (assuming the bottom of the inspector was at the Y origin).
- (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): Resize the inspector's view, and call inspectedViewFrameDidChange (which
- syncs the inspector and the inspected view), and call setNeedsDisplay on both views.
- * UIProcess/mac/WebPageProxyMac.mm:
- (WebKit::WebPageProxy::wkView):
-
- * WebKit2.xcodeproj/project.pbxproj: Add a new file.
- 2011-04-28 Jessie Berlin <jberlin@apple.com>
- Reviewed by Darin Adler.
- Crash under WKPageCreateSnapshotOfVisibleContent if there is no response from the Web Process
- in the allotted time.
- https://bugs.webkit.org/show_bug.cgi?id=59738
- If the handle is null, don't try to create a ShareableBitmap and then a WebImage out of it.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::createSnapshotOfVisibleContent):
- 2011-04-28 Xan Lopez <xlopez@igalia.com>
- Reviewed by Martin Robinson.
- [Gtk] Split JSC and WebCore builds
- https://bugs.webkit.org/show_bug.cgi?id=19428
- Build JavaScriptCore as a libtool shared library instead of a
- private convenience library.
- * GNUmakefile.am: adapt to new name for javascriptcore target.
- 2011-04-28 Brady Eidson <beidson@apple.com>
- Reviewed by Sam Weinig.
- <rdar://problem/8773946> and https://bugs.webkit.org/show_bug.cgi?id=59614
- Client certificate authentication in WebKit2
- Project-file stuff:
- * WebKit2.xcodeproj/project.pbxproj:
- Allow WKCredentials to store certificates:
- * UIProcess/Authentication/WebCredential.cpp:
- (WebKit::WebCredential::WebCredential):
- (WebKit::WebCredential::certificateInfo):
- * UIProcess/Authentication/WebCredential.h:
- (WebKit::WebCredential::create):
- * UIProcess/API/C/WKCredential.cpp:
- (WKCredentialCreateWithCertificateInfo):
- * UIProcess/API/C/WKCredential.h:
- Pass the certificate info over the wire to the WebProcess:
- * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
- (WebKit::AuthenticationChallengeProxy::useCredential):
- Change the WebProcess to prefer certificate info over basic credentials when responding to a challenge:
- * WebProcess/Authentication/AuthenticationManager.cpp:
- (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge): Stub for platforms other than Mac,
- as only Mac can currently respond to challenges with certificates.
- (WebKit::AuthenticationManager::useCredentialForChallenge):
- * WebProcess/Authentication/AuthenticationManager.h:
- * WebProcess/Authentication/AuthenticationManager.messages.in:
- * WebProcess/Authentication/mac: Added.
- * WebProcess/Authentication/mac/AuthenticationManager.mac.mm: Added.
- (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge): Recreate the identity and certificate
- chain and respond to the challenge with it.
- Add a newly required #include:
- * UIProcess/API/C/WKAuthenticationChallenge.cpp:
- * UIProcess/Authentication/AuthenticationDecisionListener.cpp:
- 2011-04-28 Martin Robinson <mrobinson@igalia.com>
- Reviewed by Xan Lopez.
- [GTK] Click counting logic should be shared between WebKit1 and WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=59715
- Use the GtkClickCounter instead of doing click counting manually. This means that
- the code will now be shared between WebKit1 and WebKit2.
- * UIProcess/API/gtk/WebKitWebViewBase.cpp:
- (webkit_web_view_base_init): Remove private member initialization.
- (webViewButtonPressEvent): Call into GtkClickCounter.
- 2011-04-28 Martin Robinson <mrobinson@igalia.com>
- Build fix after r85197.
- * UIProcess/API/gtk/WebKitWebViewBase.cpp:
- (webViewExpose): Use cr.get() here.
- (webViewDraw): Small clean up.
- 2011-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Sam Weinig.
- [GTK] Remove WKURLCreateWithURL()
- https://bugs.webkit.org/show_bug.cgi?id=59691
- The name is a bit confusing and there's already
- WKURLCreateWithUTF8CString() in the C API.
- * UIProcess/API/C/gtk/WKView.cpp:
- * UIProcess/API/C/gtk/WKView.h:
- 2011-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Make WebKitWebViewBase public in the API
- https://bugs.webkit.org/show_bug.cgi?id=59689
- Add WebKitWebViewBasePrivate.h and move WebKitWebViewBase inernal
- methods to it. Rename get_type() method, since it's part of the
- public API and should follow gtk coding style.
- * GNUmakefile.am: Add WebKitWebViewBasePrivate.h.
- * UIProcess/API/C/gtk/WKView.cpp: Use WebKitWebViewBasePrivate.h.
- * UIProcess/API/gtk/PageClientImpl.cpp: Ditto.
- * UIProcess/API/gtk/WebKitWebViewBase.cpp:
- (webkitWebViewBaseFinalize):
- (webkit_web_view_base_init):
- (webViewSizeAllocate):
- (webViewFocusInEvent):
- (webViewFocusOutEvent):
- (webViewKeyPressEvent):
- (webViewKeyReleaseEvent):
- (webkit_web_view_base_class_init):
- * UIProcess/API/gtk/WebKitWebViewBase.h:
- * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Copied from Source/WebKit2/UIProcess/API/C/gtk/WKView.cpp.
- * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp: Use WebKitWebViewBasePrivate.h.
- 2011-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Move WebView to UIProcess/API/gtk
- https://bugs.webkit.org/show_bug.cgi?id=59686
- And rename it as PageClientImpl, since it's a page client
- implementation, not a web view.
- * GNUmakefile.am:
- * UIProcess/API/C/gtk/WKView.cpp:
- * UIProcess/API/gtk/PageClientImpl.cpp: Renamed from Source/WebKit2/UIProcess/gtk/WebView.cpp.
- (WebKit::backspaceCallback):
- (WebKit::selectAllCallback):
- (WebKit::cutClipboardCallback):
- (WebKit::copyClipboardCallback):
- (WebKit::pasteClipboardCallback):
- (WebKit::toggleOverwriteCallback):
- (WebKit::popupMenuCallback):
- (WebKit::showHelpCallback):
- (WebKit::deleteFromCursorCallback):
- (WebKit::moveCursorCallback):
- (WebKit::PageClientImpl::PageClientImpl):
- (WebKit::PageClientImpl::~PageClientImpl):
- (WebKit::PageClientImpl::getEditorCommandsForKeyEvent):
- (WebKit::PageClientImpl::createDrawingAreaProxy):
- (WebKit::PageClientImpl::setViewNeedsDisplay):
- (WebKit::PageClientImpl::displayView):
- (WebKit::PageClientImpl::scrollView):
- (WebKit::PageClientImpl::viewSize):
- (WebKit::PageClientImpl::isViewWindowActive):
- (WebKit::PageClientImpl::isViewFocused):
- (WebKit::PageClientImpl::isViewVisible):
- (WebKit::PageClientImpl::isViewInWindow):
- (WebKit::PageClientImpl::PageClientImpl::processDidCrash):
- (WebKit::PageClientImpl::didRelaunchProcess):
- (WebKit::PageClientImpl::takeFocus):
- (WebKit::PageClientImpl::toolTipChanged):
- (WebKit::PageClientImpl::setCursor):
- (WebKit::PageClientImpl::setViewportArguments):
- (WebKit::PageClientImpl::registerEditCommand):
- (WebKit::PageClientImpl::clearAllEditCommands):
- (WebKit::PageClientImpl::canUndoRedo):
- (WebKit::PageClientImpl::executeUndoRedo):
- (WebKit::PageClientImpl::convertToDeviceSpace):
- (WebKit::PageClientImpl::convertToUserSpace):
- (WebKit::PageClientImpl::windowToScreen):
- (WebKit::PageClientImpl::doneWithKeyEvent):
- (WebKit::PageClientImpl::didNotHandleKeyEvent):
- (WebKit::PageClientImpl::createPopupMenuProxy):
- (WebKit::PageClientImpl::createContextMenuProxy):
- (WebKit::PageClientImpl::setFindIndicator):
- (WebKit::PageClientImpl::pageDidEnterAcceleratedCompositing):
- (WebKit::PageClientImpl::pageDidLeaveAcceleratedCompositing):
- (WebKit::PageClientImpl::didCommitLoadForMainFrame):
- (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
- (WebKit::PageClientImpl::customRepresentationZoomFactor):
- (WebKit::PageClientImpl::setCustomRepresentationZoomFactor):
- (WebKit::PageClientImpl::pageClosed):
- (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame):
- (WebKit::PageClientImpl::flashBackingStoreUpdates):
- (WebKit::PageClientImpl::findStringInCustomRepresentation):
- (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation):
- * UIProcess/API/gtk/PageClientImpl.h: Renamed from Source/WebKit2/UIProcess/gtk/WebView.h.
- (WebKit::PageClientImpl::create):
- (WebKit::PageClientImpl::addPendingEditorCommand):
- (WebKit::PageClientImpl::userSpaceScaleFactor):
- * UIProcess/API/gtk/WebKitWebViewBase.cpp:
- (webkitWebViewBaseInit):
- (webkitWebViewBaseCreate):
- * UIProcess/API/gtk/WebKitWebViewBase.h:
- * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp:
- 2011-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Use the WebPage object in WebKitWebViewBase
- https://bugs.webkit.org/show_bug.cgi?id=59683
- It simplifies the implementation of the event callbacks. Remove
- also all the methods from the page client that are no longer
- needed.
- * UIProcess/API/gtk/WebKitWebViewBase.cpp:
- (webkitWebViewBaseInit):
- (webViewExpose):
- (webViewDraw):
- (webViewSizeAllocate):
- (webViewFocusInEvent):
- (webViewFocusOutEvent):
- (webViewKeyPressEvent):
- (webViewKeyReleaseEvent):
- (webViewButtonPressEvent):
- (webViewButtonReleaseEvent):
- (webViewScrollEvent):
- (webViewMotionNotifyEvent):
- * UIProcess/API/gtk/WebKitWebViewBase.h:
- * UIProcess/gtk/WebView.cpp:
- (WebKit::WebView::WebView):
- (WebKit::WebView::createDrawingAreaProxy):
- * UIProcess/gtk/WebView.h:
- 2011-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Create the page client in the view widget
- https://bugs.webkit.org/show_bug.cgi?id=59679
- * UIProcess/API/C/gtk/WKView.cpp:
- (WKViewCreate): Simply create a new view widget and return it.
- (WKViewGetPage): Use webkitWebViewBaseGetPage().
- * UIProcess/API/gtk/WebKitWebViewBase.cpp:
- (webkitWebViewBaseFinalize): Use finalize instead of dispose to
- make sure it's called only once, and release the private struct too.
- (webkitWebViewBaseInit): Create the page client.
- (webkitWebViewBaseClassInit): Don't use GObject private data structure.
- (webkitWebViewBaseCreate): New method to create a
- WebKitWebViewBase for a given context and page group.
- (webkitWebViewBaseGetWebViewInstance):
- (webkitWebViewBaseGetPage):
- * UIProcess/API/gtk/WebKitWebViewBase.h:
- * UIProcess/gtk/WebView.cpp:
- (WebKit::WebView::page): Get the page from the view widget.
- (WebKit::WebView::handleFocusInEvent): Ditto.
- (WebKit::WebView::handleFocusOutEvent): Ditto.
- (WebKit::WebView::WebView): Page client is now created with a view widget.
- (WebKit::WebView::paint): Get the page from the view widget.
- (WebKit::WebView::setSize): Ditto.
- (WebKit::WebView::handleKeyboardEvent): Ditto.
- (WebKit::WebView::handleMouseEvent): Ditto.
- (WebKit::WebView::handleWheelEvent): Ditto.
- (WebKit::WebView::close): Ditto.
- (WebKit::WebView::createDrawingAreaProxy): Ditto.
- * UIProcess/gtk/WebView.h:
- (WebKit::WebView::create): The page client will be created as
- private by the view widget, so it doesn't need to be ref counted,
- use PassOwnPtr instead of PassRefPtr.
- 2011-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] PlatformWebView should be the view widget
- https://bugs.webkit.org/show_bug.cgi?id=59676
- * UIProcess/API/gtk/WebKitWebViewBase.cpp:
- (webkitWebViewBaseGetPage): Return the page of the view.
- * UIProcess/API/gtk/WebKitWebViewBase.h:
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h: Map PlatformWebView
- to WebKitWebViewBase instead of the page client.
- * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::page): Use the view widget
- directly.
- (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore): Ditto.
- (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore): Ditto.
- * UIProcess/gtk/WebView.cpp:
- (WebKit::WebView::createDrawingAreaProxy): Pass the view widget to
- the DrawingAreaProxy constructor instead of the page client.
- * UIProcess/gtk/WebView.h: Remove getWebViewWindow() which is no
- longer needed.
- 2011-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] WKView should be a GtkWidget
- https://bugs.webkit.org/show_bug.cgi?id=59603
- * UIProcess/API/C/gtk/WKAPICastGtk.h: Map WKViewRef to
- WebKitWebViewBase instead of WebView.
- * UIProcess/API/C/gtk/WKView.h: Remove WKViewGetWindow().
- * UIProcess/API/C/gtk/WKView.cpp:
- (WKViewCreate): Return the view instead of the page client.
- (WKViewGetPage): Use WebKitWebViewBase API to get the page client
- containing the page.
- 2011-04-27 Sam Weinig <sam@webkit.org>
- Reviewed by Adam Roben.
- WebKit2 needs to notify the client when a plugin fails to initialize
- https://bugs.webkit.org/show_bug.cgi?id=59657
- Add didFailToInitializePlugin client function and call it when a plugin
- fails to initialize.
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- * UIProcess/WebLoaderClient.cpp:
- (WebKit::WebLoaderClient::didFailToInitializePlugin):
- * UIProcess/WebLoaderClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didFailToInitializePlugin):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::initializePlugin):
- 2011-04-27 Pratik Solanki <psolanki@apple.com>
- Reviewed by Antti Koivisto.
- Part of WebCore should use CFNetwork-based loader on Mac
- https://bugs.webkit.org/show_bug.cgi?id=51836
- Add PLATFORM(WIN) ifdef around shouldCacheResponse.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- 2011-04-27 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Hang if a sync message handler invalidates the connection
- https://bugs.webkit.org/show_bug.cgi?id=59627
- If dispatching incoming messages while waiting for the sync reply caused the connection to be invalidated,
- we need to return early or we'll wait forever.
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::waitForSyncReply):
- 2011-04-27 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Move WebViewWidget to UIProcess/API/gtk
- https://bugs.webkit.org/show_bug.cgi?id=59594
- API files should be under the API directory. This view widget will
- be used by both C and gtk high level API, so it has been renamed
- to WebKitWebViewBase.
- * GNUmakefile.am:
- * UIProcess/API/gtk/WebKitWebViewBase.cpp: Renamed from Source/WebKit2/UIProcess/gtk/WebViewWidget.cpp.
- (webkitWebViewBaseRealize):
- (webkitWebViewBaseContainerAdd):
- (webkitWebViewBaseDispose):
- (webkitWebViewBaseInit):
- (webViewExpose):
- (webViewDraw):
- (webViewSizeAllocate):
- (webViewFocusInEvent):
- (webViewFocusOutEvent):
- (webViewKeyPressEvent):
- (webViewKeyReleaseEvent):
- (getEventTime):
- (webViewButtonPressEvent):
- (webViewButtonReleaseEvent):
- (webViewScrollEvent):
- (webViewMotionNotifyEvent):
- (webkitWebViewBaseClassInit):
- (webkitWebViewBaseGetType):
- (webkitWebViewBaseGetWebViewInstance):
- (webkitWebViewBaseSetWebViewInstance):
- (webkitWebViewBaseGetIMContext):
- * UIProcess/API/gtk/WebKitWebViewBase.h: Renamed from Source/WebKit2/UIProcess/gtk/WebViewWidget.h.
- * UIProcess/gtk/WebView.cpp:
- (WebKit::WebView::WebView):
- 2011-04-26 Chang Shu <cshu@webkit.org>
- Reviewed by Laszlo Gombos.
- WebKitTestRunner needs layoutTestController.addOriginAccessWhitelistEntry
- https://bugs.webkit.org/show_bug.cgi?id=42544
- Also implemented removeOriginAccessWhitelistEntry and resetOriginAccessWhitelists.
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleAddOriginAccessWhitelistEntry):
- (WKBundleRemoveOriginAccessWhitelistEntry):
- (WKBundleResetOriginAccessWhitelists):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::addOriginAccessWhitelistEntry):
- (WebKit::InjectedBundle::removeOriginAccessWhitelistEntry):
- (WebKit::InjectedBundle::resetOriginAccessWhitelists):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- 2011-04-26 Dan Bernstein <mitz@apple.com>
- Build fix.
- * Configurations/CompilerVersion.xcconfig:
- 2011-04-26 Anders Carlsson <andersca@apple.com>
- Fix 32-bit clang build.
- * PluginProcess/mac/PluginProcessMac.mm:
- (WebKit::windowCoversAnyScreen):
- * UIProcess/API/mac/WKTextInputWindowController.mm:
- (-[WKTextInputPanel init]):
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
- (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation):
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::flipScreenYCoordinate):
- (WebKit::computeFakeWindowBoundsRect):
- * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
- (-[AccessibilityWebPageObject accessibilityHitTest:]):
- 2011-04-26 Sam Weinig <sam@webkit.org>
- Reviewed by David Hyatt.
- Remove Datagrid from the tree
- https://bugs.webkit.org/show_bug.cgi?id=59543
- * Configurations/FeatureDefines.xcconfig:
- Remove feature.
- 2011-04-26 Chang Shu <cshu@webkit.org>
- Reviewed by Laszlo Gombos.
- WebKitTestRunner needs layoutTestController.setAllowFileAccessFromFileURLs
- https://bugs.webkit.org/show_bug.cgi?id=57572
- Remove the unnecessary code that updates preference.
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::decode):
- * Shared/WebPreferencesStore.h:
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleSetAllowUniversalAccessFromFileURLs):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::setAllowUniversalAccessFromFileURLs):
- (WebKit::InjectedBundle::setAllowFileAccessFromFileURLs):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- 2011-04-26 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Steve Falkenburg.
- WebKit2: Docked Inspector doesn't behave well if inspected web view isn't at 0,0
- https://bugs.webkit.org/show_bug.cgi?id=59554
- <rdar://problem/9341188>
-
- Use GetWindowRect and ScreenToClient to properly place our inspector and inspected
- web views instead of using GetClientRect. We need to correctly handle the case where
- the inspected web view isn't at 0, 0.
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight):
- 2011-04-26 Dan Bernstein <mitz@apple.com>
- Reviewed by Mark Rowe.
- Choose the compiler based on the Xcode version for Snow Leopard debug builds.
- * Configurations/Base.xcconfig:
- * Configurations/CompilerVersion.xcconfig: Added.
- 2011-04-26 Balazs Kelemen <kbalazs@webkit.org>
- Unreviewed build fix.
- * Platform/Region.cpp: Need to include stdio.h for printf
- (at least in my Qt-Linux environment).
- 2011-04-26 Mihai Parparita <mihaip@chromium.org>
- Reviewed by Adam Barth.
- Turn off make built-in implicit rules for derived sources makefile
- https://bugs.webkit.org/show_bug.cgi?id=59418
- We don't use any of make's built-in implicit rules, turning them off
- speeds up parsing of the makefile.
- * WebKit2.xcodeproj/project.pbxproj:
- 2011-04-26 Carlos Garcia Campos <cgarcia@igalia.com>
- Unreviewed. Fix WebKit2 GTK build after r84785.
- * UIProcess/gtk/WebInspectorGtk.cpp:
- (WebKit::WebInspectorProxy::platformAttach):
- (WebKit::WebInspectorProxy::platformDetach):
- (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight):
- 2011-04-26 Carlos Garcia Campos <cgarcia@igalia.com>
- Unreviewed. Fix WebKit2 GTK build after r84886
- * Platform/gtk/RunLoopGtk.cpp: Include WorkItem.h
- 2011-04-25 Adam Barth <abarth@webkit.org>
- Reviewed by David Levin.
- WebKit2 should play nice with strict OwnPtrs
- https://bugs.webkit.org/show_bug.cgi?id=59426
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::waitForMessage):
- - Lack of OwnPtr in HashMap is sad face. This code becomes very
- pretty if we could use OwnPtr in HashMap...
- * Platform/RunLoop.cpp:
- (RunLoop::performWork):
- (RunLoop::scheduleWork):
- * Platform/RunLoop.h:
- * Platform/mac/WorkQueueMac.cpp:
- (WorkQueue::executeWorkItem):
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::deliverData):
- 2011-04-25 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben.
- WebKit2: Should be able to inspect Web Inspector in Debug Builds
- https://bugs.webkit.org/show_bug.cgi?id=59378
- * UIProcess/WebInspectorProxy.cpp:
- (WebKit::createInspectorPageGroup): Creates an inspector page group and enables
- developer extras in a debug build.
- (WebKit::WebInspectorProxy::inspectorPageGroup): Calls createInspectorPageGroup.
- 2011-04-25 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Timothy Hatcher.
- WebKit2: Web Inspector's style sidebar fails to display when inspecting element
- https://bugs.webkit.org/show_bug.cgi?id=58071
- <rdar://problem/9243093>
-
- When creating our WebKit2 inspector views, we were creating them on both Mac and Windows
- with the empty rect for their initial size. Before we sized them correctly, the inspector
- was calling window.innerWidth on them, which returned 0, making the sidebar take up 0 pixels.
- * UIProcess/mac/WebInspectorProxyMac.mm:
- (WebKit::WebInspectorProxy::platformCreateInspectorPage): Create the window with the initial window width
- and height.
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::platformCreateInspectorPage): Ditto.
- 2011-04-25 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben.
- Windows part of - WebKit2: Support docked mode for Web Inspector
- https://bugs.webkit.org/show_bug.cgi?id=59134
- <rdar://problem/8739005>
-
- Implement attaching and detaching of the Web Inspector on Windows,
- and also support setAttachedWindowHeight when the user changes the height
- of the docked inspector.
-
- This patch doesn't remember whether the user prefers attached or detached, and
- doesn't remember the user's preferred docked height, but that will be a separate
- bug.
-
- * UIProcess/WebInspectorProxy.cpp:
- (WebKit::WebInspectorProxy::attach): Set the attached flag and call platform-specific code.
- (WebKit::WebInspectorProxy::detach): Ditto.
- (WebKit::WebInspectorProxy::setAttachedWindowHeight): Call platform-specific code.
- (WebKit::WebInspectorProxy::didClose): Set m_isVisible before calling platformClose. platformClose
- calls detach if the inspector was docked, and detach needs to know whether or not the window is
- visible.
- * UIProcess/WebInspectorProxy.h:
- * UIProcess/WebInspectorProxy.messages.in: Add new messages.
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::pageClient): Add a getter for the page client.
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::windowReceivedMessage): Relay WM_WINDOWPOSCHANGING messages from the inspected
- web view to the WebInspectorProxy.
- (WebKit::WebInspectorProxy::onWebViewWindowPosChangingEvent): Resize the inspected web view to behave well
- with the docked inspector.
- (WebKit::WebInspectorProxy::platformClose): If we are attached, detach before destroying.
- (WebKit::WebInspectorProxy::platformAttach): Set the inspector's host window to be the inspected web view's parent
- window, so the inspected web view and the inspector are siblings.
- (WebKit::WebInspectorProxy::platformDetach): Set the inspector's host window to be the standalone inspector window.
- (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): Size the views.
- * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
- * WebProcess/WebCoreSupport/WebInspectorClient.h:
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
- (WebKit::WebInspectorFrontendClient::attachWindow): Call WebInspector::attach.
- (WebKit::WebInspectorFrontendClient::closeWindow): Add a call to the InspectorController to disconnect the inspector frontend
- from the inspector backend. Without this line, when we close the attached inspector, it won't re-open, because the
- inspector controller still thinks there is a frontend. This matches WebKit1's behavior, although it seems like this is
- something WebCore should handle.
- (WebKit::WebInspectorFrontendClient::detachWindow): Call WebInspector::detach.
- (WebKit::WebInspectorFrontendClient::setAttachedWindowHeight): Call WebInspector::setAttachedWindowHeight.
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaImpl::sendUpdateBackingStoreState): Add an early return if the WebPageProxy's viewSize is empty.
- This can be needed if the inspector takes up the whole view, and it is useful to prevent a possible synchronous message
- from the UIProcess -> WebProcess to update a backing store that isn't visible in the first place.
- * WebProcess/WebPage/WebInspector.cpp:
- (WebKit::WebInspector::attach): Send a message to the UIProcess.
- (WebKit::WebInspector::detach): Ditto.
- (WebKit::WebInspector::setAttachedWindowHeight): Ditto.
- * WebProcess/WebPage/WebInspector.h: Remove some dead code.
- 2011-04-25 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Alice Liu.
- WebKit2: Web Inspector: Support highlighting page elements
- https://bugs.webkit.org/show_bug.cgi?id=59263
- <rdar://problem/8767659>
- Support highlighting of page elements for the inspector in WebKit2 by
- having the WebInspectorClient be a PageOverlay Client and be responsible
- for calling InspectorController::drawNodeHighlight.
- * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
- (WebKit::WebInspectorClient::highlight): Create our overlay if it hasn't been created,
- or call setNeedsDisplay if it has.
- (WebKit::WebInspectorClient::hideHighlight): Uninstall the page overlay if it exists.
- (WebKit::WebInspectorClient::pageOverlayDestroyed):
- (WebKit::WebInspectorClient::willMoveToWebPage): If it's being destroyed (moving to a null
- WebPage), clear the member variable.
- (WebKit::WebInspectorClient::didMoveToWebPage):
- (WebKit::WebInspectorClient::drawRect): Call InspectorController::drawNodeHighlight.
- (WebKit::WebInspectorClient::mouseEvent):
- * WebProcess/WebCoreSupport/WebInspectorClient.h:
- (WebKit::WebInspectorClient::WebInspectorClient): Add a new member variable.
- 2011-04-25 Jon Lee <jonlee@apple.com>
- Reviewed by Maciej Stachowiak.
- Overlay scroller hard to see on pages with dark background (59183)
- https://bugs.webkit.org/show_bug.cgi?id=59183
- <rdar://problem/8975367>
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): adding method to allow changing style
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::getDocumentBackgroundColor): refactoring to use common code for retrieving background color
- 2011-04-24 Dan Bernstein <mitz@apple.com>
- Reviewed by Maciej Stachowiak.
- <rdar://problem/9329741> Reproducible crash in WebChromeClient::invalidateContentsAndWindow() on simonscat.com
- https://bugs.webkit.org/show_bug.cgi?id=59299
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::invalidateContentsAndWindow): Null-check the document.
- (WebKit::WebChromeClient::invalidateContentsForSlowScroll): Ditto.
- 2011-04-23 Sheriff Bot <webkit.review.bot@gmail.com>
- Unreviewed, rolling out r84740.
- http://trac.webkit.org/changeset/84740
- https://bugs.webkit.org/show_bug.cgi?id=59290
- change breaks apple internal builds and is incorrect
- (Requested by smfr on #webkit).
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- 2011-04-22 Jon Lee <jonlee@apple.com>
- Reviewed by Beth Dakin.
- Overlay scroller hard to see on pages with dark background (59183)
- https://bugs.webkit.org/show_bug.cgi?id=59183
- <rdar://problem/8975367>
-
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): adding method to allow changing style
- 2011-04-22 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Sam Weinig.
- WebKit2: Stop responsiveness timer before calling runOpenPanel
- https://bugs.webkit.org/show_bug.cgi?id=59268
- <rdar://problem/9327944>
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::runOpenPanel): Stop the timer before calling WebUIClient::runOpenPanel,
- because runOpenPanel can spin a nested run loop.
- 2011-04-22 Chang Shu <cshu@webkit.org>
- Reviewed by Kenneth Rohde Christiansen.
- WebKitTestRunner needs layoutTestController.setFrameFlatteningEnabled
- https://bugs.webkit.org/show_bug.cgi?id=42536
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleSetFrameFlatteningEnabled):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::setFrameFlatteningEnabled):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- 2011-04-22 Alejandro G. Castro <alex@igalia.com> and Martin Robinson <mrobinson@igalia.com>
- Reviewed by Xan Lopez.
- [GTK] Use the libWebCore.a convenience library when compiling WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=59258
- * GNUmakefile.am: Remove the libWebKit2 convenience library and use the
- libWebCore convenience library when compiling WebKit2. Not only does this
- maintain the CPPFLAGS isolation, it prevents double-compilation of WebCore
- in some cases.
- 2011-04-19 Jer Noble <jer.noble@apple.com>
- Reviewed by Daniel Bates.
- Full Screen from within an <iframe> does not cause <iframe> to resize.
- https://bugs.webkit.org/show_bug.cgi?id=58638
- Tests: fullscreen/full-screen-frameset-allowed.html
- fullscreen/full-screen-frameset-not-allowed.html
- * UIProcess/mac/WKFullScreenWindowController.mm:
- (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Cancel the background animation
- if the full screen animation finishes first.
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
- (WebKit::WebFullScreenManagerMac::WebFullScreenManagerMac): m_fullScreenRootLayer was uninitialized.
- 2011-04-22 Sam Weinig <sam@webkit.org>
- Reviewed by Brian Weinstein.
- WebKit2: Implement JavaScript unresponsiveness callback
- https://bugs.webkit.org/show_bug.cgi?id=59248
- Add support for suspending JavaScript in response to a callback.
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::shouldInterruptJavaScript):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::shouldInterruptJavaScript):
- * UIProcess/WebUIClient.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::shouldInterruptJavaScript):
- 2011-04-22 Dan Bernstein <mitz@apple.com>
- Reviewed by Sam Weinig.
- Paint the bounding rect of the dirty region instead of individual rectangles when the region
- covers at least 3/4 of its bounds.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::shouldPaintBoundsRect): Use floating point math so that the logic that was supposed to
- achieve this actually works.
- 2011-04-22 Jer Noble <jer.noble@apple.com>
- Reviewed by Maciej Stachowiak.
- Crash at WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation + 79
- https://bugs.webkit.org/show_bug.cgi?id=59225
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
- (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation): Guard against
- m_fullScreenRootLayer being NULL.
- (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation): Ditto.
- 2011-04-22 Jer Noble <jer.noble@apple.com>
- Reviewed by Maciej Stachowiak.
- Allow MediaPlayerPrivateAVFoundation to be disabled via a preference.
- https://bugs.webkit.org/show_bug.cgi?id=59179
- Add API to allow the WebCore Settings preference to be called from the UIProcess.
- * Shared/WebPreferencesStore.h: Added new preference definition macro.
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetAVFoundationEnabled): Added.
- (WKPreferencesGetAVFoundationEnabled): Added.
- * UIProcess/API/C/WKPreferences.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences): Pass new preference along to WebCore
- Settings.
- 2011-04-22 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Sam Weinig.
- WebKit2: Stop Responsiveness Timer when WebPageProxy closes or WebProcess crashes
- https://bugs.webkit.org/show_bug.cgi?id=59210
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close): Stop the responsiveness timer.
- (WebKit::WebPageProxy::processDidCrash): Ditto.
- 2011-04-21 Adam Roben <aroben@apple.com>
- Give windowless plugins' context menus an owner window in the same thread as the plugin
- In some cases, plugins pass the WKView's HWND to the ::TrackPopupMenu API. ::TrackPopupMenu
- fails in this case because the WKView's HWND is owned by another process/thread. We work
- around this by hooking the ::TrackPopupMenu API and providing our own window that's in the
- same thread as the plugin instead.
- I couldn't figure out how to write a test for this. :-(
- Fixes <http://webkit.org/b/51063> <rdar://problem/8769281> REGRESSION (WebKit2): No context
- menu appears when right-clicking on windowless Flash plugin
- Reviewed by Brian Weinstein, and looked at suspiciously by Jeff Miller.
- * Platform/Module.h: Added installIATHook on Windows.
- * Platform/win/ModuleWin.cpp:
- (WebKit::overwriteReadOnlyMemory): New helper function. Basically a wrapper around memcpy,
- but uses ::VirtualProtect to allow writing to otherwise-read-only memory.
- (WebKit::findFunctionPointerAddress): New helper function. The first overload iterates over
- the imported modules and functions looking for the given one. If found, returns the address
- of the function pointer that is used when calling that function. The second overload calls
- the first, first passing it an enumerator for the image's imported modules, then passing it
- an iterator for the image's delay-loaded modules.
- (WebKit::Module::installIATHook): Added. Finds the address of the function pointer that's
- used when code in this module calls the given function, then overwrites the function pointer
- with the passed-in one. Future calls to the given function made by code in this module
- should then end up calling to the passed-in function instead of the original one.
- * Shared/Plugins/Netscape/NetscapePluginModule.h:
- (WebKit::NetscapePluginModule::module): Added this simple getter.
- * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added some new Windows-only members.
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- (WebKit::CurrentPluginSetter::CurrentPluginSetter):
- (WebKit::CurrentPluginSetter::~CurrentPluginSetter):
- This RAII class sets/unsets the currentPlugin global.
- (WebKit::registerPluginView): Changed to use instanceHandle() instead of the mysterious
- gInstance.
- (WebKit::NetscapePlugin::platformPostInitialize): For windowless plugins, hook the
- ::TrackPopupMenu API and create a window to be used as the owner for context menus created
- by this plugin. (Also changed the ::CreateWindowExW call for windowed plugins to pass an
- instance handle so that the window will be associated with WebKit.dll instead of
- WebKit2WebProcess.exe. This should have no visible effect, but is more correct.)
- (WebKit::NetscapePlugin::platformDestroy): For windowless plugins, destroy the context menu
- owner window we created above.
- (WebKit::NetscapePlugin::platformPaint):
- (WebKit::NetscapePlugin::platformHandleMouseEvent):
- (WebKit::NetscapePlugin::platformHandleWheelEvent):
- (WebKit::NetscapePlugin::platformSetFocus):
- (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
- (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
- (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
- Set ourselves as the current plugin.
- (WebKit::NetscapePlugin::hookedTrackPopupMenu): Added. This is the function that actually
- gets called when windowless plugins call ::TrackPopupMenu. If the passed-in owner window is
- owned by the current thread, we have nothing to do; ::TrackPopupMenu should work just fine.
- Otherwise, we use the current plugin's context menu owner window as the context menu's
- owner. We also set focus to the new owner window because otherwise weird behavior results
- (e.g., it's possible to scroll the WKView while the context menu is up).
- 2011-04-21 Adam Roben <aroben@apple.com>
- Use WebCore's do-nothing window class instead of creating our own
- Fixes <http://webkit.org/b/59102> WebKit has too many dummy window classes
- Reviewed by Anders Carlsson.
- * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
- (WebKit::createDummyWindow): Less code!
- 2011-04-22 Balazs Kelemen <kbalazs@webkit.org>
- Reviewed by Kenneth Rohde Christiansen.
- [Qt][WK2] Cannot play flash with NSPluginWrapper
- https://bugs.webkit.org/show_bug.cgi?id=59125
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetValue): Handle the case when we have been
- called with a null plugin instance.
- 2011-04-22 Andreas Kling <andreas.kling@nokia.com>
- Reviewed by Sam Weinig.
- [Qt][WK2] Implement DrawingAreaImpl for Qt.
- https://bugs.webkit.org/show_bug.cgi?id=59171
- * WebKit2.pro: Build files necessary for DrawingAreaImpl.
- * DerivedSources.pro: Build message receivers for DrawingArea and DrawingAreaProxy.
- * Shared/qt/LayerTreeContextQt.cpp:
- (WebKit::LayerTreeContext::LayerTreeContext): Stub.
- (WebKit::LayerTreeContext::~LayerTreeContext): Stub.
- (WebKit::LayerTreeContext::encode): Stub.
- (WebKit::LayerTreeContext::decode): Stub.
- (WebKit::LayerTreeContext::isEmpty): Stub.
- (WebKit::operator==): Stub.
- * Shared/qt/ShareableBitmapQt.cpp:
- (WebKit::ShareableBitmap::paint): Don't translate the painter to accomodate the
- source rect. The rect is already adjusted at the call site.
- * UIProcess/API/qt/qgraphicswkview.h: Add "Impl" to QGraphicsWKView::BackingStoreType.
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::createDrawingAreaProxy): Create DrawingAreaProxyImpl if requested.
- (QWKPagePrivate::paint): Call the correct paint() method for DrawingAreaProxyImpl,
- since this drawing area will simple ASSERT_NOT_REACHED() in the "normal" paint().
- * WebProcess/WebPage/DrawingArea.cpp:
- (WebKit::DrawingArea::create): Allow creation of DrawingAreaImpl for Qt.
- * UIProcess/BackingStore.h: Add Qt-specific types and backing store.
- * UIProcess/qt/BackingStoreQt.cpp:
- (WebKit::BackingStore::paint): Implemented.
- (WebKit::BackingStore::incorporateUpdate): Implemented.
- (WebKit::BackingStore::scroll): Implemented using QPixmap::scroll().
- * UIProcess/DrawingAreaProxy.h: Enable drawing area message receivers for Qt.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveMessage): Ditto.
- * WebProcess/WebPage/DrawingArea.h: Ditto.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didReceiveMessage): Ditto.
- 2011-04-22 Jon Honeycutt <jhoneycutt@apple.com>
- WinCairo build fix. Unreviewed.
- * WebProcess/Downloads/curl/DownloadCurl.cpp:
- (WebKit::Download::useCredential):
- Stubbed.
- (WebKit::Download::continueWithoutCredential):
- Stubbed.
- (WebKit::Download::cancelAuthenticationChallenge):
- Stubbed.
- 2011-04-21 Jon Honeycutt <jhoneycutt@apple.com>
- Need to support authentication for downloads in WebKit2 on Windows
- https://bugs.webkit.org/show_bug.cgi?id=59175
- <rdar://problem/9206151>
- <rdar://problem/8958280>
- Reviewed by Maciej Stachowiak.
- * WebProcess/Downloads/Download.cpp:
- Include DownloadAuthenticationClient.h.
- * WebProcess/Downloads/Download.h:
- Declare a function to get or create the authentication client, a member
- var to hold it, and functions that the client can call to use a
- credential, continue without a credential, or cancel an auth challenge.
- * WebProcess/Downloads/DownloadAuthenticationClient.cpp: Added.
- (WebKit::DownloadAuthenticationClient::DownloadAuthenticationClient):
- (WebKit::DownloadAuthenticationClient::receivedCredential):
- Tell the Download to use the credential.
- (WebKit::DownloadAuthenticationClient::receivedRequestToContinueWithoutCredential):
- Tell the Download to continue with credentials.
- (WebKit::DownloadAuthenticationClient::receivedCancellation):
- Tell the Download to cancel the challenge.
- * WebProcess/Downloads/DownloadAuthenticationClient.h: Added.
- (WebKit::DownloadAuthenticationClient::create):
- Return a new DownloadAuthenticationClient.
- (WebKit::DownloadAuthenticationClient::detach):
- Clear the Download.
- (WebKit::DownloadAuthenticationClient::refAuthenticationClient):
- (WebKit::DownloadAuthenticationClient::derefAuthenticationClient):
- * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
- (WebKit::Download::useCredential):
- Create a CFURLCredentialRef from the WebCore credential, and tell
- CFNetwork to use it for the auth challenge.
- (WebKit::Download::continueWithoutCredential):
- Call CFURLDownloadUseCredential with a null credential.
- (WebKit::Download::cancelAuthenticationChallenge):
- Cancel the download, and clear m_download.
- (WebKit::Download::authenticationClient):
- Create if needed and return a DownloadAuthenticationClient.
- (WebKit::Download::platformInvalidate):
- Detach the DownloadAuthenticationClient.
- (WebKit::didReceiveAuthenticationChallengeCallback):
- Call Download::didReceiveAuthenticationChallenge(), passing a
- WebCore::AuthenticationChallenge with our DownloadAuthenticationClient.
- (WebKit::Download::receivedCredential):
- Get the client from the auth challenge, and call through to it.
- (WebKit::Download::receivedRequestToContinueWithoutCredential):
- Ditto.
- (WebKit::Download::receivedCancellation):
- Ditto.
- * win/WebKit2.vcproj:
- Add new files to project.
- 2011-04-21 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Maciej Stachowiak.
- Minimize synchronous calls during loading
- https://bugs.webkit.org/show_bug.cgi?id=59169
- <rdar://problem/9320128> REGRESSION(r84526): WK2 windows unresponsive
- * UIProcess/API/mac/WKView.mm:
- (-[WKView resignFirstResponder]):
- (-[WKView _resetTextInputState]):
- Made _resetTextInputState deal with client side state only, letting Editor composition be
- discarded more discriminately.
- 2011-04-21 Maciej Stachowiak <mjs@apple.com>
- Reviewed by Adam Roben.
- Add a feature define to allow <details> and <summary> to be disabled
- https://bugs.webkit.org/show_bug.cgi?id=59118
- <rdar://problem/9257045>
- * Configurations/FeatureDefines.xcconfig:
- 2011-04-21 Ivan Krstić <ike@apple.com>
- Reviewed by Maciej Stachowiak.
- <rdar://problem/9311103>
- Remove unnecessary QTKitServer and Apple Events permissions
- from the WebProcess sandbox.
- * WebProcess/com.apple.WebProcess.sb:
- 2011-04-21 Ivan Krstić <ike@apple.com>
- Reviewed by Maciej Stachowiak.
- <rdar://problem/9033535>
- Mute sandbox violations when attempting to read a temporary
- CFNetwork keychain.
- * WebProcess/com.apple.WebProcess.sb:
- 2011-04-21 Ryosuke Niwa <rniwa@webkit.org>
- Reviewed by Sam Weinig.
- Add Frame* to the argument lists of canCopyCut and canPaste
- https://bugs.webkit.org/show_bug.cgi?id=59153
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::canCopyCut):
- (WebKit::WebEditorClient::canPaste):
- * WebProcess/WebCoreSupport/WebEditorClient.h:
- 2011-04-21 Ivan Krstić <ike@apple.com>
- Reviewed by Maciej Stachowiak.
- <rdar://problem/8774116>
- The WebProcess sandbox should only allow access to the
- parts of the Darwin cache directory needed by the Security
- framework.
- * WebProcess/com.apple.WebProcess.sb:
- 2011-04-21 Ivan Krstić <ike@apple.com>
- Reviewed by Maciej Stachowiak.
- <rdar://problem/9311053>
- The WebProcess sandbox should not allow opening arbitrary
- IOKit user clients. Restrict to a whitelist required for normal
- WebProcess operation, including sound and accelerated graphics.
- * WebProcess/com.apple.WebProcess.sb:
- 2011-04-21 Ivan Krstić <ike@apple.com>
- Reviewed by Maciej Stachowiak.
- <rdar://problem/9311037>
- The WebProcess sandbox should not allow modification of the
- CoreAudio component cache.
- * WebProcess/com.apple.WebProcess.sb:
- 2011-04-21 Ivan Krstić <ike@apple.com>
- Reviewed by Maciej Stachowiak.
- <rdar://problem/9263428>
- The WebProcess sandbox should only allow outbound networking
- to remote destinations and local kernel controls.
- * WebProcess/com.apple.WebProcess.sb:
- 2011-04-21 Sheriff Bot <webkit.review.bot@gmail.com>
- Unreviewed, rolling out r82052.
- http://trac.webkit.org/changeset/82052
- https://bugs.webkit.org/show_bug.cgi?id=59135
- New full screen api should be opt-in, not opt-out. (Requested
- by jernoble on #webkit).
- * Shared/WebPreferencesStore.h:
- 2011-04-21 Beth Dakin <bdakin@apple.com>
- Reviewed by Dan Bernstein.
- https://bugs.webkit.org/show_bug.cgi?id=59048
- Need to track whether overlay scrollbar is currently visible and in lower-
- righthand corner
- -and corresponding-
- <rdar://problem/9211232>
- WebPageProxy now stores an IntRect of the scroller thumb set by WebCore through
- the client.
- _windowResizeMouseLocationIsInVisibleScrollerThumb tests if the parameter point is
- inside the cached scroller thumb rect.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _windowResizeMouseLocationIsInVisibleScrollerThumb:]):
- Client work to cache the rect.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::processDidCrash):
- (WebKit::WebPageProxy::notifyScrollerThumbIsVisibleInRect):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::visibleScrollerThumbRect):
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::notifyScrollerThumbIsVisibleInRect):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- New WebSystemInterface is needed by WebCore for this.
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- 2011-04-21 Andreas Kling <andreas.kling@nokia.com>
- Reviewed by Kenneth Rohde Christiansen.
- [Qt][WK2] Emit QWKPage::urlChanged() when navigating within the same document.
- https://bugs.webkit.org/show_bug.cgi?id=59044
- Hook up the didSameDocumentNavigationForFrame callback to QWKPage::urlChanged().
- * UIProcess/API/qt/ClientImpl.cpp:
- (qt_wk_didSameDocumentNavigationForFrame):
- * UIProcess/API/qt/ClientImpl.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- 2011-04-20 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Maciej Stachowiak.
- WebKit2: Unconfirmed inline input session persists after reload
- https://bugs.webkit.org/show_bug.cgi?id=59054
- <rdar://problem/9291086>
- Makes the inline input get properly confirmed or discarded when changing selection,
- navigating to another page, focusing another view in the window, or after a web process
- crash.
- * Shared/EditorState.h: (WebKit::EditorState::EditorState):
- * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::editorState):
- Added a variable that Editor sets while processing input method calls. We don't want
- selection changes caused by -setMarkedText: discard the composition!
-
- * UIProcess/PageClient.h:
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::updateTextInputState):
- (WebKit::PageClientImpl::resetTextInputState):
- Extended updateSecureInputState() to potentially confirm the current inline input session.
- Added resetTextInputState, which is to be called when we get out of the current web page.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView resignFirstResponder]): Just call _resetTextInputState instead of dealing with
- input state here.
- (-[WKView _updateSecureInputState]): Use _isFocused to make the code simpler.
- (-[WKView _updateTextInputStateIncludingSecureInputState:]): Confirm the current inline
- input session if selection changed for any other reason but an input method changing the
- composition. We will want to do other work here, like dismissing a dictionary pop-up,
- updating a font panel etc.
- (-[WKView _resetTextInputState]): Added. We don't want secure text input persist after
- navigations, crashes an such, and we also don't want input methods to remember inline input
- state. Relying on selection changed notifications is fragile and insufficient.
- * UIProcess/API/mac/WKViewInternal.h: Added internal functions to keep the build unbroken.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didCommitLoadForFrame): This is the best chance we have to reset input
- state for a new page. This doesn't work well for cached page loads, but WK1 is quite broken
- in that case, too.
- (WebKit::WebPageProxy::editorStateChanged): Moved some logic up to the client, since the
- function now does much more than before.
- * UIProcess/WebPageProxy.h:
- * UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::confirmCompositionWithoutDisturbingSelection):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
- * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::confirmCompositionWithoutDisturbingSelection):
- Added confirmCompositionWithoutDisturbingSelection(). When we confirm the composition due
- to selection change, we obvisouly don't want the selection to move back.
- 2011-04-21 Sam Weinig <sam@webkit.org>
- Reviewed by Simon Fraser.
- Remove warnings from DrawingAreaImpl and related classes
- https://bugs.webkit.org/show_bug.cgi?id=59120
- DrawingAreaImpl is mature enough for others to adopt. Remove warnings.
- * UIProcess/BackingStore.cpp:
- * UIProcess/DrawingAreaProxyImpl.cpp:
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- * WebProcess/WebPage/LayerTreeHost.cpp:
- 2011-04-21 Sam Weinig <sam@webkit.org>
- Reviewed by Simon Fraser.
- Deploy GraphicsContextStateSaver in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=59116
- * UIProcess/FindIndicator.cpp:
- (WebKit::FindIndicator::draw):
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::paint):
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::drawRect):
- * WebProcess/WebPage/PageOverlay.cpp:
- (WebKit::PageOverlay::drawRect):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::drawRect):
- (WebKit::WebPage::drawPageOverlay):
- 2011-04-21 Jessie Berlin <jberlin@apple.com>
- Reviewed by Sam Weinig.
- WebKit2: Need a way to get a snapshot of the visible contents of a page from the UI Process.
- https://bugs.webkit.org/show_bug.cgi?id=59035
- Added a sync call from the UI Process to the Web Process with comments saying that it should
- be removed as soon as possible.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageVisibleContentsSnapshot):
- * UIProcess/API/C/WKPagePrivate.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::createSnapshotOfVisibleContent):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::createSnapshotOfVisibleContent):
- Ask the FrameView for the visibleContentRect, and call scaledSnapshotInDocumentCoordinates
- with a scale factor of 1 (which preserves the current scaling of the page - e.g. if the
- page is already zoomed then the snapshot will reflect the zoomed content).
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
- 2011-04-20 Dominic Cooney <dominicc@chromium.org>
- Reviewed by Dimitri Glazkov.
- layoutTestController can create and destroy shadow DOM
- https://bugs.webkit.org/show_bug.cgi?id=59058
- Support for new methods in WK2 WebKitTestRunner.
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
- (WKBundleNodeHandleCopyElementEnsureShadowRoot):
- (WKBundleNodeHandleRemoveShadowRoot):
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
- (WebKit::InjectedBundleNodeHandle::elementShadowRoot):
- (WebKit::InjectedBundleNodeHandle::elementEnsureShadowRoot):
- (WebKit::InjectedBundleNodeHandle::elementRemoveShadowRoot):
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
- 2011-04-20 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Don't discard backing stores for hung web processes
- https://bugs.webkit.org/show_bug.cgi?id=59039
- <rdar://problem/9237090>
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::viewStateDidChange):
- (WebKit::WebPageProxy::processDidBecomeUnresponsive):
- (WebKit::WebPageProxy::processDidBecomeResponsive):
- Call updateBackingStoreDiscardableState.
- (WebKit::WebPageProxy::updateBackingStoreDiscardableState):
- Never mark the backing store as discardable if the web process is hung
- 2011-04-20 Maciej Stachowiak <mjs@apple.com>
- Reviewed by Sam Weinig.
- Reproducible crash under WebPageProxy::didReceiveEvent
- https://bugs.webkit.org/show_bug.cgi?id=59036
- <rdar://problem/9252083>
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _resendKeyDownEvent:]): Protect against self-destruction
- when re-dispatching the event.
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::createWebPage): Fixed a type mismatch
- I noticed while debugging.
- 2011-04-20 Timothy Hatcher <timothy@apple.com>
- Make the Web Insepctor come to the front when a breakpoint is hit.
- <https://webkit.org/b/57480> REGRESSION (WebKit2): Inspector doesn't come to the front when a breakpoint is hit in the debugger
- <rdar://problem/9209472>
- Reviewed by Adam Roben.
- * UIProcess/WebInspectorProxy.cpp:
- (WebKit::WebInspectorProxy::bringToFront): Added. Call platformBringToFront.
- * UIProcess/WebInspectorProxy.h:
- * UIProcess/WebInspectorProxy.messages.in: Added BringToFront.
- * UIProcess/mac/WebInspectorProxyMac.mm:
- (WebKit::WebInspectorProxy::platformBringToFront): Added. Call orderFront:.
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::platformBringToFront): Added. Call ShowWindow.
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
- (WebKit::WebInspectorFrontendClient::bringToFront): Call WebInspector::bringToFront.
- * WebProcess/WebPage/WebInspector.cpp:
- (WebKit::WebInspector::bringToFront): Added. Send WebInspectorProxy::BringToFront message.
- * WebProcess/WebPage/WebInspector.h: Added bringToFront.
- 2011-04-20 Chris Marrin <cmarrin@apple.com>
- Reviewed by Adam Roben.
- REGRESSION (WebKit2): CSS animations on pages that use accelerated compositing stop after switching tabs
- https://bugs.webkit.org/show_bug.cgi?id=57868
-
- Subclassed setRootCompositingLayer so it can call ensureAnimationsSubmitted on Win.
- * WebProcess/WebPage/ca/LayerTreeHostCA.h:
- Make setRootCompositingLayer protected so it can be called from subclass
- * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
- Override setRootCompositingLayer to add call to root layer's
- PlatformCALayer::ensureAnimationsSubmitted method
- * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h:
- 2011-04-18 Eric Carlson <eric.carlson@apple.com>
- Reviewed by Dan Bernstein.
- Adopt QTKit API for listing and deleting file in its media cache.
- <rdar://problem/9130029>
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Initialize new functions.
- 2011-04-20 Alejandro G. Castro <alex@igalia.com>
- Fixed GTK+ compilation after r84206.
- * GNUmakefile.am:
- 2011-04-20 Adam Roben <aroben@apple.com>
- Remove some unnecessary VS junk related to NativeWebMouseEventWin.cpp
- * win/WebKit2.vcproj:
- 2011-04-20 Balazs Kelemen <kbalazs@webkit.org>
- Reviewed by Csaba Osztrogonác.
- [Qt] Cleanup includepath adjustment for generated files
- https://bugs.webkit.org/show_bug.cgi?id=58869
- * WebKit2.pri: Add the directory of generated files to the include
- path with absolute path to make it valid in the final build step.
- 2011-04-19 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- UI process thinks the page is unresponsive when a plug-in is showing a context menu
- https://bugs.webkit.org/show_bug.cgi?id=58943
- <rdar://problem/9299901>
- Change the HandleMouseEvent message to have a delayed reply and make the PluginControllerProxy
- respond to it immediately, before even passing the event to the plug-in. Since it doesn't matter
- for mouse events whether the plug-in handled them or not we can do this.
- Another solution could have been to make handleMouseEvent an asynchronous message, but that could
- mess up the message ordering so this seemed like the least intrusive change.
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::handleMouseEvent):
- * PluginProcess/PluginControllerProxy.h:
- * PluginProcess/PluginControllerProxy.messages.in:
- 2011-04-19 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Terminate hung plug-in processes after 45 seconds
- https://bugs.webkit.org/show_bug.cgi?id=58932
- <rdar://problem/8083219>
- * UIProcess/Plugins/PluginProcessManager.cpp:
- (WebKit::PluginProcessManager::pluginSyncMessageSendTimedOut):
- Find the plug-in process proxy and terminate it.
- (WebKit::PluginProcessManager::pluginProcessWithPath):
- Add new helper function.
- (WebKit::PluginProcessManager::getOrCreatePluginProcess):
- Call pluginProcessWithPath.
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::PluginProcessProxy::terminate):
- Terminate the process.
- * UIProcess/Plugins/PluginProcessProxy.h:
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::pluginSyncMessageSendTimedOut):
- Call PluginProcessManager::pluginSyncMessageSendTimedOut.
- * UIProcess/WebProcessProxy.h:
- * UIProcess/WebProcessProxy.messages.in:
- Add PluginSyncMessageSendTimedOut message.
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- (WebKit::defaultSyncMessageTimeout):
- (WebKit::PluginProcessConnection::PluginProcessConnection):
- Set a sync message timeout on the plug-in process connection.
- (WebKit::PluginProcessConnection::syncMessageSendTimedOut):
- Send a message to the web process proxy.
- 2011-04-19 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Adele Peterson.
- WebKit2: Merge SelectionState and TextInputState
- https://bugs.webkit.org/show_bug.cgi?id=58919
- Combined TextInputState and EditorState in one structure, which is updated whenever we get
- a chance to. There is no sense to keep possibly stale SelectionState data when we have already
- requested the most recent data synchronously.
- This also simplifies the code, as we don't need to pass the state around in a separate variable.
- * GNUmakefile.am:
- * Scripts/webkit2/messages.py:
- * Shared/EditorState.h: Copied from Source/WebKit2/Shared/SelectionState.h.
- (WebKit::EditorState::EditorState):
- * Shared/SelectionState.h: Removed.
- * Shared/mac/TextInputState.h: Removed.
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::interpretKeyEvent):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView validRequestorForSendType:returnType:]):
- (-[WKView validateUserInterfaceItem:]):
- (-[WKView shouldDelayWindowOrderingForEvent:]):
- (-[WKView doCommandBySelector:]):
- (-[WKView insertText:replacementRange:]):
- (-[WKView _handleStyleKeyEquivalent:]):
- (-[WKView _executeSavedKeypressCommands]):
- (-[WKView inputContext]):
- (-[WKView hasMarkedText]):
- (-[WKView unmarkText]):
- (-[WKView setMarkedText:selectedRange:replacementRange:]):
- (-[WKView attributedSubstringForProposedRange:actualRange:]):
- (-[WKView _interpretKeyEvent:savingCommandsTo:WebCore::]):
- (-[WKView _updateSecureInputState]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::editorStateChanged):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::editorState):
- (WebKit::WebPageProxy::hasSelectedRange):
- (WebKit::WebPageProxy::isContentEditable):
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/mac/WebPageProxyMac.mm:
- (WebKit::WebPageProxy::setComposition):
- (WebKit::WebPageProxy::confirmComposition):
- (WebKit::WebPageProxy::insertText):
- (WebKit::WebPageProxy::executeKeypressCommands):
- (WebKit::WebPageProxy::writeSelectionToPasteboard):
- (WebKit::WebPageProxy::readSelectionFromPasteboard):
- (WebKit::WebPageProxy::interpretQueuedKeyEvent):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::compositionSelectionChanged):
- (WebKit::WebView::onIMEComposition):
- (WebKit::WebView::onIMEEndComposition):
- (WebKit::WebView::onIMERequestCharPosition):
- (WebKit::WebView::onIMERequest):
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::respondToChangedSelection):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::editorState):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::handleEditingKeyboardEvent):
- (WebKit::WebPage::setComposition):
- (WebKit::WebPage::confirmComposition):
- (WebKit::WebPage::insertText):
- (WebKit::WebPage::executeKeypressCommands):
- * win/WebKit2.vcproj:
- 2011-04-19 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Timothy Hatcher.
- 100% reproducible crash when right-clicking any element in Web Inspector on any page
- https://bugs.webkit.org/show_bug.cgi?id=58822
- Web Inspector changes selection from JavaScript, and checks in UI process are insufficient
- when selection is changing asynchronously.
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::writeSelectionToPasteboard): Check that there is a selection, matching WK1
- and UI process side. Perhaps the check should really be in WebCore, but for now, it's a
- WebKit responsibility.
- (WebKit::WebPage::readSelectionFromPasteboard): Same check, for no other reason but consistency.
- 2011-04-19 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Add syncMessageSendTimedOut CoreIPC Connection::Client member function
- https://bugs.webkit.org/show_bug.cgi?id=58928
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::waitForSyncReply):
- Call syncMessageSendTimedOut.
- * Platform/CoreIPC/Connection.h:
- Add syncMessageSendTimedOut to Connection::Client.
- * PluginProcess/PluginProcess.cpp:
- * PluginProcess/PluginProcess.h:
- * PluginProcess/WebProcessConnection.cpp:
- * PluginProcess/WebProcessConnection.h:
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- * UIProcess/Plugins/PluginProcessProxy.h:
- * UIProcess/WebProcessProxy.cpp:
- * UIProcess/WebProcessProxy.h:
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- * WebProcess/Plugins/PluginProcessConnection.h:
- * WebProcess/WebProcess.cpp:
- * WebProcess/WebProcess.h:
- Add syncMessageSendTimedOut stubs.
- 2011-04-19 Anders Carlsson <andersca@apple.com>
- Reviewed by Alexey Proskuryakov.
- Replace the didFailToSendSyncMessage Connection::Client function with a flag
- https://bugs.webkit.org/show_bug.cgi?id=58923
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::Connection):
- Initialize m_shouldExitOnSyncMessageSendFailure to false.
- (CoreIPC::Connection::setShouldExitOnSyncMessageSendFailure):
- Set m_didCloseOnConnectionWorkQueueCallback.
- (CoreIPC::Connection::sendSyncMessage):
- Call didFailToSendSyncMessage if we fail to send the sync message for some reason.
- (CoreIPC::Connection::didFailToSendSyncMessage):
- if m_shouldExitOnSyncMessageSendFailure is true, exit.
- * Platform/CoreIPC/Connection.h:
- Remove didFailToSendSyncMessage from Connection::Client.
- * PluginProcess/PluginProcess.cpp:
- * PluginProcess/PluginProcess.h:
- Remove didFailToSendSyncMessage.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initialize):
- * WebProcess/WebProcess.h:
- Remove didFailToSendSyncMessage. Call setShouldExitOnSyncMessageSendFailure on our
- UI process connection.
- 2011-04-19 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Add a way to set the default sync message timeout for a CoreIPC connection
- https://bugs.webkit.org/show_bug.cgi?id=58908
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::Connection):
- Initialize m_defaultSyncMessageTimeout.
- (CoreIPC::Connection::setDefaultSyncMessageTimeout):
- Set the m_defaultSyncMessageTimeout member variable.
- (CoreIPC::Connection::waitForSyncReply):
- Handle the timeout being one of our two special magic values.
- * Platform/CoreIPC/Connection.h:
- Add a DefaultTimeout constant and change the NoTimeout constant to be -1.
- 2011-04-19 Vsevolod Vlasov <vsevik@chromium.org>
- Reviewed by Pavel Feldman.
- Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
- https://bugs.webkit.org/show_bug.cgi?id=58883
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- 2011-04-19 Andreas Kling <andreas.kling@nokia.com>
- Reviewed by Antonio Gomes.
- WebKit2: Typo fix in WebPopupMenu::Type.
- https://bugs.webkit.org/show_bug.cgi?id=58891
- Fixed a typo, Seperator -> Separator.
- Also removed m_ prefix on an argument variable name.
- * Shared/WebPopupItem.h:
- * UIProcess/mac/WebPopupMenuProxyMac.mm:
- (WebKit::WebPopupMenuProxyMac::populate):
- * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
- (WebKit::WebPopupMenu::populateItems):
- 2011-04-19 Jon Honeycutt <jhoneycutt@apple.com>
- WKContextDownloadURLRequest() should return a WKDownloadRef
- https://bugs.webkit.org/show_bug.cgi?id=58867
- Part of <rdar://problem/8931717>
- Reviewed by Steve Falkenburg.
- * UIProcess/API/C/WKContext.cpp:
- (WKContextDownloadURLRequest):
- Return the result of calling WebContext::download().
- * UIProcess/API/C/WKContext.h:
- Updated return type of WKContextDownloadURLRequest().
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::download):
- Return the DownloadProxy returned by createDownloadProxy().
- (WebKit::WebContext::createDownloadProxy):
- Return the DownloadProxy.
- * UIProcess/WebContext.h:
- Changed return type of download() and createDownloadProxy().
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::receivedPolicyDecision):
- Call the DownloadProxy's downloadID() function to get the ID.
- 2011-04-18 Jia Pu <jpu@apple.com>
- Reviewed by Mark Rowe.
- WebKit needs to stop importing <AppKit/NSTextChecker.h>
- https://bugs.webkit.org/show_bug.cgi?id=58798
- <rdar://problem/9294938>
- Use public header <AppKit/NSSpellChecker.h> instead.
- * UIProcess/mac/CorrectionPanel.h:
- * UIProcess/mac/CorrectionPanel.mm:
- (correctionIndicatorType):
- (WebKit::CorrectionPanel::show):
- (WebKit::CorrectionPanel::dismissInternal):
- (WebKit::CorrectionPanel::handleAcceptedReplacement):
- * UIProcess/mac/TextCheckerMac.mm:
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- 2011-04-05 Jer Noble <jer.noble@apple.com>
- Reviewed by Sam Weinig.
- WebKit2: WKTR should support WebKit2 full screen APIs
- https://bugs.webkit.org/show_bug.cgi?id=56318
- Add a new WKBundlePage API for Full Screen events, and move some of the implementation
- of WebFullScreenManager into the new InjectedBundlePageFullScreenClient class, so that
- the default behavior can be overridden by a WKBundlePageFullScreenClient.
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/FullScreen/WebFullScreenManager.cpp:
- (WebKit::WebFullScreenManager::supportsFullScreen): Moved contents into InjectedBundlePageFullScreenClient.
- (WebKit::WebFullScreenManager::enterFullScreenForElement): Ditto.
- (WebKit::WebFullScreenManager::exitFullScreenForElement): Ditto.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageSetFullScreenClient): Added.
- (WKBundlePageWillEnterFullScreenForElement): Added.
- (WKBundlePageDidEnterFullScreenForElement): Added.
- (WKBundlePageWillExitFullScreenForElement): Added.
- (WKBundlePageDidExitFullScreenForElement): Added.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp: Added.
- (WebKit::InjectedBundlePageFullScreenClient::supportsFullScreen): Added.
- (WebKit::InjectedBundlePageFullScreenClient::enterFullScreenForElement): Added.
- (WebKit::InjectedBundlePageFullScreenClient::exitFullScreenForElement): Added.
- * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h: Added.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::initializeInjectedBundleFullScreenClient): Added.
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::injectedBundleFullScreenClient): Added.
- 2011-04-18 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Maciej Stachowiak.
- Re-add a null check lost in r83081
- https://bugs.webkit.org/show_bug.cgi?id=58846
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::getSelectedRange):
- 2011-04-18 Andreas Kling <kling@webkit.org>
- Reviewed by Kenneth Rohde Christiansen.
- [Qt][WK2] Clean up tool-tip/status-bar confusion.
- https://bugs.webkit.org/show_bug.cgi?id=58844
- Tool-tips were incorrectly hooked up to the status bar text.
- Chrome::setStatusbarText() now correctly causes the QWKPage::statusBarMessage() signal.
- New API:
- - QWKPage::toolTipChanged(const QString& toolTip) [signal]
- QGraphicsWKView will automatically listen for this and set its own toolTip().
- * UIProcess/API/qt/ClientImpl.cpp:
- (qt_wk_setStatusText):
- * UIProcess/API/qt/ClientImpl.h:
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::QGraphicsWKView):
- (QGraphicsWKViewPrivate::onToolTipChanged):
- * UIProcess/API/qt/qgraphicswkview.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::toolTipChanged):
- (QWKPage::QWKPage):
- * UIProcess/API/qt/qwkpage.h:
- 2011-04-18 Maciej Stachowiak <mjs@apple.com>
- Reviewed by Dan Bernstein.
- sandbox violation for ~/Library/Dictionaries
- https://bugs.webkit.org/show_bug.cgi?id=58841
- <rdar://problem/9294770>
- * WebProcess/com.apple.WebProcess.sb: Add to sandbox profile.
- No obvious harm from allowing this, though it's not 100% clear
- why it's needed.
- 2011-04-18 Anders Carlsson <andersca@apple.com>
- Try to fix the Windows build.
- * Scripts/webkit2/messages.py:
- 2011-04-18 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Get rid of WebProcessProxyLegacyMessage
- https://bugs.webkit.org/show_bug.cgi?id=58825
- * GNUmakefile.am:
- * Platform/CoreIPC/MessageID.h:
- * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: Removed.
- * UIProcess/WebProcessProxy.cpp:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- * WebProcess/WebPage/WebPage.cpp:
- * win/WebKit2.vcproj:
- 2011-04-18 Anders Carlsson <andersca@apple.com>
- Fix build.
- * UIProcess/Plugins/PluginInfoStore.h:
- 2011-04-18 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Use the message generator for the GetPluginProcessConnection message
- https://bugs.webkit.org/show_bug.cgi?id=58815
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::callMemberFunction):
- (CoreIPC::handleMessageDelayed):
- Add helper functions.
- * UIProcess/Plugins/PluginInfoStore.h:
- Mark class noncopyable.
- * UIProcess/Plugins/PluginProcessManager.cpp:
- (WebKit::PluginProcessManager::getPluginProcessConnection):
- This now takes a delayed reply.
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::PluginProcessProxy::getPluginProcessConnection):
- This now takes a delayed reply.
- (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
- (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
- Call DelayedReply::send.
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::getPluginProcessConnection):
- This now takes a delayed reply.
-
- (WebKit::WebProcessProxy::didReceiveSyncMessage):
- No need to handle this message here.
- * UIProcess/WebProcessProxy.messages.in:
- Add GetPluginProcessConnection message.
- * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
- (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
- Don't use deprecatedSendSync.
- 2011-04-18 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- Finish implementing delayed sync replies in the CoreIPC message generator
- https://bugs.webkit.org/show_bug.cgi?id=58814
- Put the DelayedReply function definitions in the .cpp file and fix bugs found by
- actually trying to compile the generated files.
- * Scripts/webkit2/messages.py:
- * Scripts/webkit2/messages_unittest.py:
- 2011-04-18 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- Reproducible crash in Find on Page, on pages that use accelerated compositing
- https://bugs.webkit.org/show_bug.cgi?id=58793
- <rdar://problem/9295870>
- Move the call to PageOverlay::setNeedsDisplay() back to WebPage::installPageOverlay;
- it needs to be called after we've told the drawing area that a page overlay has been installed.
- * WebProcess/WebPage/PageOverlay.cpp:
- (WebKit::PageOverlay::setPage):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::installPageOverlay):
- 2011-04-18 Jeff Miller <jeffm@apple.com>
- Reviewed by Timothy Hatcher.
- WKFrameLoadState should be a uint32_t to match our API conventions
- https://bugs.webkit.org/show_bug.cgi?id=58785
- * UIProcess/API/C/WKFrame.h: typedef WKFrameLoadState as a uint32_t and define its values as an anonymous enum.
- 2011-04-18 Carlos Garcia Campos <cgarcia@igalia.com>
- Unreviewed. Fix WebKit2 GTK build after 84017.
- * GNUmakefile.am:
- * Shared/NativeWebMouseEvent.h:
- (WebKit::NativeWebMouseEvent::nativeEvent):
- * Shared/gtk/NativeWebMouseEventGtk.cpp: Copied from Source/WebKit2/Shared/NativeWebMouseEvent.h.
- (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
- * UIProcess/gtk/WebView.cpp:
- (WebKit::WebView::handleMouseEvent):
- 2011-04-17 David Kilzer <ddkilzer@apple.com>
- <http://webkit.org/b/58463> Switch HTTP pipelining from user default to private setting
- <rdar://problem/9268729>
- Reviewed by Dan Bernstein.
- This replaces support for the WebKitEnableHTTPPipelining user
- default with methods on the WebCore::ResourceRequest class in
- WebCore, the WebView class in WebKit1, and the WebContext class
- in WebKit2. It also removes support for the
- WebKitForceHTTPPipeliningPriorityHigh user default which was not
- needed.
- * UIProcess/API/C/WKContext.cpp:
- (_WKContextSetHTTPPipeliningEnabled): Added.
- * UIProcess/API/C/WKContextPrivate.h:
- (_WKContextSetHTTPPipeliningEnabled): Added declaration.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::setHTTPPipeliningEnabled): Added.
- (WebKit::WebContext::httpPipeliningEnabled): Added.
- * UIProcess/WebContext.h:
- (WebKit::WebContext::setHTTPPipeliningEnabled): Added declaration.
- (WebKit::WebContext::httpPipeliningEnabled): Added declaration.
- 2011-04-17 Sam Weinig <sam@webkit.org>
- Reviewed by Geoffrey Garen.
- Make more strings in WebKit2 localizable
- https://bugs.webkit.org/show_bug.cgi?id=58757
- * UIProcess/API/mac/PDFViewController.mm:
- (-[WKPDFView menuForEvent:]):
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::setViewportArguments):
- (WebKit::PageClientImpl::registerEditCommand):
- * UIProcess/WebEditCommandProxy.cpp:
- (WebKit::WebEditCommandProxy::nameForEditAction):
- * UIProcess/WebEditCommandProxy.h:
- Use WebCore's localization macro to make more strings localizable.
- 2011-04-17 Patrick Gansterer <paroga@webkit.org>
- Reviewed by Adam Barth.
- Rename PLATFORM(CA) to USE(CA)
- https://bugs.webkit.org/show_bug.cgi?id=58742
- * WebProcess/WebPage/LayerTreeHost.cpp:
- * WebProcess/WebPage/win/LayerTreeHostWin.cpp:
- (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
- 2011-04-17 Patrick Gansterer <paroga@webkit.org>
- Reviewed by Adam Barth.
- Rename PLATFORM(CG) to USE(CG)
- https://bugs.webkit.org/show_bug.cgi?id=58729
- * Shared/ShareableBitmap.h:
- * Shared/WebCoreArgumentCoders.cpp:
- * Shared/WebCoreArgumentCoders.h:
- * Shared/WebGraphicsContext.cpp:
- (WebKit::WebGraphicsContext::WebGraphicsContext):
- * Shared/WebGraphicsContext.h:
- * Shared/win/PlatformCertificateInfo.cpp:
- (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::setFindIndicator):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::drawRectToPDF):
- (WebKit::WebPage::drawPagesToPDF):
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::platformPreferencesDidChange):
- * config.h:
- 2011-04-16 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Crash when NPP_Write returns -1 when writing the manual stream
- https://bugs.webkit.org/show_bug.cgi?id=58735
- <rdar://problem/9124993>
- If NPP_Write returns -1 we must cancel the stream.
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::deliverDataToPlugin):
- 2011-04-16 Sam Weinig <sam@webkit.org>
- Reviewed by Simon Fraser.
- Pages in the PageCache don't have the correct visited link coloring after being restored
- https://bugs.webkit.org/show_bug.cgi?id=58721
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::visitedLinkStateChanged):
- (WebKit::WebProcess::allVisitedLinkStateChanged):
- Mark all pages in the page cache as needing visited link style recalc
- whenever visited link information changes.
- 2011-04-15 Daniel Bates <dbates@webkit.org>
- Attempt to fix the Qt Linux Release build after changeset 84064 <http://trac.webkit.org/changeset/84064>
- (https://bugs.webkit.org/show_bug.cgi?id=58686).
- * UIProcess/API/qt/qwkpage_p.h: Remove takeFocus().
- 2011-04-15 Shishir Agrawal <shishir@chromium.org>
- Reviewed by James Robinson.
- Add a flag to guard Page Visibility API changes.
- https://bugs.webkit.org/show_bug.cgi?id=58464
- * Configurations/FeatureDefines.xcconfig:
- 2011-04-15 Jeff Miller <jeffm@apple.com>
- Reviewed by Sam Weinig.
- Add takeFocus callback to WKPageUIClient
- https://bugs.webkit.org/show_bug.cgi?id=58686
- On Windows, we need to handle moving focus out of the web view in the client, so add a takeFocus callback to WKPageUIClient
- and stop handling taking focus in the framework in WKView.mm on the Mac.
- * UIProcess/API/C/WKPage.h: Added WKFocusDirection enum and takeFocus to WKPageUIClient.
- * UIProcess/API/mac/PageClientImpl.h: Removed takeFocus().
- * UIProcess/API/mac/PageClientImpl.mm: Removed takeFocus().
- * UIProcess/API/mac/WKView.mm: Removed _takeFocus().
- * UIProcess/API/mac/WKViewInternal.h: Removed _takeFocus().
- * UIProcess/API/qt/ClientImpl.cpp:
- (qt_wk_takeFocus): Added.
- * UIProcess/API/qt/ClientImpl.h: Added qt_wk_takeFocus.
- * UIProcess/API/qt/qwkpage.cpp: Remove takeFocus().
- (QWKPage::QWKPage): Added takeFocus() callback.
- * UIProcess/PageClient.h: Removed takeFocus().
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::takeFocus): Call m_uiClient to take focus.
- * UIProcess/WebPageProxy.h: Pass FocusDirection as a uint32_t to takeFocus().
- * UIProcess/WebPageProxy.messages.in: Pass FocusDirection as a uint32_t in TakeFocus message.
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::takeFocus): Added.
- * UIProcess/WebUIClient.h: Added takeFocus().
- * UIProcess/win/WebView.cpp: Removed takeFocus(), which was never implemented on Windows.
- * UIProcess/win/WebView.h: Removed takeFocus().
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::takeFocus): Pass FocusDirection as a uint32_t in TakeFocus message.
- 2011-04-15 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Sam Weinig.
- WebKit2: Stop using deprecated NSInputManager
- https://bugs.webkit.org/show_bug.cgi?id=58709
- Changed all mouse related functions to give NSInputContext a chance to handle the event,
- added logging. Removed -rightMouseMoved: method, which was added by accident.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView mouseMoved:]):
- (-[WKView mouseDown:]):
- (-[WKView mouseUp:]):
- (-[WKView mouseDragged:]):
- 2011-04-15 Jon Honeycutt <jhoneycutt@apple.com>
- Potential crash getting a JS wrapper.
- <rdar://problem/8988741>
- Reviewed by Brian Weinstein.
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::jsWrapperForWorld):
- Ensure that we have a valid m_coreFrame, because it can be cleared by
- invalidate().
- 2011-04-08 Luiz Agostini <luiz.agostini@openbossa.org>
- Reviewed by Kenneth Rohde Christiansen.
- [Qt] QWebPage MIME type handling inconsistency with other web browsers
- https://bugs.webkit.org/show_bug.cgi?id=46968
- Implementing mime type sniffing based on
- http://tools.ietf.org/html/draft-abarth-mime-sniff-06.
- * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
- (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
- (WebCore::WebFrameNetworkingContext::MIMESniffingEnabled):
- * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
- 2011-04-15 Oliver Hunt <oliver@apple.com>
- GC allocate Structure
- https://bugs.webkit.org/show_bug.cgi?id=58483
- Rolling r83894 r83827 r83810 r83809 r83808 back in with
- a workaround for the gcc bug seen by the gtk bots
- * WebProcess/Plugins/Netscape/JSNPMethod.h:
- (WebKit::JSNPMethod::createStructure):
- * WebProcess/Plugins/Netscape/JSNPObject.h:
- (WebKit::JSNPObject::createStructure):
- 2011-04-15 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Add API to get the bundle page overlay fade in fraction.
- * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
- (WKBundlePageOverlayFractionFadedIn):
- * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
- 2011-04-15 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Fade the find page overlay
- https://bugs.webkit.org/show_bug.cgi?id=58697
- * WebProcess/WebPage/FindController.cpp:
- Make the color components floats.
- (WebKit::overlayBackgroundColor):
- (WebKit::holeShadowColor):
- (WebKit::holeFillColor):
- Add helper functions for returning the colors given the fraction faded in.
- (WebKit::FindController::drawRect):
- Use the new helper functions.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::installPageOverlay):
- Start the fade animation unless we're replacing an already existing page overlay
- with another.
- 2011-04-15 Anders Carlsson <andersca@apple.com>
- Fix Windows build.
- * WebProcess/WebPage/PageOverlay.cpp:
- (WebKit::PageOverlay::fadeAnimationTimerFired):
- 2011-04-15 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Add the ability for PageOverlays to fade in and out
- https://bugs.webkit.org/show_bug.cgi?id=58694
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageUninstallPageOverlay):
- WebPage::uninstallPageOverlay now takes a boolean. Default to false for now.
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::findString):
- Pass false to uninstallPageOverlay.
- (WebKit::FindController::hideFindUI):
- Pass true to uninstallPageOverlay.
-
- * WebProcess/WebPage/PageOverlay.cpp:
- (WebKit::PageOverlay::PageOverlay):
- Initialize new member variables.
- (WebKit::PageOverlay::bounds):
- Get rid of an unnecessary webPage() getter.
- (WebKit::PageOverlay::setPage):
- Stop the animation timer.
- (WebKit::PageOverlay::startFadeInAnimation):
- Update m_fractionFadedIn and call startFadeAnimation.
- (WebKit::PageOverlay::startFadeOutAnimation):
- Ditto.
-
- (WebKit::PageOverlay::startFadeAnimation):
- Initialize m_fadeAnimationStartTime and start the fade animation timer.
- (WebKit::PageOverlay::fadeAnimationTimerFired):
- Update m_fractionFadedIn and call setNeedsDisplay().
- * WebProcess/WebPage/PageOverlay.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::uninstallPageOverlay):
- If fadeOut is true, tell the page overlay to start the fade out animation.
- When the fade animation is complete, the page overlay will uninstall itself.
- 2011-04-15 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben.
- Views should be made visible before painting in WM_PRINTCLIENT messages
- https://bugs.webkit.org/show_bug.cgi?id=58676
- <rdar://problem/9279211>
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::onPrintClientEvent): If our view isn't currently visible set it to visible
- before painting, then reset it back to not visible after painting.
- (WebKit::WebView::onShowWindowEvent): Call setIsVisible instead of duplicating logic.
- (WebKit::WebView::setIsVisible): Set the m_isVisible flag and call viewStateDidChange.
- * UIProcess/win/WebView.h:
- 2011-04-15 Jon Lee <jonlee@apple.com>
- Reviewed by Anders Carlsson.
- onClick does not function with <select> elements in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=57904
- <rdar://problem/9217757>
- Reviewed by Anders Carlsson.
- * Shared/NativeWebMouseEvent.h: Copied from Source/WebKit2/UIProcess/WebPopupMenuProxy.h.
- (WebKit::NativeWebMouseEvent::nativeEvent):
- * Shared/mac/NativeWebMouseEventMac.mm: Added.
- (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
- * Shared/qt/NativeWebMouseEventQt.cpp: Copied from Source/WebKit2/UIProcess/WebPopupMenuProxy.h.
- (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
- * Shared/win/NativeWebMouseEventWin.cpp: Copied from Source/WebKit2/UIProcess/WebPopupMenuProxy.h.
- (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView mouseMoved:]):
- (-[WKView _mouseHandler:]): Pre-compiler mouse handler calls need to use the new NativeWebMouseEvent class
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::mouseMoveEvent):
- (QWKPagePrivate::mousePressEvent):
- (QWKPagePrivate::mouseReleaseEvent):
- (QWKPagePrivate::mouseDoubleClickEvent):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::handleMouseEvent): keep track of mouse down event in order to be able to send a fake mouse up event on the select element
- (WebKit::WebPageProxy::currentMouseDownEvent): for access by the popup menu proxy to dispatch the fake mouse up event
- (WebKit::WebPageProxy::didReceiveEvent): clear out the cached mouse down event
- (WebKit::WebPageProxy::processDidCrash): clear out the cached events since we assume that didReceiveEvent did not called prior to the crash
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPopupMenuProxy.h:
- * UIProcess/mac/WebPopupMenuProxyMac.mm:
- (WebKit::WebPopupMenuProxyMac::showPopupMenu): after notifying the popup menu client that the value changed, fake mouse up and mouse move events are posted
- * UIProcess/win/WebPopupMenuProxyWin.cpp:
- (WebKit::WebPopupMenuProxyWin::showPopupMenu): after notifying the popup menu client that the value changed, fake mouse up and mouse move events are posted
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::onMouseEvent):
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- 2011-04-15 Alexey Proskuryakov <ap@apple.com>
- Qt build fix.
- * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::selectionStateChanged): Wrap the variable
- in PLATFORM(MAC), too, as it's unused on other platforms.
- 2011-04-15 Brady Eidson <beidson@apple.com>
- Reviewed by Dan Bernstein.
- <rdar://problem/9287880> and https://bugs.webkit.org/show_bug.cgi?id=58596
- WK2: Past searches not remembered for <input type=search results="5" autosave="foo">
- Add SaveRecentSearches and LoadRecentSearches messages:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebPageProxy.h:
- Message up to the UIProcess for the save/load operations:
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
- (WebKit::WebSearchPopupMenu::saveRecentSearches):
- (WebKit::WebSearchPopupMenu::loadRecentSearches):
- * WebProcess/WebCoreSupport/WebPopupMenu.h:
- (WebKit::WebPopupMenu::page):
- Save the values to disk CFPreference-style:
- * UIProcess/cf/WebPageProxyCF.cpp:
- (WebKit::autosaveKey):
- (WebKit::WebPageProxy::saveRecentSearches):
- (WebKit::WebPageProxy::loadRecentSearches):
- Stubbed out for non-CF platforms:
- * UIProcess/gtk/WebPageProxyGtk.cpp:
- (WebKit::WebPageProxy::saveRecentSearches):
- (WebKit::WebPageProxy::loadRecentSearches):
- * UIProcess/qt/WebPageProxyQt.cpp:
- (WebKit::WebPageProxy::saveRecentSearches):
- (WebKit::WebPageProxy::loadRecentSearches):
- 2011-04-14 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Dan Bernstein.
- WebKit2: Password field input does not switch to ASCII-compatible source
- https://bugs.webkit.org/show_bug.cgi?id=58583
- <rdar://problem/9059651>
- The implementation is more modern than what we have in WK1. Instead of returning a null
- input context (as in non-editable content), we now set page context's properties.
- * UIProcess/PageClient.h:
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::updateSecureInputState):
- Forward updateSecureInputState() call from WebPageProxy to WKView.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView dealloc]): ASSERT that we didn't somehow leave secure input events enabled.
- (-[WKView becomeFirstResponder]): Update secure event mode.
- (-[WKView resignFirstResponder]): Disable secure event mode.
- (-[WKView setMarkedText:selectedRange:replacementRange:]): Prevent most advanced editing
- behaviors in password fields, matching NSSecureTextInputField.
- (-[WKView attributedSubstringForProposedRange:actualRange:]): Disable TSM Document Access
- in password fields. There is also a check in web process, but it doest't hurt to check twice.
- (-[WKView _windowDidBecomeKey:]): Call _updateSecureInputState.
- (-[WKView _windowDidResignKey:]): Call _updateSecureInputState.
- (-[WKView _updateSecureInputState]): Update secure event mode and allowed input sources.
- * UIProcess/API/mac/WKViewInternal.h: Added _updateSecureInputState.
- * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::selectionStateChanged): Update secure
- input state when going in or out a password field.
- 2011-04-14 Jer Noble <jer.noble@apple.com>
- Reviewed by Eric Carlson.
- REGRESSION: Rendering in <video> element appears to render quickly to catch up if it has been playing in a background tab
- https://bugs.webkit.org/show_bug.cgi?id=58637
- Notify AVFoundation that no one will be rendering when the view or window moves off screen.
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::isViewVisible): Return false if the view's window is not visible.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView addWindowObserversForWindow:]): Observe orderOut and orderIn events.
- (-[WKView removeWindowObservers]): Ditto.
- (-[WKView _windowDidOrderOffScreen:]): Added.
- (-[WKView _windowDidOrderOnScreen:]): Added.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::suspendPainting): Call LayerTreeHost::pauseRendering.
- (WebKit::DrawingAreaImpl::resumePainting): Call LayerTreeHost::resumeRendering.
- * WebProcess/WebPage/LayerTreeHost.h:
- (WebKit::LayerTreeHost::pauseRendering): Added stub.
- (WebKit::LayerTreeHost::resumeRendering): Added stub.
- * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
- * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
- (WebKit::LayerTreeHostCAMac::pauseRendering): Added. Post a notification with our
- intention to stop rendering.
- (WebKit::LayerTreeHostCAMac::resumeRendering): Added. Post a notification with our
- intention to start rendering.
- 2011-04-15 Jessie Berlin <jberlin@apple.com>
- Reviewed by Sam Weinig.
- WebKit2: Need a way to keep the WebProcess alive for testing purposes.
- https://bugs.webkit.org/show_bug.cgi?id=58592
- * UIProcess/API/C/WKContext.cpp:
- (WKContextDisableProcessTermination):
- (WKContextEnableProcessTermination):
- * UIProcess/API/C/WKContextPrivate.h:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- Initialize m_processTerminationEnabled to true.
- (WebKit::WebContext::enableProcessTermination):
- Set m_processTerminationEnabled to true, and try to terminate the web process.
- (WebKit::WebContext::shouldTerminate):
- If !m_processTerminationEnabled, return false.
- * UIProcess/WebContext.h:
- (WebKit::WebContext::disableProcessTermination):
- Set m_processTerminationEnabled to false;
- 2011-04-15 Nancy Piedra <nancy.piedra@nokia.com>
- Reviewed by Laszlo Gombos.
- [Qt][Symbian] Need to export ViewportAttributes class
- https://bugs.webkit.org/show_bug.cgi?id=58651
- On Symbian, if the ViewportAttributes class is not exported we get
- linking errors.
- Since this is a compilation issue, no new tests added.
- * UIProcess/API/qt/qwkpage.h:
- 2011-04-15 Anna Cavender <annacc@chromium.org>
- Reviewed by Eric Carlson.
- Renaming TRACK feature define to VIDEO_TRACK
- https://bugs.webkit.org/show_bug.cgi?id=53556
- * Configurations/FeatureDefines.xcconfig:
- 2011-04-14 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Select All context menu item doesn't work in Flash
- https://bugs.webkit.org/show_bug.cgi?id=58615
- <rdar://problem/9225761>
- In some cases, -[NSWindow isKeyWindow] will return false even if
- a window is the key window, so we have to compare our window
- against -[NSApplication keyWindow].
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::isViewWindowActive):
- 2011-04-14 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Add CFPreference based backend for WebKit2 preferences
- https://bugs.webkit.org/show_bug.cgi?id=58605
- * UIProcess/cf/WebPreferencesCF.cpp:
- (WebKit::cfStringFromWebCoreString):
- (WebKit::makeKey):
- (WebKit::setStringValueIfInUserDefaults):
- (WebKit::setBoolValueIfInUserDefaults):
- (WebKit::setUInt32ValueIfInUserDefaults):
- (WebKit::setDoubleValueIfInUserDefaults):
- (WebKit::WebPreferences::platformInitializeStore):
- (WebKit::WebPreferences::platformUpdateStringValueForKey):
- (WebKit::WebPreferences::platformUpdateBoolValueForKey):
- (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
- (WebKit::WebPreferences::platformUpdateDoubleValueForKey):
- Implement platform functions using CFPreferences API.
- 2011-04-14 Brady Eidson <beidson@apple.com>
- Reviewed by Sam Weinig.
- <rdar://problem/8665102> and https://bugs.webkit.org/show_bug.cgi?id=58595
- Menu is not displayed for <input type=search results="5">
- * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
- (WebKit::WebSearchPopupMenu::enabled): Return true, like all good search popup menus should.
- * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
- (WebKit::WebPopupMenu::setUpPlatformData): Remember the shouldPopOver-ness.
- * Shared/PlatformPopupMenuData.cpp:
- (WebKit::PlatformPopupMenuData::encode): Remember the shouldPopOver-ness.
- (WebKit::PlatformPopupMenuData::decode): Remember the shouldPopOver-ness.
- * Shared/PlatformPopupMenuData.h:
- * UIProcess/mac/WebPopupMenuProxyMac.mm:
- (WebKit::WebPopupMenuProxyMac::showPopupMenu): Use the shouldPopOver-ness to adjust display position.
- 2011-04-14 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Crash in NetscapePluginModule::tryGetSitesWithData when NPP_GetSitesWithData returns null
- https://bugs.webkit.org/show_bug.cgi?id=58578
- <rdar://problem/9275201>
- It's OK for NPP_GetSitesWithData to return null.
- * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
- (WebKit::NetscapePluginModule::tryGetSitesWithData):
- 2011-04-14 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Make creating WebPreferences lazy
- https://bugs.webkit.org/show_bug.cgi?id=58570
- * UIProcess/WebPageGroup.cpp:
- (WebKit::WebPageGroup::WebPageGroup):
- (WebKit::WebPageGroup::~WebPageGroup):
- (WebKit::WebPageGroup::setPreferences):
- (WebKit::WebPageGroup::preferences):
- * UIProcess/WebPageGroup.h:
- Don't create the WebPreference object until it is requested.
- 2011-04-14 Pratik Solanki <psolanki@apple.com>
- Reviewed by David Kilzer.
- Set minimum priority for fast lane connections
- https://bugs.webkit.org/show_bug.cgi?id=58353
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Support for new WKSI method WKSetHTTPPipeliningMinimumFastLanePriority.
- 2011-04-14 Anders Carlsson <andersca@apple.com>
- Clang warning fixes.
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/mac/TextCheckerMac.mm:
- * WebProcess/Downloads/mac/DownloadMac.mm:
- 2011-04-14 Jessie Berlin <jberlin@apple.com>
- Reviewed by Timothy Hatcher.
- WebKit2: Add an option for a PageGroup to be invisible to the History Client.
- https://bugs.webkit.org/show_bug.cgi?id=58547
- * Shared/WebPageGroupData.cpp:
- (WebKit::WebPageGroupData::encode):
- (WebKit::WebPageGroupData::decode):
- * Shared/WebPageGroupData.h:
- * UIProcess/WebInspectorProxy.cpp:
- (WebKit::WebInspectorProxy::inspectorPageGroup):
- The Web Inspector should not be visible to the History Client, because its HTML-based nature
- should not be exposed through the API.
- * UIProcess/WebPageGroup.cpp:
- (WebKit::WebPageGroup::create):
- (WebKit::WebPageGroup::WebPageGroup):
- * UIProcess/WebPageGroup.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::updateGlobalHistory):
- Do not send the message to the WebContent for the history client.
- (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
- Ditto.
- (WebKit::WebFrameLoaderClient::setTitle):
- Ditto.
- * WebProcess/WebPage/WebPageGroupProxy.h:
- (WebKit::WebPageGroupProxy::isVisibleToHistoryClient):
- 2011-04-14 Balazs Kelemen <kbalazs@webkit.org>
- Reviewed by Andreas Kling.
- [Qt][WK2] Make Qt port compiling with ENABLE_PLUGIN_PROCESS=1
- https://bugs.webkit.org/show_bug.cgi?id=55719
- Guard functionality related to complex text and implementations
- that rely on MachPort with PLATFORM(MAC).
- Based on Oleg Romashin's patch.
- * PluginProcess/PluginControllerProxy.cpp:
- * PluginProcess/PluginControllerProxy.messages.in:
- * PluginProcess/PluginProcess.cpp:
- (WebKit::PluginProcess::createWebProcessConnection):
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::createPlugin):
- * Shared/Plugins/PluginProcessCreationParameters.cpp:
- (WebKit::PluginProcessCreationParameters::decode): Fix bad C++ that
- does not compile with gcc-linux.
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
- (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
- * UIProcess/Plugins/PluginProcessProxy.h:
- * UIProcess/Plugins/PluginProcessProxy.messages.in:
- * WebKit2.pro: Move implementation that does not need external
- visibility from WebKit2API.pri. Adding the headers as well.
- * WebKit2API.pri:
- * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
- (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
- * WebProcess/WebPage/WebPage.cpp:
- 2011-04-13 James Robinson <jamesr@chromium.org>
- Reviewed by Simon Fraser.
- Allow setting composited backing stores for scrollbars and scroll corners
- https://bugs.webkit.org/show_bug.cgi?id=57202
- Update WebPopupMenuProxyWin to reflect ScrollableArea interface changes.
- * UIProcess/win/WebPopupMenuProxyWin.h:
- (WebKit::WebPopupMenuProxyWin::invalidateScrollCornerRect):
- (WebKit::WebPopupMenuProxyWin::scrollCornerPresent):
- (WebKit::WebPopupMenuProxyWin::scrollCornerRect):
- 2011-04-13 Jon Lee <jonlee@apple.com>
- Reviewed by Maciej Stachowiak.
- REGRESSION(r81880): Paste menu is disabled for many edit fields (yahoo and google search, yahoo mail msg, forms, etc)
- https://bugs.webkit.org/show_bug.cgi?id=58284
- <rdar://problem/9246149>
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::setFocused): Check for whether we are not supposed to be focused AND whether our platform behavior dictates to clear out the selection
- 2011-04-13 Dan Bernstein <mitz@apple.com>
- Reviewed by Sam Weinig.
- Fixed a bug where WKView changed the cursor when the mouse was moving over other views.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView mouseMoved:]): If getting this message because this view is the first responder,
- ignore it unless it is inside the visible rect.
- 2011-04-13 Enrica Casucci <enrica@apple.com>
- Reviewed by Dan Bernstein.
- Should not rely on WKEditableLinkBehavior being in synch
- with WebCore::EditableLinkBehavior.
- https://bugs.webkit.org/show_bug.cgi?id=58473
- Adding conversion routines.
- * UIProcess/API/C/WKAPICast.h:
- (WebKit::toAPI):
- (WebKit::toEditableLinkBehavior):
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetEditableLinkBehavior):
- (WKPreferencesGetEditableLinkBehavior):
- 2011-04-13 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- After closing the last window, re-opening my last visited website is over 2X slower
- https://bugs.webkit.org/show_bug.cgi?id=58488
- <rdar://problem/9233518>
- Give the web process a 60 second termination timeout.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::WebProcess):
- 2011-04-13 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- Convert WebProcess over to using disableTermination/enableTermination
- https://bugs.webkit.org/show_bug.cgi?id=58485
- * PluginProcess/PluginProcess.cpp:
- (WebKit::PluginProcess::getSitesWithData):
- (WebKit::PluginProcess::clearSiteData):
- Use the LocalTerminationDisabler RAII class.
- * Shared/ChildProcess.h:
- (WebKit::ChildProcess::LocalTerminationDisabler::LocalTerminationDisabler):
- (WebKit::ChildProcess::LocalTerminationDisabler::~LocalTerminationDisabler):
- Add RAII class for calling disableTermination/enableTermination.
- * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
- (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
- (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
- (WebKit::WebApplicationCacheManager::deleteAllEntries):
- Use the LocalTerminationDisabler RAII class.
- * WebProcess/Cookies/WebCookieManager.cpp:
- (WebKit::WebCookieManager::getHostnamesWithCookies):
- (WebKit::WebCookieManager::deleteCookiesForHostname):
- (WebKit::WebCookieManager::deleteAllCookies):
- (WebKit::WebCookieManager::startObservingCookieChanges):
- (WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
- (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
- Use the LocalTerminationDisabler RAII class.
- * WebProcess/Downloads/Download.cpp:
- (WebKit::Download::Download):
- Call disableTermination().
- (WebKit::Download::~Download):
- Call enableTermination().
- * WebProcess/Downloads/DownloadManager.cpp:
- (WebKit::DownloadManager::downloadFinished):
- Remove call to terminateIfPossible.
- * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
- (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
- (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
- (WebKit::WebKeyValueStorageManager::deleteAllEntries):
- Use the LocalTerminationDisabler RAII class.
-
- * WebProcess/MediaCache/WebMediaCacheManager.cpp:
- (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache):
- (WebKit::WebMediaCacheManager::clearCacheForHostname):
- (WebKit::WebMediaCacheManager::clearCacheForAllHostnames):
- Use the LocalTerminationDisabler RAII class.
-
- * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
- (WebKit::WebResourceCacheManager::getCacheOrigins):
- (WebKit::WebResourceCacheManager::clearCacheForOrigin):
- (WebKit::WebResourceCacheManager::clearCacheForAllOrigins):
- Use the LocalTerminationDisabler RAII class.
-
- * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
- (WebKit::WebDatabaseManager::getDatabasesByOrigin):
- (WebKit::WebDatabaseManager::getDatabaseOrigins):
- (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
- (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
- (WebKit::WebDatabaseManager::deleteAllDatabases):
- (WebKit::WebDatabaseManager::setQuotaForOrigin):
- Use the LocalTerminationDisabler RAII class.
-
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::createWebPage):
- Call disableTermination().
- (WebKit::WebProcess::removeWebPage):
- Call enableTermination().
- (WebKit::WebProcess::shouldTerminate):
- Move logic from terminateIfPossible over here.
- (WebKit::WebProcess::terminate):
- Move logic from terminateIfPossible over here.
- (WebKit::WebProcess::getSitesWithPluginData):
- (WebKit::WebProcess::clearPluginSiteData):
- Use the LocalTerminationDisabler RAII class.
- * WebProcess/WebProcess.h:
- Publically inherit from ChildProcess, LocalTerminationDisabler needs to be accessible
- from the WebProcess class.
- 2011-04-13 Steve Falkenburg <sfalken@apple.com>
- Reviewed by Adam Roben.
- Follow-up to: WebKit2 will load two copies of the same plugin, but should not
- https://bugs.webkit.org/show_bug.cgi?id=49075
-
- Use pathGetFileName instead of Win32 PathFindFileNameW.
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- (WebKit::PluginInfoStore::shouldUsePlugin):
- 2011-04-13 Sam Weinig <sam@webkit.org>
- Reviewed by Gavin Barraclough.
- WebKit2 doesn't keep overlay scrollers shown while scroll gesture held
- <rdar://problem/9260518>
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- Initialize new WKSI functions.
- 2011-04-13 Steve Falkenburg <sfalken@apple.com>
- Reviewed by Oliver Hunt.
- WebKit2 will load two copies of the same plugin, but should not
- https://bugs.webkit.org/show_bug.cgi?id=49075
- <rdar://problem/8635947>
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- (WebKit::PluginInfoStore::shouldUsePlugin): Don't use a plug-in if we've already allowed a plug-in with the same filename.
- 2011-04-13 Timothy Hatcher <timothy@apple.com>
- Hide the dictionary panel when navigating or crashing.
- <rdar://problem/9261202>
- Reviewed by Sam Weinig.
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::dismissDictionaryLookupPanel): Added. Call WKHideWordDefinitionWindow.
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didCommitLoadForFrame): Call PageClient::dismissDictionaryLookupPanel.
- (WebKit::WebPageProxy::processDidCrash): Call dismissCorrectionPanel and PageClient::dismissDictionaryLookupPanel.
- 2011-04-13 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- Add support for disabling/enabling termination to ChildProcess
- https://bugs.webkit.org/show_bug.cgi?id=58476
- Add ChildProcess::disableTermination and ChildProcess::enableTermination and convert
- the PluginProcess class over to using them.
- * PluginProcess/PluginProcess.cpp:
- (WebKit::PluginProcess::PluginProcess):
- The child process now takes a terminationTimeout argument. Get rid of the shutdown timer.
- (WebKit::PluginProcess::removeWebProcessConnection):
- Call enableTermination().
- (WebKit::PluginProcess::shouldTerminate):
- Always return true.
- (WebKit::PluginProcess::createWebProcessConnection):
- Call disableTermination().
- (WebKit::PluginProcess::getSitesWithData):
- Call disableTermination()/enableTermination().
- (WebKit::PluginProcess::clearSiteData):
- Ditto.
- * Shared/ChildProcess.cpp:
- (WebKit::ChildProcess::disableTermination):
- Increment the counter and stop the timer.
- (WebKit::ChildProcess::enableTermination):
- Decrement the counter; if it's zero, start the timer.
- (WebKit::ChildProcess::terminationTimerFired):
- Call shouldTerminate(). If it returns true, call terminate().
- (WebKit::ChildProcess::terminate):
- Call RunLoop::quit().
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::WebProcess):
- Just initialize the termination timeout to 0 for now.
- (WebKit::WebProcess::shouldTerminate):
- Always return true; this isn't used yet.
- * WebProcess/WebProcess.h:
- 2011-04-13 Enrica Casucci <enrica@apple.com>
- Reviewed by Dan Bernstein.
- REGRESSION: Links are clickable when a contentEditable is set to true.
- https://bugs.webkit.org/show_bug.cgi?id=58473
- <rdar://problem/9256793>
-
- Added support for editable link behavior property.
- * Shared/WebPreferencesStore.cpp:
- * Shared/WebPreferencesStore.h:
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetEditableLinkBehavior):
- (WKPreferencesGetEditableLinkBehavior):
- * UIProcess/API/C/WKPreferencesPrivate.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
- 2011-04-12 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Oliver Hunt.
- REGRESSION (WebKit2): Input methods are active in non-editable content
- https://bugs.webkit.org/show_bug.cgi?id=58404
- <rdar://problem/9275940>
- * UIProcess/API/mac/WKView.mm:
- (-[WKView insertText:]): Re-add the old variant of this function, because it's not only part
- of deprecated NSTextInput protocol, but it's also part of NSResponder, and it's called when
- the input context in nil.
- (-[WKView inputContext]): Return nil when not in editable content.
- 2011-04-12 Brady Eidson <beidson@apple.com>
- Reviewed by Maciej Stachowiak.
- <rdar://problem/9029193> and https://bugs.webkit.org/show_bug.cgi?id=58406
- Bringing up the context menu on a link might also follow the link.
- This patch adds a flag that is set just before the WebProcess tells the UIProcess to show a context menu.
- As long as this flag is set, the WebProcess will ignore any other mouse events that might have queued up
- by the time the UIProcess gets around to showing the menu.
- After the UIProcess is done showing the menu, it messages back telling the WebProcess to clear the flag
- and resume normal MouseEvent handling.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::showContextMenu): No matter what internalShowContextMenu does, always notify
- the WebProcess that any context menu is now hidden.
- (WebKit::WebPageProxy::internalShowContextMenu):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebContextMenu.cpp:
- (WebKit::WebContextMenu::show): Since we're telling the UIProcess to show the menu, tell the WebPage a
- context menu is showing so it will stop handling mouse events.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::mouseEvent): Don't try to handle mouse events if a context menu is flagged as showing.
- Add accessors to twiddle the "context menu showing" flag:
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::contextMenuShowing):
- (WebKit::WebPage::contextMenuHidden):
- * WebProcess/WebPage/WebPage.messages.in: Add the ContextMenuHidden message.
- 2011-04-12 Sam Weinig <sam@webkit.org>
- Reviewed by Maciej Stachowiak.
- Quarantine related sandbox denial when downloading files
- <rdar://problem/9203736>
- * WebProcess/com.apple.WebProcess.sb:
- 2011-04-12 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Sandbox violations dragging an image to the desktop.
- <rdar://problem/9261834>
- * WebProcess/com.apple.WebProcess.sb:
- 2011-04-12 Sam Weinig <sam@webkit.org>
- Reviewed by Cameron Zwarich.
- Sandbox violations trying to access ~/Library/Keyboard Layouts and ~/Library/Input Methods
- <rdar://problem/8973159>
- * WebProcess/com.apple.WebProcess.sb:
- 2011-04-12 Enrica Casucci <enrica@apple.com>
- Reviewed by Alexey Proskuryakov and Sam Weinig.
- Implement non-activating clicks to allow dragging out of a background window.
- https://bugs.webkit.org/show_bug.cgi?id=55053
- <rdar://problem/9042197>
- Added methods to WKView to support non activating click. Unfortunately both
- methods require a synchronous call to the WebProcess to decide what to do.
- acceptFirstMouse is called only if shouldDelayWindowOrderingForEvent returns
- true. In order to minimize the number of synchronous calls, we send the request
- only if our window is not the key window.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView acceptsFirstMouse:]):
- (-[WKView shouldDelayWindowOrderingForEvent:]):
- * UIProcess/WebPageProxy.h:
- * UIProcess/mac/WebPageProxyMac.mm:
- (WebKit::WebPageProxy::shouldDelayWindowOrderingForEvent):
- (WebKit::WebPageProxy::acceptsFirstMouse):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::shouldDelayWindowOrderingEvent):
- (WebKit::WebPage::acceptsFirstMouse):
- 2011-04-12 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Oliver Hunt.
- Crash when serializing a null AttributedString
- https://bugs.webkit.org/show_bug.cgi?id=58393
- <rdar://problem/9275326>
- * Shared/mac/AttributedString.mm:
- (WebKit::AttributedString::encode):
- (WebKit::AttributedString::decode):
- Prefix the serialized value with an isNull tag.
- 2011-04-12 Enrica Casucci <enrica@apple.com>
- Reviewed by Alexey Proskuryakov.
- Infinite recursion in WebHTMLView executeSavedKeypressCommands.
- https://bugs.webkit.org/show_bug.cgi?id=58382
- <rdar://problem/9239370>
- Execution of some editing commands could trigger a call to selectedRange that
- internally calls executeSavedKeypressCommands creating an infinite recursion.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _executeSavedKeypressCommands]): Added flag to avoid recursion.
- (-[WKView _interpretKeyEvent:withCachedTextInputState:savingCommandsTo:WebCore::]):
- Added flag initialization.
- 2011-04-12 Chris Marrin <cmarrin@apple.com>
- Reviewed by Simon Fraser.
- Page tears and stutters in WebKit2 when page is > 2048 pixels wide
- https://bugs.webkit.org/show_bug.cgi?id=58330
- Turn off tiling for nonCompositedContentLayer to avoid tearing when
- scrolling very wide (> 2048) windows.
- * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
- (WebKit::LayerTreeHostCA::initialize):
- 2011-04-12 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- Assertion in DrawingAreaImpl::resumePainting() (m_isPaintingSuspended) when clicking a link at twitter.com
- https://bugs.webkit.org/show_bug.cgi?id=58377
- <rdar://problem/8976531>
- Remove the assertion.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::resumePainting):
- 2011-04-11 Stephanie Lewis <slewis@apple.com>
- Reviewed by Oliver Hunt.
- https://bugs.webkit.org/show_bug.cgi?id=58280
- <rdar://problem/9252824> javascript in an inconsistent state due to serialization returning an un-handled exception
- Change use of SerializedScriptValue::Create to use the same api as the rest of WebKit2. This has the benefit
- of handling any exceptions so Javascript is not in an inconsistent state.
- * Shared/API/c/WKSerializedScriptValue.h: fix a typo
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::runJavaScriptInMainFrame):
- 2011-04-12 Jeff Miller <jeffm@apple.com>
- Reviewed by Adam Roben.
- WebKit2: Pressing Tab in Web Inspector's console does not cycle through completion options
- https://bugs.webkit.org/show_bug.cgi?id=56020
- Safari was always calling TranslateMessage() on key events since it has no way to know whether
- WebKit handled the event without a PageUIClient (which Safari only installs on pages inside
- a Safari window), which was generating a WM_CHAR message containing the tab in this case. The fix
- is for Safari to never call TranslateMessage() on key events outside of a Safari window, but this
- means the WebPageProxy needs to do this for unhandled key events if there is no didNotHandleKeyEvent
- callback in the PageUIClient.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveEvent): Call TranslateMessage() on Windows for unhandled key events that can't be handled by the PageUIClient.
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::canNotHandleKeyEvent): Added.
- * UIProcess/WebUIClient.h: Added canNotHandleKeyEvent().
- 2011-04-12 Alice Liu <alice.liu@apple.com>
- Reviewed by Sam Weinig.
- https://bugs.webkit.org/show_bug.cgi?id=58292
- Provide new setting to allow site icon loading despite disabling automatic image loading in general.
- * Shared/WebPreferencesStore.h: Add macro for setting default value.
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetLoadsSiteIconsIgnoringImageLoadingPreference): Added setter.
- (WKPreferencesGetLoadsSiteIconsIgnoringImageLoadingPreference): Added getter.
- * UIProcess/API/C/WKPreferences.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences): Add to list of WebCore settings that get propagated to WebKit preferences.
- 2011-04-12 Jessie Berlin <jberlin@apple.com>
- Reviewed by Anders Carlsson.
- WebKit2: Spelling and Grammar Checking: Make sure to remove the markings from the document
- when spelling and/or grammar checking is disabled.
- https://bugs.webkit.org/show_bug.cgi?id=58350
- * UIProcess/API/mac/WKView.mm:
- (-[WKView toggleContinuousSpellChecking:]):
- Move the call to unmark the errors to the WebProcess.
- (-[WKView setGrammarCheckingEnabled:]):
- Ditto.
- (-[WKView toggleGrammarChecking:]):
- Ditto.
- * UIProcess/WebPageProxy.cpp:
- Remove unused functions.
- * UIProcess/WebPageProxy.h:
- Ditto.
- * WebProcess/WebPage/WebPage.messages.in:
- Ditto.
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::setTextCheckerState):
- If grammar or spelling checking is disabled, unmark all the pages.
- Doing it here allows makes it possible to unmark all pages in a cross-platform way that is
- triggered both by selecting the the context menu items and by any other methods of updating
- the enabled / disabled state.
- 2011-04-12 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Cisco Meeting Center will not download or launch from Safari
- https://bugs.webkit.org/show_bug.cgi?id=58366
- <rdar://problem/8987139>
- It's OK if a plug-in has less (or more) MIME type descriptions than actual MIME types.
-
- * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
- (WebKit::getPluginInfoFromCarbonResources):
- 2011-04-12 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Call PluginControllerProxy::platformGeometryDidChange before Plugin::geometryDidChange
- https://bugs.webkit.org/show_bug.cgi?id=58361
- Since Plugin::geometryDidChange ends up calling plug-in code it can resize the plug-in which causes
- platformGeometryDidChange to be called with the wrong rect.
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::geometryDidChange):
- Call platformGeometryDidChange.
- * PluginProcess/PluginControllerProxy.h:
- * PluginProcess/mac/PluginControllerProxyMac.mm:
- (WebKit::PluginControllerProxy::platformGeometryDidChange):
- Remove the parameters to platformGeometryDidChange and just use m_frameRect instead.
- 2011-04-12 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Move three Mac specific functions to PluginControllerProxyMac.mm.
-
- 2011-04-12 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Cache the window and plug-in element NPObjects
- https://bugs.webkit.org/show_bug.cgi?id=58355
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::PluginControllerProxy):
- (WebKit::PluginControllerProxy::~PluginControllerProxy):
- (WebKit::PluginControllerProxy::windowScriptNPObject):
- (WebKit::PluginControllerProxy::pluginElementNPObject):
- * PluginProcess/PluginControllerProxy.h:
- 2011-04-12 Alejandro G. Castro <alex@igalia.com>
- Fixed GTK compilation after r83454.
- * UIProcess/gtk/WebView.cpp:
- (WebKit::WebView::findStringInCustomRepresentation):
- (WebKit::WebView::countStringMatchesInCustomRepresentation):
- * UIProcess/gtk/WebView.h:
- 2011-04-11 Daniel Bates <dbates@webkit.org>
- Attempt to fix the Qt Linux Release build after changeset 83550 <http://trac.webkit.org/changeset/83550>
- (https://bugs.webkit.org/show_bug.cgi?id=54159).
- * WebKit2API.pri: Append UIProcess/API/C/WKResourceCacheManager.cpp to the list WEBKIT2_API_SOURCES.
- 2011-04-11 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Move focus management out of WebKit via the UIClient
- <rdar://problem/8784068>
- https://bugs.webkit.org/show_bug.cgi?id=58278
- * UIProcess/API/C/WKPage.h:
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::QWKPage):
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setFocus):
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::focus):
- (WebKit::WebUIClient::unfocus):
- * UIProcess/WebUIClient.h:
- * UIProcess/gtk/WebView.cpp:
- * UIProcess/gtk/WebView.h:
- * UIProcess/win/WebView.h:
- Remove PageClient::setFocus() in favor of WebUIClient::focus and WebUIClient::unfocus.
- 2011-04-11 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Maciej Stachowiak.
- WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut
- https://bugs.webkit.org/show_bug.cgi?id=58265
- <rdar://problem/9221468>
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::keyEvent): Added a comment explaining that doing work after DOM event
- dispatch isn't great.
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::performNonEditingBehaviorForSelector): Added a comment explaining how this
- might be moved down to WebCore.
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent): This is now empty, since both Space
- and Backspace behaviors are implemented in WebCore.
- 2011-04-11 Anders Carlsson <andersca@apple.com>
- Try to fix the Windows build.
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::platformCreateInspectorPage):
- 2011-04-11 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Dan Bernstein.
- REGRESSION (r83081): Esc key no longer removes current Kotoeri text operation
- https://bugs.webkit.org/show_bug.cgi?id=58274
- <rdar://problem/9263683>
- * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::getMarkedRange): Wrap the returned
- temporary in RefPtr.
- 2011-04-11 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Remove m_urlAtProcessExit from WebPageProxy
- https://bugs.webkit.org/show_bug.cgi?id=58275
- Get rid of m_urlAtProcessExit and replace some zeros with nullptrs.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::processDidCrash):
- * UIProcess/WebPageProxy.h:
- 2011-04-11 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- Remove the WebContext member variable from WebPageProxy
- https://bugs.webkit.org/show_bug.cgi?id=58271
- <rdar://problem/9148125>
- * UIProcess/API/C/WKPage.cpp:
- (WKPageGetContext):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::create):
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::process):
- (WebKit::WebPageProxy::reattachToWebProcess):
- (WebKit::WebPageProxy::canShowMIMEType):
- (WebKit::WebPageProxy::receivedPolicyDecision):
- (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
- (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
- (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
- (WebKit::WebPageProxy::didCommitLoadForFrame):
- (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
- (WebKit::WebPageProxy::didFinishLoadForFrame):
- (WebKit::WebPageProxy::didFailLoadForFrame):
- (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
- (WebKit::WebPageProxy::didReceiveTitleForFrame):
- (WebKit::WebPageProxy::didFirstLayoutForFrame):
- (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
- (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
- (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
- (WebKit::WebPageProxy::didRunInsecureContentForFrame):
- (WebKit::WebPageProxy::decidePolicyForNavigationAction):
- (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
- (WebKit::WebPageProxy::decidePolicyForResponse):
- (WebKit::WebPageProxy::unableToImplementPolicy):
- (WebKit::WebPageProxy::willSubmitForm):
- (WebKit::WebPageProxy::mouseDidMoveOverElement):
- (WebKit::WebPageProxy::showContextMenu):
- (WebKit::WebPageProxy::contextMenuItemSelected):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::createWebPage):
- * UIProcess/mac/WebInspectorProxyMac.mm:
- (WebKit::WebInspectorProxy::platformCreateInspectorPage):
- 2011-04-11 Eric Carlson <eric.carlson@apple.com>
- Reviewed by Adam Roben.
- Ignore context change callbacks when not on the main thread
- https://bugs.webkit.org/show_bug.cgi?id=58256
- <rdar://problem/9266090>
- * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
- (WebKit::LayerTreeHostCAWin::contextDidChangeCallback): Do nothing when not called
- on the main thread. This should only happen when no changes have actually
- been committed to the context, eg. when a video frame has been added to an image
- queue, so return without triggering animations etc.
- 2011-04-11 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- First step towards simplifying WebPageProxy/WebProcessProxy/WebContext ownership
- https://bugs.webkit.org/show_bug.cgi?id=58266
- <rdar://problem/9148125>
- With this patch, the WKView holds a strong reference to a WebPageProxy. The
- WebPageProxy in turn holds a strong reference to its WebProcessProxy. Finally,
- The WebProcessProxy holds a strong reference to its WebContext.
- The WebContext holds a strong reference to the running WebProcessProxy which results
- in a reference cycle that's broken when the web process exits.
- The reason for is to avoid crashes where WebPageProxy::process() returns null if the web process
- has crashed but has not yet been relaunched.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::disconnectProcess):
- Add comment.
- (WebKit::WebContext::createWebPage):
- Return a PassRefPtr.
- (WebKit::WebContext::relaunchProcessIfNecessary):
- Change this to return a WebPageProxy.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::create):
- This now takes a PassRefPtr<WebProcessProxy>.
- (WebKit::WebPageProxy::WebPageProxy):
- Ditto.
- (WebKit::WebPageProxy::~WebPageProxy):
- Call close() if necessary.
- (WebKit::WebPageProxy::reattachToWebProcess):
- Replace the current process with the new process.
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::create):
- Take a PassRefPtr<WebContext>.
-
- (WebKit::WebProcessProxy::WebProcessProxy):
- Ditto.
- (WebKit::WebProcessProxy::webPage):
- Remove .get() now that the page map uses weak references.
- (WebKit::WebProcessProxy::createWebPage):
- This now returns the created web page proxy.
- 2011-04-11 Adam Roben <aroben@apple.com>
- Dispatch sent messages to windows owned by the web process when waiting a sync CoreIPC reply
- On Windows, windowed plugins' HWNDs are created as children of the WKView's window. This
- creates a cross-process window hierarchy, which in turn attaches the input states of the UI
- process's and web process's main threads (as if ::AttachThreadInput has been called). Having
- the input states attached means that changes to the input state (e.g., changing the focus
- window) can result in synchronous window messages being sent between the processes. This can
- result in deadlocks if the UI process changes the input state while handling a synchronous
- CoreIPC message from the web process. Since the web process isn't running its message loop
- while waiting for the reply, it never processes the messages Windows is sending it from the
- UI process.
- The solution taken in this patch is to continue to dispatch sent (not posted) messages to
- windows created by the web process while waiting for a sync CoreIPC reply. Someday we can
- hopefully reduce the number of cases in which the UI process modifies the thread's input
- state while handling a synchronous message; see the bug for details.
- Fixes <http://webkit.org/b/58239> <rdar://problem/8769302> REGRESSION (WebKit2): Deadlock
- clicking Flash plugin
- Reviewed by Anders Carlsson.
- * Platform/CoreIPC/BinarySemaphore.h:
- (CoreIPC::BinarySemaphore::event): Added. Simple getter to expose the underlying event
- HANDLE.
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::SyncMessageState::waitWhileDispatchingSentMessages): New Windows-only
- function that is used instead of wait() so that sent messages will continue to be
- dispatched.
- (CoreIPC::Connection::waitForSyncReply): Use waitWhileDispatchingSentMessages instead of
- wait on Windows. Our Client gives us the set of windows that need to have windows delivered
- to them.
- * Platform/CoreIPC/Connection.h: Added new
- windowsToReceiveSentMessagesWhileWaitingForSyncReply function to Client.
- * Platform/RunLoop.h: Added new dispatchSentMessagesUntil function to be used while waiting
- for a sync CoreIPC reply.
- * Platform/win/RunLoopWin.cpp:
- (RunLoop::dispatchSentMessagesUntil): Added. If we have no windows to dispatch messages to,
- then just wait on the semaphore. Otherwise spin a ::MsgWaitForMultipleObjectsEx loop to
- detect when the semaphore is signaled, the timeout elapses, or sent messages are available,
- and handle each case appropriately.
- * UIProcess/WebProcessProxy.h: Added new CoreIPC::Connection::Client function.
- * UIProcess/win/WebProcessProxyWin.cpp: Added.
- (WebKit::WebProcessProxy::windowsToReceiveSentMessagesWhileWaitingForSyncReply): Just return
- an empty Vector. The web process never modifies the thread's input state while responding to
- a synchronous message, so we don't have anything to worry about here.
- * WebProcess/WebProcess.h: Added new CoreIPC::Connection::Client function.
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::addWindowToVectorIfOwnedByCurrentThread): New helper function to be called by
- ::EnumThreadWindows/::EnumChildWindows. Does what it says.
- (WebKit::WebProcess::windowsToReceiveSentMessagesWhileWaitingForSyncReply): Added. Returns
- all top-level windows created by this thread, descendants of those windows created by this
- thread, and descendants of WKViews' windows created by this thread.
- * win/WebKit2.vcproj: Added WebProcessProxyWin.cpp.
- 2011-04-11 Jessie Berlin <jberlin@apple.com>
- Reviewed by Anders Carlsson.
- WebKit2: Implement TextChecker on Windows
- https://bugs.webkit.org/show_bug.cgi?id=57862
- Part 7: Implement getGuessesForWord, learnWord, and ignoreWord.
- * UIProcess/API/C/win/WKTextChecker.cpp:
- (WKTextCheckerChangeSpellingToWord):
- * UIProcess/API/C/win/WKTextChecker.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::changeSpellingToWord):
- Make this function const since it does not modify the WebPageProxy and making it const
- allows WebTextChecker::changeSpellingToWord to take a const WebPageProxy.
- (WebKit::WebPageProxy::learnWord):
- * UIProcess/WebPageProxy.h:
- * UIProcess/TextChecker.h:
- * UIProcess/win/TextCheckerWin.cpp:
- (WebKit::TextChecker::getGuessesForWord):
- Ask the TextCheckerClient for the guesses.
- (WebKit::TextChecker::learnWord):
- Tell the TextCheckerClient.
- (WebKit::TextChecker::ignoreWord):
- Ditto.
- * UIProcess/gtk/TextCheckerGtk.cpp:
- (WebKit::TextChecker::learnWord):
- Add an unused param that is necessary for Windows.
- * UIProcess/mac/TextCheckerMac.mm:
- (WebKit::TextChecker::learnWord):
- Ditto.
- * UIProcess/qt/TextCheckerQt.cpp:
- (WebKit::TextChecker::learnWord):
- Ditto.
- * UIProcess/win/WebTextChecker.cpp:
- (WebKit::WebTextChecker::changeSpellingToWord):
- Tell the page.
- * UIProcess/win/WebTextChecker.h:
- * UIProcess/win/WebTextCheckerClient.cpp:
- (WebKit::WebTextCheckerClient::guessesForWord):
- (WebKit::WebTextCheckerClient::learnWord):
- (WebKit::WebTextCheckerClient::ignoreWord):
- * UIProcess/win/WebTextCheckerClient.h:
- 2011-04-11 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Remove unused WebProcessProxy functions
- https://bugs.webkit.org/show_bug.cgi?id=58262
- * UIProcess/WebProcessProxy.cpp:
- * UIProcess/WebProcessProxy.h:
- 2011-04-11 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Crash in WebPageProxy::countStringMatches
- https://bugs.webkit.org/show_bug.cgi?id=58255
- <rdar://problem/9243837>
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::countStringMatches):
- Return early if the page is not valid.
- 2011-04-11 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- WebKit2: links don’t update to look visited
- <rdar://problem/8806254>
- https://bugs.webkit.org/show_bug.cgi?id=58252
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::visitedLinkStateChanged):
- (WebKit::WebProcess::allVisitedLinkStateChanged):
- * WebProcess/WebProcess.h:
- Remove use of vestigial sharedPageGroup and instead iterate set of
- page groups in use by the process.
- 2011-04-11 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben.
- WebKit2: Windows 7 Gestures Window Bounce shouldn't require a sync message
- https://bugs.webkit.org/show_bug.cgi?id=58167
- <rdar://problem/9259813>
-
- Instead of making GestureDidScroll sync, have WebPageWin call from WebProcess ->
- UIProcess when the gesture causes the page to scroll to the beginning or the
- end of the document.
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::gestureDidScroll): Not a sync message anymore.
- (WebKit::WebPageProxy::setGestureScrollingLimitReached): Tell the page client that the gesture
- scrolling limnit was reached.
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in: Add a new message.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView): Initialize new variable.
- (WebKit::WebView::onGesture): Use the state of the member variable, not the response from
- the sync message.
- * UIProcess/win/WebView.h:
- (WebKit::WebView::setGestureScrollingLimitReached):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::scrollbarAtTopOfBottomOrDocument): Returns whether or not the scrollbar is at the
- top or bottom of the document.
- (WebKit::WebPage::gestureDidScroll): Track whether or not we started at the beginning
- or end of the document, and whether or not we ended at the beginning or end of the document,
- and send a message if the value changed.
- 2011-04-04 Jer Noble <jer.noble@apple.com>
- Reviewed by Maciej Stachowiak.
- WK2: PDF: Find in page
- https://bugs.webkit.org/show_bug.cgi?id=57765
- Support searching text within PDF documents. Find requests must be routed from the
- WebPageProxy, through the PageClient, and to the WKView, where they can be passed to
- the PDFViewController.
- * UIProcess/API/mac/PDFViewController.h:
- * UIProcess/API/mac/PDFViewController.mm:
- (_PDFSelectionsAreEqual): Copied from WebPDFView.
- (-[WKPDFView _nextMatchFor:direction:caseSensitive:wrap:fromSelection:startInSelection:]): Copied from WebPDFView.
- (-[WKPDFView _countMatches:caseSensitive:]): Added.
- (WebKit::PDFViewController::findString): Added.
- (WebKit::PDFViewController::countStringMatches): Added.
- * UIProcess/PageClient.h:
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::findStringInCustomRepresentation): Added.
- (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation): Added.
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _findStringInCustomRepresentation:withFindOptions:maxMatchCount:]): Added.
- (-[WKView _countStringMatchesInCustomRepresentation:withFindOptions:maxMatchCount:]): Added.
- * UIProcess/WebPageProxy.h: Moved a number of find-related functions from private: to public: so
- they could be called from PDFViewController.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::findString): Added.
- (WebKit::WebPageProxy::countStringMatches): Added.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::findStringInCustomRepresentation): Added stub.
- (WebKit::WebView::countStringMatchesInCustomRepresentation): Ditto.
- * UIProcess/win/WebView.h:
- * UIProcess/API/qt/qwkpage_p.h:
- (QWKPagePrivate::findStringInCustomRepresentation): Added stub.
- (QWKPagePrivate::countStringMatchesInCustomRepresentation): Added stub.
- 2011-04-11 Jessie Berlin <jberlin@apple.com>
- Reviewed by Anders Carlsson.
- WebKit2: Implement TextChecker on Windows
- https://bugs.webkit.org/show_bug.cgi?id=57862
- Part 6: Update the Spelling UI with the spelling and grammar mistakes.
- * UIProcess/API/C/win/WKAPICastWin.h:
- (WebKit::toAPI):
- Make it possible to go from a WebCore::GrammarDetail to a WebGrammarDetail.
-
- * UIProcess/API/C/win/WKGrammarDetail.cpp:
- (WKGrammarDetailCreate):
- (WKGrammarDetailGetLocation):
- (WKGrammarDetailGetLength):
- (WKGrammarDetailCopyGuesses):
- (WKGrammarDetailCopyUserDescription):
- * UIProcess/API/C/win/WKGrammarDetail.h:
- * UIProcess/API/C/win/WKTextChecker.cpp:
- (WKTextCheckerCheckSpelling):
- Tell the WebTextChecker.
- * UIProcess/API/C/win/WKTextChecker.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::contextMenuItemSelected):
- If the show/hide spelling UI is selected and the spelling UI is not showing, make sure to
- advance to the next misspelling (in this case, the first).
- This behavior matches that in WebCore and WKView.mm.
- (WebKit::WebPageProxy::advanceToNextMisspelling):
- Make this function const since it does not modify the WebPageProxy and making it const
- allows WebTextChecker::checkSpelling to take a const WebPageProxy.
- (WebKit::WebPageProxy::spellDocumentTag):
- (WebKit::WebPageProxy::updateSpellingUIWithMisspelledWord):
- (WebKit::WebPageProxy::updateSpellingUIWithGrammarString):
- * UIProcess/WebPageProxy.h:
- * UIProcess/TextChecker.h:
- * UIProcess/win/TextCheckerWin.cpp:
- (WebKit::TextChecker::uniqueSpellDocumentTag):
- Tell the TextCheckerClient which WebPageProxy this tag is for.
- (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
- Tell the TextCheckerClient.
- (WebKit::TextChecker::updateSpellingUIWithGrammarString):
- Ditto.
- * UIProcess/mac/TextCheckerMac.mm:
- (WebKit::TextChecker::uniqueSpellDocumentTag):
- Add the new argument that is unused by this port.
- (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
- Ditto.
- (WebKit::TextChecker::updateSpellingUIWithGrammarString):
- Ditto.
- * UIProcess/gtk/TextCheckerGtk.cpp:
- (WebKit::TextChecker::uniqueSpellDocumentTag):
- Ditto.
- (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
- Ditto.
- (WebKit::TextChecker::updateSpellingUIWithGrammarString):
- Ditto.
- * UIProcess/qt/TextCheckerQt.cpp:
- (WebKit::TextChecker::uniqueSpellDocumentTag):
- Ditto.
- (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
- Ditto.
- (WebKit::TextChecker::updateSpellingUIWithGrammarString):
- Ditto.
- * UIProcess/win/WebGrammarDetail.cpp:
- (WebKit::WebGrammarDetail::create):
- (WebKit::WebGrammarDetail::WebGrammarDetail):
- (WebKit::WebGrammarDetail::guesses):
- * UIProcess/win/WebGrammarDetail.h:
- (WebKit::WebGrammarDetail::location):
- (WebKit::WebGrammarDetail::length):
- (WebKit::WebGrammarDetail::userDescription):
- * UIProcess/win/WebTextChecker.cpp:
- (WebKit::WebTextChecker::checkSpelling):
- Tell the page to advance to the next misspelling. This matches the WK1 WebView.cpp logic.
- * UIProcess/win/WebTextChecker.h:
- * UIProcess/win/WebTextCheckerClient.cpp:
- (WebKit::WebTextCheckerClient::uniqueSpellDocumentTag):
- (WebKit::WebTextCheckerClient::toggleSpellingUIIsShowing):
- (WebKit::WebTextCheckerClient::updateSpellingUIWithMisspelledWord):
- (WebKit::WebTextCheckerClient::updateSpellingUIWithGrammarString):
- * UIProcess/win/WebTextCheckerClient.h:
- 2011-04-10 Maciej Stachowiak <mjs@apple.com>
- Not reviewed.
- Remove extra inadvertantly commiteed changes from last change.
- * WebProcess/com.apple.WebProcess.sb:
- 2011-04-10 Maciej Stachowiak <mjs@apple.com>
- Reviewed by Dan Bernstein.
- REGRESSION: WebProcess spews sandboxing violations for outbound network traffic
- https://bugs.webkit.org/show_bug.cgi?id=58215
- <rdar://problem/9251695>
-
- * WebProcess/com.apple.WebProcess.sb: Restore some previously removed rules.
- 2011-04-10 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
- Reviewed by Eric Seidel.
- Require no undefined symbols during compilation.
- [Qt] [WK2] WebKitTestRunner, QtWebProcess and WTRInjectBundle should fail to compile when there's undefined symbols
- https://bugs.webkit.org/show_bug.cgi?id=54896
-
- Add -Wl,--no-undefined to catch missing symbols early.
- * WebProcess.pro:
- 2011-04-09 Geoffrey Garen <ggaren@apple.com>
- Not reviewed.
-
- Try recommitting some things svn left out of my last commit.
- * WebProcess/Plugins/Netscape/NPJSObject.h:
- 2011-04-09 Geoffrey Garen <ggaren@apple.com>
- Not reviewed.
-
- Try recommitting some things svn left out of my last commit.
- * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
- (WebKit::NPRuntimeObjectMap::evaluate):
- 2011-04-08 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Darin Adler.
- WebKit2: Safari doesn't respect cmd-arrows (and variations) as custom keyboard shortcuts
- https://bugs.webkit.org/show_bug.cgi?id=58175
- <rdar://problem/9060555>
- The problem is that command handling should be different for events that come as keyDown:
- and those that come as performKeyEquivalent:. WebKit1 only tries custom "key bindings"
- when handling a keyDown:, letting a performKeyEquivalent: run through the whole responder
- chain first.
- This would be very difficult to implement in WebKit2 because of how it re-sends the same
- event after web process handling. Luckily, we can both fix the bug and make the behavior
- more robust by not hardcoding key combinations.
- * WebProcess/WebPage/WebPage.h: Edit performNonEditingBehaviorForSelector.
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::executeKeypressCommandsInternal): When executing commands, also try
- executing editor commands in their non-editing meaning, which is usually scrolling.
- (WebKit::WebPage::performNonEditingBehaviorForSelector): Naive implementation with a chain
- of ifs, which is hopefully ok performance-wise for a dozen check.
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent): Only kept two commands here that I
- couldn't easily move.
- 2011-04-08 Jessie Berlin <jberlin@apple.com>
- Reviewed by Anders Carlsson.
- WebKit2: Show the substitutions panel on Mac and make sure the menu items titles are
- updated correctly.
- https://bugs.webkit.org/show_bug.cgi?id=58179
- * UIProcess/API/mac/WKView.mm:
- (-[WKView validateUserInterfaceItem:]):
- The title of the context menu item should be opposite of whether or not the spelling panel
- is visible.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::contextMenuItemSelected):
- If the "Show/Hide" Substitutions item is selected, call toggleSubstitutionsPanelIsShowing.
- (WebKit::WebPageProxy::substitutionsPanelIsShowing):
- Ask the TextChecker.
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/TextChecker.h:
- * UIProcess/mac/TextCheckerMac.mm:
- (WebKit::TextChecker::substitutionsPanelIsShowing):
- As the shared NSSpellChecker if the substitutionsPanel is visible.
- (WebKit::TextChecker::toggleSubstitutionsPanelIsShowing):
- Order the substitutionsPanel out or front (copied from WKView.mm).
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- (WebKit::WebEditorClient::substitutionsPanelIsShowing):
- Send a sync message to the UI process to find out.
- It needs to be sync because the editor code relies on the value returned.
- 2011-04-08 Dan Bernstein <mitz@apple.com>
- Reviewed by Adele Peterson.
- Fixed a bug where right-to-left frames incorrectly reported that they were pinned to the left
- when they were actually not.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didChangeScrollOffsetForMainFrame): Do not assume that the minimum scroll offset
- is zero, because it is not.
- 2011-04-08 Anders Carlsson <andersca@apple.com>
- Fix the Windows build.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::Drop):
- 2011-04-08 Jessie Berlin <jberlin@apple.com>
- Reviewed by Anders Carlsson.
- WebKit2: Implement TextChecker on Windows
- https://bugs.webkit.org/show_bug.cgi?id=57862
- Part 5: Implement the code show and hide the Spelling UI via the context menu item (both
- Windows and Mac).
- * UIProcess/API/C/win/WKTextChecker.h:
- Add the new WKTextCheckerClient funtions.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView validateUserInterfaceItem:]):
- The title of the context menu item should be opposite of whether or not the spelling panel
- is visible.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::contextMenuItemSelected):
- If the "Show/Hide Spelling and Grammar" item is selected, call toggleSpellingUIIsShowing.
- (WebKit::WebPageProxy::spellingUIIsShowing):
- Call through to TextChecker.
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/TextChecker.h:
- * UIProcess/win/TextCheckerWin.cpp:
- (WebKit::TextChecker::spellingUIIsShowing):
- Call the TextCheckerClient.
- (WebKit::TextChecker::toggleSpellingUIIsShowing):
- Ditto.
- * UIProcess/mac/TextCheckerMac.mm:
- (WebKit::TextChecker::spellingUIIsShowing):
- Ask the shared NSSpellChecker if the spellingPanel is visible.
- (WebKit::TextChecker::toggleSpellingUIIsShowing):
- Order the spellingPanel out or front (copied from WKView.mm).
- * UIProcess/qt/TextCheckerQt.cpp:
- (WebKit::TextChecker::spellingUIIsShowing):
- Call notImplemented.
- (WebKit::TextChecker::toggleSpellingUIIsShowing):
- Ditto.
- * UIProcess/gtk/TextCheckerGtk.cpp:
- (WebKit::TextChecker::spellingUIIsShowing):
- Ditto.
- (WebKit::TextChecker::toggleSpellingUIIsShowing):
- Ditto.
-
- * UIProcess/win/WebTextCheckerClient.cpp:
- (WebKit::WebTextCheckerClient::spellingUIIsShowing):
- Call the client.
- (WebKit::WebTextCheckerClient::toggleSpellingUIIsShowing):
- Ditto.
- * UIProcess/win/WebTextCheckerClient.h:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::spellingUIIsShowing):
- Send a sync message to the UI process to find out.
- It needs to be sync because the Editor code relies on the value returned.
- 2011-04-08 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Sandboxing doesn't work if a local file is dropped on the content area
- https://bugs.webkit.org/show_bug.cgi?id=58177
- <rdar://problem/9019253>
- When performing a drag and the dragging pasteboard contains a local file, create a
- sandbox extension and pass it along. If we end up loading the file, the sandbox extension
- tracker will consume the extension.
- * UIProcess/API/mac/WKView.mm:
- (maybeCreateSandboxExtensionFromPasteboard):
- Add helper function.
- (-[WKView performDragOperation:]):
- Create a sandbox extension handle and pass it to performDrag.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::dragEntered):
- (WebKit::WebPageProxy::dragUpdated):
- (WebKit::WebPageProxy::dragExited):
- Pass an empty sandbox extension handle to performDragControllerAction.
- (WebKit::WebPageProxy::performDrag):
- Pass the sandbox extension handle along to performDragControllerAction.
- (WebKit::WebPageProxy::performDragControllerAction):
- Send along the sandbox extension handle.
- * WebProcess/WebCoreSupport/WebDragClient.cpp:
- (WebKit::WebDragClient::willPerformDragDestinationAction):
- If the destination action is a load action, call WebPage::willPerformLoadDragDestinationAction.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::performDragControllerAction):
- Create a sandbox extension.
- (WebKit::WebPage::willPerformLoadDragDestinationAction):
- If we have a sandbox extension, pass it along to the sandbox extension tracker.
- (WebKit::WebPage::SandboxExtensionTracker::willPerformLoadDragDestinationAction):
- Call setPendingProvisionalSandboxExtension.
- (WebKit::WebPage::SandboxExtensionTracker::beginLoad):
- Call setPendingProvisionalSandboxExtension.
- (WebKit::WebPage::SandboxExtensionTracker::setPendingProvisionalSandboxExtension):
- Factor code from beginLoad out into a separate function.
- * WebProcess/WebPage/WebPage.messages.in:
- PerformDragControllerAction now takes a sandbox extension handle.
- 2011-04-08 Alice Liu <alice.liu@apple.com>
- Reviewed by Adam Roben.
- https://bugs.webkit.org/show_bug.cgi?id=58151
- Crash after closing a Webview, in WebKit!WebCore::WindowMessageBroadcaster::SubclassedWndProc
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::close):
- Resolve a difference between old WebKit WebView and WebKit2 WebView by destroying and clearing
- out WebKit2 WebView's HWND when closing. Not doing so was causing the WebView to remain in the
- list of WindowMessageBroadcaster listeners, and after closing the WebView, WindowMessageBroadcaster
- would message a dead WebView and crash.
- 2011-04-08 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- Make the drag operations be different functions
- https://bugs.webkit.org/show_bug.cgi?id=58169
- Since we want performDrag to take a sandbox extension, separate the four
- drag operations out into different functions. No functionality change.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView draggingEntered:]):
- (-[WKView draggingUpdated:]):
- (-[WKView draggingExited:]):
- (-[WKView performDragOperation:]):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::dragEntered):
- (WebKit::WebPageProxy::dragUpdated):
- (WebKit::WebPageProxy::dragExited):
- (WebKit::WebPageProxy::performDrag):
- * UIProcess/WebPageProxy.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::DragEnter):
- (WebKit::WebView::DragOver):
- (WebKit::WebView::DragLeave):
- (WebKit::WebView::Drop):
- 2011-04-08 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- Parse 'DispatchOnConnectionQueue' in messages.in files
- https://bugs.webkit.org/show_bug.cgi?id=58168
- Handle parsing multiple, space-separated attributes in .messages.in files. Keep track of
- 'DispatchOnConnectionQueue' and rename 'delayed' to 'Delayed'.
- * Scripts/webkit2/messages.py:
- * Scripts/webkit2/messages_unittest.py:
- 2011-04-08 Alpha Lam <hclam@chromium.org>
- Unreviewed, rolling out r83335.
- http://trac.webkit.org/changeset/83335
- https://bugs.webkit.org/show_bug.cgi?id=53556
- GTK and QT bots are broken
- * Configurations/FeatureDefines.xcconfig:
- 2011-04-07 Anna Cavender <annacc@chromium.org>
- Reviewed by Eric Carlson.
- Setup ENABLE(TRACK) feature define
- https://bugs.webkit.org/show_bug.cgi?id=53556
- * Configurations/FeatureDefines.xcconfig:
- 2011-04-07 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Darin Alder.
- REGRESSION (WebKit2): AppKit thinks that web views don't support DocumentAccess
- https://bugs.webkit.org/show_bug.cgi?id=58102
- <rdar://problem/9223246>
- * UIProcess/API/mac/WKView.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView doCommandBySelector:]):
- (-[WKView insertText:replacementRange:]):
- (-[WKView validAttributesForMarkedText]):
- (-[WKView setMarkedText:selectedRange:replacementRange:]):
- (-[WKView attributedSubstringForProposedRange:actualRange:]):
- (-[WKView firstRectForCharacterRange:actualRange:]):
- Switch to NSTextInputClient, opting out of optimizations and optional features for now.
- 2011-04-08 Siddharth Mathur <siddharth.mathur@nokia.com>
- Reviewed by Martin Robinson.
- [Qt][WK2][Symbian] Remove use of stack arrays with variable size
- https://bugs.webkit.org/show_bug.cgi?id=57877
- For better compiler portability, use new/delete for arrays when size
- isn't known at compile time. Also fix one compiler warning about bitshift
- operations on signed integer
- * Platform/CoreIPC/unix/ConnectionUnix.cpp:
- (CoreIPC::Connection::readyReadHandler):
- (CoreIPC::Connection::sendOutgoingMessage):
- 2011-04-08 Martin Robinson <mrobinson@igalia.com>
- Reviewed by Xan Lopez.
- [GTK] Fix the WebKit2 build for older versions of GTK+
- https://bugs.webkit.org/show_bug.cgi?id=58095
- * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp: Include the GtkVersioning.h header.
- 2011-04-07 Balazs Kelemen <kbalazs@webkit.org>
- Reviewed by Kenneth Rohde Christiansen.
- [WK2][Qt][GTK] Introduce common use flag for the shared UNIX domain socket IPC implementation
- https://bugs.webkit.org/show_bug.cgi?id=58030
- Replace "PLATFORM(QT) || PLATFORM(GTK)" conditions in IPC code with
- USE(UNIX_DOMAIN_SOCKETS).
- * Platform/CoreIPC/Attachment.h:
- * Platform/CoreIPC/Connection.h:
- * Platform/SharedMemory.h:
- 2011-04-07 Anders Carlsson <andersca@apple.com>
- Reviewed by Simon Fraser.
- Clicks not recognized on http://www.nibblestutorials.net/ which uses Silverlight
- https://bugs.webkit.org/show_bug.cgi?id=58108
- <rdar://problem/9167611>
- Change platformHandleMouseEvent to return true, which means that the plug-in has handled the
- event. Some plug-ins (like Silverlight) will return false from NPP_HandleEvent even though the
- event has been handled. In this case it lead to a very subtle bug where the plug-in element would
- lose focus right after a mouse down even had been sent.
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformHandleMouseEvent):
- 2011-04-07 Adam Roben <aroben@apple.com>
- Pass NPP_SetWindow a null window handle during plugin destruction on non-Mac platforms
- This matches WebKit1.
- Fixes <http://webkit.org/b/47009> WebKit2 needs to call NPP_SetWindow when destroying a
- plugin
- Reviewed by Anders Carlsson.
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::destroy): Null out our NPWindow's window handle and pass it to
- NPP_SetWindow (unless we're on Mac).
- 2011-04-08 Jamie Cooley <james.cooley@nokia.com>
- Reviewed by Benjamin Poulain.
- [Qt][WK2] Make sure qwkhistory.h is copied into includes/WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=57945
- * UIProcess/API/qt/WKView.h:
- * UIProcess/API/qt/qwkhistory.h:
- 2011-04-08 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Do not destroy WorkQueue event sources unless they have been cancelled
- https://bugs.webkit.org/show_bug.cgi?id=57611
- * Platform/WorkQueue.h:
- * Platform/gtk/WorkQueueGtk.cpp:
- (WorkQueue::EventSource::EventSource): Remove unused member
- m_dispatchSource.
- (WorkQueue::EventSource::executeEventSource): Make it return void
- instead of boolean since we are always ignoring the return value.
- (WorkQueue::EventSource::performWork): Return FALSE from the
- callback only when the source has been cancelled (condition = 0)
- to make sure it's destroyed when the even source handler is
- unregistered.
- (WorkQueue::registerEventSourceHandler): Use GRefPtr for the
- source, to avoid leaking it.
- (WorkQueue::scheduleWorkOnSource): Receive the source callback as
- parameter so that it can be used by scheduleWorkOnTermination() too.
- (WorkQueue::scheduleWork):
- (WorkQueue::scheduleWorkAfterDelay):
- (WorkQueue::scheduleWorkOnTermination): Use
- scheduleWorkOnSource().
- 2011-04-08 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Close connection when web process finishes
- https://bugs.webkit.org/show_bug.cgi?id=57540
- * Platform/CoreIPC/Connection.h:
- * Platform/CoreIPC/unix/ConnectionUnix.cpp:
- * Platform/PlatformProcessIdentifier.h: Use GPid as process
- identifier.
- * Platform/WorkQueue.h:
- * Platform/gtk/WorkQueueGtk.cpp:
- (WorkQueue::EventSource::EventSource): Add cancellable parameter.
- (WorkQueue::EventSource::cancel): New method to cancel the source.
- (WorkQueue::EventSource::performWorkOnTermination): New method to
- execute a work item called when child process has finished.
- (WorkQueue::registerEventSourceHandler): Create a GCancellable for
- the socket source.
- (WorkQueue::unregisterEventSourceHandler): Cancel the source
- instead of destroying it, this will cause the source to trigger
- with condition = 0, which makes the callback return FALSE and the
- source is destroyed.
- (WorkQueue::scheduleWorkOnSource): Pass NULL as cancellable for
- idle and timeout sources.
- (WorkQueue::scheduleWorkOnTermination): Create a child watch
- source to monitor the child process.
- * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
- (WebKit::ProcessLauncher::launchProcess): Use GPid instead of int
- as process identifier.
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didFinishLaunching): Call
- WorkQueue::scheduleWorkOnTermination() for GTK platform too when
- web process has been launched.
- 2011-04-08 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Implement scheduleWorkAfterDelay() in WorkQueueGtk
- https://bugs.webkit.org/show_bug.cgi?id=57434
- * Platform/WorkQueue.h:
- * Platform/gtk/WorkQueueGtk.cpp:
- (WorkQueue::EventSource::executeEventSource): This new method
- contains the common code to execute a work item.
- (WorkQueue::EventSource::performWorkOnce): Use
- executeEventSource() to execute the work item.
- (WorkQueue::EventSource::performWork): Use executeEventSource() to
- execute the work item.
- (WorkQueue::registerEventSourceHandler): Use a GSocket instead of
- a GIOChannel since the API is newer and allows us to pass a
- cancellable object to be able to cancel the source.
- (WorkQueue::scheduleWorkOnSource): This new method contains the
- common code to attach a source to a context. It doesn't use a lock
- anymore, since g_source_attach() uses its own mutex internally.
- (WorkQueue::scheduleWork): Use an idle source instead of a timeout
- one, changing the priority to G_PRIORITY_DEFAULT.
- (WorkQueue::scheduleWorkAfterDelay): Implement it using a timeout
- source with the given delay.
- 2011-04-08 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Use glib API instead of fork + execl in ProcessLauncherGtk
- https://bugs.webkit.org/show_bug.cgi?id=57234
- * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
- (WebKit::childSetupFunction): close the socket and use prctl()
- when platform is Linux to kill the child process when the parent
- finishes.
- (WebKit::ProcessLauncher::launchProcess): Use g_spawn_async() to
- launch the web process.
- 2011-04-07 Geoffrey Garen <ggaren@apple.com>
- Some Handle<T> cleanup
- https://bugs.webkit.org/show_bug.cgi?id=58109
- * WebProcess/Plugins/Netscape/NPJSObject.cpp:
- (WebKit::NPJSObject::NPJSObject): Updated for new null constructor.
- 2011-04-07 Jessie Berlin <jberlin@apple.com>
- Max build fix.
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::checkSpellingOfString):
- Do not risk an overflow.
- (WebKit::WebEditorClient::checkGrammarOfString):
- Ditto.
- 2011-04-07 Jessie Berlin <jberlin@apple.com>
- Reviewed by Brian Weinstein.
- WebKit2: Implement TextChecker on Windows
- https://bugs.webkit.org/show_bug.cgi?id=57862
- Part 4: Implement checkGrammarOfString.
- * Scripts/webkit2/messages.py:
- The generated files should include TextCheckerClient.h for WebCore::GrammarDetail.
- * Shared/API/c/win/WKBaseWin.h:
- * Shared/APIObject.h:
- * UIProcess/API/C/win/WKAPICastWin.h:
- * UIProcess/API/C/win/WKGrammarDetail.cpp: Added.
- (WKGrammarDetailGetTypeID):
- (WKGrammarDetailCreate):
- * UIProcess/API/C/win/WKGrammarDetail.h: Added.
- * UIProcess/API/C/win/WKTextChecker.h:
- Add the checkGrammarOfString WKTextCheckerClient function.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::checkGrammarOfString):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/TextChecker.h:
- * UIProcess/win/TextCheckerWin.cpp:
- (WebKit::TextChecker::checkGrammarOfString):
- Call the TextCheckerClient.
- * UIProcess/mac/TextCheckerMac.mm:
- (WebKit::TextChecker::checkSpellingOfString):
- Add a comment about this not being used on Mac.
- (WebKit::TextChecker::checkGrammarOfString):
- Ditto, and call notImplemented.
- * UIProcess/gtk/TextCheckerGtk.cpp:
- (WebKit::TextChecker::checkGrammarOfString):
- Call notImplemented.
- * UIProcess/qt/TextCheckerQt.cpp:
- (WebKit::TextChecker::checkGrammarOfString):
- Ditto.
- * UIProcess/win/WebGrammarDetail.cpp: Added.
- (WebKit::WebGrammarDetail::create):
- (WebKit::WebGrammarDetail::WebGrammarDetail):
- Initialize the underlying WebCore::GrammarDetail.
- * UIProcess/win/WebGrammarDetail.h: Added.
- (WebKit::WebGrammarDetail::grammarDetail):
- (WebKit::WebGrammarDetail::type):
- * UIProcess/win/WebTextCheckerClient.cpp:
- (WebKit::WebTextCheckerClient::checkGrammarOfString):
- Populate the Vector of WebCore::GrammarDetails with the WebGrammarDetails.
- * UIProcess/win/WebTextCheckerClient.h:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::checkSpellingOfString):
- Use WTF::notFound as the initial value for resultLocation.
- (WebKit::WebEditorClient::checkGrammarOfString):
- Send a sync message to the UI Process (similar to checkSpellingOfString and checkTextOfParagraph).
- * win/WebKit2.vcproj:
- Add WKGrammarDetail.h/.cpp and WebGrammarDetail.h/.cpp.
- * win/WebKit2Generated.make:
- Copy over WKGrammarDetail.h.
- 2011-04-07 Enrica Casucci <enrica@apple.com>
- Reviewed by Oliver Hunt.
- REGRESSION(WebKit2): execCommand('undo') doesn't work (Windows).
- https://bugs.webkit.org/show_bug.cgi?id=58056
- <rdar://problem/8862023>
-
- Adding support for execCommand('undo') and execCommand('redo')
- in WebKit2 for Windows.
- * UIProcess/API/C/win/WKView.h:
- * UIProcess/win/WebUndoClient.cpp:
- (WebKit::WebUndoClient::canUndoRedo):
- (WebKit::WebUndoClient::executeUndoRedo):
- * UIProcess/win/WebUndoClient.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::canUndoRedo):
- (WebKit::WebView::executeUndoRedo):
- 2011-04-07 Andrew Scherkus <scherkus@chromium.org>
- Revert ENABLE_TRACK patch due to compile failures.
- * Configurations/FeatureDefines.xcconfig:
- 2011-04-07 Martin Robinson <mrobinson@igalia.com>
- Fix the WebKit2 GTK+ build for older versions of GTK+.
- * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Include the GtkVersioning.h header.
- 2011-04-07 Amruth Raj <amruthraj@motorola.com> and Martin Robinson <mrobinson@igalia.com>
- Reviewed by Kenneth Rohde Christiansen.
- [GTK] Implement SharedMemory for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=49791
- Share the SharedMemory, Attachment and Connection implementations with the Qt port.
- Both implementation are, in fact, general Unix implementations using standard Unix
- domain sockets and sendmsg / recvmsg. This should reduce the amount of duplicated code
- greatly and lay the groundwork for GTK+/Qt implementations for other operating systems.
- * GNUmakefile.am: Replaced GTK+ versions of files with the Unix ones.
- * Platform/CoreIPC/ArgumentDecoder.cpp: Extended Qt #ifdefs to include GTK.
- (CoreIPC::ArgumentDecoder::~ArgumentDecoder):
- * Platform/CoreIPC/ArgumentEncoder.cpp: Ditto.
- (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
- * Platform/CoreIPC/Attachment.h: Ditto.
- * Platform/CoreIPC/Connection.h: Combined the GTK+ and Qt sections.
- * Platform/CoreIPC/unix/AttachmentUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/qt/AttachmentQt.cpp.
- * Platform/CoreIPC/unix/ConnectionUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/qt/ConnectionQt.cpp.
- * Platform/unix/SharedMemoryUnix.cpp: Renamed from Source/WebKit2/Platform/qt/SharedMemoryQt.cpp.
- * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
- (WebKit::ProcessLauncher::launchProcess): Use SOCK_DGRAM instead of SOCK_STREAM to match Qt.
- * WebKit2.pro: Updated source list to reflect file renaming.
- 2011-04-07 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Brian Weinstein.
- REGRESSION (r83081): Use of deallocated memory in WebEditorClient::respondToChangedSelection()
- https://bugs.webkit.org/show_bug.cgi?id=58082
- * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::respondToChangedSelection):
- Now that the Range is used outside the full expression where it's created, it needs to be
- protected with RefPtr.
- 2011-04-07 Mark Rowe <mrowe@apple.com>
- Reviewed by Dan Bernstein.
- <rdar://problem/9251566> WebBackForwardList::createCFDictionaryRepresentation's current item index
- doesn't account for items removed by filter callback.
- * UIProcess/cf/WebBackForwardListCF.cpp:
- (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Update the current item index
- when we omit an item due to the filter callback.
- 2011-04-07 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Anders Carlsson.
- REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri
- https://bugs.webkit.org/show_bug.cgi?id=58066
- <rdar://problem/8965302>
- * Scripts/webkit2/messages.py:
- * Shared/mac/AttributedString.h: Added.
- * Shared/mac/AttributedString.mm: Added.
- (WebKit::AttributedString::encode):
- (WebKit::AttributedString::decode):
- Added an class that wraps NSAttributedString. As far as I can tell, one can't pass a CF
- or NS object to another process without wrapping it in a C++ one.
-
- * Shared/mac/ArgumentCodersMac.h: Added.
- * Shared/mac/ArgumentCodersMac.mm: Added.
- Added coders for Foundation objects, similar to ArgumentCodersCF. There are two reasons why
- these are needed:
- 1) Even though most Foundation objects are toll free bridged with CF, CFGetTypeID() doesn't
- work properly for them (I've been just getting 1).
- 2) NSColor isn't toll free bridged to CF.
- This adds just the types necessary for editing NSAttributedString (and I don't yet know what
- happens with attachments).
- * UIProcess/API/mac/WKView.mm: (-[WKView attributedSubstringFromRange:]):
- * UIProcess/WebPageProxy.h:
- * UIProcess/mac/WebPageProxyMac.mm:
- (WebKit::WebPageProxy::getAttributedSubstringFromRange):
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
- Boilerplate code for making a sync call to web process.
- * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::getAttributedSubstringFromRange):
- Ported from WebHTMLView.
- 2011-04-07 Jeff Miller <jeffm@apple.com>
- Mac build fix.
- * Shared/WebString.h:
- (WebKit::WebString::getCharacters): Add explict cast when using std::min().
- 2011-04-07 Jeff Miller <jeffm@apple.com>
- Reviewed by Adam Roben.
- Replace WKStringGetCharactersPtr() with WKStringGetCharacters()
- https://bugs.webkit.org/show_bug.cgi?id=58058
-
- WKStringGetCharactersPtr() exposes the internal implementation of WKString, so change this to WKStringGetCharacters(), which makes a UTF-16 copy.
- * Shared/API/c/WKString.cpp:
- (WKStringGetCharacters): Added, replaces WKStringGetCharactersPtr().
- * Shared/API/c/WKString.h: Replaced WKStringGetCharactersPtr() with WKStringGetCharacters().
- * Shared/WebString.h:
- (WebKit::WebString::getCharacters): Added.
- 2011-04-07 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben.
- WebKit2: Support window bounce when panning.
- https://bugs.webkit.org/show_bug.cgi?id=58065
- <rdar://problem/9244367>
-
- Make gestureDidScroll synchronous, as once we scroll, we need to know
- whether or not we are at the beginning or end of the scrollable document.
-
- If we are at either end of the scrollable document, we call the Windows 7
- API to bounce the window to give an indication that you are past an end
- of the document.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::gestureDidScroll): Pass a boolean for the reply, and return it.
- * UIProcess/WebPageProxy.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::WebView): Inititalize a new variable.
- (WebKit::WebView::onGesture): Once we send the message to scroll, check if have gone to
- an end of the document, and if we have, bounce the window.
- * UIProcess/win/WebView.h:
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in: GestureDidScroll is now sync.
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::gestureDidScroll): When we are done scrolling, check if we have a vertical
- scrollbar and if we are at the beginning or the end of the scrollable document.
- 2011-04-07 Chang Shu <cshu@webkit.org>
- Reviewed by Darin Adler.
- WebKitTestRunner needs layoutTestController.isPageBoxVisible
- https://bugs.webkit.org/show_bug.cgi?id=42695
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleIsPageBoxVisible):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::isPageBoxVisible):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- 2011-04-07 Enrica Casucci <enrica@apple.com>
- Reviewed by Oliver Hunt.
- REGRESSION(WebKit2): execCommand('undo') doesn't work (Mac).
- https://bugs.webkit.org/show_bug.cgi?id=58055
- <rdar://problem/8862023>
-
- Adding support for execCommand('undo') and execCommand('redo')
- in WebKit2 for Mac.
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::canUndoRedo): Added interaction with undomanager.
- (WebKit::PageClientImpl::executeUndoRedo): Added interaction with undomanager.
-
- Added new empty PageClient methods for other platforms.
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::canUndoRedo):
- (QWKPagePrivate::executeUndoRedo):
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/gtk/WebView.cpp:
- (WebKit::WebView::canUndoRedo):
- (WebKit::WebView::executeUndoRedo):
- * UIProcess/gtk/WebView.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::canUndoRedo):
- (WebKit::WebView::executeUndoRedo):
- * UIProcess/win/WebView.h:
- * UIProcess/WebEditCommandProxy.cpp:
- (WebKit::WebEditCommandProxy::unapply): Added flag to allow dispatching
- of asychronous messages while waiting for a sync message reply.
- (WebKit::WebEditCommandProxy::reapply): Same as above.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::canUndoRedo):
- (WebKit::WebPageProxy::executeUndoRedo):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp: Added missing implementation.
- (WebKit::WebEditorClient::canUndo):
- (WebKit::WebEditorClient::canRedo):
- (WebKit::WebEditorClient::undo):
- (WebKit::WebEditorClient::redo):
- 2011-04-07 Brady Eidson <beidson@apple.com>
- Reviewed by Maciej Stachowiak.
- <rdar://problem/9250368> and https://bugs.webkit.org/show_bug.cgi?id=58062
- * UIProcess/API/C/WKIconDatabase.cpp:
- (WKIconDatabaseClose):
- * UIProcess/API/C/WKIconDatabase.h:
-
- * UIProcess/WebIconDatabase.cpp:
- (WebKit::WebIconDatabase::close):
- * UIProcess/WebIconDatabase.h:
- 2011-04-07 Jessie Berlin <jberlin@apple.com>
- Reviewed by Adam Roben.
- WebKit2: Implement TextChecker on Windows
- https://bugs.webkit.org/show_bug.cgi?id=57862
-
- Part 3: Implement checkSpellingOfString
- In WebCore, checkTextOfParagraph is only defined and used on platforms where
- WTF_USE_UNIFIED_TEXT_CHECKING is defined (which right now is only non-Leopard and non-Tiger
- Mac builds).
-
- On other platforms, checkSpellingOfString and checkGrammarOfString (coming in a separate
- patch in an attempt to keep things easier to review) are used.
- * UIProcess/API/C/win/WKTextChecker.h:
- * UIProcess/TextChecker.h:
- Surround checkTextOfParagraph by #if USE(UNIFIED_TEXT_CHECKING) and add
- checkSpellingOfString.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::checkTextOfParagraph):
- Surround this by #if USE(UNIFIED_TEXT_CHECKING).
- (WebKit::WebPageProxy::checkSpellingOfString):
- Call through to the client.
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- Surround checkTextOfParagraph by #if USE(UNIFIED_TEXT_CHECKING) and add
- checkSpellingOfString.
- * UIProcess/win/TextCheckerWin.cpp:
- (WebKit::TextChecker::checkSpellingOfString):
- Call through to the WebTextCheckerClient.
- * UIProcess/mac/TextCheckerMac.mm:
- (WebKit::TextChecker::checkTextOfParagraph):
- Surround this by #if USE(UNIFIED_TEXT_CHECKING) for clarity.
- (WebKit::TextChecker::checkSpellingOfString):
- Add a call to notImplemented.
- * UIProcess/qt/TextCheckerQt.cpp:
- (WebKit::TextChecker::checkSpellingOfString):
- Ditto, and remove the implementation for checkTextOfParagraph.
- * UIProcess/gtk/TextCheckerGtk.cpp:
- (WebKit::TextChecker::checkSpellingOfString):
- Ditto.
- * UIProcess/win/WebTextCheckerClient.cpp:
- (WebKit::WebTextCheckerClient::checkSpellingOfString):
- * UIProcess/win/WebTextCheckerClient.h:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::checkSpellingOfString):
- Send a sync message to the UI Process (similar to the sync message used for
- checkTextOfParagraph).
- 2011-04-07 Siddharth Mathur <siddharth.mathur@nokia.com>
- Reviewed by Laszlo Gombos.
- [Qt][WK2][Symbian] Temporary build fix until native Symbian IPC is done. Implement fake socketpair() as it's not available.
- https://bugs.webkit.org/show_bug.cgi?id=57877
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- (WebKit::socketpair): socketpair() which returns -1
- 2011-04-07 Michael Saboff <msaboff@apple.com>
- Reviewed by Maciej Stachowiak.
- WebKit2: Memory leak in decodeResourceError
- https://bugs.webkit.org/show_bug.cgi?id=58004
- Release the local NSError after it is used to create a ResourceError
- object assigned to the reference argument.
- * Shared/mac/WebCoreArgumentCodersMac.mm:
- (CoreIPC::decodeResourceError):
- 2011-04-07 Maciej Stachowiak <mjs@apple.com>
- Reviewed by Adam Barth.
- Remove temporary WebProcess sandbox rules that are unnecessary now that plugins are in their own process
- https://bugs.webkit.org/show_bug.cgi?id=58023
- * WebProcess/com.apple.WebProcess.sb:
- 2011-04-07 Maciej Stachowiak <mjs@apple.com>
- Reviewed by Dan Bernstein.
- Remove some no longer needed WebProcess sandbox allowances
- https://bugs.webkit.org/show_bug.cgi?id=58015
- <rdar://problem/9232592>
- * WebProcess/com.apple.WebProcess.sb: Remove no-longer needed extra network
- and launching privileges, since the bugs that required them are fixed.
- 2011-04-06 Chang Shu <cshu@webkit.org>
- Reviewed by Darin Adler.
- WebKitTestRunner needs layoutTestController.pageSizeAndMarginsInPixels
- https://bugs.webkit.org/show_bug.cgi?id=57984
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundlePageSizeAndMarginsInPixels):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::pageSizeAndMarginsInPixels):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- 2011-04-06 Siddharth Mathur <siddharth.mathur@nokia.com>
- Reviewed by Benjamin Poulain.
- [Qt][WK2][Symbian] Remove use of stack arrays with variable size
- https://bugs.webkit.org/show_bug.cgi?id=57877
-
- For better compiler portability, use new/delete for arrays when size
- isn't known at compile time. Also fix one compiler warning about bitshift
- operations on signed integers.
- * Platform/CoreIPC/qt/ConnectionQt.cpp:
- (CoreIPC::Connection::readyReadHandler):
- (CoreIPC::Connection::sendOutgoingMessage):
- 2011-04-06 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben.
- WebKit2: Support Windows 7 Gestures
- https://bugs.webkit.org/show_bug.cgi?id=49824
- <rdar://problem/8689728>
-
- Port code from WebKit1 -> WebKit2 to handle Windows 7 gestures.
-
- The UIProcess gets a WM_GESTURENOTIFY message, it sends a sync message to the WebProcess to ask
- if we should allow panning. The WebProcess checks if we're in a scrollable area, and the mouse
- isn't over a scrollbar.
- The UIProcess then gets a WM_GESTURE message, and if it is a pan gesture, it sends a message to
- the WebProcess to scroll by the amount fingers have moved since the last WM_GESTURE messeage. The
- X and Y are reversed because panning up -> moving the page down, and vice versa.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::gestureWillBegin): Send a sync message to the WebProcess
- to initialize the gesture. The WebProcess returns whether or not we can start a pan
- gesture from where we are.
- (WebKit::WebPageProxy::gestureDidScroll): Send a message to the WebProcess to scroll by
- pan gesture.
- (WebKit::WebPageProxy::gestureDidEnd): Send a message to the WebProcess that the gesture has ended.
- * UIProcess/WebPageProxy.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::wndProc): Add WM_GESTURE and WM_GESTURENOTIFY handlers.
- (WebKit::WebView::WebView): Initialize two new variables.
- (WebKit::WebView::onGestureNotify): Figure out which gestures we should support based on where
- the gesture is beginning.
- (WebKit::WebView::onGesture): Support starting a gesture, ending a gesture, and panning.
- * UIProcess/win/WebView.h:
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in: Add messages needed for gestures.
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::gestureWillBegin): Set the node that the gesture started on (so we
- know which layer to scroll if the user pans), and determine whether or not we should allow
- panning. If the page can't scroll, or the user is on a scrollbar, disallow panning.
- (WebKit::WebPage::gestureDidScroll): Scroll the enclosing layer of the element the gesture
- started on.
- (WebKit::WebPage::gestureDidEnd): Clear the node the gesture started on.
- 2011-04-06 Jeff Miller <jeffm@apple.com>
- Reviewed by Adam Roben.
- Add WKStringGetCharactersPtr() and WKStringGetLength() to WebKit2 C API
- https://bugs.webkit.org/show_bug.cgi?id=57989
-
- Note that WKChar, which is returned by WKStringGetCharactersPtr(), is defined the same way we define JSChar in JSStringRef.h.
- * Shared/API/c/WKString.cpp:
- (WKStringGetLength): Added.
- (WKStringGetCharactersPtr): Added.
- * Shared/API/c/WKString.h: Define WKChar and added WKStringGetLength() and WKStringGetCharactersPtr().
- * Shared/WebString.h:
- (WebKit::WebString::length): Added.
- (WebKit::WebString::characters): Added.
- 2011-04-06 Anders Carlsson <andersca@apple.com>
- Reviewed by Oliver Hunt.
- Dock stays in front of Hulu.com full screen video output
- https://bugs.webkit.org/show_bug.cgi?id=57988
- <rdar://problem/9216260>
- Instead of using -[NSMenu setMenuBarVisible:] to toggle full screen, use
- -[NSApp setPresentationOptions:]. Also, make the UI process the front most app before
- setting the presentation options when exiting full screen, otherwise the dock won't
- be restored correctly.
- * PluginProcess/mac/PluginProcessShim.mm:
- Remove some shim functions that aren't needed.
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::PluginProcessProxy::PluginProcessProxy):
- Initialize m_preFullscreenAppPresentationOptions.
- * UIProcess/Plugins/PluginProcessProxy.h:
- Add m_preFullscreenAppPresentationOptions.
- * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
- (WebKit::PluginProcessProxy::enterFullscreen):
- Change the presentation options for the app.
- (WebKit::PluginProcessProxy::exitFullscreen):
- Restore the presentation options.
- 2011-04-06 Mark Rowe <mrowe@apple.com>
- Reviewed by Darin Adler.
- Expose the original URL of a WKBackForwardListItem.
- Needed for <rdar://problem/9074651>.
- * UIProcess/API/C/WKBackForwardListItem.cpp:
- (WKBackForwardListItemCopyOriginalURL):
- * UIProcess/API/C/WKBackForwardListItem.h:
- 2011-04-06 Brady Eidson <beidson@apple.com>
- Reviewed by Anders Carlsson.
- https://bugs.webkit.org/show_bug.cgi?id=57973 and https://bugs.webkit.org/show_bug.cgi?id=57973
- WK2 icon database should be able to get a CGImage of a specific size
- * UIProcess/API/C/cg/WKIconDatabaseCG.cpp:
- (WKIconDatabaseTryGetCGImageForURL): Change this API to take a requested size, and find the first matching
- CGImage in the icon.
- * UIProcess/API/C/cg/WKIconDatabaseCG.h:
- 2011-04-06 Jessie Berlin <jberlin@apple.com>
- Reviewed by Anders Carlsson.
- WebKit2: Implement TextChecker on Windows
- https://bugs.webkit.org/show_bug.cgi?id=57862
- Part 2: Implement uniqueSpellDocumentTag and closeSpellDocumentWithTag.
- * UIProcess/API/C/win/WKTextChecker.h:
- * UIProcess/win/TextCheckerWin.cpp:
- (WebKit::TextChecker::uniqueSpellDocumentTag):
- (WebKit::TextChecker::closeSpellDocumentWithTag):
- * UIProcess/win/WebTextCheckerClient.cpp:
- (WebKit::WebTextCheckerClient::uniqueSpellDocumentTag):
- (WebKit::WebTextCheckerClient::closeSpellDocumentWithTag):
- * UIProcess/win/WebTextCheckerClient.h:
- 2011-04-06 Robert Sesek <rsesek@chromium.org>
- Reviewed by Alexey Proskuryakov.
- Move code duplicated between the WebKit/mac and WebKit2 down to WebCore because Chromium will need it too
- https://bugs.webkit.org/show_bug.cgi?id=54969
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::respondToChangedSelection): Moved duplicated code to WebCore
- * WebProcess/WebPage/mac/WebPageMac.mm: Moved duplicated code to WebCore
- (WebKit::WebPage::getMarkedRange):
- (WebKit::WebPage::getSelectedRange):
- (WebKit::WebPage::characterIndexForPoint):
- (WebKit::WebPage::performDictionaryLookupAtLocation):
- 2011-04-06 Chang Shu <cshu@webkit.org>
- Reviewed by Darin Adler.
- WebKitTestRunner needs layoutTestController.pageNumberForElementById
- https://bugs.webkit.org/show_bug.cgi?id=42329
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundlePageNumberForElementById):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::pageNumberForElementById):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- 2011-04-05 Enrica Casucci <enrica@apple.com>
- Reviewed by Darin Adler.
- REGRESSION: Drag & Drop Gmail Attachments doesn't work.
- https://bugs.webkit.org/show_bug.cgi?id=57909
- <rdar://problem/9103220>
- Added _hitTest method to support drag and drop when the drag types cannot be matched.
- This is the case for elements that do not place content
- in the drag pasteboard automatically when the drag start (i.e. dragging a DIV element).
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _hitTest:dragTypes:]): Added.
- 2011-04-06 Csaba Osztrogonác <ossy@webkit.org>
- Reviewed by Darin Adler.
- Fix using UNUSED_PARAM introduced in r82907
- https://bugs.webkit.org/show_bug.cgi?id=57940
- * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
- (WebKit::WebResourceCacheManager::clearCacheForOrigin):
- 2011-04-06 Jessie Berlin <jberlin@apple.com>
- Reviewed by Anders Carlsson.
- WebKit2: Implement TextChecker on Windows
- https://bugs.webkit.org/show_bug.cgi?id=57862
- Part 1: Get and set the state.
- * Shared/API/c/win/WKBaseWin.h:
- * Shared/APIObject.h:
- * UIProcess/API/C/win/WKAPICastWin.h:
-
- * UIProcess/API/C/win/WKTextChecker.cpp: Added.
- (WKTextCheckerSetClient):
- (WKTextCheckerContinuousSpellCheckingEnabledStateChanged):
- (WKTextCheckerGrammarCheckingEnabledStateChanged):
- * UIProcess/API/C/win/WKTextChecker.h: Added.
-
- * UIProcess/TextChecker.h:
- * UIProcess/win/TextCheckerWin.cpp:
- (WebKit::TextChecker::state):
- Do the initalization for the state only once so that it is not necessary to call the client
- every time the state is requested.
- (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
- Call the client.
- (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
- Update the state and tell the client.
- (WebKit::TextChecker::setGrammarCheckingEnabled):
- Ditto.
- (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
- Update the state.
- (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
- Update the state.
- * UIProcess/win/WebTextChecker.cpp: Added.
- (WebKit::WebTextChecker::shared):
- Make the WebTextChecker available globally.
- (WebKit::WebTextChecker::WebTextChecker):
- (WebKit::WebTextChecker::setClient):
- (WebKit::updateStateForAllWebProcesses):
- (WebKit::WebTextChecker::continuousSpellCheckingEnabledStateChanged):
- Tell the TextChecker that the state has changed, and then tell the
- WebProcessProxies to send the new state to the WebProcesses.
- (WebKit::WebTextChecker::grammarCheckingEnabledStateChanged):
- Ditto.
- * UIProcess/win/WebTextChecker.h: Added.
- (WebKit::WebTextChecker::client):
- (WebKit::WebTextChecker::type):
- * UIProcess/win/WebTextCheckerClient.cpp: Added.
- (WebKit::WebTextCheckerClient::continuousSpellCheckingAllowed):
- (WebKit::WebTextCheckerClient::continuousSpellCheckingEnabled):
- (WebKit::WebTextCheckerClient::setContinuousSpellCheckingEnabled):
- (WebKit::WebTextCheckerClient::grammarCheckingEnabled):
- (WebKit::WebTextCheckerClient::setGrammarCheckingEnabled):
- * UIProcess/win/WebTextCheckerClient.h: Added.
-
- * win/WebKit2.vcproj:
- Add WKTextChecker.h/.cpp, WebTextChecker.h/.cpp, and WebTextCheckerClient.h/.cpp.
- * win/WebKit2Generated.make:
- Copy over WKTextChecker.h.
- 2011-04-05 Chang Shu <cshu@webkit.org>
- Reviewed by Darin Adler.
- WebKitTestRunner needs layoutTestController.numberOfPages
- https://bugs.webkit.org/show_bug.cgi?id=42694
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleNumberOfPages):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::numberOfPages):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- 2011-04-05 Darin Adler <darin@apple.com>
- Reviewed by Alexey Proskuryakov.
- [Mac] WebKit2: Escape key does not stop page loads when focus is on the web page
- https://bugs.webkit.org/show_bug.cgi?id=57893
- <rdar://problem/9130486>
- * UIProcess/API/mac/PageClientImpl.h: Added executeSavedCommandBySelector.
- * UIProcess/API/mac/PageClientImpl.mm: Renamed internal Objective-C classes to use
- the WebKit2 Objective-C class prefix, WK, rather than the WebKit1 Objective-C class
- prefix, Web. Removed some unneeded explicit WebKit namespace prefixes.
- (-[WKEditCommandObjC initWithWebEditCommandProxy:]): Removed unneeded WebKit
- namespace prefix.
- (-[WKEditCommandObjC command]): Ditto.
- (-[WKEditorUndoTargetObjC undoEditing:]): Updated for new class name.
- (-[WKEditorUndoTargetObjC redoEditing:]): Ditto.
- (WebKit::PageClientImpl::PageClientImpl): Ditto.
- (WebKit::PageClientImpl::registerEditCommand): Ditto.
- (WebKit::PageClientImpl::executeSavedCommandBySelector): Added.
- * UIProcess/API/mac/WKView.mm: Renamed internal Objective-C categories to use the
- WebKit2 Objective-C prefix, WK, rather than the WebKit1 Objective-C prefix, Web,
- or no prefix at all. Tweaked use of extern "C" a little.
- (-[WKView doCommandBySelector:]): Tweaked the comment.
- (-[WKView _executeSavedCommandBySelector:]): Added. For use when command is not handled
- by WebCore.
- (-[WKResponderChainSink initWithResponderChain:]): Added. Based on the
- WebResponderChainSink class in WebKit1.
- (-[WKResponderChainSink detach]): Added.
- (-[WKResponderChainSink didReceiveUnhandledCommand]): Added.
- (-[WKResponderChainSink noResponderFor:]): Added.
- (-[WKResponderChainSink doCommandBySelector:]): Added.
- (-[WKResponderChainSink tryToPerform:with:]): Added.
- * UIProcess/API/mac/WKViewInternal.h: Added declaration of _executeSavedCommandBySelector:
- method. Also removed unneeded includes.
- * UIProcess/PageClient.h: Added executeSavedCommandBySelector.
- * UIProcess/WebPageProxy.h: Added executeSavedCommandBySelector.
- * UIProcess/WebPageProxy.messages.in: Added ExecuteSavedCommandBySelector.
- * UIProcess/mac/WebFullScreenManagerProxyMac.mm: Updated includes.
- * UIProcess/mac/WebPageProxyMac.mm:
- (WebKit::WebPageProxy::executeSavedCommandBySelector): Added.
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::executeKeypressCommandsInternal): Send the synchronous
- ExecuteSavedCommandBySelector message when a command is not handled by WebCore.
- 2011-04-05 Anders Carlsson <andersca@apple.com>
- Reviewed by Alexey Proskuryakov.
- Some plug-in content is displayed upside down in Unity plug-in
- https://bugs.webkit.org/show_bug.cgi?id=57895
- <rdar://problem/9212003>
- Create the flipped geometry layer in the web process instead of the plug-in process,
- which matches what we do in WebKit1.
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformPostInitialize):
- * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
- (WebKit::PluginProxy::pluginLayer):
- 2011-04-05 Anders Carlsson <andersca@apple.com>
- Reviewed by Darin Adler.
- Assertion failure when navigating quickly between file URLs
- https://bugs.webkit.org/show_bug.cgi?id=57884
- <rdar://problem/9080559>
- Remove bogus assertion. The pending provisional sandbox extension can be
- non-null if the current provisional load fails because we're about to load a new
- page that also has a sandbox extension.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
- 2011-04-05 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- Grant the web process access to ~/Library/Preferences/com.apple.universalaccess.plist
- https://bugs.webkit.org/show_bug.cgi?id=57879
- The web process needs access to the unviersal access preferences to determine if full keyboard
- access is enabled. I've filed <rdar://problem/9237619> which tracks reading this preference in the UI
- process and sending it over to the web process whenever it changes.
- * WebProcess/com.apple.WebProcess.sb:
- 2011-04-05 Dean Jackson <dino@apple.com>
- Reviewed by Simon Fraser.
- Add parentheses around && within || to avoid clang warning.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
- 2011-04-05 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- Add two more entries to the sandbox profile
- https://bugs.webkit.org/show_bug.cgi?id=57875
- Allow read-access to /Library/Dictionaries since WebCore::nextBreakablePosition
- ends up calling into ICU which accesses the dictionary.
- Allow Mach access to com.apple.networkd since it's used by CFNetwork.
- * WebProcess/com.apple.WebProcess.sb:
- 2011-04-05 Anders Carlsson <andersca@apple.com>
- Reviewed by Oliver Hunt.
- Invalidate callbacks if the WebPageProxy is no longer valid
- https://bugs.webkit.org/show_bug.cgi?id=57873
- <rdar://problem/9059717>
- Audit all function calls that take callbacks and make sure to invalidate the callbacks
- if the web page is no longer valid.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::runJavaScriptInMainFrame):
- (WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
- (WebKit::WebPageProxy::getSourceForFrame):
- (WebKit::WebPageProxy::getContentsAsString):
- (WebKit::WebPageProxy::getSelectionOrContentsAsString):
- (WebKit::WebPageProxy::getMainResourceDataOfFrame):
- (WebKit::WebPageProxy::getResourceDataFromFrame):
- (WebKit::WebPageProxy::getWebArchiveOfFrame):
- (WebKit::WebPageProxy::forceRepaint):
- (WebKit::WebPageProxy::computePagesForPrinting):
- (WebKit::WebPageProxy::drawRectToPDF):
- (WebKit::WebPageProxy::drawPagesToPDF):
- 2011-04-05 Adam Roben <aroben@apple.com>
- Disable accelerated compositing on Windows machines that don't support it
- This includes machines without the necessary graphics hardware, and machines without
- WebKitQuartzCoreAdditions (like the Windows 7 Release (WebKit2 Tests) bots).
- Fixes <http://webkit.org/b/57870> REGRESSION (r82960): Lots of tests crashing in
- DrawingAreaImpl::enterAcceleratedCompositingMode on Windows 7 Release (WebKit2 Tests)
- Reviewed by Anders Carlsson.
- * WebProcess/WebPage/LayerTreeHost.h:
- (WebKit::LayerTreeHost::supportsAcceleratedCompositing): Added. On platforms other than
- Windows, this always returns true.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences): Only enable accelerated compositing-related
- preferences if the machine supports accelerated compositing.
- * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
- (WebKit::LayerTreeHostCAWin::supportsAcceleratedCompositing): Added. Creates a view, asks it
- if it can draw, and returns the result.
- * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Added supportsAcceleratedCompositing.
- * WebProcess/WebPage/win/LayerTreeHostWin.cpp: Added.
- (WebKit::LayerTreeHost::supportsAcceleratedCompositing): Added. Calls through to
- LayerTreeHostCAWin in configurations that support that class. Otherwise just returns false.
- * win/WebKit2.vcproj: Added LayerTreeHostWin.cpp. Let VS reorder some other files.
- 2011-04-05 Adam Roben <aroben@apple.com>
- Make accelerated compositing work in WebKit2 on Windows
- LayerTreeHostCAWin uses WKCACFView to render each frame to an image, then has
- DrawingAreaImpl send that image over to the UI process (just like it does for
- non-accelerated rendering). It's unfortunate that this requires reading every frame back
- from the GPU into system memory. More efficient solutions can be explored in the future.
- Fixes <http://webkit.org/b/45567>.
- Reviewed by Anders Carlsson.
- * DerivedSources.make: Added $(WebKit2) to the VPATH so that DerivedSources.make can be
- found when used as a target dependency. Added rules to generate a HeaderDetection.h file on
- Windows. If we can find WebKitQuartzCoreAdditions headers, we define HAVE_WKQCA in
- HeaderDetection.h.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::setLayerHostNeedsDisplay):
- * WebProcess/WebPage/DrawingAreaImpl.h:
- Added setLayerHostNeedsDisplay. Lets the layer host tell the DrawingAreaImpl that it has a
- new frame to render. This should only be called by layer hosts that participate in
- DrawingAreaImpl's display mechanism.
- * WebProcess/WebPage/LayerTreeHost.cpp:
- (WebKit::LayerTreeHost::create): Only try to instantiate LayerTreeHostCAWin if we have
- WebKitQuartzCoreAdditions, since it depends on that library.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences): Removed code that forced accelerated compositing to be
- disabled on Windows.
- * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
- (WebKit::registerDummyWindowClass): Registers the window class we use for the dummy window.
- (WebKit::createDummyWindow): Creates the dummy window we pass to WKCACFView so that D3D can
- determine the display mode, etc. (The window is never shown on screen.)
- (WebKit::LayerTreeHostCAWin::LayerTreeHostCAWin): Initialize new members.
- (WebKit::LayerTreeHostCAWin::platformInitialize): Create our dummy window and view and
- associate the two. We set ourselves as the view's context's user data so that
- PlatformCALayer can get our AbstractCACFLayerTreeHost pointer as needed.
- (WebKit::LayerTreeHostCAWin::invalidate): Cancel any pending flushes, tear down our view,
- and destroy the dummy window if no other layer host is using it.
- (WebKit::LayerTreeHostCAWin::scheduleLayerFlush): Ask LayerChangesFlusher to call us back
- soon to perform the flush.
- (WebKit::LayerTreeHostCAWin::participatesInDisplay): Added. Returns true, since we render
- each frame to an image.
- (WebKit::LayerTreeHostCAWin::needsDisplay): Added. Returns true if it's now time to
- displayReturns true if it's now time to display.
- (WebKit::LayerTreeHostCAWin::timeUntilNextDisplay): Added. Returns how many seconds remain
- before we need to display again.
- (WebKit::size): Added. Helper function to get the size of a WKCACFImage.
- (WebKit::toShareableBitmap): Added. Helper function to convert a WKCACFImage to a
- ShareableBitmap.
- (WebKit::LayerTreeHostCAWin::display): Added. Renders the next frame to an image and stuffs
- the image into the UpdateInfo struct.
- (WebKit::LayerTreeHostCAWin::sizeDidChange): Added. Tells the view about the new size.
- (WebKit::LayerTreeHostCAWin::forceRepaint): Added. Flushes any pending changes to the view.
- (WebKit::LayerTreeHostCAWin::contextDidChangeCallback): Added. WKCACFView calls this
- whenever any changes made to the view or its layer tree have been flushed. Just calls
- through to contextDidChange.
- (WebKit::LayerTreeHostCAWin::contextDidChange): Added. Tells layers that they've started
- animating, and tells the DrawingAreaImpl that we need to display again.
- (WebKit::LayerTreeHostCAWin::rootLayer): Added. Gets the root layer's PlatformCALayer.
- (WebKit::LayerTreeHostCAWin::addPendingAnimatedLayer): Added. Stores the layer so that we
- can tell it animations have started the next time we get a contextDidChange callback.
- (WebKit::LayerTreeHostCAWin::layerTreeDidChange): Added. Schedules a flush, unless we're
- already in the process of flushing. This code came from WebCore::WKCACFViewLayerTreeHost.
- (WebKit::LayerTreeHostCAWin::flushPendingLayerChangesNow): Added. Performs the flush. This
- code was adapted from WebCore::WKCACFViewLayerTreeHost.
- * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Wrapped this whole header in HAVE(WKQCA),
- since this class only works when WebKitQuartzCoreAdditions is available. Added a bunch of
- new members.
- 2011-04-04 Adam Roben <aroben@apple.com>
- Add a way for LayerTreeHost to participate in DrawingAreaImpl's normal display mechanism
- When LayerTreeHost participates in display, it renders each frame into a bitmap.
- DrawingAreaImpl sends the bitmap to the UI process in an Update message, just like in
- non-accelerated compositing mode. The UI process never knows that accelerated compositing is
- going on. (When LayerTreeHost does not participate in display, as on Mac, it is responsible
- for getting bits from the web process to the UI process.)
- No LayerTreeHost uses this mechanism (yet). This patch should cause no change in behavior.
- Fixes <http://webkit.org/b/57792> LayerTreeHost needs a way to render frames to a bitmap
- Reviewed by Anders Carlsson.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::forceRepaint): If the layer tree host participates in display,
- perform a display (like in the non-accelerated case).
- (WebKit::DrawingAreaImpl::layerHostDidFlushLayers): Don't send an
- EnterAcceleratedCompositing message to the UI process if the layer tree host participates in
- display. In that case, the UI process doesn't even need to know we're using accelerated
- compositing in the web process.
- (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Go through the normal display
- mechanism if we have a layer tree host that participates in display.
- (WebKit::DrawingAreaImpl::didUpdate): Don't ignore DidUpdate messages when we have a layer
- tree host that participates in display.
- (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): If the new layer tree host
- participates in display, let the display timer continue to run and continue to expect
- DidUpdate messages so that we don't interrupt the normal display mechanism. We still clear
- out m_dirtyRegion, m_scrollRect, and m_scrollOffset, though, because the layer tree host is
- still responsible for keeping track of those things even when it participates in display.
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): If the outgoing layer tree host
- was participating in display, just send another Update message instead of an
- ExitAcceleratedCompositing message, since the UI process never even knew we were using
- accelerated compositing.
- (WebKit::DrawingAreaImpl::displayTimerFired): If we have a layer tree host that's
- participating in display, ask it when it next needs to display when scheduling our timer.
- (WebKit::DrawingAreaImpl::scheduleDisplay):
- (WebKit::DrawingAreaImpl::display):
- If we have a layer tree host that's participating in display, it will keep track of its own
- dirty region, so ask it if it needs display rather than checking our own dirty region.
- (WebKit::DrawingAreaImpl::display): If we have a layer tree host that's participating in
- display, don't bail out. Instead, tell it to display rather than asking the page to paint.
- Moved the setting of updateInfo.viewSize earlier so that it will be set even when the layer
- tree host is displaying. Other changes are just due to indentation.
- * WebProcess/WebPage/LayerTreeHost.h:
- (WebKit::LayerTreeHost::participatesInDisplay):
- (WebKit::LayerTreeHost::needsDisplay):
- (WebKit::LayerTreeHost::timeUntilNextDisplay):
- (WebKit::LayerTreeHost::display):
- Stubbed out these functions. Derived classes can override them to participate in display.
- 2011-04-04 MORITA Hajime <morrita@google.com>
- Reviewed by Ryosuke Niwa.
- [Refactoring] SpellCheckingResult should be replaced with TextCheckingResult
- https://bugs.webkit.org/show_bug.cgi?id=56085
-
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::requestCheckingOfString):
- * WebProcess/WebCoreSupport/WebEditorClient.h:
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- (WebKit::WebEditorClient::checkTextOfParagraph):
- 2011-04-05 Alejandro G. Castro <alex@igalia.com>
- Another compilation fix after r82929 horrible patch merge.
- * UIProcess/WebPageProxy.messages.in:
- 2011-04-05 Alejandro G. Castro <alex@igalia.com>
- Fix compilation error after r82929.
- * WebProcess/WebPage/WebPage.h:
- 2011-04-05 Amruth Raj <amruthraj@motorola.com>, Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> and Alejandro G. Castro <alex@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Implement WebPage class for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=54230
- Added functions to handle the generation of commands from the
- keycodes.
- * GNUmakefile.am:
- * Scripts/webkit2/messages.py:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/gtk/WebPageProxyGtk.cpp:
- (WebKit::WebPageProxy::getEditorCommandsForKeyEvent):
- * UIProcess/gtk/WebView.cpp:
- (WebKit::backspaceCallback):
- (WebKit::selectAllCallback):
- (WebKit::cutClipboardCallback):
- (WebKit::copyClipboardCallback):
- (WebKit::pasteClipboardCallback):
- (WebKit::toggleOverwriteCallback):
- (WebKit::popupMenuCallback):
- (WebKit::showHelpCallback):
- (WebKit::deleteFromCursorCallback):
- (WebKit::moveCursorCallback):
- (WebKit::WebView::WebView):
- (WebKit::WebView::getEditorCommandsForKeyEvent):
- * UIProcess/gtk/WebView.h:
- (WebKit::WebView::addPendingEditorCommand):
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- * WebProcess/WebCoreSupport/WebEditorClient.h:
- * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: Added.
- (WebKit::WebEditorClient::getEditorCommandsForKeyEvent):
- (WebKit::WebEditorClient::executePendingEditorCommands):
- (WebKit::WebEditorClient::handleKeyboardEvent):
- (WebKit::WebEditorClient::handleInputMethodKeydown):
- * WebProcess/WebPage/WebPage.cpp:
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/gtk/WebPageGtk.cpp: Added.
- (WebKit::WebPage::platformInitialize):
- (WebKit::WebPage::platformPreferencesDidChange):
- (WebKit::scroll):
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
- (WebKit::WebPage::platformHasLocalDataForURL):
- (WebKit::WebPage::cachedResponseMIMETypeForURL):
- (WebKit::WebPage::platformCanHandleRequest):
- 2011-04-05 Csaba Osztrogonác <ossy@webkit.org>
- Remove duplicate API from WKContext
- <rdar://problem/8727879>
- https://bugs.webkit.org/show_bug.cgi?id=57815
- Unreviewed buildfix after r82906.
- Add UNUSED_PARAM to resourceCachesToClear, because
- it is only used within #if USE(CFURLCACHE) guard.
- * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
- (WebKit::WebResourceCacheManager::clearCacheForOrigin):
- 2011-04-04 Sam Weinig <sam@webkit.org>
- Reviewed by Brian Weinstein.
- Remove duplicate API from WKContext
- <rdar://problem/8727879>
- https://bugs.webkit.org/show_bug.cgi?id=57815
- - Remove WKContextClearResourceCaches and WKContextClearApplicationCache in favor
- of their more modern counterparts WKResourceCacheManagerClearCacheForAllOrigins
- and WKApplicationCacheManagerDeleteAllEntries.
- - Expand clearing functionality of WKResourceCacheManager by adding type of resources
- to clear.
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
- Remove clearing bools.
- * UIProcess/API/C/WKAPICast.h:
- (WebKit::toResourceCachesToClear):
- Update for new name of enum.
- * UIProcess/API/C/WKContext.cpp:
- * UIProcess/API/C/WKContext.h:
- Remove WKContextClearResourceCaches and WKContextClearApplicationCache.
- * UIProcess/API/C/WKResourceCacheManager.cpp:
- (WKResourceCacheManagerClearCacheForOrigin):
- (WKResourceCacheManagerClearCacheForAllOrigins):
- * UIProcess/API/C/WKResourceCacheManager.h:
- Add WKResourceCachesToClear enum and use it in the clearing functions.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- (WebKit::WebContext::ensureWebProcess):
- * UIProcess/WebContext.h:
- * WebProcess/WebProcess.messages.in:
- Remove clearing functions and setting of bools for clear on launch.
- * UIProcess/WebFullScreenManagerProxy.cpp:
- Remove unnecessary #include.
- * UIProcess/WebResourceCacheManagerProxy.cpp:
- (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
- (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins):
- * UIProcess/WebResourceCacheManagerProxy.h:
- * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
- (WebKit::WebResourceCacheManager::clearCacheForOrigin):
- (WebKit::WebResourceCacheManager::clearCacheForAllOrigins):
- * WebProcess/ResourceCache/WebResourceCacheManager.h:
- * WebProcess/ResourceCache/WebResourceCacheManager.messages.in:
- Add enum parameter describing what type of caches to clear.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess):
- (WebKit::WebProcess::clearResourceCaches):
- * WebProcess/WebProcess.h:
- No longer need to use opaque type now that it is not a message receiver.
- 2011-04-04 David Kilzer <ddkilzer@apple.com>
- <http://webkit.org/b/57384> CFNetwork and WebCore load priorities should match
- Reviewed by Alexey Proskuryakov.
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Added initialization for
- wkSetHTTPPipeliningMaximumPriority().
- 2011-04-04 Anders Carlsson <andersca@apple.com>
- Reviewed by Darin Adler.
- Send NPCocoaEventFlagsChanged events
- https://bugs.webkit.org/show_bug.cgi?id=57811
- <rdar://problem/9215600>
- * Shared/WebEvent.h:
- (WebKit::WebEvent::capsLockKey):
- Add CapsLock modifier and getter.
- * Shared/mac/WebEventFactory.mm:
- (WebKit::modifiersForEvent):
- Check for NSAlphaShiftKeyMask and set the CapsLockKey modifier.
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::modifierFlags):
- Check for CapsLockKey and set NSAlphaShiftKeyMask.
- (WebKit::isFlagsChangedEvent):
- Return whether a given event is a Cocoa flags changed event.
- (WebKit::initializeKeyboardEvent):
- If this is a flags changed event, set the event type to NPCocoaEventFlagsChanged.
- 2011-04-04 Anders Carlsson <andersca@apple.com>
- Reviewed by Darin Adler.
- Don't discard the backing stores of WKViews in the key window
- https://bugs.webkit.org/show_bug.cgi?id=57808
- <rdar://problem/9110793>
- <rdar://problem/9194284>
- <rdar://problem/9222216>
- * UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::setBackingStoreIsDiscardable):
- Add empty stub.
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
- Initialize m_isBackingStoreDiscardable to true.
- (WebKit::DrawingAreaProxyImpl::setBackingStoreIsDiscardable):
- Set m_isBackingStoreDiscardable and schedule or stop the discard backing store timer.
- (WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon):
- Don't start the timer if m_isBackingStoreDiscardable is false.
- * UIProcess/DrawingAreaProxyImpl.h:
- Add m_isBackingStoreDiscardable.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::viewStateDidChange):
- Mark the backing store as discardable if the view is hidden or if the containing window
- is not active.
- 2011-04-04 Jade Han <jade.han@nokia.com>
- Reviewed by Csaba Osztrogonác.
- Symbian build fix.
- https://bugs.webkit.org/show_bug.cgi?id=54977
- * config.h:
- 2011-04-04 Brady Eidson <beidson@apple.com>
- Rubberstamped by Adam Roben.
- Add WKIconDatabase* headers to the WebKit2 export for Windows:
- * win/WebKit2Generated.make:
- 2011-04-04 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Get rid of WebContext::process() in more places
- https://bugs.webkit.org/show_bug.cgi?id=57787
- Migrate calls to WebContext::process() over to sendToAllProcesses and
- sendToAllProcessesRelaunchingThemIfNecessary.
- Add FIXMEs for things that need to be fixed in order to support multiple web processes.
-
- * UIProcess/Downloads/DownloadProxy.cpp:
- (WebKit::DownloadProxy::cancel):
- * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
- (WebKit::WebPluginSiteDataManager::getSitesWithData):
- (WebKit::WebPluginSiteDataManager::clearSiteData):
- * UIProcess/VisitedLinkProvider.cpp:
- (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
- * UIProcess/WebApplicationCacheManagerProxy.cpp:
- (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):
- (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
- (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries):
- * UIProcess/WebCookieManagerProxy.cpp:
- (WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
- (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
- * UIProcess/WebDatabaseManagerProxy.cpp:
- (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
- (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
- (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
- (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
- (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
- (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
- * UIProcess/WebGeolocationManagerProxy.cpp:
- (WebKit::WebGeolocationManagerProxy::providerDidChangePosition):
- (WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
- * UIProcess/WebIconDatabase.cpp:
- (WebKit::WebIconDatabase::getLoadDecisionForIconURL):
- (WebKit::WebIconDatabase::didFinishURLImport):
- * UIProcess/WebKeyValueStorageManagerProxy.cpp:
- (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
- (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
- (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
- * UIProcess/WebMediaCacheManagerProxy.cpp:
- (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache):
- (WebKit::WebMediaCacheManagerProxy::clearCacheForHostname):
- (WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames):
- * UIProcess/WebResourceCacheManagerProxy.cpp:
- (WebKit::WebResourceCacheManagerProxy::getCacheOrigins):
- (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
- (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins):
- 2011-04-04 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Dan Bernstein.
- REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=51230
- <rdar://problem/8780989>
- <rdar://problem/9015250> REGRESSION (WebKit2): Key events not fired for modifier keys
- * UIProcess/API/mac/WKView.mm:
- (-[WKView flagsChanged:]): Ported from WebHTMLView.
- (-[WKView _interpretKeyEvent:withCachedTextInputState:savingCommandsTo:WebCore::]):
- AppKit isn't happy about attempts to interpret NSFlagsChanged, but WK2 lacked the check.
- 2011-04-04 Steve Falkenburg <sfalken@apple.com>
- Reviewed by Adam Roben.
- Remove unused AnalyzeWithLargeStack code from Windows build files
- https://bugs.webkit.org/show_bug.cgi?id=57771
-
- This was used for us to build with prefast automatically,
- but it is out-of-date and hasn't been used for some time.
- Removing completely for now.
- * win/WebKitPreBuild.cmd:
- 2011-04-04 Anders Carlsson <andersca@apple.com>
- Attempt to fix the Windows build.
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::setShouldPaintNativeControls):
- 2011-04-04 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- Make it easier to send a message to all processes in a context
- https://bugs.webkit.org/show_bug.cgi?id=57776
- Add WebContext::sendToAllProcesses and WebContext::sendToAllProcessesRelaunchingThemIfNecessary
- as a first step towards getting rid of WebContext::process() and getting rid of a class of crashers
- where WebContext::process() is null.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::initializeHistoryClient):
- (WebKit::WebContext::languageChanged):
- (WebKit::WebContext::setAlwaysUsesComplexTextCodePath):
- (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
- (WebKit::WebContext::registerURLSchemeAsSecure):
- (WebKit::WebContext::setDomainRelaxationForbiddenForURLScheme):
- (WebKit::WebContext::setCacheModel):
- (WebKit::WebContext::setDefaultRequestTimeoutInterval):
- (WebKit::WebContext::clearResourceCaches):
- (WebKit::WebContext::clearApplicationCache):
- (WebKit::WebContext::setEnhancedAccessibility):
- (WebKit::WebContext::startMemorySampler):
- Use sendToAllProcesses.
- (WebKit::WebContext::stopMemorySampler):
- Use sendToAllProcesses. This is a slight policy change where we now create a sandbox extension even
- if there's no process around. Since this is a debugging tool it seems OK to do this.
- * UIProcess/WebContext.h:
- Get rid of hasValidProcess.
- (WebKit::WebContext::sendToAllProcesses):
- If we have a process and we can send messages to it, then do so.
- (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
- Relaunch the web process and send the message.
- * UIProcess/WebCookieManagerProxy.cpp:
- (WebKit::WebCookieManagerProxy::deleteCookiesForHostname):
- (WebKit::WebCookieManagerProxy::deleteAllCookies):
- (WebKit::WebCookieManagerProxy::startObservingCookieChanges):
- (WebKit::WebCookieManagerProxy::stopObservingCookieChanges):
- (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
- Use sendToAllProcesses and sendToAllProcessesRelaunchingThemIfNecessary.
- 2011-04-04 Adam Roben <aroben@apple.com>
- Move a teensy bit of non-Mac-specific code up to LayerTreeHostCA
- Fixes <http://webkit.org/b/57774> LayerTreeHostCA should know how to flip the root layer
- Reviewed by Anders Carlsson.
- * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
- (WebKit::LayerTreeHostCA::initialize): Cross-platformized and moved some code here...
- * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
- (WebKit::LayerTreeHostCAMac::platformInitialize): ...from here.
- 2011-04-01 Enrica Casucci <enrica@apple.com>
- Reviewed by Darin Adler.
- WK2: Reproducible crash when dragging out of or over Safari window.
- https://bugs.webkit.org/show_bug.cgi?id=57654
- <rdar://problem/9139755>
-
- AppKit does not retain the owner given to the pasteboard, therefore we
- need to give the ownership of the retained pointer to NSPasteboard.
- Also, dragImage will release the NSFilePromiseDragSource object, therefore
- we retain it before calling dragImage to be able to control its lifetime.
-
- * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
- (WebKit::WebDragClient::declareAndWriteDragImage): Passing ownership
- of the pointer to AppKit when providing the owner pointer to the NSPasteboard
- object.
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::platformDragEnded): Retaining the NSFilePromiseDragSource
- since dragImage will release it.
- 2011-03-30 Jer Noble <jer.noble@apple.com>
- Reviewed by Dan Bernstein.
- WebKit2: No "open in preview" contextual menu item for PDFs
- https://bugs.webkit.org/show_bug.cgi?id=57527
- Add support for opening a PDF in the associated application from the
- context menu.
- * UIProcess/API/mac/PDFViewController.mm:
- (_applicationInfoForMIMEType): Added, copied from WebKit/WebPDFView.mm
- (-[WKPDFView _openWithFinder:]): Added.
- (-[WKPDFView hitTest:]): Added, copied from WebKit/WebPDFView.mm.
- (-[WKPDFView menuForEvent:]): Added, adapted from WebKit/WebPDFVie.mm.
- (-[WKPDFView validateUserInterfaceItem:]): Added.
- 2011-04-04 Chang Shu <cshu@webkit.org>
- Reviewed by Darin Adler.
- WebKitTestRunner needs layoutTestController.setAllowFileAccessFromFileURLs
- https://bugs.webkit.org/show_bug.cgi?id=57572
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::decode):
- (WebKit::WebPreferencesStore::overrideAllowFileAccessFromFileURLsForTestRunner):
- * Shared/WebPreferencesStore.h:
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleSetAllowFileAccessFromFileURLs):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::setAllowFileAccessFromFileURLs):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- 2011-04-04 Brady Eidson <beidson@apple.com>
- Reviewed by Darin Adler.
- https://bugs.webkit.org/show_bug.cgi?id=57683
- Flesh out WK2 Icon Database API
- For now the new API will add a client interface where the WK1 version used NSNotifications.
- If we decide we'd like the granularity of specific callback functions later,
- they can easily be added on.
- Project file nonsense:
- * GNUmakefile.am:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add a WKIconDatabaseClient and some new API:
- * UIProcess/API/C/WKIconDatabase.cpp:
- (WKIconDatabaseSetIconDatabaseClient):
- (WKIconDatabaseRemoveAllIcons):
- (WKIconDatabaseCheckIntegrityBeforeOpening):
- * UIProcess/API/C/WKIconDatabase.h:
- * UIProcess/API/C/cg/WKIconDatabaseCG.cpp:
- (WKIconDatabaseTryGetCGImageForURL): Renamed to "try" for subtle clarification.
- * UIProcess/API/C/cg/WKIconDatabaseCG.h:
- Implementations for the new APIs:
- * UIProcess/WebIconDatabase.cpp:
- (WebKit::WebIconDatabase::retainIconForPageURL): Remove excessive logging.
- (WebKit::WebIconDatabase::releaseIconForPageURL): Ditto.
- (WebKit::WebIconDatabase::imageForPageURL):
- (WebKit::WebIconDatabase::removeAllIcons):
- (WebKit::WebIconDatabase::checkIntegrityBeforeOpening):
- (WebKit::WebIconDatabase::initializeIconDatabaseClient):
- (WebKit::WebIconDatabase::didImportIconURLForPageURL): Dispatch a client callback,
- much like the WK1 API uses notifications.
- (WebKit::WebIconDatabase::didImportIconDataForPageURL): Ditto.
- (WebKit::WebIconDatabase::didChangeIconForPageURL): Ditto.
- (WebKit::WebIconDatabase::didRemoveAllIcons): Ditto.
- * UIProcess/WebIconDatabase.h:
- * UIProcess/WebIconDatabaseClient.cpp: Added.
- (WebKit::WebIconDatabaseClient::didChangeIconForPageURL):
- (WebKit::WebIconDatabaseClient::didRemoveAllIcons):
- * UIProcess/WebIconDatabaseClient.h: Added.
- 2011-04-04 Carlos Garcia Campos <cgarcia@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Main loop sources are leaked in RunLoopGtk
- https://bugs.webkit.org/show_bug.cgi?id=57618
- * Platform/RunLoop.h:
- (RunLoop::TimerBase::isRepeating):
- * Platform/gtk/RunLoopGtk.cpp:
- (RunLoop::~RunLoop): Make sure main loop is currently running
- before calling g_main_loop_quit(), RunLoop::stop() might have been
- called.
- (RunLoop::wakeUp): Use an idle source with default priority
- instead of a timeout one with a 0 interval.
- (RunLoop::TimerBase::clearTimerSource): New method to clear the
- timer.
- (RunLoop::TimerBase::destroyNotifyCallback): Destroy notify
- callback called when the source is destroyed to clear the timer.
- (RunLoop::TimerBase::timerFiredCallback): Use the same callback for
- repeating and no repeating timers.
- (RunLoop::TimerBase::start): g_source_attach() increments the
- source reference counter, so use GRefPtr to make sure the source
- is freed.
- (RunLoop::TimerBase::stop): Use clearTimerSource().
- 2011-04-03 Dan Bernstein <mitz@apple.com>
- Build fix.
- * Shared/DictionaryPopupInfo.cpp:
- (WebKit::DictionaryPopupInfo::encode):
- (WebKit::DictionaryPopupInfo::decode):
- * Shared/DictionaryPopupInfo.h:
- 2011-04-03 Dan Bernstein <mitz@apple.com>
- Reviewed by Maciej Stachowiak.
- <rdar://problem/9227839> REGRESSION: Reproducible crash in Snow Leopard when trying to show the Dictionary panel or application
- https://bugs.webkit.org/show_bug.cgi?id=57739
- * Shared/DictionaryPopupInfo.cpp:
- (WebKit::DictionaryPopupInfo::encode): Do not encode the options dictionary on Snow Leopard.
- (WebKit::DictionaryPopupInfo::decode): Do not decode the options dictionary on Snow Leopard.
- * Shared/DictionaryPopupInfo.h: Removed the options member variable on Snow Leopard.
- * Shared/Plugins/PluginQuirks.h:
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::performDictionaryLookupForRange): Do not set the options member variable on
- Snow Leopard.
- 2011-04-02 Sam Weinig <sam@webkit.org>
- Reviewed by Beth Dakin.
- https://bugs.webkit.org/show_bug.cgi?id=57605
- Frame::pageScaleFactor() should not affect getBoundingClientRect() or
- getClientRects()
- -and corresponding-
- <rdar://problem/9194541>
- Add DRT support for the scaleWebView SPI.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageSetScaleAtOrigin):
- * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
- 2011-04-02 Sam Weinig <sam@webkit.org>
- Reviewed by Oliver Hunt.
- "Search in Spotlight" broken in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=57712
- Proxy spotlight searching to the UIProcess.
- * UIProcess/WebPageProxy.messages.in:
- Add new message. Re-organize messages to put all mac specific ones together.
- * UIProcess/WebPageProxy.h:
- * UIProcess/mac/WebPageProxyMac.mm:
- (WebKit::WebPageProxy::speak):
- (WebKit::WebPageProxy::searchWithSpotlight):
- Moved code to trigger spotlight here. Use WTF::String -> NSString conversion function
- instead of relying on the built in conversion since it doesn't always work in the UIProcess.
- * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
- (WebKit::WebContextMenuClient::searchWithSpotlight):
- Post message to the UIProcess to do the searching.
- 2011-04-02 Jeff Miller <jeffm@apple.com>
- Reviewed by Dan Bernstein.
- WebKit2: Specify the certificate store in WKBundleSetClientCertificate()
- https://bugs.webkit.org/show_bug.cgi?id=57707
- Include the name of the system certificate store that the client certificate came from in WKBundleSetClientCertificate().
- The PCCERT_CONTEXT for the client certificate we create from the message from the UI process doesn't contain enough information to actually use it in a request, we need to get the real certificate from the certificate store (which is typically the "MY" store).
- * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.cpp:
- (WKBundleSetClientCertificate): Add certificateSystemStoreName to parameters.
- * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.h: Add certificateSystemStoreName to WKBundleSetClientCertificate() parameters.
- * WebProcess/InjectedBundle/InjectedBundle.h: Add certificateSystemStoreName to setClientCertificate() parameters.
- * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
- (WebKit::InjectedBundle::setClientCertificate): Read the real certificate from the certificate store.
- 2011-04-02 Sam Weinig <sam@webkit.org>
- Reviewed by Dan Bernstein.
- Implement WKBundleFrameHasHorizontalScrollbar/WKBundleFrameHasVerticalScrollbar
- <rdar://problem/9225772>
- https://bugs.webkit.org/show_bug.cgi?id=57709
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameHasHorizontalScrollbar):
- (WKBundleFrameHasVerticalScrollbar):
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::hasHorizontalScrollbar):
- (WebKit::WebFrame::hasVerticalScrollbar):
- * WebProcess/WebPage/WebFrame.h:
- 2011-04-01 Jon Lee <jonlee@apple.com>
- Reviewed by Darin Adler.
- WebKit2: Type-to-select doesn't work in open <select> menu (53023)
- https://bugs.webkit.org/show_bug.cgi?id=53023
- <rdar://problem/8907678>
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in: adding new setPopupMenuSelectedIndex message for windows platform
- * UIProcess/win/WebPageProxyWin.cpp:
- (WebKit::WebPageProxy::setPopupMenuSelectedIndex):
- * UIProcess/win/WebPopupMenuProxyWin.h: moving setFocusedIndex() into public method
- * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
- (WebKit::WebPopupMenu::updateFromElement): send message back to UIProcess to update the selected element
- 2011-04-01 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Darin Adler.
- REGRESSION: Assertion failure when executing a complex custom key binding
- https://bugs.webkit.org/show_bug.cgi?id=57681
- Also completes a fix for
- <rdar://problem/9063782> WebKit2: Text fields in Safari don't honor custom key bindings
- * UIProcess/API/mac/WKView.mm: (-[WKView hasMarkedText]): There is no need to execute saved
- commands when they can't possibly change the result.
- 2011-04-01 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Anders Carlsson.
- Crash when calling WebPageProxy::setMemoryCacheClientCallsEnabled with an invalid Web Process
- https://bugs.webkit.org/show_bug.cgi?id=57680
- <rdar://problem/9202909>
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setMemoryCacheClientCallsEnabled): Add an isValid check before sending
- the message.
- 2011-03-31 Jer Noble <jer.noble@apple.com>
- Reviewed by Dan Bernstein.
- WebKit2: Save as PDF in Safari provides Untitled as default file name
- https://bugs.webkit.org/show_bug.cgi?id=57529
- Set the NSPrintOperation's jobTitle to the printing frame's title.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView printOperationWithPrintInfo:forFrame:]):
- 2011-04-01 Jer Noble <jer.noble@apple.com>
- Reviewed by Darin Adler.
- WebKit2: Link from PDF opens in a new tab instead of in the same tab
- https://bugs.webkit.org/show_bug.cgi?id=57528
- Notify the WebProcess that a link has been clicked so that the normal policy
- lookup can occur.
- * Shared/WebEvent.cpp:
- (WebKit::WebEvent::WebEvent): Initialize ivars in the default constructor.
- * Shared/WebEvent.h: Add WebEvent::NoType to Type enum.
- * Shared/WebMouseEvent.cpp:
- (WebKit::WebMouseEvent::WebMouseEvent): Ditto.
- * UIProcess/API/mac/PDFViewController.mm:
- (-[WKPDFView PDFViewWillClickOnLink:withURL:]): Handle the delegate
- function and override the PDFView default behavior.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveEvent): Handle the new WebEvent::NoType enum.
- (WebKit::WebPageProxy::linkClicked): Added. Send event through to WebPage.
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::linkClicked): Added. Call loadFrameRequest().
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in: Added LinkClicked.
- 2011-04-01 Sam Weinig <sam@webkit.org>
- Reviewed by Adam "Keyword Slasher" Roben.
- Remove unnecessary static keyword.
- * UIProcess/API/cpp/WKRetainPtr.h:
- (WebKit::adoptWK):
- 2011-04-01 Sam Weinig <sam@webkit.org>
- Reviewed by Adam Roben.
- Add adoptWK to WKRetainPtr.h
- https://bugs.webkit.org/show_bug.cgi?id=57670
- * UIProcess/API/cpp/WKRetainPtr.h:
- (WebKit::adoptWK):
- Add shared implementation of adoptWK. Previously both WebKitTestRunner
- and TestWebKitAPI had separate versions of it.
- 2011-04-01 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Shockwave plug-in doesn't accept mouse events
- https://bugs.webkit.org/show_bug.cgi?id=57653
- <rdar://problem/8483273>
- Add a missing break.
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::convertPoint):
- 2011-04-01 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- WebKitTestRunner needs layoutTestController.shadowRoot
- https://bugs.webkit.org/show_bug.cgi?id=57661
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
- (WKBundleNodeHandleGetRenderRect):
- (WKBundleNodeHandleGetElementBounds):
- (WKBundleNodeHandleCopyElementShadowRoot):
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
- (WebKit::InjectedBundleNodeHandle::elementShadowRoot):
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
- Add accessor for the shadowRoot of an element in the bundle.
- 2011-04-01 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Darin Adler.
- Make WebKit2 text input handling more like WebKit1
- https://bugs.webkit.org/show_bug.cgi?id=57649
- We now send more sync messages from UI process to Web process for NSTextInput protocol
- methods. Some of the exchanges are avoided by pre-calculating the responses before asking
- UI process to interpret key events, and also with each sync message sent during
- interpretation, and which could change the state.
- * Platform/CoreIPC/HandleMessage.h: (CoreIPC::callMemberFunction): Added a missing
- specialization for a function with 6 arguments and 2 returned values.
- * Scripts/webkit2/messages.py: Added TextInputState to struct list.
- * Shared/WebCoreArgumentCoders.h: Fixed a bug in CompositionUnderline encoding, which only
- encoded a part of Color field, and didn't match decoder.
- * Shared/mac/TextInputState.h: Added. This is state that's needed for IM machinery and that
- we don't want to send sync messages for. This is similar to SelectionState, but the latter
- is only updated asynchronously, and is thus less reliable.
- * UIProcess/API/mac/PageClientImpl.h: We don't "intercept", we "interpret".
- * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::interpretKeyEvent): Pass
- current text input state, and don't expect anything input method related in return, as input
- methods are now sync.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView doCommandBySelector:]):
- (-[WKView insertText:]):
- (-[WKView keyDown:]):
- (-[WKView _executeSavedKeypressCommands]):
- (-[WKView inputContext]):
- (-[WKView selectedRange]):
- (-[WKView hasMarkedText]):
- (-[WKView unmarkText]):
- (-[WKView setMarkedText:selectedRange:]):
- (-[WKView markedRange]):
- (-[WKView attributedSubstringFromRange:]):
- (-[WKView characterIndexForPoint:]):
- (-[WKView firstRectForCharacterRange:]):
- (-[WKView _interpretKeyEvent:withCachedTextInputState:savingCommandsTo:WebCore::]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/mac/WebPageProxyMac.mm:
- (WebKit::WebPageProxy::setComposition):
- (WebKit::WebPageProxy::confirmComposition):
- (WebKit::WebPageProxy::insertText):
- (WebKit::WebPageProxy::getSelectedRange):
- (WebKit::WebPageProxy::executeKeypressCommands):
- (WebKit::WebPageProxy::interpretQueuedKeyEvent):
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- (WebKit::WebEditorClient::handleKeyboardEvent):
- (WebKit::WebEditorClient::handleInputMethodKeydown):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::viewFrameInWindowCoordinates):
- * WebProcess/WebPage/WebPage.messages.in:
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::createSelectorExceptionMap):
- (WebKit::commandNameForSelectorName):
- (WebKit::currentTextInputState):
- (WebKit::frameForEvent):
- (WebKit::WebPage::executeKeypressCommandsInternal):
- (WebKit::WebPage::handleEditingKeyboardEvent):
- (WebKit::WebPage::setComposition):
- (WebKit::WebPage::confirmComposition):
- (WebKit::WebPage::insertText):
- (WebKit::WebPage::getSelectedRange):
- (WebKit::convertToRange):
- (WebKit::WebPage::executeKeypressCommands):
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
- Rewrote to be more like WebKit1.
- 2011-04-01 Chang Shu <cshu@webkit.org>
- Reviewed by Darin Adler.
- WebKitTestRunner needs layoutTestController.setDatabaseQuota
- https://bugs.webkit.org/show_bug.cgi?id=57568
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleSetDatabaseQuota):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::setDatabaseQuota):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- * WebProcess/WebCoreSupport/WebDatabaseManager.h:
- 2011-04-01 Timothy Hatcher <timothy@apple.com>
- Make momentum scroll event latching work in WebKit2 on Mac.
- <rdar://problem/8751861>
- Reviewed by Darin Adler.
- * Shared/mac/WebEventFactory.mm:
- (WebKit::momentumPhaseForEvent): Return a phase on older Mac system by using WKGetNSEventMomentumPhase.
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Remove IsLatchingWheelEvent, add GetNSEventMomentumPhase.
- 2011-04-01 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Anders Carlsson.
- Assertion failure (type == event.type()) after a web process crash
- https://bugs.webkit.org/show_bug.cgi?id=56228
- <rdar://problem/8806106>
- This partially un-confuses the UI process about key processing state after a web process
- crash. It may not be pefect yet - sending a KeyUp to a new process that never saw a KeyDown
- seems weird.
- * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::processDidCrash):
- 2011-04-01 Adam Roben <aroben@apple.com>
- Cairo build fix
- * WebProcess/WebPage/LayerTreeHost.cpp: Only pull in the LayerTreeHostCA derived classes for
- PLATFORM(CA) ports.
- 2011-03-31 Adam Roben <aroben@apple.com>
- Split LayerTreeHostCA into a base class and derived Mac and Win classes
- This will make it easier to customize the Mac and Windows implementations without adding too
- many #ifdefs.
- Fixes <http://webkit.org/b/57606> Windows and Mac should use separate LayerTreeHost classes
- Reviewed by Anders Carlsson.
- * WebKit2.xcodeproj/project.pbxproj: Added LayerTreeHostCAMac.h.
- * WebProcess/WebPage/LayerTreeHost.cpp:
- (WebKit::LayerTreeHost::create): Create a LayerTreeHostCAMac on Mac, and LayerTreeHostCAWin
- on Windows.
- * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
- (WebKit::LayerTreeHostCA::LayerTreeHostCA): Moved some code from here...
- (WebKit::LayerTreeHostCA::initialize): ...to here. This function will be called after the
- constructor returns, and thus can safely call functions that are pure virtual in this class
- and its base class. We now pass our LayerTreeContext to platformInitialize so that our
- derived classes can initialize it.
- (WebKit::LayerTreeHostCA::~LayerTreeHostCA): Removed Mac-specific code.
- (WebKit::LayerTreeHostCA::invalidate):
- (WebKit::LayerTreeHostCA::sizeDidChange):
- (WebKit::LayerTreeHostCA::forceRepaint):
- (WebKit::LayerTreeHostCA::didPerformScheduledLayerFlush):
- Removed platform* calls. Derived classes can just override these functions to do what they
- need.
- * WebProcess/WebPage/ca/LayerTreeHostCA.h: Removed Mac-specific pieces. Made some functions
- virtual so that derived classes can override them.
- * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: Added.
- * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
- (WebKit::LayerTreeHostCAMac::create): Create and initialize a host.
- (WebKit::LayerTreeHostCAMac::LayerTreeHostCAMac): Simple constructor.
- (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac): Moved code here from LayerTreeHostCA
- destructor.
- (WebKit::LayerTreeHostCAMac::platformInitialize): Removed direct uses of LayerTreeHostCA
- data members.
- (WebKit::LayerTreeHostCAMac::invalidate):
- (WebKit::LayerTreeHostCAMac::sizeDidChange):
- (WebKit::LayerTreeHostCAMac::forceRepaint):
- (WebKit::LayerTreeHostCAMac::didPerformScheduledLayerFlush):
- Renamed from platform*. Now call up to the base class.
- (WebKit::LayerTreeHostCAMac::flushPendingLayerChangesRunLoopObserverCallback): Updated type.
- * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
- (WebKit::LayerTreeHostCAWin::create): Create and initialize a host.
- (WebKit::LayerTreeHostCAWin::LayerTreeHostCAWin):
- (WebKit::LayerTreeHostCAWin::~LayerTreeHostCAWin):
- (WebKit::LayerTreeHostCAWin::platformInitialize):
- (WebKit::LayerTreeHostCAWin::scheduleLayerFlush):
- Stubbed out.
- * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Added.
- * win/WebKit2.vcproj: Added LayerTreeHostCAWin.h
- * win/WebKit2Apple.vsprops: Added WebProcess/WebPage/ca/win to the include path.
- 2011-03-31 Brent Fulgham <bfulgham@webkit.org>
- Unreviewed WinCairo build fix after r82632.
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::visibilityDidChange):
- 2011-03-31 Adam Roben <aroben@apple.com>
- Add SharedMemory::adopt, which can take ownership of an existing file mapping object
- Fixes <http://webkit.org/b/57599> Need a way to wrap an existing file mapping object in a
- SharedMemory
- Reviewed by Anders Carlsson.
- * Platform/SharedMemory.h: Added adopt.
- * Platform/win/SharedMemoryWin.cpp:
- (WebKit::SharedMemory::create): Moved code to adopt the HANDLE from here...
- (WebKit::SharedMemory::adopt): ...to here.
- 2011-03-31 Chang Shu <cshu@webkit.org>
- Reviewed by Darin Adler.
- WebKitTestRunner needs layoutTestController.clearAllDatabases
- https://bugs.webkit.org/show_bug.cgi?id=42540
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleClearAllDatabases):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::clearAllDatabases):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- * WebProcess/WebCoreSupport/WebDatabaseManager.h:
- 2011-03-31 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Add some more media related things to the sandbox profile.
- * WebProcess/com.apple.WebProcess.sb:
- 2011-03-31 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Tabbed pages redraw unnecessarily when activated
- https://bugs.webkit.org/show_bug.cgi?id=57589
- <rdar://problem/9218258>
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::visibilityDidChange):
- If we become visible and have no backing store, make sure to call backingStoreStateDidChange
- so that the next time we're asked to paint we'll wait for something to paint.
- (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
- Remove now redundant call to backingStoreStateDidChange.
- 2011-03-31 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Sandbox violations when playing back HTML5 video on YouTube
- <rdar://problem/8950692>
- * WebProcess/com.apple.WebProcess.sb:
- 2011-03-31 Darin Adler <darin@apple.com>
- Reviewed by Sam Weinig.
- Implement mouseDown, mouseUp, and mouseMoveTo in WebKitTestRunner
- https://bugs.webkit.org/show_bug.cgi?id=57573
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageSimulateMouseDown): Added.
- (WKBundlePageSimulateMouseUp): Added.
- (WKBundlePageSimulateMouseMotion): Added.
- * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added above functions.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::simulateMouseDown): Added.
- (WebKit::WebPage::simulateMouseUp): Added.
- (WebKit::WebPage::simulateMouseMotion): Added.
- * WebProcess/WebPage/WebPage.h: Added above functions.
- 2011-03-31 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Rename WebCore's UI_STRING to WEB_UI_STRING to not overlap with WebKit API
- https://bugs.webkit.org/show_bug.cgi?id=57582
- * PluginProcess/mac/PluginProcessMac.mm:
- (WebKit::PluginProcess::platformInitialize):
- * UIProcess/mac/WebInspectorProxyMac.mm:
- (WebKit::WebInspectorProxy::platformInspectedURLChanged):
- * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::platformInitializeWebProcess):
- 2011-03-31 Adam Roben <aroben@apple.com>
- Specify both FILE_MAP_READ and FILE_MAP_WRITE when creating a read-write SharedMemory object
- When passed to ::MapViewOfFile, FILE_MAP_WRITE implies FILE_MAP_READ, but other file mapping
- APIs don't work that way. This bug wasn't causing any problems in practice, but it would
- have prevented us from creating a DIB that wraps a SharedMemory object (which I noticed
- while working on another bug).
- Fixes <http://webkit.org/b/57576> File mappings used by read-write SharedMemory objects
- aren't correctly marked as read-write after being sent over a CoreIPC::Connection
- Reviewed by Brian Weinstein.
- * Platform/win/SharedMemoryWin.cpp:
- (WebKit::accessRights): Specify FILE_MAP_READ in addition to FILE_MAP_WRITE for read-write
- SharedMemory.
- 2011-03-31 Adam Roben <aroben@apple.com>
- Quote the executable path we pass to ::CreateProcessW
- This will ensure that spaces in the path will be interpreted correctly.
- Fixes <http://webkit.org/b/57569> Web process sometimes fails to launch when there are
- spaces in its path
- Reviewed by Steve Falkenburg.
- * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
- (WebKit::ProcessLauncher::launchProcess): Surround the executable path in quotes.
- 2011-03-31 Alexey Proskuryakov <ap@apple.com>
- Patch by John Harvey, reviewed and tweaked by me.
- <rdar://problem/8644403> Should notify TSM that plug-ins would show a bottom input window for marked text.
- * UIProcess/API/mac/WKTextInputWindowController.mm:
- (-[WKTextInputPanel _interpretKeyEvent:string:]):
- 2011-03-31 Anders Carlsson <andersca@apple.com>
- Reviewed by John Sullivan, Darin Adler, Dan Bernstein and Sam Weinig.
- If a user doesn't have a Database/LocalStorage directory, it can't be created (sandbox violations)
- https://bugs.webkit.org/show_bug.cgi?id=57561
- <rdar://problem/9127411>
- Ensure that any readwrite sandbox directories actually exist before entering the sandbox.
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::appendReadwriteSandboxDirectory):
- 2011-03-31 John Sullivan <sullivan@apple.com>
- Reviewed by Darin Adler and Adam Roben.
- <rdar://problem/9214824> Find client not told when WKPageCountStringMatches exceeds maximum
- https://bugs.webkit.org/show_bug.cgi?id=57552
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::countStringMatches):
- Use the same technique as findString() to report kWKMoreThanMaximumMatchCount when appropriate.
- (WebKit::FindController::findString):
- Convert numeric_limits::max() to max() - 1 to avoid overflow case.
- 2011-03-31 Evan Martin <evan@chromium.org>
- Reviewed by Eric Seidel.
- <title> should support dir attribute
- https://bugs.webkit.org/show_bug.cgi?id=50961
- Update to new FrameLoaderClient interface.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
- (WebKit::WebFrameLoaderClient::setTitle):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- 2011-03-31 Balazs Kelemen <kbalazs@webkit.org>
- Reviewed by Csaba Osztrogonác.
- [WK2] Introduce an option for no NPAPI support
- https://bugs.webkit.org/show_bug.cgi?id=55828
- Stub out NPAPI support for platform and OS combinations that are
- not supported yet. Ancestor patch was made by Laszlo Gombos.
- * GNUmakefile.am: Add NetscapePluginModuleNone.cpp and NetscapePluginNone.cpp
- to the build system.
- * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
- Remove the sanity check because from now all combinations that
- don't have an explicitly set plugin architecture fall into
- the PLUGIN_ARCHITECTURE(UNSUPPORTED) category and has a stubbed
- implementation.
- * Shared/Plugins/Netscape/NetscapePluginModuleNone.cpp: Added.
- Stubbed implementation.
- (WebKit::NetscapePluginModule::getPluginInfo):
- (WebKit::NetscapePluginModule::determineQuirks):
- * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: Guard with
- PLUGIN_ARCHITECTURE(X11).
- * WebKit2.pro: Add NetscapePluginModuleNone.cpp and NetscapePluginNone.cpp
- to the build system.
- * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp: Added.
- Stubbed implementation
- (WebKit::NetscapePlugin::platformPostInitialize):
- (WebKit::NetscapePlugin::platformDestroy):
- (WebKit::NetscapePlugin::platformInvalidate):
- (WebKit::NetscapePlugin::platformGeometryDidChange):
- (WebKit::NetscapePlugin::platformPaint):
- (WebKit::NetscapePlugin::platformHandleMouseEvent):
- (WebKit::NetscapePlugin::platformHandleWheelEvent):
- (WebKit::NetscapePlugin::platformSetFocus):
- (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
- (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
- (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
- * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Guard with
- PLUGIN_ARCHITECTURE(X11)
- * config.h: Introduce PLUGIN_ARCHITECTURE(UNSUPPORTED) as another
- option. Make platform and OS combinations that are not supported
- yet fall into this. Don't use Q_WS_X11 to test the window system
- for Qt because it is not defined without including <QtGlobal>.
- No clue about how could it work so far.
- 2011-03-31 Vamshikrishna.Yellenki <vamshi@motorola.com> and Alejandro G. Castro <alex@igalia.com>
- Reviewed by Martin Robinson.
- Implement MiniBrowser for Gtk port.
- https://bugs.webkit.org/show_bug.cgi?id=48512
- * Shared/API/c/gtk/WKBaseGtk.h: Add the stdbool.h include.
- 2011-03-30 Dan Bernstein <mitz@apple.com>
- Reviewed by Maciej Stachowiak.
- <rdar://problem/9005982> Flash of white when a WKView with composited content moves on-screen
- https://bugs.webkit.org/show_bug.cgi?id=57522
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode): Invalidate the current
- backing store state, so that we get an update as soon as the page enters compositing mode
- next.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Added a call to
- LayerTreeHost::forceRepaint() in order to flush and synchronize the layers
- before sending the update message to the UI process.
- 2011-03-30 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Sandbox violations if you navigate a file URL via something other than a click
- <rdar://problem/9016086>
- https://bugs.webkit.org/show_bug.cgi?id=57519
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::shouldReuseCommittedSandboxExtension):
- Remove unnecessary restriction on extension reuse. Any type of file to file navigation
- should be allowed.
- 2011-03-30 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Clean up the sandbox parameter code
- https://bugs.webkit.org/show_bug.cgi?id=57518
- * Shared/WebProcessCreationParameters.h:
- Make nsURLCachePath and uiProcessBundleResourcePath Strings to match the other paths we send over.
- * UIProcess/mac/WebContextMac.mm:
- (WebKit::WebContext::platformInitializeWebProcess):
- nsURLCachePath and uiProcessBundleResourcePath are now Strings.
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::appendSandboxParameterPathInternal):
- (WebKit::appendReadwriteConfDirectory):
- (WebKit::appendReadonlySandboxDirectory):
- (WebKit::appendReadwriteSandboxDirectory):
- (WebKit::initializeSandbox):
- Make it more clear whether the directories we're adding are readonly or readwrite. No functionality change.
-
- (WebKit::WebProcess::platformInitializeWebProcess):
- nsURLCachePath is now a string.
- 2011-03-30 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Downloading a file fails due to a sandbox violation if the destination path is a symlink
- https://bugs.webkit.org/show_bug.cgi?id=57517
- <rdar://problem/8943865>
- Make sure to resolve any symlinks in the given path when creating a sandbox extension handle.
- Note that we can't use realpath or -[NSString stringByResolvingSymlinksInPath], because those calls
- will fail if the pointed to file doesn't exist.
- * Shared/mac/SandboxExtensionMac.mm:
- (WebKit::resolveSymlinksInPath):
- New function that resolves all the symlinks in the given path.
- (WebKit::SandboxExtension::createHandle):
- Call resolveSymlinksInPath on the resulting path.
- 2011-03-30 Steve Falkenburg <sfalken@apple.com>
- Reviewed by Adam Roben.
- Share most vsprops between Release and Production builds in releaseproduction.vsprops
- https://bugs.webkit.org/show_bug.cgi?id=57508
- * win/WebKit2Production.vsprops:
- * win/WebKit2Release.vsprops:
- * win/WebKit2ReleaseCairoCFLite.vsprops:
- * win/WebKit2WebProcessProduction.vsprops:
- * win/WebKit2WebProcessRelease.vsprops:
- * win/WebKit2WebProcessReleaseCairoCFLite.vsprops:
- 2011-03-30 Ivan Krstić <ike@apple.com>
- Reviewed by Oliver Hunt.
- Ensure consistent, readable working directory for WebProcess before entering sandbox
- <rdar://problem/8951176>
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::platformInitializeWebProcess):
- 2011-03-30 Sam Weinig <sam@webkit.org>
- Reviewed by Brady Eidson.
- WebKit2: Attempting to view css file from url causes it to download
- <rdar://problem/9102611>
- https://bugs.webkit.org/show_bug.cgi?id=57501
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::canShowMIMEType):
- Match WebKit1 by allowing any MIME type that starts with "text/"
- except the ones we explicitly blacklist.
- 2011-03-30 Steve Falkenburg <sfalken@apple.com>
- Reviewed by Adam Roben.
- Update Windows production build logic for new production configurations
- https://bugs.webkit.org/show_bug.cgi?id=57494
- * win/WebKit2.make:
- * win/WebKit2Production.vsprops:
- * win/WebKit2WebProcessProduction.vsprops:
- 2011-03-30 Steve Falkenburg <sfalken@apple.com>
- Reviewed by Adam Roben.
- Rename Windows configuration Release_LTCG to Production for clarity
- https://bugs.webkit.org/show_bug.cgi?id=57465
- * win/WebKit2.submit.sln:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.vcproj:
- * win/WebKit2Production.vsprops: Copied from Source/WebKit2/win/WebKit2ReleaseLTCG.vsprops.
- * win/WebKit2ReleaseLTCG.vsprops: Removed.
- * win/WebKit2WebProcess.vcproj:
- * win/WebKit2WebProcessProduction.vsprops: Copied from Source/WebKit2/win/WebKit2WebProcessReleaseLTCG.vsprops.
- * win/WebKit2WebProcessReleaseLTCG.vsprops: Removed.
- 2011-03-30 Jer Noble <jer.noble@apple.com>
- Reviewed by Dan Bernstein.
- WebKit2: WebProcess is using 89%, while viewing a PDF
- https://bugs.webkit.org/show_bug.cgi?id=57471
- Break a never ending display/update cycle between the UIProcess and the WebProcess
- by clearing the dirty region when a page has a custom representation (like a PDF).
- Also, avoid the issue where possible by not setting the dirty region in the same case.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::setNeedsDisplay): Bail early if mainFrameHasCustomRepresentation().
- (WebKit::DrawingAreaImpl::scroll): Ditto.
- (WebKit::DrawingAreaImpl::display): Both bail early and clear m_dirtyRegion if
- mainFrameHasCustomRepresentation().
- 2011-03-30 Sam Weinig <sam@webkit.org>
- Fix Snow Leopard build.
- * UIProcess/mac/WebContextMenuProxyMac.mm:
- (WebKit::WebContextMenuProxyMac::showContextMenu):
- 2011-03-30 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- WebKit2 contextual menu looks different than the rest of the OS
- <rdar://problem/9172935>
- https://bugs.webkit.org/show_bug.cgi?id=57475
- * UIProcess/mac/WebContextMenuProxyMac.mm:
- (WebKit::WebContextMenuProxyMac::showContextMenu):
- Use correct SPI for showing a context menu. The dummy view is also
- not necessary, so remove it.
- 2011-03-30 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Crash when NPN_Evaluate removes the plug-in frame
- https://bugs.webkit.org/show_bug.cgi?id=57474
- <rdar://problem/9191396>
- Get a reference to the frame since it can be nulled out if running the JavaScript code
- causes the plug-in's containing frame to be removed from the frame tree.
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::evaluate):
- 2011-03-30 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Add default localization strategy that can be shared by WebKit1 and WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=57406
- * Shared/WebLocalizableStrings.h: Removed.
- Removed in favor of using WebCore/LocalizedStrings.h directly.
- * PluginProcess/mac/PluginProcessMac.mm:
- * UIProcess/API/mac/WKView.mm:
- * UIProcess/mac/WebInspectorProxyMac.mm:
- * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
- * WebProcess/mac/WebProcessMac.mm:
- Use WebCore/LocalizedStrings.h directly.
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- Remove localization strategy override in favor of using new default implementation.
- * GNUmakefile.am:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Remove WebLocalizableStrings.h
- 2011-03-30 Anders Carlsson <andersca@apple.com>
- Reviewed by Adam Roben.
- Assertion failure in plug-in process when calling WKPluginSiteDataManagerGetSitesWithData
- https://bugs.webkit.org/show_bug.cgi?id=57468
- <rdar://problem/9199089>
- Call decrementLoadCount from removeWebProcessConnection instead of startShutdownTimerIfNecessary,
- otherwise we'll get a load count underflow when a connection is never created.
- * PluginProcess/PluginProcess.cpp:
- (WebKit::PluginProcess::removeWebProcessConnection):
- (WebKit::PluginProcess::createWebProcessConnection):
- (WebKit::PluginProcess::startShutdownTimerIfNecessary):
- 2011-03-30 Jessie Berlin <jberlin@apple.com>
- Reviewed by Anders Carlsson.
- WebKit2: Make sure to try to terminate the Web Process when any work that might require the
- Web Process to be relaunched is done
- https://bugs.webkit.org/show_bug.cgi?id=57462
- For the ManagerProxies in the UIProcess, only return true from shouldTerminate if there are
- no more callbacks waiting to be invoked.
- For the the Managers in the WebProcess, call WebProcess::shared().terminateIfPossible() when
- any work called for by a ManagerProxy function that called relaunchProcessIfNecessary is
- finished.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::shouldTerminate):
- Check with each of the ManagerProxies.
- * UIProcess/WebApplicationCacheManagerProxy.cpp:
- (WebKit::WebApplicationCacheManagerProxy::shouldTerminate):
- * UIProcess/WebApplicationCacheManagerProxy.h:
- * UIProcess/WebCookieManagerProxy.cpp:
- (WebKit::WebCookieManagerProxy::shouldTerminate):
- * UIProcess/WebCookieManagerProxy.h:
- * UIProcess/WebDatabaseManagerProxy.cpp:
- (WebKit::WebDatabaseManagerProxy::shouldTerminate):
- * UIProcess/WebDatabaseManagerProxy.h:
- * UIProcess/WebKeyValueStorageManagerProxy.cpp:
- (WebKit::WebKeyValueStorageManagerProxy::shouldTerminate):
- * UIProcess/WebKeyValueStorageManagerProxy.h:
- * UIProcess/WebMediaCacheManagerProxy.cpp:
- (WebKit::WebMediaCacheManagerProxy::shouldTerminate):
- * UIProcess/WebMediaCacheManagerProxy.h:
- * UIProcess/WebResourceCacheManagerProxy.cpp:
- (WebKit::WebResourceCacheManagerProxy::shouldTerminate):
- * UIProcess/WebResourceCacheManagerProxy.h:
- * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
- (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
- (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
- (WebKit::WebApplicationCacheManager::deleteAllEntries):
- * WebProcess/Cookies/WebCookieManager.cpp:
- (WebKit::WebCookieManager::getHostnamesWithCookies):
- (WebKit::WebCookieManager::deleteCookiesForHostname):
- (WebKit::WebCookieManager::deleteAllCookies):
- (WebKit::WebCookieManager::startObservingCookieChanges):
- (WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
- (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
- * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
- (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
- (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
- (WebKit::WebKeyValueStorageManager::deleteAllEntries):
- * WebProcess/MediaCache/WebMediaCacheManager.cpp:
- (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache):
- (WebKit::WebMediaCacheManager::clearCacheForHostname):
- (WebKit::WebMediaCacheManager::clearCacheForAllHostnames):
- * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
- (WebKit::WebResourceCacheManager::getCacheOrigins):
- (WebKit::WebResourceCacheManager::clearCacheForOrigin):
- (WebKit::WebResourceCacheManager::clearCacheForAllOrigins):
- * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
- (WebKit::WebDatabaseManager::getDatabasesByOrigin):
- (WebKit::WebDatabaseManager::getDatabaseOrigins):
- (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
- (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
- (WebKit::WebDatabaseManager::deleteAllDatabases):
- (WebKit::WebDatabaseManager::setQuotaForOrigin):
- 2011-03-30 Adam Roben <aroben@apple.com>
- Mac build fix after r82442
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::geometryDidChange): Added a missing argument.
- 2011-03-29 Adam Roben <aroben@apple.com>
- Add a way to specify that a ShareableBitmap has no alpha channel
- Before this patch, all ShareableBitmaps had an alpha channel. With this patch, all
- ShareableBitmaps *still* have an alpha channel. But now there's a way to specify you don't
- want one (which will be used in the future)!
- Fixes <http://webkit.org/b/57388> Need a way to specify that a ShareableBitmap has no alpha
- channel
- Reviewed by Anders Carlsson.
- * Shared/ShareableBitmap.cpp:
- (WebKit::ShareableBitmap::Handle::Handle): Moved here from the header file, and added
- initialization of m_flags.
- (WebKit::ShareableBitmap::Handle::encode):
- (WebKit::ShareableBitmap::Handle::decode):
- Encode/decode m_flags.
- (WebKit::ShareableBitmap::create):
- (WebKit::ShareableBitmap::createShareable):
- Pass along the new Flags argument.
- (WebKit::ShareableBitmap::createHandle): Store our Flags on the Handle.
- (WebKit::ShareableBitmap::ShareableBitmap): Store the Flags in m_flags.
- * Shared/ShareableBitmap.h: Added Flag, Flags, and m_flags, and added a Flags argument to
- some create functions.
- * Shared/WebCoreArgumentCoders.cpp:
- (CoreIPC::encodeImage):
- * Shared/WebImage.cpp:
- (WebKit::WebImage::create):
- Specify that we want a bitmap that supports alpha to maintain current behavior.
- * Shared/cg/ShareableBitmapCG.cpp:
- (WebKit::bitmapInfo): New helper function. Includes an alpha channel only if specified in
- the flags.
- (WebKit::ShareableBitmap::createGraphicsContext):
- (WebKit::ShareableBitmap::makeCGImage):
- Use the new helper function.
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::snapshot):
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::geometryDidChange):
- * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
- (WebKit::convertImageToBitmap):
- * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
- (WebKit::WebPopupMenu::setUpPlatformData):
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::display):
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::updateFindIndicator):
- Specify that we want a bitmap that supports alpha to maintain current behavior.
- 2011-03-29 Adam Roben <aroben@apple.com>
- Add ShareableBitmap::Handle
- This object is used for encoding/decoding a ShareableBitmap via CoreIPC. It currently just
- encapsulates a SharedMemory::Handle (which is what we were using previously) and the image's
- size (which means callers no longer need to deal with the size explicitly), but in the
- future could be used to store more information about the bitmap.
- This should cause no behavior changes.
- Fixes <http://webkit.org/b/57397> ShareableBitmap needs its own Handle type
- Reviewed by Anders Carlsson.
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::geometryDidChange): No longer need to pass a size to create,
- since the Handle records the size.
- (WebKit::PluginControllerProxy::snapshot): No longer need the bufferSize argument, since the
- Handle records the size.
- * PluginProcess/PluginControllerProxy.h:
- * PluginProcess/PluginControllerProxy.messages.in:
- Updated Handle types and removed unnecessary size argument to Snapshot.
- * Shared/PlatformPopupMenuData.cpp:
- (WebKit::PlatformPopupMenuData::encode):
- (WebKit::PlatformPopupMenuData::decode):
- * Shared/PlatformPopupMenuData.h:
- Changed to use ShareableBitmap::Handle and removed m_backingStoreSize, which is now stored
- in the Handles.
- * Shared/ShareableBitmap.cpp:
- (WebKit::ShareableBitmap::Handle::encode):
- (WebKit::ShareableBitmap::Handle::decode):
- Simple encode/decode functions.
- (WebKit::ShareableBitmap::create): Get the size from the Handle instead of as a separate
- argument.
- (WebKit::ShareableBitmap::createHandle): Store our size in the Handle.
- * Shared/ShareableBitmap.h: Added ShareableBitmap::Handle and made some functions use it.
- * Shared/UpdateInfo.h: Changed to use ShareableBitmap::Handle.
- * Shared/UserMessageCoders.h:
- (WebKit::UserMessageEncoder::baseEncode):
- (WebKit::UserMessageDecoder::baseDecode):
- * Shared/WebCoreArgumentCoders.cpp:
- (CoreIPC::encodeImage):
- (CoreIPC::decodeImage):
- Use the size stored in the Handle instead of encoding/decoding one separately.
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::setDragImage):
- Removed the unnecessary imageSize argument. We can get it from the image itself.
- * UIProcess/BackingStore.cpp:
- (WebKit::BackingStore::incorporateUpdate):
- * UIProcess/FindIndicator.cpp:
- (WebKit::FindIndicator::create):
- No longer need to pass a size when creating a ShareableBitmap from a Handle.
- * UIProcess/FindIndicator.h: Changed to use ShareableBitmap::Handle.
- * UIProcess/PageClient.h: Removed unnecessary imageSize argument from setDragImage.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setFindIndicator):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/mac/WebPageProxyMac.mm:
- (WebKit::WebPageProxy::setDragImage):
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::snapshot):
- (WebKit::PluginProxy::geometryDidChange):
- * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
- (WebKit::WebDragClient::startDrag):
- Changed to use ShareableBitmap::Handle and removed now-unnecessary size arguments (since we
- can get the size from the Handle).
- * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
- (WebKit::WebPopupMenu::setUpPlatformData): Don't need to store the backing store size in the
- data anymore; the Handles will make sure it reaches the other process.
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::updateFindIndicator):
- (WebKit::FindController::hideFindIndicator):
- Changed to use ShareableBitmap::Handle.
- 2011-03-30 Alejandro G. Castro <alex@igalia.com>
- Fix GTK build after r81980.
- * GNUmakefile.am:
- 2011-03-29 Beth Dakin <bdakin@apple.com>
- Reviewed by Maciej Stachowiak.
- Fix for https://bugs.webkit.org/show_bug.cgi?id=57408
- webkit-min-device-pixel-ratio media query doesn't work post-SnowLeopard
- -and corresponding-
- <rdar://problem/8665411>
- * Shared/WebPageCreationParameters.cpp:
- (WebKit::WebPageCreationParameters::encode):
- (WebKit::WebPageCreationParameters::decode):
- * Shared/WebPageCreationParameters.h:
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::userSpaceScaleFactor):
- * UIProcess/API/qt/qwkpage_p.h:
- (QWKPagePrivate::userSpaceScaleFactor):
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::creationParameters):
- * UIProcess/gtk/WebView.h:
- (WebKit::WebView::userSpaceScaleFactor):
- * UIProcess/win/WebView.h:
- (WebKit::WebView::userSpaceScaleFactor):
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::scaleFactor):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::userSpaceScaleFactor):
- 2011-03-29 Brent Fulgham <bfulgham@webkit.org>
- Unreviewed WinCairo build fix.
- Bring DownloadCurl implementation stubs in line with current
- CFNetwork API.
- * WebProcess/Downloads/curl/DownloadCurl.cpp:
- (WebKit::Download::receivedCredential):
- (WebKit::Download::receivedRequestToContinueWithoutCredential):
- (WebKit::Download::receivedCancellation):
- 2011-03-29 Chris Fleizach <cfleizach@apple.com>
- Reviewed by Darin Adler.
- AX: WK2: When creating the window remote token, use what's returned from accessibility
- https://bugs.webkit.org/show_bug.cgi?id=57398
- This will allow a specific WKView to override what's used for the window attribute of the
- HTML elements.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView viewDidMoveToWindow]):
- 2011-03-29 Jeff Miller <jeffm@apple.com>
- Reviewed by Sam Weinig.
- Make Windows-only InjectedBundle functions platform-specific
- https://bugs.webkit.org/show_bug.cgi?id=57385
-
- Added files for Windows-specific WKBundle functions.
- Removed stub wrappers for InjectedBundle::setHostAllowsAnyHTTPSCertificate() and InjectedBundle::setClientCertificate() from non-Windows platforms.
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp: Moved WKBundleSetHostAllowsAnyHTTPSCertificate() and WKBundleSetClientCertificate() to WKBundlePrivateWin.cpp.
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Moved WKBundleSetHostAllowsAnyHTTPSCertificate() and WKBundleSetClientCertificate() to WKBundlePrivateWin.h.
- * WebProcess/InjectedBundle/API/c/win: Added.
- * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.cpp: Added.
- (WKBundleSetHostAllowsAnyHTTPSCertificate): Moved from WKBundle.cpp.
- (WKBundleSetClientCertificate): Moved from WKBundle.cpp.
- * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.h: Added.
- * WebProcess/InjectedBundle/InjectedBundle.h: setHostAllowsAnyHTTPSCertificate() and setClientCertificate() are Windows-only.
- * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: Removed setHostAllowsAnyHTTPSCertificate() and setClientCertificate().
- * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: Removed setHostAllowsAnyHTTPSCertificate() and setClientCertificate().
- * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: Removed setHostAllowsAnyHTTPSCertificate() and setClientCertificate().
- * win/WebKit2.vcproj: Added WKBundlePrivateWin.cpp and WKBundlePrivateWin.h.
- * win/WebKit2Generated.make: Copy WKBundlePrivateWin.h.
- 2011-03-29 Anders Carlsson <andersca@apple.com>
- Fix Windows build.
- * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
- (WebKit::Download::receivedCredential):
- (WebKit::Download::receivedRequestToContinueWithoutCredential):
- (WebKit::Download::receivedCancellation):
- 2011-03-29 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Downloads: Authentication support
- https://bugs.webkit.org/show_bug.cgi?id=57403
- <rdar://problem/8691166>
- * UIProcess/API/C/WKContext.h:
- Add didReceiveAuthenticationChallenge callback.
- * UIProcess/Downloads/DownloadProxy.cpp:
- (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
- Call the download client.
- * UIProcess/Downloads/DownloadProxy.messages.in:
- Add DidReceiveAuthenticationChallenge message.
- * UIProcess/WebDownloadClient.cpp:
- (WebKit::WebDownloadClient::didReceiveAuthenticationChallenge):
- Call the client callback function.
- * UIProcess/WebDownloadClient.h:
- * WebProcess/Authentication/AuthenticationManager.cpp:
- (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
- Send the DidReceiveAuthenticationChallenge message to the download proxy.
- (WebKit::AuthenticationManager::useCredentialForChallenge):
- (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
- (WebKit::AuthenticationManager::cancelChallenge):
- If the authentication client is null, call the static download member functions.
- * WebProcess/Authentication/AuthenticationManager.h:
- * WebProcess/Downloads/Download.cpp:
- (WebKit::Download::didReceiveAuthenticationChallenge):
- Call the authentication manager.
- * WebProcess/Downloads/Download.h:
- * WebProcess/Downloads/mac/DownloadMac.mm:
- (WebKit::Download::receivedCredential):
- (WebKit::Download::receivedRequestToContinueWithoutCredential):
- (WebKit::Download::receivedCancellation):
- Call the right sender methods.
- (-[WKDownloadAsDelegate download:didReceiveAuthenticationChallenge:]):
- (-[WKDownloadAsDelegate downloadShouldUseCredentialStorage:]):
- Call the right Download member functions.
- * WebProcess/Downloads/qt/DownloadQt.cpp:
- (WebKit::Download::receivedCredential):
- (WebKit::Download::receivedRequestToContinueWithoutCredential):
- (WebKit::Download::receivedCancellation):
- * WebProcess/Downloads/soup/DownloadSoup.cpp:
- (WebKit::Download::receivedCredential):
- (WebKit::Download::receivedRequestToContinueWithoutCredential):
- (WebKit::Download::receivedCancellation):
- Add stubs.
- 2011-03-29 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- AuthenticationChallengeProxy objects should be associated with processes, not pages
- https://bugs.webkit.org/show_bug.cgi?id=57401
- * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
- (WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):
- (WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy):
- (WebKit::AuthenticationChallengeProxy::useCredential):
- (WebKit::AuthenticationChallengeProxy::cancel):
- * UIProcess/Authentication/AuthenticationChallengeProxy.h:
- (WebKit::AuthenticationChallengeProxy::create):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
- 2011-03-29 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Use LocalizedStrings.h as a bottleneck for localized strings instead of
- using UI_STRING.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView validateUserInterfaceItem:]):
- Call existing localization functions instead of using UI_STRING.
- (-[WKView _getTextInputState:selectionEnd:underlines:]):
- Remove unnecessary WebCore:: prefix.
- 2011-03-29 Chang Shu <cshu@webkit.org>
- Reviewed by Kenneth Rohde Christiansen.
- WebKitTestRunner needs layoutTestController.setAllowUniversalAccessFromFileURLs
- https://bugs.webkit.org/show_bug.cgi?id=42692
- * Shared/WebPreferencesStore.cpp:
- (WebKit::WebPreferencesStore::decode):
- (WebKit::WebPreferencesStore::overrideAllowUniversalAccessFromFileURLsForTestRunner):
- * Shared/WebPreferencesStore.h:
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleOverrideAllowUniversalAccessFromFileURLsForTestRunner):
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- * WebProcess/InjectedBundle/InjectedBundle.cpp:
- (WebKit::InjectedBundle::overrideAllowUniversalAccessFromFileURLsForTestRunner):
- * WebProcess/InjectedBundle/InjectedBundle.h:
- 2011-03-29 Timothy Hatcher <timothy@apple.com>
- Update the order of the context menu to better match AppKit on Mac.
- <rdar://problem/9054893>
- Reviewed by John Sullivan.
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::WebPlatformStrategies::contextMenuItemTagLookUpInDictionary): Added argument for selected string.
- * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- 2011-03-29 Jeff Miller <jeffm@apple.com>
- Fix formatting of WebKit2.vcproj after r82283.
- * win/WebKit2.vcproj:
- 2011-03-29 Martin Robinson <mrobinson@igalia.com>
- [GTK] Build failed with ‘GDK_KEY_KP_Space’ was not declared in this scope
- https://bugs.webkit.org/show_bug.cgi?id=55314
- Build fix for older versions of GTK+. Use the deprecated names for GDK key
- defines and include GtkVersioning.h to allow building on newer versions
- of GTK+.
- * Shared/gtk/WebEventFactory.cpp:
- (WebKit::isGdkKeyCodeFromKeyPad): Update key defines.
- 2011-03-29 Steve Falkenburg <sfalken@apple.com>
- Reviewed by Darin Adler.
- Use per-configuration vsprops in WebKit to avoid WebKitVSPropsRedirectionDir removal by MSVC IDE
- https://bugs.webkit.org/show_bug.cgi?id=57383
- Visual Studio's IDE was removing instances of $(WebKitVSPropsRedirectionDir) from
- InheritedPropertySheet rules in our vcproj files when the vcproj was edited from within
- the IDE. To avoid this, add a separate vsprops file for each project configuration that
- contains the required inherited property sheets.
- * win/WebKit2.vcproj:
- * win/WebKit2Debug.vsprops: Added.
- * win/WebKit2DebugAll.vsprops: Added.
- * win/WebKit2DebugCairoCFLite.vsprops: Added.
- * win/WebKit2Release.vsprops: Added.
- * win/WebKit2ReleaseCairoCFLite.vsprops: Added.
- * win/WebKit2ReleaseLTCG.vsprops: Added.
- * win/WebKit2WebProcess.vcproj:
- * win/WebKit2WebProcessDebug.vsprops: Added.
- * win/WebKit2WebProcessDebugAll.vsprops: Added.
- * win/WebKit2WebProcessDebugCairoCFLite.vsprops: Added.
- * win/WebKit2WebProcessRelease.vsprops: Added.
- * win/WebKit2WebProcessReleaseCairoCFLite.vsprops: Added.
- * win/WebKit2WebProcessReleaseLTCG.vsprops: Added.
- 2011-03-29 Jessie Berlin <jberlin@apple.com>
- Reviewed by Anders Carlsson.
- WebKit2: The WebProcess should be relaunched if necessary when WebKit2 is asked for
- information about Cookies, Databases, Local Storage, etc.
- https://bugs.webkit.org/show_bug.cgi?id=57374
- Instead of bailing when the WebProcess is not valid, call relaunchProcessIfNecessary().
- * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
- (WebKit::WebPluginSiteDataManager::getSitesWithData):
- (WebKit::WebPluginSiteDataManager::clearSiteData):
- * UIProcess/WebApplicationCacheManagerProxy.cpp:
- (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):
- (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
- (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries):
- * UIProcess/WebCookieManagerProxy.cpp:
- (WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
- (WebKit::WebCookieManagerProxy::deleteCookiesForHostname):
- (WebKit::WebCookieManagerProxy::deleteAllCookies):
- (WebKit::WebCookieManagerProxy::startObservingCookieChanges):
- (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
- (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
- * UIProcess/WebDatabaseManagerProxy.cpp:
- (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
- (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
- (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
- (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
- (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
- (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
- * UIProcess/WebKeyValueStorageManagerProxy.cpp:
- (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
- (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
- (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
- * UIProcess/WebMediaCacheManagerProxy.cpp:
- (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache):
- (WebKit::WebMediaCacheManagerProxy::clearCacheForHostname):
- (WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames):
- * UIProcess/WebResourceCacheManagerProxy.cpp:
- (WebKit::WebResourceCacheManagerProxy::getCacheOrigins):
- (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
- (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins):
- 2011-03-29 Jeff Miller <jeffm@apple.com>
- Reviewed by Darin Adler.
- WebKit2: Support setting the client certificate on Windows
- https://bugs.webkit.org/show_bug.cgi?id=57368
-
- Allow setting the client certificate for a host via the injected bundle.
- This requires the ability for Webkit2 Windows clients to create a WKCertificateInfo from a PCCERT_CONTEXT so they can send it to the web process.
- * Shared/API/c/win/WKCertificateInfoWin.cpp:
- (WKCertificateInfoCreateWithCertificate): Added.
- * Shared/API/c/win/WKCertificateInfoWin.h: Added WKCertificateInfoCreateWithCertificate().
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleSetClientCertificate): Added.
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Added WKBundleSetClientCertificate().
- * WebProcess/InjectedBundle/InjectedBundle.h: Added setClientCertificate().
- * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
- (WebKit::InjectedBundle::setClientCertificate): Added, should never be called.
- * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
- (WebKit::InjectedBundle::setClientCertificate): Added, should never be called.
- * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
- (WebKit::InjectedBundle::setClientCertificate): Added, should never be called.
- * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
- (WebKit::InjectedBundle::setClientCertificate): Added.
- 2011-03-29 Timothy Hatcher <timothy@apple.com>
- Make WebKit2 work with update-webkit-localizable-strings.
- https://webkit.org/b/57354
- Reviewed by Sam Weinig.
- * PluginProcess/mac/PluginProcessMac.mm: Remove UI_STRING macro. Use WebLocalizableStrings.h.
- * Shared/WebLocalizableStrings.h: Added.
- * UIProcess/API/mac/WKView.mm: Remove UI_STRING macro. Use WebLocalizableStrings.h.
- * UIProcess/mac/WebInspectorProxyMac.mm:
- (WebKit::WebInspectorProxy::platformInspectedURLChanged): Use UI_STRING. Remove FIXME.
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Remove UI_STRING macros.
- Use WebLocalizableStrings.h.
- * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
- (registerErrors): Remove UI_STRING macro. Use WebLocalizableStrings.h.
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::platformInitializeWebProcess): Use UI_STRING. Remove FIXME.
- * GNUmakefile.am: Added Shared/WebLocalizableStrings.h.
- * WebKit2.pro: Ditto.
- * WebKit2.xcodeproj/project.pbxproj: Ditto.
- * win/WebKit2.vcproj: Ditto.
- 2011-03-29 Jeff Miller <jeffm@apple.com>
- Reviewed by Darin Adler.
- CoreIPC::decodeResourceError() leaks a CFDataRef
- https://bugs.webkit.org/show_bug.cgi?id=57366
- * Shared/win/WebCoreArgumentCodersWin.cpp:
- (CoreIPC::decodeResourceError): Don't leak the result of WebCore::copyCertificateToData(), since the ResourceError will retain it.
- 2011-03-29 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Allow the AppleConnect plug-in to use the QuickDraw drawing model
- https://bugs.webkit.org/show_bug.cgi?id=57365
- <rdar://problem/8712320>
- * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
- (WebKit::NetscapePluginModule::determineQuirks):
- * Shared/Plugins/PluginQuirks.h:
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformPostInitialize):
- 2011-03-29 Darin Adler <darin@apple.com>
- Reviewed by Adam Roben.
- WebKit2 bundle page needs to offer generated file hooks
- https://bugs.webkit.org/show_bug.cgi?id=57279
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added shouldGenerateFileForUpload and
- generateFileForUpload callback pointers.
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
- (WebKit::InjectedBundlePageUIClient::shouldGenerateFileForUpload): Added.
- (WebKit::InjectedBundlePageUIClient::generateFileForUpload): Added.
- * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Added functions above.
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::shouldReplaceWithGeneratedFileForUpload): Implemented by
- calling the functions above.
- (WebKit::WebChromeClient::generateReplacementFile): Ditto.
- 2011-03-29 Anders Carlsson <andersca@apple.com>
- Reviewed by Darin Adler.
- Assertion failure in plug-in process with clang-built 32/64-bit WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=57359
- Don't use __alignof when encoding and decoding scalar types.
-
- Darwin 32-bit, double and unsigned long long are 4-byte aligned but on 64-bit they're
- 8-byte aligned which causes problems when doing IPC between 32-bit and 64-bit processes.
- GCC is buggy and returns 8, but clang is correct and returns 4. Use sizeof instead which we know
- is equal to or greater than the alignment.
- * Platform/CoreIPC/ArgumentDecoder.cpp:
- (CoreIPC::ArgumentDecoder::decodeBool):
- (CoreIPC::ArgumentDecoder::decodeUInt32):
- (CoreIPC::ArgumentDecoder::decodeUInt64):
- (CoreIPC::ArgumentDecoder::decodeInt32):
- (CoreIPC::ArgumentDecoder::decodeInt64):
- (CoreIPC::ArgumentDecoder::decodeFloat):
- (CoreIPC::ArgumentDecoder::decodeDouble):
- * Platform/CoreIPC/ArgumentEncoder.cpp:
- (CoreIPC::ArgumentEncoder::encodeBool):
- (CoreIPC::ArgumentEncoder::encodeUInt32):
- (CoreIPC::ArgumentEncoder::encodeUInt64):
- (CoreIPC::ArgumentEncoder::encodeInt32):
- (CoreIPC::ArgumentEncoder::encodeInt64):
- (CoreIPC::ArgumentEncoder::encodeFloat):
- (CoreIPC::ArgumentEncoder::encodeDouble):
- 2011-03-29 Brent Fulgham <bfulgham@webkit.org>
- Unreviewed build fix after r81928.
- * win/WebKit2.vcproj: Don't build CG-specific icon routines
- for WinCairo port.
- 2011-03-29 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Reproducible crash running under libgmalloc, in -[WKView(Internal) removeTrackingRect:] --> objc_assign_ivar_non_gc
- <rdar://problem/9193352>
- https://bugs.webkit.org/show_bug.cgi?id=57358
- -[WKView removeTrackingRect] can be called from below -[WKView dealloc] after we have
- destroyed _data. So, nil out _data after releasing it and nil check it appropriately.
-
- * UIProcess/API/mac/WKView.mm:
- (-[WKView dealloc]):
- Nil out _data after releasing it.
- (-[WKView removeTrackingRect:]):
- Add early return for nil _data.
- 2011-03-29 Jeff Miller <jeffm@apple.com>
- Reviewed by Jon Honeycutt.
- Add WebCore::copyCertificateToData() on Windows
- https://bugs.webkit.org/show_bug.cgi?id=57296
-
- Remove duplicate code that implemented this functionality in WebCoreArgumentCodersWin.cpp and use WebCore::copyCertificateToData() instead.
- * Shared/win/WebCoreArgumentCodersWin.cpp:
- (CoreIPC::decodeResourceError): Use WebCore::copyCertificateToData().
- 2011-03-29 Balazs Kelemen <kbalazs@webkit.org>
- Unreviewed build fix (64 bit gcc).
- GCC does not accept uint64_t formatted as %lli.
- * UIProcess/WebIconDatabase.cpp:
- (WebKit::WebIconDatabase::getLoadDecisionForIconURL): Add explicit cast to long long.
- 2011-03-28 Maciej Stachowiak <mjs@apple.com>
- Reviewed by Dan Bernstein.
- WKPageGetSourceForFrame and WKPageGetContentsAsString should throw an error in case of a race with page loading
- https://bugs.webkit.org/show_bug.cgi?id=57305
- <rdar://problem/8738060>, <rdar://problem/8780168>
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close): Clear m_loadDependentStringCallbackIDs
- (WebKit::WebPageProxy::getSourceForFrame): track the callback as load dependent
- (WebKit::WebPageProxy::getContentsAsString): ditto
- (WebKit::WebPageProxy::clearLoadDependentCallbacks): Invalidate all load dependent callbacks
- (WebKit::WebPageProxy::didCommitLoadForFrame): Call clearLoadDependentCallbacks
- (WebKit::WebPageProxy::didFailLoadForFrame): ditto
- (WebKit::WebPageProxy::stringCallback): Remove callback from load dependent set if appropriate
- (WebKit::WebPageProxy::processDidCrash): Clear m_loadDependentStringCallbackIDs
- * UIProcess/WebPageProxy.h: Add m_loadDependentStringCallbackIDs hash set.
- 2011-03-28 Patrick Gansterer <paroga@webkit.org>
- Reviewed by Darin Adler.
- Use String instead of CString as return value of openTemporaryFile
- https://bugs.webkit.org/show_bug.cgi?id=55332
- * Shared/WebMemorySampler.cpp:
- (WebKit::WebMemorySampler::initializeTempLogFile):
- * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- (WebKit::NetscapePluginStream::stop):
- * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
- 2011-03-28 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Jon Honeycutt.
- WebKit2: Downloads started with DownloadCFNet::start never start
- https://bugs.webkit.org/show_bug.cgi?id=57268
- * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
- (WebKit::Download::start): Call CFURLDownloadStart on the download we create.
- 2011-03-28 Anders Carlsson <andersca@apple.com>
- Fix Windows build.
- * Shared/ShareableBitmap.h:
- 2011-03-28 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Beep when pressing a menu key equivalent when a plug-in has focus
- https://bugs.webkit.org/show_bug.cgi?id=57264
- <rdar://problem/8935597>
- We don't want the WKTextInputWindowController inputContext to be involved in interpretKeyEvents.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView inputContext]):
- 2011-03-28 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- CGImageRefs must hold a strong reference to underlying data
- https://bugs.webkit.org/show_bug.cgi?id=57263
- <rdar://problem/9146179>
- Make paintBitmapContext use CGBitmapContextCreateImage, which creates a copy-on-write copy
- of the bitmap data. Also, add ShareableBitmap::makeCGImageCopy which does the same thing, and
- ShareableBitmap::makeCGImage in the cases where we know that the ShareableBitmap data will never change.
- * Platform/cg/CGUtilities.cpp:
- (WebKit::paintImage):
- Factor image painting code out into a separate function.
- (WebKit::paintBitmapContext):
- Call paintImage.
- * Shared/API/c/cg/WKImageCG.cpp:
- (WKImagemakeCGImage):
- Use ShareableBitmap::makeCGImageCopy.
- * Shared/ShareableBitmap.h:
- * Shared/cg/ShareableBitmapCG.cpp:
- (WebKit::ShareableBitmap::createGraphicsContext):
- (WebKit::ShareableBitmap::paint):
- (WebKit::ShareableBitmap::makeCGImageCopy):
- (WebKit::ShareableBitmap::makeCGImage):
- (WebKit::ShareableBitmap::releaseBitmapContextData):
- (WebKit::ShareableBitmap::releaseDataProviderData):
- Add makeCGImage and makeCGImageCopy.
- * Shared/cg/WebCoreArgumentCodersCG.cpp:
- (CoreIPC::createImage):
- Use ShareableBitmap::makeCGImage.
-
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::setDragImage):
- Use ShareableBitmap::makeCGImage and plug a CGImageRef leak.
- 2011-03-28 Alexey Proskuryakov <ap@apple.com>
- Build fix.
- * UIProcess/API/mac/WKView.mm: (-[WKView keyDown:]): It's not "event" in this function, it's
- "theEvent".
- 2011-03-28 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Darin Adler.
- https://bugs.webkit.org/show_bug.cgi?id=57260
- Clean up text input code a little
- * UIProcess/API/mac/WKView.mm:
- (-[WKView doCommandBySelector:]): This NSTextInput protocol method lacked a LOG() call.
- (-[WKView keyDown:]): Added (possibly useless) event protection to match performKeyEquivalent:
- and also WebKit1.
- * WebProcess/WebPage/mac/WebPageMac.mm: Removed an obsolete comment.
- 2011-03-28 Jeff Miller <jeffm@apple.com>
- Reviewed by Adam Roben.
- ResourceError::certificate() should return a PCCERT_CONTEXT
- https://bugs.webkit.org/show_bug.cgi?id=57262
- * Shared/win/PlatformCertificateInfo.cpp:
- (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Don't assert if no PCCERT_CONTEXT is specified.
- * Shared/win/WebCoreArgumentCodersWin.cpp:
- (CoreIPC::encodeResourceError): Removed unneeded code now that ResourceError::certificate() returns a PCCERT_CONTEXT.
- 2011-03-28 Jeff Miller <jeffm@apple.com>
- Rubber-stamped by Adam Roben.
- Remove unused CFErrorRef.
- * Shared/win/WebCoreArgumentCodersWin.cpp:
- (CoreIPC::encodeResourceError): Remove unused CFErrorRef.
- 2011-03-28 Jeff Miller <jeffm@apple.com>
- Reviewed by Adam Roben.
- Include certificate when sending a WebCore::ResourceError to UI process on Windows
- https://bugs.webkit.org/show_bug.cgi?id=57195
-
- Add support for sending the certificate with the WebCore::ResourceError.
- * Shared/win/WebCoreArgumentCodersWin.cpp:
- (CoreIPC::encodeResourceError): Encode certificate data.
- (CoreIPC::deallocCertContext): Added.
- (CoreIPC::createCertContextDeallocator): Added.
- (CoreIPC::copyCert): Added.
- (CoreIPC::decodeResourceError): Decode certificate data.
- 2011-03-27 Andy Estes <aestes@apple.com>
- Reviewed by Maciej Stachowiak.
- Correctly get a plug-in's MIME type when it uses WebPluginMIMETypesFilename
- https://bugs.webkit.org/show_bug.cgi?id=57205
-
- If the plug-in's Info.plist uses WebPluginMIMETypesFilename to specify
- plug-in MIME types, WebKit has to check for a property list file in
- ~/Library/Preferences for the MIME type dictionary.
- * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
- (WebKit::getMIMETypesFromPluginBundle): If the bundle's Info dictionary
- has the key WebPluginMIMETypesFilename, open the property list
- specified by that key's value and return the MIME type dictionary from
- there. Otherwise, return the MIME type dictionary specified by the key
- WebPluginMIMETypes.
- (WebKit::getPluginInfoFromPropertyLists): Call
- getMIMETypesFromPluginBundle().
- 2011-03-27 Jer Noble <jer.noble@apple.com>
- Reviewed by Maciej Stachowiak.
- Full Screen: disable keyboard access by default
- https://bugs.webkit.org/show_bug.cgi?id=56684
- Take into account whether keyboard access was requested when deciding whether full
- screen mode is supported.
- * UIProcess/WebFullScreenManagerProxy.cpp:
- (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
- * UIProcess/WebFullScreenManagerProxy.h:
- * UIProcess/WebFullScreenManagerProxy.messages.in:
- * WebProcess/FullScreen/WebFullScreenManager.cpp:
- (WebKit::WebFullScreenManager::supportsFullScreen):
- * WebProcess/FullScreen/WebFullScreenManager.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::supportsFullScreenForElement):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- 2011-03-27 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Dock doesn't come back after leaving fullscreen on Hulu
- https://bugs.webkit.org/show_bug.cgi?id=57189
- <rdar://problem/9192413>
- Port some code over from the old WebKit1 plug-in host.
- * PluginProcess/mac/PluginProcessShim.mm:
- (WebKit::shimShowMenuBar):
- (WebKit::shimHideMenuBar):
- (WebKit::shimIsMenuBarVisible):
- 2011-03-27 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Keep a strong reference to the connection to avoid crashes.
- * Platform/CoreIPC/Connection.cpp:
- 2011-03-26 Jeff Miller <jeffm@apple.com>
- Reviewed by Sam Weinig.
- WKErrorCopyCFError() doesn't actually return a copy of the CFErrorRef
- https://bugs.webkit.org/show_bug.cgi?id=57172
- * Shared/API/c/cf/WKErrorCF.cpp:
- (WKErrorCopyCFError): Use RetainPtr<> and leakRef() to return a real copy.
- 2011-03-26 Maciej Stachowiak <mjs@apple.com>
- Revert inadvertently committed changes.
- * WebProcess/com.apple.WebProcess.sb:
- 2011-03-26 Jer Noble <jer.noble@apple.com>
- Reviewed by Eric Carlson.
- Enable the Full Screen API by default in WebKit/mac and WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=56956
- * Shared/WebPreferencesStore.h: Default the fullScreenEnabled preference to true.
- 2011-03-26 Jeff Miller <jeffm@apple.com>
- Reviewed by Steve Falkenburg.
- Add PlatformCertificateInfo::PlatformCertificateInfo(PCCERT_CONTEXT) constructor on Windows
- https://bugs.webkit.org/show_bug.cgi?id=57152
-
- We're going to need to create a PlatformCertificateInfo with a single certificate on Windows to support client certificates.
- Also, stop relying on the fact that the Win32 API CertDuplicateCertificateContext() currently returns the same PCCERT_CONTEXT that you pass to it, since that may change in the future.
- * Shared/win/PlatformCertificateInfo.cpp:
- (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Added PlatformCertificateInfo(PCCERT_CONTEXT) construtor. Use return value from CertDuplicateCertificateContext().
- (WebKit::PlatformCertificateInfo::operator=): Use return value from CertDuplicateCertificateContext().
- * Shared/win/PlatformCertificateInfo.h: Added PlatformCertificateInfo(PCCERT_CONTEXT) construtor.
- 2011-03-26 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Graphic corruption appeared with Silverlight contents while resizing window
- https://bugs.webkit.org/show_bug.cgi?id=57167
- <rdar://problem/9094052>
- Pass DispatchMessageEvenWhenWaitingForSyncReply when sending GeometryDidChange messages since that will guarantee
- that those messages will be handled before PaintEntirePlugin messages which prevents the PaintEntirePlugin handler from
- painting into the wrong backing store.
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::geometryDidChange):
- 2011-03-26 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Web process considered unresponsive (SPOD shown) when displaying a JavaScript alert() as a result of a click
- <rdar://problem/9067557>
- https://bugs.webkit.org/show_bug.cgi?id=57166
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::runJavaScriptAlert):
- (WebKit::WebPageProxy::runJavaScriptConfirm):
- (WebKit::WebPageProxy::runJavaScriptPrompt):
- Invalidate the responsiveness timer before calling out to the client.
- 2011-03-26 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- ASSERTION FAILED: m_operationInProgress == NoOperation loading nytimes.com
- https://bugs.webkit.org/show_bug.cgi?id=57165
- <rdar://problem/9024311>
- The assertion fired because during GC, the web process sends a synchronous NPObjectMessageReceiver::Deallocate
- message to the plug-in process. Since this is a synchronous message, the web process needs to process incoming synchronous
- messages. While waiting, we get an incoming PluginProxy::Evaluate message from the plug-in. This causes JavaScript to run
- during GC which is very bad.
- The fix for this is to add a flag on the connection that will cause synchronous messages sent by the connection (in this case the
- plug-in process) to not be processed while the other side (the web process) is waiting for a synchronous reply _unless_ the connection
- is actually processing a synchronous message. (The last part is to avoid deadlocks).
- Since the call to NPN_Evaluate by the plug-in (that ends up sending the PluginProxy::Evaluate message) comes from a run loop timer firing,
- it's OK to wait for it to be processed by the web process when it returns to the run loop.
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::Connection):
- Initialize m_onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage and m_inDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount.
- (CoreIPC::Connection::setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage):
- Set m_onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage.
- (CoreIPC::Connection::sendMessage):
- Don't add the MessageID::DispatchMessageWhenWaitingForSyncReply flag when the right flags has been set on the connection, and it's not processing a synchronous message.
- (CoreIPC::Connection::dispatchMessage):
- Increment and decrement m_inDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount accordingly.
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::WebProcessConnection):
- Call setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage on the connection.
- 2011-03-26 Sam Weinig <sam@webkit.org>
- Rollout r82042 (If a user doesn't have a Database/LocalStorage directory, it can't be created (sandbox violations))
- -[NSString stringByResolvingSymlinksInPath] does not do what we needed for paths within /private.
- This caused all SSL sites to stop working.
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::appendSandboxParameterPath):
- (WebKit::initializeSandbox):
- 2011-03-26 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- If a user doesn't have a Database/LocalStorage directory, it can't be created (sandbox violations)
- <rdar://problem/9127411>
- https://bugs.webkit.org/show_bug.cgi?id=57164
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::appendSandboxParameterPath):
- (WebKit::initializeSandbox):
- Use -[NSString stringByResolvingSymlinksInPath] instead of realpath to ensure we can resolve
- symlinks even if the file/directory doesn't exist yet.
- 2011-03-26 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Factor processing of incoming sync replies out into processIncomingSyncReply
- https://bugs.webkit.org/show_bug.cgi?id=57161
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::sendSyncMessage):
- Pass DispatchMessageEvenWhenWaitingForSyncReply to sendMessage.
- (CoreIPC::Connection::processIncomingSyncReply):
- Move code from processIncomingMessage to here.
- (CoreIPC::Connection::processIncomingMessage):
- Call processIncomingSyncReply.
- 2011-03-26 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- WebKit2: Assert in CoreIPC::typeFromCFTypeRef() when loading a site with an invalid certificate
- <rdar://problem/9188041>
- https://bugs.webkit.org/show_bug.cgi?id=57159
- * Shared/cf/ArgumentCodersCF.cpp:
- (CoreIPC::typeFromCFTypeRef):
- (CoreIPC::encode):
- (CoreIPC::decode):
- * Shared/cf/ArgumentCodersCF.h:
- Add encoding/decoding for SecCertificateRef type.
- * Shared/mac/PlatformCertificateInfo.mm:
- (WebKit::PlatformCertificateInfo::encode):
- (WebKit::PlatformCertificateInfo::decode):
- Use ArgumentCodersCF now that it knows how to encode/decode SecCertificateRefs.
- 2011-03-26 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Handle synchronous replies coming in out of order
- https://bugs.webkit.org/show_bug.cgi?id=57158
- When processing an incoming reply, don't assume that it belongs to the last sent synchronous request.
- Instead, iterate over the m_pendingSyncReplies vector backwards looking for the corresponding request.
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::processIncomingMessage):
- 2011-03-26 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Fix a possible deadlock when two synchronous messages are sent at the same time
- https://bugs.webkit.org/show_bug.cgi?id=57155
- Simplify code and fix a possible (although highly improbable) dead lock.
- * Platform/CoreIPC/Connection.cpp:
- Make SyncMessageState atomically ref counted since it can be ref()'ed from the connection queue.
- Get rid of m_waitForSyncReplyCount and add m_didScheduleDispatchMessagesWork.
- (CoreIPC::Connection::SyncMessageState::SyncMessageState):
- Initialize m_didScheduleDispatchMessagesWork to false.
- (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
- if m_didScheduleDispatchMessagesWork is false, schedule a call to dispatchMessageAndResetDidScheduleDispatchMessagesWork
- on the client run loop.
- (CoreIPC::Connection::SyncMessageState::dispatchMessageAndResetDidScheduleDispatchMessagesWork):
- Dispatch messages and set m_didScheduleDispatchMessagesWork back to false.
- (CoreIPC::Connection::sendSyncMessage):
- Remove calls to beginWaitForSyncReply and endWaitForSyncReply.
- 2011-03-25 Sam Weinig <sam@webkit.org>
- Reviewed by Adele Peterson.
- WKPageLoadAlternateHTMLString doesn't re-spawn a dead WebProcess, but should
- <rdar://problem/9191493>
- https://bugs.webkit.org/show_bug.cgi?id=57134
- Make all load functions respawn a dead WebProcess for consistency.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::loadHTMLString):
- Respawn a dead WebProcess.
- (WebKit::WebPageProxy::loadAlternateHTMLString):
- Respawn a dead WebProcess.
- (WebKit::WebPageProxy::loadPlainTextString):
- Respawn a dead WebProcess.
- (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::loadAlternateHTMLString):
- Since we may no longer always have a main frame when calling WKPageLoadAlternateHTMLString,
- set the unreachable URL, if there is one, on provisional load.
- 2011-03-25 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- PluginView's call to invalidateContentsAndWindow() in invalidateRect() is wrong for plug-ins which paint into compositing layers
- https://bugs.webkit.org/show_bug.cgi?id=57133
- <rdar://problem/9029442>
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformInvalidate):
- Return true under the Core Animation drawing model, since that prevents the plug-in from calling PluginController::invalidate.
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::invalidateRect):
- Don't call invalidateContentsAndWindow() if the plug-in has a Core Animation layer.
- 2011-03-25 Brady Eidson <beidson@apple.com>
- Reviewed by Sam Weinig.
- <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56425
- WebKit2 IconDatabase and API
- This gets a basic, usable API in place.
- Enhancements can come in other bugs as they're needed.
- * UIProcess/API/C/WKIconDatabase.cpp:
- (WKIconDatabaseRetainIconForURL):
- (WKIconDatabaseReleaseIconForURL):
- (WKIconDatabaseEnableDatabaseCleanup):
- * UIProcess/API/C/WKIconDatabase.h:
-
- The first actual accessor for an "icon for a URL" is for a CGImageRef:
- * UIProcess/API/C/cg: Added.
- * UIProcess/API/C/cg/WKIconDatabaseCG.cpp: Added.
- (WKIconDatabaseGetCGImageForURL):
- * UIProcess/API/C/cg/WKIconDatabaseCG.h: Added.
-
- Expose relevant methods to support the above API:
- * UIProcess/WebIconDatabase.cpp:
- (WebKit::WebIconDatabase::WebIconDatabase): New IconDatabases will have cleanup disabled from the start,
- and require a single call to "enableDatabaseCleanup" to allow cleanup.
- (WebKit::WebIconDatabase::setDatabasePath):
- (WebKit::WebIconDatabase::enableDatabaseCleanup):
- (WebKit::WebIconDatabase::imageForPageURL):
- * UIProcess/WebIconDatabase.h:
-
- Project file stuff:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- 2011-03-25 Jeff Miller <jeffm@apple.com>
- Reviewed by Darin Adler.
- Add CoreIPC::encodeResourceError() and CoreIPC::decodeResourceError() for all platforms
- https://bugs.webkit.org/show_bug.cgi?id=57125
-
- Currently, these are only implemented on the Mac, but we're going to need them for Windows as well, so we might as well make them always platform-specific.
- In this patch, just replicate the existing common non-Mac implementation in WebCoreArgumentCoders.h to platform-specific files.
- * Shared/WebCoreArgumentCoders.h: Move non-Mac implementations of encodeResourceError() and decodeResourceError() to common files.
- * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
- (CoreIPC::encodeResourceError): Added.
- (CoreIPC::decodeResourceError): Added.
- * Shared/qt/WebCoreArgumentCodersQt.cpp:
- (CoreIPC::encodeResourceError): Added.
- (CoreIPC::decodeResourceError): Added.
- * Shared/win/WebCoreArgumentCodersWin.cpp:
- (CoreIPC::encodeResourceError): Added.
- (CoreIPC::decodeResourceError): Added.
- 2011-03-25 Andy Estes <aestes@apple.com>
- Reviewed by Adele Peterson.
- REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
- https://bugs.webkit.org/show_bug.cgi?id=49016
- Update objectContentType() implementation to handle the
- shouldPreferPlugInsForImages flag.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::objectContentType):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- 2011-03-25 Brent Fulgham <bfulgham@webkit.org>
- Unreviewed build correction.
- Add stubs for WK2 cookie handling with cURL.
- * WebProcess/Cookies/curl: Added.
- * WebProcess/Cookies/curl/WebCookieManagerCurl.cpp: Added.
- (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
- (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
- * win/WebKit2.vcproj:
- 2011-03-25 Steve Falkenburg <sfalken@apple.com>
- Reviewed by Brian Weinstein.
- Microsoft Windows Presentation Foundation (WPF) plug-in complains about missing xpcom.dll
- https://bugs.webkit.org/show_bug.cgi?id=57119
- <rdar://problem/9054148>
- This plug-in from Microsoft links against xpcom.dll, which is a Firefox-specific DLL
- not available in WebKit. The plug-in is fairly widespread, since it was included in
- a Windows Update push at one point.
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- (WebKit::PluginInfoStore::shouldUsePlugin): Blacklist npwpf.dll.
- 2011-03-25 Jessie Berlin <jberlin@apple.com>
- Reviewed by Anders Carlsson.
- WebKit2: Need to be able to set and get the Cookie Storage Policy.
- https://bugs.webkit.org/show_bug.cgi?id=50780
- Part 2: Make it possible to set the initial policy on Windows.
- In WebKit1, we read the initial policy on Windows from WebPreferences at startup.
- Since that is not possible in WebKit2, make it possible to specify the initial policy
- as a creation parameter to the WebProcess.
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- Encode initialHTTPCookieAcceptPolicy on Windows.
- (WebKit::WebProcessCreationParameters::decode):
- Decode initialHTTPCookieAcceptPolicy on Windows.
- * Shared/WebProcessCreationParameters.h:
- * UIProcess/API/C/win/WKContextPrivateWin.h:
- * UIProcess/API/C/win/WKContextWin.cpp:
- (WKContextSetInitialHTTPCookieAcceptPolicy):
- Call through to WebContext.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- Give the initial policy a default of "Always".
- * UIProcess/WebContext.h:
- (WebKit::WebContext::setInitialHTTPCookieAcceptPolicy):
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::platformInitializeWebProcess):
- Set the initial policy on Windows.
- * WebProcess/Cookies/WebCookieManager.h:
- Make setHTTPCookieAcceptPolicy public so that it can be called from WebProcessWin.
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::WebProcess::platformInitializeWebProcess):
- Tell the WebCookieManager about the initial policy.
- 2011-03-25 Jessie Berlin <jberlin@apple.com>
- Reviewed by Sam Weinig.
- WebKit2: Need to be able to set and get the Cookie Storage Policy.
- https://bugs.webkit.org/show_bug.cgi?id=50780
- * Shared/HTTPCookieAcceptPolicy.h: Added.
- * UIProcess/API/C/WKAPICast.h:
- (WebKit::toHTTPCookieAcceptPolicy):
- (WebKit::toAPI):
- * UIProcess/API/C/WKCookieManager.cpp:
- (WKCookieManagerSetHTTPCookieAcceptPolicy):
- Call through to WebCookieManagerProxy.
- (WKCookieManagerGetHTTPCookieAcceptPolicy):
- Ditto.
- * UIProcess/API/C/WKCookieManager.h:
- * UIProcess/WebCookieManagerProxy.cpp:
- (WebKit::WebCookieManagerProxy::invalidate):
- Invalidate the get http cookie accept policy callbacks.
- (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
- Send a message to the Web Process with the new value.
- (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
- Keep track of the callback and send a message to the Web Process.
- (WebKit::WebCookieManagerProxy::didGetHTTPCookieAcceptPolicy):
- Invoke the callback.
- * UIProcess/mac/WebCookieManagerProxyMac.mm: Added.
- (WebKit::WebCookieManagerProxy::persistHTTPCookieAcceptPolicy):
- On Mac, also set the policy in the UI Process because the sandboxed Web Process cannot
- persist the policy.
- * UIProcess/WebCookieManagerProxy.h:
- * UIProcess/WebCookieManagerProxy.messages.in:
- * WebKit2.pri:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Common.vsprops:
- * WebProcess/Cookies/WebCookieManager.cpp:
- (WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
- Call platformSetHTTPCookieAcceptPolicy.
- (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
- Send the result of platformGetHTTPCookieAcceptPolicy to the UI Process.
- * WebProcess/Cookies/WebCookieManager.h:
- * WebProcess/Cookies/WebCookieManager.messages.in:
- * WebProcess/Cookies/cf: Added.
- * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp: Added.
- (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
- Set the policy on both the default cookie storage and any Private Browsing cookie storage.
- (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
- * WebProcess/Cookies/mac: Added.
- * WebProcess/Cookies/mac/WebCookieManagerMac.mm: Added.
- (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
- Set the policy on the default cookie storage and add a FIXME to set it on any Private
- Browsing cookie storage.
- (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
- * WebProcess/Cookies/gtk: Added.
- * WebProcess/Cookies/gtk/WebCookieManagerGtk.cpp: Added.
- (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
- (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
- * WebProcess/Cookies/qt: Added.
- * WebProcess/Cookies/qt/WebCookieManagerQt.cpp: Added.
- (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
- (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
- 2011-03-25 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Alexey Proskuryakov.
- REGRESSION(r79227): CFURLCache not initialized correctly in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=57109
- <rdar://problem/9184590>
-
- Check for a trailing Windows path separator, not a Unix path separator.
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::platformInitializeWebProcess):
- 2011-03-25 Benjamin Poulain <benjamin.poulain@nokia.com>
- Reviewed by Andreas Kling.
- [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
- https://bugs.webkit.org/show_bug.cgi?id=57087
- Use explicit conversion for string to avoid depending on the default codec
- installed by the user code.
- * Platform/qt/SharedMemoryQt.cpp:
- (WebKit::SharedMemory::create):
- * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
- (WebKit::initializeGTK):
- * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp:
- (tst_QGraphicsWKView::loadEmptyPage):
- (tst_QGraphicsWKView::loadEmptyUrl):
- * UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp:
- (tst_QWKPage::loadEmptyUrl):
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- (WebKit::ProcessLauncher::launchProcess):
- * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
- (WebKit::getPluginDisplay):
- * WebProcess/qt/WebProcessMainQt.cpp:
- (WebKit::EnvHttpProxyFactory::initializeFromEnvironment):
- (WebKit::WebProcessMainQt):
- 2011-03-25 Brent Fulgham <bfulgham@webkit.org>
- Correct project file missing $(WebKitVSPropsRedirectionDir)s
- after r81924.
- * win/WebKit2.vcproj: Restore lost $(WebKitVSPropsRedirectionDir)
- 2011-03-25 Alejandro G. Castro <alex@igalia.com>
- Reviewed by Martin Robinson.
- [WK2] Consider .c files in the generate-forwarding-headers script
- https://bugs.webkit.org/show_bug.cgi?id=56680
- * Scripts/generate-forwarding-headers.pl:
- 2011-03-24 Sheriff Bot <webkit.review.bot@gmail.com>
- Unreviewed, rolling out r81916 and r81917.
- http://trac.webkit.org/changeset/81916
- http://trac.webkit.org/changeset/81917
- https://bugs.webkit.org/show_bug.cgi?id=57071
- broke a test on platforms that do not have QuickTime installed
- (Requested by estes on #webkit).
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::objectContentType):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- 2011-03-24 Brady Eidson <beidson@apple.com>
- Reviewed by Darin Adler.
- https://bugs.webkit.org/show_bug.cgi?id=57069
- Add WKIconDatabase api to the project files, and expose accessor on WKContext.
- Project file stuffs:
- * GNUmakefile.am:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * Shared/API/c/WKBase.h:
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKContext.cpp:
- (WKContextGetIconDatabase):
- * UIProcess/API/C/WKContext.h:
- * UIProcess/API/C/WKIconDatabase.cpp: Added.
- (WKIconDatabaseGetTypeID):
- * UIProcess/API/C/WKIconDatabase.h: Added.
- * UIProcess/WebContext.h:
- (WebKit::WebContext::iconDatabase):
- 2011-03-24 Brent Fulgham <bfulgham@webkit.org>
- Build correction.
- Disable the CA Layer stuff when building with Cairo.
- * win/WebKit2.vcproj:
- 2011-03-24 Brady Eidson <beidson@apple.com>
- Reviewed by Sam Weinig.
- https://bugs.webkit.org/show_bug.cgi?id=57058
- Hookup the UIProcess WebIconDatabase to a WebCore::IconDatabase as its implementation
- * UIProcess/WebIconDatabase.cpp:
- (WebKit::WebIconDatabase::WebIconDatabase):
- (WebKit::WebIconDatabase::setDatabasePath): Create a new WebCore::IconDatabase and open it to this path.
- (WebKit::WebIconDatabase::retainIconForPageURL): Actually retain the url, using the impl.
- (WebKit::WebIconDatabase::releaseIconForPageURL): Actually release the url, using the impl.
- (WebKit::WebIconDatabase::setIconURLForPageURL): Actually set the url, using the impl.
- (WebKit::WebIconDatabase::setIconDataForIconURL): Actually set the data, using the impl.
- (WebKit::WebIconDatabase::getLoadDecisionForIconURL): Actually ask for a load decision to call back with.
- (WebKit::WebIconDatabase::performImport):
- (WebKit::WebIconDatabase::didImportIconURLForPageURL):
- (WebKit::WebIconDatabase::didImportIconDataForPageURL):
- (WebKit::WebIconDatabase::didChangeIconForPageURL):
- (WebKit::WebIconDatabase::didRemoveAllIcons):
- (WebKit::WebIconDatabase::didFinishURLImport): Notify all the pending callbacks what their load decisions
- are now that they're available.
- * UIProcess/WebIconDatabase.h:
- Add an IconDatabase logging channel:
- * Platform/Logging.cpp:
- (WebKit::initializeLogChannelsIfNecessary):
- * Platform/Logging.h:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::setIconDatabasePath): Pass the new path on to the WebIconDatabase, possibly
- opening it.
- * UIProcess/WebContext.h:
- 2011-03-24 Andy Estes <aestes@apple.com>
- Reviewed by Darin Adler.
- REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
- https://bugs.webkit.org/show_bug.cgi?id=49016
- Update objectContentType() implementation to handle the
- shouldPreferPlugInsForImages flag.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::objectContentType):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- 2011-03-24 Adam Roben <aroben@apple.com>
- Start compiling LayerTreeHostCA on Windows
- Fixes <http://webkit.org/b/57060> WebKit2.vcproj should compile LayerTreeHostCA
- Reviewed by Anders Carlsson.
- * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp: Added.
- (WebKit::LayerTreeHostCA::platformInitialize):
- (WebKit::LayerTreeHostCA::scheduleLayerFlush):
- (WebKit::LayerTreeHostCA::platformInvalidate):
- (WebKit::LayerTreeHostCA::platformSizeDidChange):
- (WebKit::LayerTreeHostCA::platformForceRepaint):
- (WebKit::LayerTreeHostCA::platformDidPerformScheduledLayerFlush):
- Stubbed out.
- * win/WebKit2.vcproj: Added new files. Let VS reorder existing files.
- * win/WebKit2Apple.vsprops: Added WebProcess\WebPage\ca to the include path.
- 2011-03-24 Jer Noble <jer.noble@apple.com>
- Unreviewed build fix.
- Remove reference to LayerTreeHostMac.h from WebFullScreenManagerMac.mm.
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
- 2011-03-24 Adam Roben <aroben@apple.com>
- Split Mac-specific parts of LayerTreeHostCA into LayerTreeHostCAMac.mm
- Fixes <http://webkit.org/b/57046> LayerTreeHostMac's code should be shareable with Windows
- Reviewed by Anders Carlsson.
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/ca/LayerTreeHostCA.mm.
- (WebKit::LayerTreeHostCA::LayerTreeHostCA): Moved some Mac-specific code to
- LayerTreeHostCAMac.mm.
- (WebKit::LayerTreeHostCA::~LayerTreeHostCA): Wrapped some Mac-specific code in
- PLATFORM(MAC).
- (WebKit::LayerTreeHostCA::invalidate):
- (WebKit::LayerTreeHostCA::sizeDidChange):
- (WebKit::LayerTreeHostCA::forceRepaint):
- Moved some Mac-specific code to LayerTreeHostCAMac.mm.
- (WebKit::LayerTreeHostCA::performScheduledLayerFlush): Renamed from
- flushPendingLayerChangesRunLoopObserverCallback. Moved some code from here...
- (WebKit::LayerTreeHostCA::didPerformScheduledLayerFlush): ...to here. Moved some
- Mac-specific code to LayerTreeHostCAMac.mm.
- * WebProcess/WebPage/ca/LayerTreeHostCA.h: Added new functions, wrapped some Mac-specific
- declarations in PLATFORM(MAC).
- * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm: Added.
- (WebKit::LayerTreeHostCA::platformInitialize):
- (WebKit::LayerTreeHostCA::scheduleLayerFlush):
- (WebKit::LayerTreeHostCA::platformInvalidate):
- (WebKit::LayerTreeHostCA::platformSizeDidChange):
- (WebKit::LayerTreeHostCA::platformForceRepaint):
- (WebKit::LayerTreeHostCA::flushPendingLayerChangesRunLoopObserverCallback):
- (WebKit::LayerTreeHostCA::platformDidPerformScheduledLayerFlush):
- Code was extracted from LayerTreeHostCA.cpp.
- 2011-03-24 Adam Roben <aroben@apple.com>
- Rename LayerTreeHostMac to LayerTreeHostCA
- This is the first step toward sharing code with Windows.
- Fixes <http://webkit.org/b/57051>.
- Reviewed by Anders Carlsson.
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/LayerTreeHost.cpp:
- (WebKit::LayerTreeHost::create):
- Updated for rename.
- * WebProcess/WebPage/ca/LayerTreeHostCA.h: Renamed from Source/WebKit2/WebProcess/WebPage/mac/LayerTreeHostMac.h.
- * WebProcess/WebPage/ca/LayerTreeHostCA.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/LayerTreeHostMac.mm.
- 2011-03-17 Jer Noble <jer.noble@apple.com>
- Reviewed by Maciej Stachowiak.
- WebKit2: Cancelling full screen early leaves full screen window up.
- https://bugs.webkit.org/show_bug.cgi?id=56589
- No new tests, as WebKitTestRunner does not currently support the new Full Screen API.
- Notify the UIProcess when it needs to tear down its layer hosting view, turn off
- the background layer when not in accelerated rendering mode and don't swap out
- the web view unnecessarily
- * UIProcess/mac/WKFullScreenWindowController.mm:
- (-[WKFullScreenWindowController beganExitFullScreenAnimation]): Check before swapping _webView.
- (-[WKFullScreenWindowController enterAcceleratedCompositingMode:]): Add the _layerHostingView
- to the full screen window's animationView, not its contentsView.
- (-[WKFullScreenWindowController exitAcceleratedCompositingMode]): Hide the background layer.
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
- (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): If given a null rootLayer, tell
- the client to exit accelerated mode.
- 2011-03-24 Enrica Casucci <enrica@apple.com>
- Reviewed by Alexey Proskuryakov.
- WebKit2:Services menu item to convert selected Simplified/Traditional Chinese Text is not working.
- https://bugs.webkit.org/show_bug.cgi?id=56975
- <rdar://problem/8915066>
-
- Adding missing entry point to support Mac OS X services in WebKit2.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView readSelectionFromPasteboard:]): Added.
- * UIProcess/WebPageProxy.h:
- * UIProcess/mac/WebPageProxyMac.mm:
- (WebKit::WebPageProxy::readSelectionFromPasteboard): Added.
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in: Added synchronous
- message.
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::readSelectionFromPasteboard): Added.
- 2011-03-24 Jia Pu <jpu@apple.com>
- Reviewed by Darin Adler.
- Dismissed reversion suggestion is incorrectly learned.
- https://bugs.webkit.org/show_bug.cgi?id=57039
- CorrectionPanel should always use [NSSpellChecker dismissCorrectionBubbleForView].
- [NSSpellChecker cancelCorrectionBubbleForView] is reserved for situation where correction panel
- is dismissed explicitly by ESC key or clicking the dimiss button. Misusing these causes
- incorrect automatic learning.
- * UIProcess/mac/CorrectionPanel.mm:
- (WebKit::CorrectionPanel::dismissInternal):
- 2011-03-24 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben.
- WebKit2: Add Trackpoint driver hack to support IBM trackpads
- https://bugs.webkit.org/show_bug.cgi?id=49830
- <rdar://problem/8705951>
- Copy code from WebKit1 to WebKit2 to handle initializing fake scrollbars so
- IBM machines with a trackpad send us WM_VSCROLL and WM_HSCROLL messages.
- Listen for the WM_VSCROLL and WM_HSCROLL messages, and turn the values into
- ScrollDirection and ScrollGranularity, and send a scroll command to the
- WebProcess.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::scrollBy): Send a message to the WebProcess.
- * UIProcess/WebPageProxy.h:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::wndProc): Add WM_VSCROLL and WM_HSCROLL message handling.
- (WebKit::WebView::initialize): Call shouldInitializeTrackPointHack.
- (WebKit::WebView::onHorizontalScroll): Turn wParam into a ScrollDirection and ScrollGranularity.
- (WebKit::WebView::onVerticalScroll): Ditto.
- (WebKit::WebView::shouldInitializeTrackPointHack): Check the registry for keys that indicate
- the machine has a IBM Trackpoint driver.
- * UIProcess/win/WebView.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::scrollBy): Call scroll method.
- (WebKit::WebPage::scroll): Moved from WebPageMac and WebPageWin.
- (WebKit::WebPage::logicalScroll): Ditto.
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in: Add a new scrollBy message.
- * WebProcess/WebPage/mac/WebPageMac.mm: Remove scroll and logicalScroll, they are now in WebPage.cpp.
- * WebProcess/WebPage/win/WebPageWin.cpp: Ditto.
- 2011-03-24 Sam Weinig <sam@webkit.org>
- Reviewed by Darin Adler.
- Dictionary text extraction is not correctly detecting word boundaries on bing.com
- <rdar://problem/9078569>
- https://bugs.webkit.org/show_bug.cgi?id=56995
- * Shared/DictionaryPopupInfo.cpp:
- (WebKit::DictionaryPopupInfo::encode):
- (WebKit::DictionaryPopupInfo::decode):
- * Shared/DictionaryPopupInfo.h:
- Add options dictionary.
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::didPerformDictionaryLookup):
- Add path that can pass options through.
- * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
- (WebKit::WebContextMenuClient::lookUpInDictionary):
- Use the new performDictionaryLookupForSelection which can extract context
- if supported.
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::characterRangeAtPositionForPoint):
- (WebKit::characterRangeAtPoint):
- Split functionality out of characterRangeAtPoint and into
- characterRangeAtPositionForPoint to avoid doing duplicate work
- if you already have the position.
- (WebKit::isPositionInRange):
- (WebKit::shouldUseSelection):
- Add predicate to determine if we should use the selection instead
- of expanding to find the word we are over.
- (WebKit::WebPage::performDictionaryLookupAtLocation):
- If available, use the surrounding paragraph as context to get better extraction
- and to get lexicographical information about the word. Also, clean up and use
- editing APIs to make the code more concise and understandable.
- (WebKit::WebPage::performDictionaryLookupForSelection):
- Use similar logic as in performDictionaryLookupAtLocation to extract additional
- details from a selection for use in the dictionary popup.
- (WebKit::WebPage::performDictionaryLookupForRange):
- Pass options to WebProcess if available.
- 2011-03-24 Jon Lee <jonlee@apple.com>
- Reviewed by Darin Adler.
- WebKit2: Tabbing from the last focused field to a non-webpage element leaves the selection in a weird state
- <rdar://problem/8553962>
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::setFocused): When the page loses focus, clear out any selection in the frame
- 2011-03-24 Brian Weinstein <bweinstein@apple.com>
- Rubber-stamped by Sam Weinig.
- Fix a typo in the VK_LEFT case of performDefaultBehaviorForKeyEvent.
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent): It should be a logical or,
- not a bitwise or.
- 2011-03-24 Jeff Miller <jeffm@apple.com>
- Fix typo - USE(CF_NETWORK) should be USE(CFNETWORK).
- * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
- (WebKit::InjectedBundle::setHostAllowsAnyHTTPSCertificate): USE(CF_NETWORK) should be USE(CFNETWORK)
- 2011-03-23 Jia Pu <jpu@apple.com>
- Reviewed by Darin Adler.
- Hook up new AppKit autocorrection UI with WK2.
- https://bugs.webkit.org/show_bug.cgi?id=56055
- <rdar://problem/8947463>
- Please see WebCore/ChangeLog for detail.
- The calls to AppKit are implemented in PageClientImpl. Other changes are necessary for the
- plumbing work.
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::showCorrectionPanel):
- (WebKit::PageClientImpl::dismissCorrectionPanel):
- (WebKit::PageClientImpl::dismissCorrectionPanelSoon):
- (WebKit::PageClientImpl::recordAutocorrectionResponse):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView spellCheckerDocumentTag]):
- (-[WKView handleCorrectionPanelResult:]):
- * UIProcess/API/mac/WKViewPrivate.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didCommitLoadForFrame):
- (WebKit::WebPageProxy::showCorrectionPanel):
- (WebKit::WebPageProxy::dismissCorrectionPanel):
- (WebKit::WebPageProxy::dismissCorrectionPanelSoon):
- (WebKit::WebPageProxy::recordAutocorrectionResponse):
- (WebKit::WebPageProxy::handleCorrectionPanelResult):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/mac/CorrectionPanel.h: Added.
- (WebKit::CorrectionPanel::isShowing):
- * UIProcess/mac/CorrectionPanel.mm: Added.
- (correctionBubbleType):
- (WebKit::CorrectionPanel::CorrectionPanel):
- (WebKit::CorrectionPanel::~CorrectionPanel):
- (WebKit::CorrectionPanel::show):
- (WebKit::CorrectionPanel::dismiss):
- (WebKit::CorrectionPanel::dismissSoon):
- (WebKit::CorrectionPanel::dismissInternal):
- (WebKit::CorrectionPanel::recordAutocorrectionResponse):
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebCoreSupport/WebEditorClient.h:
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- (WebKit::WebEditorClient::showCorrectionPanel):
- (WebKit::WebEditorClient::dismissCorrectionPanel):
- (WebKit::WebEditorClient::dismissCorrectionPanelSoon):
- (WebKit::WebEditorClient::recordAutocorrectionResponse):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::handleCorrectionPanelResult):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
- 2011-03-23 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Maciej Stachowiak.
- WebKit2: Need API to manage the Media Cache
- https://bugs.webkit.org/show_bug.cgi?id=56878
- <rdar://problem/9082503>
- Call through to HTMLMediaElement functions to manage the WebCore media cache.
- * WebProcess/MediaCache/WebMediaCacheManager.cpp:
- (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache):
- (WebKit::WebMediaCacheManager::clearCacheForHostname):
- (WebKit::WebMediaCacheManager::clearCacheForAllHostnames):
- 2011-03-23 Jeff Miller <jeffm@apple.com>
- Reviewed by Darin Adler.
- Add WKBundleSetHostAllowsAnyHTTPSCertificate() for Windows
- https://bugs.webkit.org/show_bug.cgi?id=56972
-
- This is the WebKit2 equivalent to the WebKit1 API IWebMutableURLRequest::setAllowsAnyHTTPSCertificate().
- * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
- (WKBundleSetHostAllowsAnyHTTPSCertificate): Added.
- * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Added WKBundleSetHostAllowsAnyHTTPSCertificate().
- * WebProcess/InjectedBundle/InjectedBundle.h: Added setHostAllowsAnyHTTPSCertificate().
- * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
- (WebKit::InjectedBundle::setHostAllowsAnyHTTPSCertificate): Added, should never be called.
- * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
- (WebKit::InjectedBundle::setHostAllowsAnyHTTPSCertificate): Added, should never be called.
- * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
- (WebKit::InjectedBundle::setHostAllowsAnyHTTPSCertificate): Added, should never be called.
- * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
- (WebKit::InjectedBundle::setHostAllowsAnyHTTPSCertificate): Added.
- 2011-03-23 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Roll out r81593 Need WebKit2 API for creating a page with a specific main frame name
- This API is not necessary.
- * Shared/WebPageCreationParameters.cpp:
- (WebKit::WebPageCreationParameters::encode):
- (WebKit::WebPageCreationParameters::decode):
- * Shared/WebPageCreationParameters.h:
- * UIProcess/API/mac/WKView.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:]):
- (-[WKView initWithFrame:contextRef:]):
- (-[WKView initWithFrame:contextRef:pageGroupRef:]):
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::creationParameters):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::createMainFrame):
- * WebProcess/WebPage/WebFrame.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- 2011-03-23 Balazs Kelemen <kbalazs@webkit.org>
- Reviewed by Andreas Kling.
- [WK2] Handle keyboard and mouse events on X11
- https://bugs.webkit.org/show_bug.cgi?id=56103
- Propagate keyboard and mouse events to the plugin
- as XEvent's.
- * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
- (WebKit::initializeXEvent):
- (WebKit::xTimeStamp):
- (WebKit::xKeyModifiers):
- (WebKit::setCommonMouseEventFields):
- (WebKit::setXMotionEventFields):
- (WebKit::setXButtonEventFields):
- (WebKit::setXCrossingEventFields):
- (WebKit::NetscapePlugin::platformHandleMouseEvent):
- (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
- (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
- (WebKit::setXKeyEventFields):
- (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
- 2011-03-23 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Connection::SyncMessageState::processIncomingMessage should ignore whether the message is sync or not
- https://bugs.webkit.org/show_bug.cgi?id=56954
- This is so we'll eventually be able to send sync messages that aren't processed immediately if the
- destination is waiting for a reply to another synchronous message.
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
- Only check for the DispatchMessageWhenWaitingForSyncReply flag.
- (CoreIPC::Connection::sendSyncMessage):
- Add both DispatchMessageWhenWaitingForSyncReply and SyncMessage to the message ID.
- * Platform/CoreIPC/Connection.h:
- (CoreIPC::Connection::sendSync):
- (CoreIPC::Connection::deprecatedSendSync):
- No need to add SyncMessage here anymore.
- 2011-03-23 Brian Weinstein <bweinstein@apple.com>
- Qt Build Fix.
- * DerivedSources.pro:
- 2011-03-22 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Darin Adler.
- WebKit2: Need API to manage the Media Cache
- https://bugs.webkit.org/show_bug.cgi?id=56878
- <rdar://problem/9082503>
- Project File Fun:
- * GNUmakefile.am:
- * WebKit2.pri:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Common.vsprops:
- * win/WebKit2Generated.make:
-
- Derived Sources and API fun:
- * DerivedSources.make:
- * DerivedSources.pro:
- * Platform/CoreIPC/MessageID.h:
- * Shared/API/c/WKBase.h:
- * Shared/APIObject.h:
- * UIProcess/API/C/WKAPICast.h:
-
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveMessage): Add a case for MediaCache messages.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::didReceiveMessage): Ditto.
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext): Initialize the WebMediaCacheManagerProxy member variable.
- (WebKit::WebContext::~WebContext): Invalidate the WebMediaCacheManagerProxy.
- (WebKit::WebContext::disconnectProcess): Ditto.
- (WebKit::WebContext::didReceiveMessage): Add a case for MediaCache messages.
- * UIProcess/WebContext.h:
- (WebKit::WebContext::mediaCacheManagerProxy):
- * UIProcess/API/C/WKContext.cpp:
- (WKContextGetMediaCacheManager): Returns the context's WebMediaCacheManager.
- * UIProcess/API/C/WKContext.h:
- * UIProcess/API/C/WKMediaCacheManager.cpp: Added.
- (WKMediaCacheManagerGetTypeID): Returns the WebMediaCacheManagerProxy type.
- (WKMediaCacheManagerGetHostnamesWithMediaCache): Calls down to the WebMediaCacheManagerProxy.
- (WKMediaCacheManagerClearCacheForHostname): Ditto.
- (WKMediaCacheManagerClearCacheForAllHostnames): Ditto.
- * UIProcess/API/C/WKMediaCacheManager.h: Added.
- * UIProcess/WebMediaCacheManagerProxy.cpp: Added.
- (WebKit::WebMediaCacheManagerProxy::create):
- (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
- (WebKit::WebMediaCacheManagerProxy::~WebMediaCacheManagerProxy):
- (WebKit::WebMediaCacheManagerProxy::invalidate):
- (WebKit::WebMediaCacheManagerProxy::didReceiveMessage):
- (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache): Call through to the WebProcess.
- (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache): Process the WebProcess response,
- and call the callback.
- (WebKit::WebMediaCacheManagerProxy::clearCacheForHostname): Call through to the WebProcess.
- (WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames): Call through to the WebProcess.
- * UIProcess/WebMediaCacheManagerProxy.h: Added.
- (WebKit::WebMediaCacheManagerProxy::clearContext):
- (WebKit::WebMediaCacheManagerProxy::type):
- * UIProcess/WebMediaCacheManagerProxy.messages.in: Added.
- * WebProcess/MediaCache: Added.
- * WebProcess/MediaCache/WebMediaCacheManager.cpp: Added.
- (WebKit::WebMediaCacheManager::shared):
- (WebKit::WebMediaCacheManager::WebMediaCacheManager):
- (WebKit::WebMediaCacheManager::didReceiveMessage):
- (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache): Added a FIXME to call through to WebCore.
- (WebKit::WebMediaCacheManager::clearCacheForHostname): Ditto.
- (WebKit::WebMediaCacheManager::clearCacheForAllHostnames): Ditto.
- * WebProcess/MediaCache/WebMediaCacheManager.h: Added.
- * WebProcess/MediaCache/WebMediaCacheManager.messages.in: Added.
- 2011-03-22 Brady Eidson <beidson@apple.com>
- Reviewed by Sam Weinig.
- Add asynchronous load decision call to WebKit2 IconDatabase
- https://bugs.webkit.org/show_bug.cgi?id=56887
- * UIProcess/WebIconDatabase.cpp:
- (WebKit::WebIconDatabase::getLoadDecisionForIconURL): In the future, get the actual load decision from the database.
- For now, always message "IconLoadNo" back to the WebProcess.
- * UIProcess/WebIconDatabase.h:
- * UIProcess/WebIconDatabase.messages.in:
-
- * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
- (WebKit::WebIconDatabaseProxy::loadDecisionForIconURL): Message the UIProcess for the load decision.
- (WebKit::WebIconDatabaseProxy::receivedIconLoadDecision): Callback into WebCore with the received load decision.
- * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
- * WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in:
- 2011-03-23 Chris Fleizach <cfleizach@apple.com>
- Reviewed by Darin Adler.
- REGRESSION: WK2: AX: PDF in Safari no longer accessible.
- https://bugs.webkit.org/show_bug.cgi?id=56849
- The WKView needs to know when to return the WKPDFView and when to return
- the remote web process connection.
- * UIProcess/API/mac/PDFViewController.h:
- (WebKit::PDFViewController::pdfView):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView accessibilityFocusedUIElement]):
- (-[WKView accessibilityHitTest:]):
- (-[WKView accessibilityAttributeValue:]):
- 2011-03-21 Stephanie Lewis <slewis@apple.com>
- Reviewed by Simon Fraser.
- https://bugs.webkit.org/show_bug.cgi?id=56798
- Wrap autorelease pools around calls that can have pathological memory growth on Membuster.
- Only wrap the main runloop because some background threads are not expected to call into
- objc and an autorelease pool could mask bugs.
- * Platform/mac/RunLoopMac.mm:
- (RunLoop::performWork):
- (RunLoop::TimerBase::timerFired):
- * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
- (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback):
- 2011-03-22 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- OBJECT element with DivX source is always downloaded
- https://bugs.webkit.org/show_bug.cgi?id=56879
- * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
- (WebKit::getPluginInfoFromPropertyLists):
- Always try to split every element in the "WebPluginExtensions" array, since the DivX plug-in
- specifies multiple file extensions in a single element.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::pluginSupportsExtension):
- Add a new helper function.
- (WebKit::WebFrameLoaderClient::objectContentType):
- If we can't find the MIME for an extension, explicitly check if there's a plugin that claims to
- handle the given extension.
- 2011-03-22 Brady Eidson <beidson@apple.com>
- Reviewed by Sam Weinig.
- Rename the synchronous icon database messages to be prefixed with "synchronous"
- * UIProcess/WebIconDatabase.cpp:
- (WebKit::WebIconDatabase::synchronousIconDataForPageURL):
- (WebKit::WebIconDatabase::synchronousIconURLForPageURL):
- (WebKit::WebIconDatabase::synchronousIconDataKnownForIconURL):
- (WebKit::WebIconDatabase::synchronousLoadDecisionForIconURL):
- * UIProcess/WebIconDatabase.h:
- * UIProcess/WebIconDatabase.messages.in:
- * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
- (WebKit::WebIconDatabaseProxy::synchronousIconForPageURL):
- 2011-03-22 Sam Weinig <sam@webkit.org>
- Rubber-stamped by Anders Carlsson.
- Loading a new tab does not dismiss Lookup
- <rdar://problem/9138391>
- * UIProcess/API/mac/WKView.mm:
- (-[WKView viewDidMoveToWindow]):
- Hide the dictionary popup when moving the WKView out of a window.
- 2011-03-22 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Microsoft Silverlight playback shows artifacts
- https://bugs.webkit.org/show_bug.cgi?id=56863
- <rdar://problem/9103136>
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::paint):
- If the plug-in is transparent, clear the dirty rect before painting.
- * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
- (WebKit::NetscapePluginModule::determineQuirks):
- Add the MakeTransparentIfBackgroundAttributeExists quirk for Silverlight plug-ins.
- * Shared/Plugins/PluginQuirks.h:
- Add MakeTransparentIfBackgroundAttributeExists quirk.
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_SetValue):
- Handle NPPVpluginTransparentBool.
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin):
- Initialize m_isTransparent to false.
- (WebKit::NetscapePlugin::setIsTransparent):
- Set m_isTransparent.
- (WebKit::NetscapePlugin::initialize):
- If the plug-in has the MakeTransparentIfBackgroundAttributeExists quirk, make it transparent
- if there's a 'background' attribute.
- (WebKit::NetscapePlugin::isTransparent):
- Add getter.
- * WebProcess/Plugins/Plugin.h:
- Add isTransparent().
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::paint):
- Always copy the plug-in backing store to the plug-in proxy backing store.
- (WebKit::PluginProxy::isTransparent):
- Add getter that should never be called.
- (WebKit::PluginProxy::update):
- Always copy the plug-in backing store to the plug-in proxy backing store.
- 2011-03-22 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Crash when calling PluginProxy::evaluate on a destroyed plug-in
- https://bugs.webkit.org/show_bug.cgi?id=56848
- <rdar://problem/9168975>
- Return early if the NPObject doesn't exist anymore.
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::evaluate):
- 2011-03-22 Sam Weinig <sam@webkit.org>
- Reviewed by Adam Roben.
- WebKit2: Cannot make a selection past the end of the visible page (no autoscrolling)
- <rdar://problem/8823874>
- https://bugs.webkit.org/show_bug.cgi?id=56847
- * Shared/mac/WebEventFactory.mm:
- (WebKit::currentMouseButton):
- (WebKit::mouseButtonForEvent):
- Add mouse button for mouseEnter/Exit events. [NSEvent buttonNumber] doesn't seem to give the right result
- for these events, but getting the currentMouseButton does work.
- 2011-03-21 Brady Eidson <beidson@apple.com>
- Fix Mac release builds after https://bugs.webkit.org/show_bug.cgi?id=56783
- * Platform/mac/Logging.mac.mm:
- 2011-03-21 Brady Eidson <beidson@apple.com>
- Reviewed by Brian Weinstein.
- https://bugs.webkit.org/show_bug.cgi?id=56783
- Actually hook up WebKit2 logging on Mac.
- * Platform/Logging.cpp:
- (WebKit::initializeLogChannel):
- * Platform/Logging.h:
- * Platform/mac/Logging.mac.mm: Added.
- (WebKit::initializeLogChannel):
-
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext): Initialize logging if necessary.
- * WebKit2.xcodeproj/project.pbxproj:
- 2011-03-21 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Darin Adler.
- REGRESSION (r81269): WebKit2 gets into an infinite recursion after an unhandled command key
- https://bugs.webkit.org/show_bug.cgi?id=56782
- <rdar://problem/9151993>
- * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::doneWithKeyEvent):
- Factored out code for resending an event and moved it to WKView.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView performKeyEquivalent:]): Don't zero out _keyDownEventBeingResent, it's easier
- to just do that in _resendKeyDownEvent:.
- (-[WKView keyDown:]): Ditto.
- (-[WKView _resendKeyDownEvent:]): Moved from PageClientImpl.mm. Added an assertion that we
- are not already resending an event - it would be too confusing if we ever had to do that,
- but looks like this never happens.
- * UIProcess/API/mac/WKViewInternal.h: Exposed _resendKeyDownEvent.
- 2011-03-21 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- QT plug-in fails to load contextual menu
- https://bugs.webkit.org/show_bug.cgi?id=56777
- <rdar://problem/8979033>
- Open a Carbon resource map and make it the current map when calling NP_Initialize.
- * Platform/Module.cpp:
- (WebKit::Module::Module):
- Initialize m_bundleResourceMap to -1.
- * Platform/Module.h:
- Add m_bundleResourceMap.
- * Platform/mac/ModuleMac.mm:
- (WebKit::Module::unload):
- Close the resource map.
- (WebKit::Module::bundleResourceMap):
- Open a resource map if necessary.
- * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
- (WebKit::NetscapePluginModule::tryLoad):
- Get the resource map and make it current before calling NP_Initialize.
- 2011-03-21 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Plug-in process crashes if it fails to load a plug-in module
- https://bugs.webkit.org/show_bug.cgi?id=56775
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::initialize):
- If NetscapePlugin::create returns null, call removePluginControllerProxy with a null plug-in.
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::removePluginControllerProxy):
- Remove an incorrect assertion. Don't invalidate the remote object map if the plug-in is null.
- 2011-03-21 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- QT plug-in loads controller at top of movie not bottom
- https://bugs.webkit.org/show_bug.cgi?id=56764
- <rdar://problem/8979037>
- Create a layer with geometryFlipped set and add the plug-in layer as a sublayer,
- matching WebKit1.
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformPostInitialize):
- 2011-03-21 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- WebKit2 needs preferences to change security knobs
- https://bugs.webkit.org/show_bug.cgi?id=56762
- Add preferences for WebSecurityEnabled, UniversalAccessFromFileURLsAllowed
- and FileAccessFromFileURLsAllowed.
- * Shared/WebPreferencesStore.h:
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetWebSecurityEnabled):
- (WKPreferencesGetWebSecurityEnabled):
- (WKPreferencesSetUniversalAccessFromFileURLsAllowed):
- (WKPreferencesGetUniversalAccessFromFileURLsAllowed):
- (WKPreferencesSetFileAccessFromFileURLsAllowed):
- (WKPreferencesGetFileAccessFromFileURLsAllowed):
- * UIProcess/API/C/WKPreferencesPrivate.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
- 2011-03-21 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Remove old DrawingArea and LayerHostingView code from WKView.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView drawRect:]):
- (-[WKView hitTest:]):
- (-[WKView WebKit::]):
- 2011-03-21 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Need WebKit2 API for creating a page with a specific main frame name
- https://bugs.webkit.org/show_bug.cgi?id=56759
- * Shared/WebPageCreationParameters.cpp:
- (WebKit::WebPageCreationParameters::encode):
- (WebKit::WebPageCreationParameters::decode):
- * Shared/WebPageCreationParameters.h:
- Add mainFrameName to creation parameters.
- * UIProcess/API/mac/WKView.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:]):
- (-[WKView initWithFrame:contextRef:]):
- (-[WKView initWithFrame:contextRef:pageGroupRef:]):
- (-[WKView initWithFrame:contextRef:pageGroupRef:mainFrameName:]):
- Add new initializer which takes a main frame name.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setMainFrameName):
- (WebKit::WebPageProxy::creationParameters):
- * UIProcess/WebPageProxy.h:
- Store the main frame name for initialization/re-initialization.
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::createMainFrame):
- * WebProcess/WebPage/WebFrame.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- Pass the name to main frame creation.
- 2011-03-20 Bill Budge <bbudge@chromium.org>
- Reviewed by Adam Barth.
- Rename ThreadSafeShared to ThreadSafeRefCounted
- https://bugs.webkit.org/show_bug.cgi?id=56714
- No new tests. Exposes no new functionality.
- * Platform/CoreIPC/Connection.h:
- * Platform/WorkQueue.h:
- * Platform/win/WorkQueueWin.cpp:
- * UIProcess/Launcher/ProcessLauncher.h:
- * UIProcess/Launcher/ThreadLauncher.h:
- 2011-03-19 Anton D'Auria <adauria@apple.com>
- Reviewed by Alexey Proskuryakov.
- ApplicationCacheGroup is not obsolete after being deleted via ApplicationCacheStorage::deleteEntriesForOrigin
- https://bugs.webkit.org/show_bug.cgi?id=56415
- * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: calling ApplicationCacheGroup::deleteCacheGroupsForOrigin
- instead of ApplicationCacheStorage::deleteEntriesForOrigin.
- (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
- 2011-03-18 Sam Weinig <sam@webkit.org>
- Attempt to fix the WinCairo build.
- * win/WebKit2.vcproj:
- 2011-03-18 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Empty gray page after going back from a PDF
- https://bugs.webkit.org/show_bug.cgi?id=56694
- <rdar://problem/8811854>
- Update m_frameHasCustomRepresentation when loading a page that's in the page cache.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
- 2011-03-18 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Crash when sending a sync message ends up invalidating the connection
- https://bugs.webkit.org/show_bug.cgi?id=56686
- <rdar://problem/9048781>
- Guard against a null client.
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::sendSyncMessage):
- 2011-03-18 Balazs Kelemen <kbalazs@webkit.org>
- Reviewed by Benjamin Poulain.
- [Qt][WK2] Need a way to debug the web process after the UI process dies
- https://bugs.webkit.org/show_bug.cgi?id=56116
- Allow the web process to outlive it's parent process
- in debug builds if the QT_WEBKIT_KEEP_ALIVE_WEB_PROCESS
- environment variable is set.
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- (WebKit::QtWebProcess::setupChildProcess): Used getenv
- since the prctl call is already in a Linux-only block
- and the implementation in this file is a candidate
- for sharing across ports in the future.
- 2011-03-18 Darin Adler <darin@apple.com>
- Reviewed by Anders Carlsson.
- Command-period does not stop load when page has focus in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=56601
- * UIProcess/API/mac/WKView.mm:
- (-[WKView doCommandBySelector:]): If called outside interpretKeyEvents,
- call through to super.
- (-[WKView insertText:]): Assert that we are inside interpretKeyEvents.
- (-[WKView unmarkText]): Ditto.
- (-[WKView setMarkedText:selectedRange:]): Ditto.
- (-[WKView _interceptKeyEvent:]): Set a flag to indicate we are inside
- interpretKeyEvents for use by the above.
- 2011-03-18 Brady Eidson <beidson@apple.com>
- Reviewed by Sam Weinig.
- https://bugs.webkit.org/show_bug.cgi?id=56425
- More groundwork for WebKit2 IconDatabase
- -Update the synchronous method names to be prefixed with "synchronous."
- -Add empty implementations for the asynchronous accessors.
- * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
- (WebKit::WebIconDatabaseProxy::setEnabled):
- (WebKit::WebIconDatabaseProxy::synchronousIconForPageURL):
- (WebKit::WebIconDatabaseProxy::synchronousIconURLForPageURL):
- (WebKit::WebIconDatabaseProxy::synchronousIconDataKnownForIconURL):
- (WebKit::WebIconDatabaseProxy::synchronousLoadDecisionForIconURL):
- (WebKit::WebIconDatabaseProxy::supportsAsynchronousMode):
- (WebKit::WebIconDatabaseProxy::loadDecisionForIconURL):
- (WebKit::WebIconDatabaseProxy::iconDataForIconURL):
- * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
- 2011-03-18 Alejandro G. Castro <alex@igalia.com>
- Reviewed by Martin Robinson.
- Fixed compilation after r80925.
- * GNUmakefile.am:
- * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp: Added.
- (WebKit::WebFullScreenManagerProxy::enterFullScreen):
- (WebKit::WebFullScreenManagerProxy::exitFullScreen):
- (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation):
- (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation):
- (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation):
- (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
- (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode):
- (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode):
- (WebKit::WebFullScreenManagerProxy::getFullScreenRect):
- * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.cpp: Added.
- (WebKit::WebFullScreenManagerGtk::WebFullScreenManagerGtk):
- (WebKit::WebFullScreenManager::create):
- (WebKit::WebFullScreenManagerGtk::setRootFullScreenLayer):
- (WebKit::WebFullScreenManagerGtk::beginEnterFullScreenAnimation):
- (WebKit::WebFullScreenManagerGtk::beginExitFullScreenAnimation):
- * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.h: Added.
- 2011-03-18 Alejandro G. Castro <alex@igalia.com>
- Unreviewed, fixed compilation after r81208.
- * GNUmakefile.am:
- 2011-03-18 John Sullivan <sullivan@apple.com>
- Reviewed by Dan Bernstein.
- https://bugs.webkit.org/show_bug.cgi?id=56645
- Assertion fires when hidden Find-on-Page matches are encountered in WebKit2
- * WebProcess/WebPage/FindController.cpp:
- (WebKit::FindController::updateFindIndicator):
- Bail out if the selection rect is empty, before trying to generate an appropriately-sized
- bitmap. (Previously it was bailing out afterwards, but encountering an assertion in debug
- builds along the way.)
- 2011-03-18 Mark Rowe <mrowe@apple.com>
- Rubber-stamped by Jon Honeycutt.
- <rdar://problem/9153929> PluginProcess fails to launch due to PluginProcessShim.dylib building for 64-bit only
- Fix a bogus change from r81392 that made PluginProcessShim.xcconfig import DebugRelease.xcconfig.
- As its name suggests, DebugRelease.xcconfig is only applicable for the debug and release configurations.
- It overrides the valid build architectures and also restricts the build to only the active architecture.
-
- * Configurations/PluginProcessShim.xcconfig: Import BaseTarget.xcconfig instead. This is what
- each target-specific .xcconfig file should import.
- 2011-03-17 Mark Rowe <mrowe@apple.com>
- Fix the build.
- * WebKit2.xcodeproj/project.pbxproj:
- 2011-03-17 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Implement PluginProcessProxy::setFullscreenWindowIsShowing
- https://bugs.webkit.org/show_bug.cgi?id=56618
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::PluginProcessProxy::PluginProcessProxy):
- Initialize m_fullscreenWindowIsShowing.
- (WebKit::PluginProcessProxy::didClose):
- if m_fullscreenWindowIsShowing is true, call exitFullscreen.
- * UIProcess/Plugins/PluginProcessProxy.h:
- * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
- (WebKit::PluginProcessProxy::getPluginProcessSerialNumber):
- Add helper function for getting a PSN for the plug-in process.
- (WebKit::PluginProcessProxy::makePluginProcessTheFrontProcess):
- Make the plug-in process the front process.
- (WebKit::PluginProcessProxy::makeUIProcessTheFrontProcess):
- Make the current process (the UI process) the front process.
- (WebKit::PluginProcessProxy::setFullscreenWindowIsShowing):
- Call enterFullscreen or exitFullscreen.
- (WebKit::PluginProcessProxy::enterFullscreen):
- Make the plug-in process the front process and hide the menu bar.
- (WebKit::PluginProcessProxy::exitFullscreen):
- Show the menu bar and if necessary make the UI process the front process.
- (WebKit::PluginProcessProxy::endModal):
- call makeUIProcessTheFrontProcess.
- (WebKit::PluginProcessProxy::applicationDidBecomeActive):
- Call makePluginProcessTheFrontProcess.
- 2011-03-17 Adam Roben <aroben@apple.com>
- Make bidi text in <select> menus in WebKit2 on Windows match WebKit1
- Fixes <http://webkit.org/b/56614> 3 <select> bidi tests failing on Windows 7 Release
- (WebKit2 Tests)
- Reviewed by Sam Weinig.
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
- (WebKit::WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection):
- On Windows, return the same values we return in WebKit1.
- 2011-03-17 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Implement PluginProcessProxy::setModalWindowIsShowing
- https://bugs.webkit.org/show_bug.cgi?id=56615
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::PluginProcessProxy::PluginProcessProxy):
- Initialize m_modalWindowIsShowing.
- (WebKit::PluginProcessProxy::didClose):
- If m_modalWindowIsShowing is true, we must call endModal.
- * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
- (-[WKPlaceholderModalWindow _wantsUserAttention]):
- Add a WKPlaceholderModalWindow.
- (WebKit::PluginProcessProxy::setModalWindowIsShowing):
- Call beginModal or endModal depending on whether we're showing a modal window or not.
- (WebKit::PluginProcessProxy::beginModal):
- Create a fake window and start a nested run loop. Listen for NSApplicationWillBecomeActiveNotification notifications.
- (WebKit::PluginProcessProxy::endModal):
- Tear down the window and the run loop.
- (WebKit::PluginProcessProxy::applicationDidBecomeActive):
- Make sure that the plug-in process is frontmost.
- 2011-03-17 Jeff Miller <jeffm@apple.com>
- Reviewed by Adam Roben.
- Web page shouldn't swallow alt-key combinations on Windows
- https://bugs.webkit.org/show_bug.cgi?id=56612
-
- Make Alt+Left Arrow and Alt+Right Arrow go back and forward, but make
- sure any alt-key combinations bubble up to the client.
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::performDefaultBehaviorForKeyEvent): Make Alt+Left Arrow and Alt+Right Arrow go back and forward, ignore any other alt-key combinations.
- 2011-03-17 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Send SetModalWindowIsShowing and SetFullscreenWindowIsShowing messages to the UI process
- https://bugs.webkit.org/show_bug.cgi?id=56610
- * PluginProcess/mac/PluginProcessMac.mm:
- (WebKit::FullscreenWindowTracker::FullscreenWindowTracker):
- Add fullscreen window tracker class.
- (WebKit::rectCoversAnyScreen):
- Return whether the given rect covers any screen.
- (WebKit::windowCoversAnyScreen):
- Return whether the given window covers any screen.
- (WebKit::FullscreenWindowTracker::windowShown):
- If we're showing a fullscreen window, call PluginProcess::setFullscreenWindowIsShowing.
- (WebKit::FullscreenWindowTracker::windowHidden):
- If we're hiding the last fullscreen window, call PluginProcess::setFullscreenWindowIsShowing.
- (WebKit::cocoaWindowShown):
- (WebKit::cocoaWindowHidden):
- (WebKit::carbonWindowShown):
- (WebKit::carbonWindowHidden):
- Call the window tracking functions.
- (WebKit::setModal):
- Call PluginProcess::setModalWindowIsShowing.
- (WebKit::PluginProcess::setModalWindowIsShowing):
- (WebKit::PluginProcess::setFullscreenWindowIsShowing):
- Send CoreIPC messages.
- * UIProcess/Plugins/PluginProcessProxy.h:
- * UIProcess/Plugins/PluginProcessProxy.messages.in:
- Add new messages.
- * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
- (WebKit::PluginProcessProxy::setModalWindowIsShowing):
- (WebKit::PluginProcessProxy::setFullscreenWindowIsShowing):
- Add stubs.
- 2011-03-17 Sam Weinig <sam@webkit.org>
- Reviewed by Brady Eidson.
- Allow passing a certificate chain as a user message
- <rdar://problem/8951709>
- https://bugs.webkit.org/show_bug.cgi?id=56605
- * Shared/API/c/mac/WKCertificateInfoMac.h:
- * Shared/API/c/mac/WKCertificateInfoMac.mm:
- (WKCertificateInfoCreateWithCertficateChain):
- Added. Creates a WKCertificate from a certificate chain.
- * Shared/UserMessageCoders.h:
- (WebKit::UserMessageEncoder::baseEncode):
- (WebKit::UserMessageDecoder::baseDecode):
- Add encoding/decoding of WebCertificateInfo.
- 2011-03-17 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Add PluginProcessShim hooks for when windows are shown and hidden
- https://bugs.webkit.org/show_bug.cgi?id=56597
- * Configurations/PluginProcessShim.xcconfig:
- Add HEADER_SEARCH_PATHS so we can find WebKitSystemInterface.h.
- * PluginProcess/mac/PluginProcessMac.mm:
- (WebKit::cocoaWindowShown):
- (WebKit::cocoaWindowHidden):
- (WebKit::carbonWindowShown):
- (WebKit::carbonWindowHidden):
- (WebKit::setModal):
- (WebKit::PluginProcess::initializeShim):
- Add empty stubs.
- * PluginProcess/mac/PluginProcessShim.h:
- * PluginProcess/mac/PluginProcessShim.mm:
- (WebKit::beginModal):
- (WebKit::endModal):
- Keep a modal count and call setModal accordingly.
- (WebKit::shim_NSApplication_RunModalForWindow):
- (WebKit::shimModalDialog):
- (WebKit::shimAlert):
- Call beginModal/endModal.
- (WebKit::shimShowWindow):
- (WebKit::shimHideWindow):
- Call the shim functions.
-
- (WebKit::WebKitPluginProcessShimInitialize):
- Listen for notifications and call the necessary shim functions.
- * WebKit2.xcodeproj/project.pbxproj:
- Link the plug-in process shim with AppKit and QuartzCore and WKSI.
- 2011-03-17 Jeff Miller <jeffm@apple.com>
- Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically:
-
- *.mode*
- *.pbxuser
- *.perspective*
- project.xcworkspace
- xcuserdata
- * WebKit2.xcodeproj: Modified property svn:ignore.
- 2011-03-17 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- WKErrors need the PeerCertificateChain for certificate errors
- <rdar://problem/8951784>
- https://bugs.webkit.org/show_bug.cgi?id=56592
- * Shared/WebCoreArgumentCoders.h:
- Special case encoding/decoding of ResourceErrors for the mac.
- * Shared/mac/PlatformCertificateInfo.h:
- * Shared/mac/PlatformCertificateInfo.mm:
- (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
- Add constructor that take the PeerCertificateChain as CFArrayRef.
- * Shared/mac/WebCoreArgumentCodersMac.mm:
- (CoreIPC::encodeResourceError):
- (CoreIPC::decodeResourceError):
- Add encode/decode for ResourceError using the underlying NSError
- and encoding/decoding as much of the userInfo as we know how to.
- Right now this includes all string values and the PeerCertificateChain.
- 2011-03-17 John Sullivan <sullivan@apple.com>
- Reviewed by Adam Roben.
- https://bugs.webkit.org/show_bug.cgi?id=56574
- Dealloc'ing a WKView can leave a stale reference to it in NSWindow
- * UIProcess/API/mac/WKView.mm:
- (-[WKView viewWillMoveToWindow:]):
- Clear the outgoing window's growBoxOwner if it is this view.
- 2011-03-17 Anders Carlsson <andersca@apple.com>
- Rubber-stamped by John Sullivan.
- Rename PluginProcessShim.cpp to PluginProcessShim.mm.
- * PluginProcess/mac/PluginProcessShim.cpp: Removed.
- * PluginProcess/mac/PluginProcessShim.mm: Copied from PluginProcess/mac/PluginProcessShim.cpp.
- * WebKit2.xcodeproj/project.pbxproj:
- 2011-03-17 Anders Carlsson <andersca@apple.com>
- Reviewed by Darin Adler.
- Invalidate all NPObjects for a plug-in when that plug-in is destroyed
- https://bugs.webkit.org/show_bug.cgi?id=56511
- <rdar://problem/8993491>
- Before this change, we would invalidate NPObjectProxy objects and delete NPObjectMessageReceiver
- objects when the last plug-in of a certain type was destroyed. Doing so caused us to hold on to memory
- which we don't need, and could also lead to crashes if the NPObjectMessageReceiver would get a message and
- tried to invoke it on a already deallocated NPObject.
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::initialize):
- If we fail to initialize, call removePluginControllerProxy instead of having WebProcessConnection do so.
- (WebKit::PluginControllerProxy::destroy):
- Pass the plug-in to removePluginControllerProxy.
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::removePluginControllerProxy):
- Call NPRemoteObjectMap::pluginDestroyed when the plug-in has been destroyed.
- (WebKit::WebProcessConnection::createPlugin):
- Don't call removePluginControllerProxy if the plug-in fails to initialize. PluginControllerProxy::initialize now
- takes care of doing this.
- * Shared/Plugins/NPObjectMessageReceiver.cpp:
- (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
- (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
- * Shared/Plugins/NPObjectMessageReceiver.h:
- Remove m_shouldReleaseObjectWhenInvalidating, we now know that no NPObjects will have been deallocated
- by the time the NPObjectMessageReceiver is destroyed.
- (WebKit::NPObjectMessageReceiver::plugin):
- Add getter.
-
- * Shared/Plugins/NPObjectProxy.h:
- (WebKit::NPObjectProxy::plugin):
- Add getter.
-
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- (WebKit::NPRemoteObjectMap::NPRemoteObjectMap):
- Remove m_isInvalidating.
- (WebKit::NPRemoteObjectMap::npObjectProxyDestroyed):
- Simplify code.
- (WebKit::NPRemoteObjectMap::pluginDestroyed):
- Rename invalidate to pluginDestroyed. Only invalidate/delete objects that belong to the given plug-in.
- * Shared/Plugins/NPRemoteObjectMap.h:
- Remove m_isInvalidating.
-
- * WebProcess/Plugins/PluginProcessConnection.cpp:
- (WebKit::PluginProcessConnection::removePluginProxy):
- Call NPRemoteObjectMap::pluginDestroyed when the plug-in has been destroyed.
- 2011-03-17 Oleg Romashin <oleg.romashin@nokia.com>
- Reviewed by Anders Carlsson.
- Teach WebKit2 messages.py generator to ifdef headers include
- which are related to ifdef-ed methods/types
- https://bugs.webkit.org/show_bug.cgi?id=55658
- * Scripts/webkit2/messages.py:
- * Scripts/webkit2/messages_unittest.py:
- 2011-03-16 Joseph Pecoraro <joepeck@webkit.org>
- Reviewed by Kenneth Rohde Christiansen.
- Viewport no longer allows an auto value for "user-scalable"
- https://bugs.webkit.org/show_bug.cgi?id=55416
- Make the default value for userScalable be true.
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::viewportAttributesForSize):
- 2011-03-16 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- NPObjectProxy and NPObjectMessageReceiver objects should know their Plugin object
- https://bugs.webkit.org/show_bug.cgi?id=56506
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::windowScriptNPObject):
- (WebKit::PluginControllerProxy::pluginElementNPObject):
- (WebKit::PluginControllerProxy::evaluate):
- (WebKit::PluginControllerProxy::getPluginScriptableNPObject):
- * Shared/Plugins/NPObjectMessageReceiver.cpp:
- (WebKit::NPObjectMessageReceiver::create):
- (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
- (WebKit::NPObjectMessageReceiver::invoke):
- (WebKit::NPObjectMessageReceiver::invokeDefault):
- (WebKit::NPObjectMessageReceiver::getProperty):
- (WebKit::NPObjectMessageReceiver::setProperty):
- (WebKit::NPObjectMessageReceiver::construct):
- * Shared/Plugins/NPObjectMessageReceiver.h:
- * Shared/Plugins/NPObjectProxy.cpp:
- (WebKit::NPObjectProxy::create):
- (WebKit::NPObjectProxy::NPObjectProxy):
- (WebKit::NPObjectProxy::invalidate):
- (WebKit::NPObjectProxy::initialize):
- (WebKit::NPObjectProxy::invoke):
- (WebKit::NPObjectProxy::invokeDefault):
- (WebKit::NPObjectProxy::getProperty):
- (WebKit::NPObjectProxy::setProperty):
- (WebKit::NPObjectProxy::construct):
- * Shared/Plugins/NPObjectProxy.h:
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- (WebKit::NPRemoteObjectMap::createNPObjectProxy):
- (WebKit::NPRemoteObjectMap::registerNPObject):
- (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
- (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
- * Shared/Plugins/NPRemoteObjectMap.h:
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::pluginScriptableNPObject):
- (WebKit::PluginProxy::getWindowScriptNPObject):
- (WebKit::PluginProxy::getPluginElementNPObject):
- (WebKit::PluginProxy::evaluate):
- 2011-03-16 Beth Dakin <bdakin@apple.com>
- Reviewed by Darin Adler.
- Fix for https://bugs.webkit.org/show_bug.cgi?id=54987 Crash beneath
- WebPageProxy::viewWillStartLiveResize when resizing window after web process
- crashed
- -and corresponding-
- <rdar://problem/9037685>
- Just need simple isValid() checks here.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeUIClient):
- (WebKit::WebPageProxy::viewWillStartLiveResize):
- (WebKit::WebPageProxy::viewWillEndLiveResize):
- 2011-03-16 Damian Kaleta <dkaleta@apple.com>
- Reviewed by Kevin Decker.
- Add a user default that will force all plugins to opt in to non-executable data
- https://bugs.webkit.org/show_bug.cgi?id=56487
- <rdar://problem/9109095>
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::PluginProcessProxy::PluginProcessProxy):
- * UIProcess/Plugins/PluginProcessProxy.h:
- * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
- (WebKit::PluginProcessProxy::pluginNeedsExecutableHeap):
- 2011-03-16 Chris Fleizach <cfleizach@apple.com>
- Reviewed by Darin Adler.
- WK2: Need to propagate enhanced accessibility flag from UI -> web process
- https://bugs.webkit.org/show_bug.cgi?id=56379
- Support sending the enhanced accessibility flag between processes.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::~WebContext):
- (WebKit::WebContext::setEnhancedAccessibility):
- * UIProcess/WebContext.h:
- * UIProcess/gtk/WebContextGtk.cpp:
- (WebKit::WebContet::platformInvalidateContext):
- * UIProcess/mac/WebContextMac.mm:
- (WebKit::WebContext::platformInitializeWebProcess):
- (WebKit::WebContext::platformInvalidateContext):
- * UIProcess/qt/WebContextQt.cpp:
- (WebKit::WebContext::platformInvalidateContext):
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::platformInvalidateContext):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::setEnhancedAccessibility):
- * WebProcess/WebProcess.h:
- * WebProcess/WebProcess.messages.in:
- 2011-03-15 Oliver Hunt <oliver@apple.com>
- Reviewed by Geoffrey Garen.
- Make Structure creation require a JSGlobalData
- https://bugs.webkit.org/show_bug.cgi?id=56438
- Mechanical change to make all Structure creation use a JSGlobalData&.
- * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
- (WebKit::JSNPMethod::JSNPMethod):
- * WebProcess/Plugins/Netscape/JSNPMethod.h:
- (WebKit::JSNPMethod::createStructure):
- * WebProcess/Plugins/Netscape/JSNPObject.cpp:
- (WebKit::JSNPObject::JSNPObject):
- * WebProcess/Plugins/Netscape/JSNPObject.h:
- (WebKit::JSNPObject::createStructure):
- 2011-03-16 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Dan Bernstein.
- WebKit2: Sometimes Command-[ opens a new tab and loads the back page in it
- https://bugs.webkit.org/show_bug.cgi?id=56477
- <rdar://problem/8806664>
- * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::doneWithKeyEvent):
- Set NSApplication current event when re-dispatching a key event that returned from the web
- process unhandled. That way, code that looks at current event modifiers won't be confused.
- 2011-03-16 Sam Weinig <sam@webkit.org>
- Reviewed by Adam Roben.
- Add WebKit2 API to figure out if an input or textarea was edited
- https://bugs.webkit.org/show_bug.cgi?id=56474
- Expose WKBundleNodeHandleGetHTMLInputElementLastChangeWasUserEdit and
- WKBundleNodeHandleGetHTMLTextAreaElementLastChangeWasUserEdit. Next time,
- I will work on giving these functions longer names.
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
- (WKBundleNodeHandleGetHTMLInputElementLastChangeWasUserEdit):
- (WKBundleNodeHandleGetHTMLTextAreaElementLastChangeWasUserEdit):
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
- (WebKit::InjectedBundleNodeHandle::htmlInputElementLastChangeWasUserEdit):
- (WebKit::InjectedBundleNodeHandle::htmlTextAreaElementLastChangeWasUserEdit):
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
- 2011-03-16 Brady Eidson <beidson@apple.com>
- Reviewed by Adam Roben.
- https://bugs.webkit.org/show_bug.cgi?id=56467
- IconDatabase-related crash seen in WK2 tests
- * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
- (WebKit::WebIconDatabaseProxy::setIconDataForIconURL): The IconLoader might set a null data for an icon, so handle that case.
- 2011-03-16 Benjamin Poulain <benjamin.poulain@nokia.com>
- Reviewed by Kenneth Rohde Christiansen.
- [Qt][WK2] Loading an empty URL crashes
- https://bugs.webkit.org/show_bug.cgi?id=55501
- A null WKURLRef is created in the API of WebKit 2 when converting a null string. The code
- of WKPageLoadURL assume the WKPageRef is not null which causes crashes if it is.
- This patch uses the converter toWTFString() to pass from WKPageRef to WTFString. This converter
- ensure the returned string is a valid null string.
- Tested through the Qt API tests.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageLoadURL):
- * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp:
- (tst_QGraphicsWKView::loadEmptyUrl):
- * UIProcess/API/qt/tests/qwkpage/qwkpage.pro: Added.
- * UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp: Added.
- (tst_QWKPage::init):
- (tst_QWKPage::cleanup):
- (tst_QWKPage::loadEmptyUrl):
- * UIProcess/API/qt/tests/tests.pro:
- 2011-03-15 Brady Eidson <beidson@apple.com>
- Reviewed by Sam Weinig.
- https://bugs.webkit.org/show_bug.cgi?id=56425
- WebKit2 icon database.
- Project file paperwork:
- * DerivedSources.make:
- * DerivedSources.pro:
- * GNUmakefile.am:
- * WebKit2.pri:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Common.vsprops:
- * Scripts/webkit2/messages.py: Special-case capitalization for messages that start with "URL" to be lowercased
- to "url" instead of "uRL".
- Add messaging-related stuff:
- * Platform/CoreIPC/MessageID.h:
- * UIProcess/WebIconDatabase.messages.in: Added.
- * WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in: Added.
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveMessage):
- (WebKit::WebProcessProxy::didReceiveSyncMessage):
- Prep to make WebIconDatabase an API object:
- * Shared/APIObject.h:
- Add an "icon DB is enabled" flag to WebProcessCreationParameters:
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
- Add SPI for client apps to set the icon database path:
- * UIProcess/API/C/WKContext.cpp:
- (WKContextSetIconDatabasePath):
- * UIProcess/API/C/WKContextPrivate.h:
- * UIProcess/WebContext.h:
- (WebKit::WebContext::setIconDatabasePath):
- Hook up initialization, clearing, and messaging for the icon database:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- (WebKit::WebContext::~WebContext):
- (WebKit::WebContext::ensureWebProcess):
- (WebKit::WebContext::didReceiveMessage):
- (WebKit::WebContext::didReceiveSyncMessage):
- (WebKit::WebContext::iconDatabasePath):
- * UIProcess/gtk/WebContextGtk.cpp:
- (WebKit::WebContext::platformDefaultIconDatabasePath):
- * UIProcess/mac/WebContextMac.mm:
- (WebKit::WebContext::platformDefaultIconDatabasePath):
- * UIProcess/qt/WebContextQt.cpp:
- (WebKit::WebContext::platformDefaultIconDatabasePath):
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::platformDefaultIconDatabasePath):
- Add the UIProcess-side IconDatabase. It will be the "actual database" as well as the API object:
- * UIProcess/WebIconDatabase.cpp: Added.
- (WebKit::WebIconDatabase::create):
- (WebKit::WebIconDatabase::~WebIconDatabase):
- (WebKit::WebIconDatabase::WebIconDatabase):
- (WebKit::WebIconDatabase::invalidate):
- (WebKit::WebIconDatabase::retainIconForPageURL):
- (WebKit::WebIconDatabase::releaseIconForPageURL):
- (WebKit::WebIconDatabase::setIconURLForPageURL):
- (WebKit::WebIconDatabase::setIconDataForIconURL):
- (WebKit::WebIconDatabase::iconDataForPageURL):
- (WebKit::WebIconDatabase::iconURLForPageURL):
- (WebKit::WebIconDatabase::iconDataKnownForIconURL):
- (WebKit::WebIconDatabase::loadDecisionForIconURL):
- (WebKit::WebIconDatabase::didReceiveMessage):
- (WebKit::WebIconDatabase::didReceiveSyncMessage):
- * UIProcess/WebIconDatabase.h: Added.
- (WebKit::WebIconDatabase::clearContext):
- (WebKit::WebIconDatabase::type):
- Add the WebProcess-side IconDatabaseProxy. It acts as the WebCore IconDatabase and operates via messaging:
- * WebProcess/IconDatabase: Added.
- * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp: Added.
- (WebKit::WebIconDatabaseProxy::~WebIconDatabaseProxy):
- (WebKit::WebIconDatabaseProxy::WebIconDatabaseProxy):
- (WebKit::WebIconDatabaseProxy::isEnabled):
- (WebKit::WebIconDatabaseProxy::setEnabled):
- (WebKit::WebIconDatabaseProxy::iconForPageURL):
- (WebKit::WebIconDatabaseProxy::retainIconForPageURL):
- (WebKit::WebIconDatabaseProxy::releaseIconForPageURL):
- (WebKit::WebIconDatabaseProxy::iconURLForPageURL):
- (WebKit::WebIconDatabaseProxy::iconDataKnownForIconURL):
- (WebKit::WebIconDatabaseProxy::loadDecisionForIconURL):
- (WebKit::WebIconDatabaseProxy::setIconURLForPageURL):
- (WebKit::WebIconDatabaseProxy::setIconDataForIconURL):
- (WebKit::WebIconDatabaseProxy::urlImportFinished):
- (WebKit::WebIconDatabaseProxy::didReceiveMessage):
- * WebProcess/IconDatabase/WebIconDatabaseProxy.h: Added.
- Hook up initialization and messaging for the icon database proxy:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::WebProcess):
- (WebKit::WebProcess::initializeWebProcess):
- (WebKit::WebProcess::didReceiveMessage):
- * WebProcess/WebProcess.h:
- 2011-03-15 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- WebKit2: False SPOD cursor when context menu is open
- <rdar://problem/9029154>
- https://bugs.webkit.org/show_bug.cgi?id=56433
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::showContextMenu):
- Update to match showPopupMenu idiomatically, and stop the responsivenessTimer
- since the act of showing the context menu could spin a nested runloop.
- * UIProcess/mac/WebContextMenuProxyMac.mm:
- (WebKit::WebContextMenuProxyMac::showContextMenu):
- * UIProcess/qt/WebContextMenuProxyQt.cpp:
- (WebKit::WebContextMenuProxyQt::showContextMenu):
- * UIProcess/win/WebContextMenuProxyWin.cpp:
- (WebKit::WebContextMenuProxyWin::showContextMenu):
- Move isEmpty() check to implementations, since we don't want to show
- this in any case, not just the one where we check it.
- 2011-03-15 Siddharth Mathur <siddharth.mathur@nokia.com>
- Reviewed by Laszlo Gombos.
- [Qt][Symbian][WK2] Fix exporting and importing the WebProcessMainQt symbol
- https://bugs.webkit.org/show_bug.cgi?id=56417
- Use the Q_DECL_EXPORT and Q_DECL_IMPORT macros directly to make sure
- the symbol is always exported/imported.
- * WebProcess/qt/WebProcessMainQt.cpp:
- (WebKit::WebProcessMainQt):
- * qt/MainQt.cpp:
- 2011-03-15 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Darin Adler.
- REGRESSION (WebKit2): keygen element doesn't work
- https://bugs.webkit.org/show_bug.cgi?id=56402
- <rdar://problem/9006545>
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- Added strings used by keygen.
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Initialize a WebCore pointer to
- a function used by keygen.
- 2011-03-15 Beth Dakin <bdakin@apple.com>
- Reviewed by Simon Fraser.
- WebKit2 part of <rdar://problem/9075624> Overlay scrollbars slow down PLT by 6%
- New WebKitystemInterface function to force the scrollbars to flash
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- 2011-03-15 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Make sure that NP_Shutdown is always the last NPP function called
- https://bugs.webkit.org/show_bug.cgi?id=56391
- <rdar://problem/8989902>
- Make sure to always increment the load count whenever a web process connection
- is opened to a plug-in process, and decrement it when the last web process connection
- goes away.
- * PluginProcess/PluginProcess.cpp:
- (WebKit::PluginProcess::createWebProcessConnection):
- (WebKit::PluginProcess::startShutdownTimerIfNecessary):
- * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
- * Shared/Plugins/Netscape/NetscapePluginModule.h:
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin):
- (WebKit::NetscapePlugin::~NetscapePlugin):
- 2011-03-15 Martin Robinson <mrobinson@igalia.com>
- Reviewed by Adam Barth.
- [GTK] [WebKit2] The UIProcess never changes the mouse cursor
- https://bugs.webkit.org/show_bug.cgi?id=56333
- Add an implementation for WebView::addCursor for WebKit2 GTK+. This allows
- the cursor to change as the user mouses around the page. There is currently
- no test infrastructure to track cursor changes.
- * UIProcess/gtk/WebView.cpp:
- (WebKit::WebView::setCursor): Ported implementation from WebKit1.
- 2011-03-15 Kevin Ollivier <kevino@theolliviers.com>
- Reviewed by Darin Adler.
- Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
- info into the headers rather than in export symbol definition files, but disable it on
- all platforms initially so we can deal with port build issues one port at a time.
-
- https://bugs.webkit.org/show_bug.cgi?id=27551
- * config.h:
- 2011-03-14 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Darin Adler.
- REGRESSION: Print preview is blank when selecting multiple pages per sheet
- https://bugs.webkit.org/show_bug.cgi?id=56341
- <rdar://problem/8991382>
- * UIProcess/API/mac/WKPrintingView.mm: (pageDidDrawToPDF): Don't reset latest expected
- callback number after receiving a different one. We only update preview after receiving
- the latest expected page data (and the assumption is that AppKit will ask for pages in
- natural order for N-up).
- 2011-03-14 Adam Roben <aroben@apple.com>
- Make WKBundlePageCanHandleRequest return true for empty document URLs
- Reviewed by Sam Weinig.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::canHandleRequest): Return true for any URL schemes that are handled as
- empty documents, and defer to the platform for everything else.
- * WebProcess/WebPage/WebPage.h: Added platformCanHandleRequest.
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::platformCanHandleRequest):
- * WebProcess/WebPage/qt/WebPageQt.cpp:
- (WebKit::WebPage::platformCanHandleRequest):
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::platformCanHandleRequest):
- Renamed from canHandleRequest.
- 2011-03-14 Chris Fleizach <cfleizach@apple.com>
- Reviewed by Beth Dakin.
- CrashTracer: 60 crashes in WebProcess at com.apple.WebKit2: -[AccessibilityWebPageObject accessibilityHitTest:] + 248
- https://bugs.webkit.org/show_bug.cgi?id=56336
- Crash trace indicates a nil pointer access in one of these m_page->mainFrame()->coreFrame()->view()
- pointers.
- * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
- (-[AccessibilityWebPageObject accessibilityHitTest:]):
- 2011-03-14 Alice Liu <alice.liu@apple.com>
- Reviewed by Sam Weinig.
- Provide API for creating WKImage from CGImageRef
- https://bugs.webkit.org/show_bug.cgi?id=56159
- Add function for creating a WKImage from CGImage data.
- * Shared/API/c/cg/WKImageCG.cpp:
- (WKImageCreateFromCGImage): Added. Creates a graphics context for the bitmap-backed image and draws into it.
- * Shared/API/c/cg/WKImageCG.h:
- 2011-03-14 Balazs Kelemen <kbalazs@webkit.org>
- Reviewed by Adam Roben.
- [Qt][WK2]Unbreak InjectedBundle on Qt
- https://bugs.webkit.org/show_bug.cgi?id=54109
- Add API's to WKURL and WKString to satisfy
- WebKitTestRunner's needs.
- * Shared/API/c/WKString.cpp:
- (WKStringIsEqualToUTF8CStringIgnoringCase):
- * Shared/API/c/WKString.h:
- * Shared/API/c/WKURL.cpp:
- (WKURLCopyHostName):
- (WKURLCopyScheme):
- * Shared/API/c/WKURL.h:
- * Shared/WebString.h:
- (WebKit::WebString::equalToUTF8StringIgnoringCase):
- * Shared/WebURL.h: Added OwnPtr<KURL> member to be able
- to lazily parse the URL and store the result.
- (WebKit::WebURL::host):
- (WebKit::WebURL::protocol):
- (WebKit::WebURL::parseURLIfNecessary):
- * win/WebKit2.def: Revert the symbol exports that were
- needed to use KURL in WebKitTestRunner.
- 2011-03-14 Jeff Miller <jeffm@apple.com>
- Reviewed by Adam Roben.
- Add WKViewSetScrollOffsetOnNextResize() to C API on Windows
- https://bugs.webkit.org/show_bug.cgi?id=56340
- * UIProcess/API/C/win/WKView.cpp:
- (WKViewSetScrollOffsetOnNextResize): Added.
- * UIProcess/API/C/win/WKView.h: Added WKViewSetScrollOffsetOnNextResize().
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::onSizeEvent): Apply any scroll offset when setting the drawing area size.
- (WebKit::WebView::setScrollOffsetOnNextResize): Added.
- * UIProcess/win/WebView.h: Added setScrollOffsetOnNextResize().
- 2011-03-14 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben and Gavin Barraclough.
- FileSystemWin.cpp needs listDirectory() implementation
- https://bugs.webkit.org/show_bug.cgi?id=56331
- <rdar://problem/9126635>
-
- Move PathWalker down into WebCore, and call the PathWalker in WebCore
- (that now has a second argument, the pattern to take).
- * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
- (WebKit::PluginInfoStore::pluginPathsInDirectory):
- 2011-03-14 Sam Weinig <sam@webkit.org>
- Reviewed by Darin Adler.
- WebKit2: No icon shown for <input type=file>
- <rdar://problem/8988982>
- https://bugs.webkit.org/show_bug.cgi?id=54288
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::chooseIconForFiles):
- Add implementation for chooseIconForFiles which calls down to Icon::createIconForFiles.
- 2011-03-14 Brady Eidson <beidson@apple.com>
- Reviewed by Dan Bernstein.
- <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172
- Need WK2 API to view/manage origins with LocalStorage
- Hookup the existing API stubs to the WebCore implementations:
- * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
- (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
- (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
- (WebKit::WebKeyValueStorageManager::deleteAllEntries):
- 2011-03-13 Brady Eidson <beidson@apple.com>
- Reviewed by Sam Weinig.
- <rdar://problem/9127270> and https://bugs.webkit.org/show_bug.cgi?id=56282
- Pass the path along with creation parameters:
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
- Add SPI to set the path:
- * UIProcess/API/C/WKContext.cpp:
- (WKContextSetLocalStorageDirectory):
- * UIProcess/API/C/WKContextPrivate.h:
- Pass the path along in the process creation parameters:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::ensureWebProcess):
- (WebKit::WebContext::localStorageDirectory):
- * UIProcess/WebContext.h:
- (WebKit::WebContext::setLocalStorageDirectory):
- * UIProcess/gtk/WebContextGtk.cpp:
- (WebKit::WebContext::platformDefaultLocalStorageDirectory):
- * UIProcess/mac/WebContextMac.mm:
- (WebKit::WebContext::platformDefaultLocalStorageDirectory):
- * UIProcess/qt/WebContextQt.cpp:
- (WebKit::WebContext::platformDefaultLocalStorageDirectory):
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::platformDefaultLocalStorageDirectory):
- Include the path with settings updates, because WebCore needs it set on the Settings object:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess):
- * WebProcess/WebProcess.h:
- (WebKit::WebProcess::localStorageDirectory):
- Sandboxing stuff:
- * WebProcess/com.apple.WebProcess.sb:
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::initializeSandbox):
- 2011-03-12 Jer Noble <jer.noble@apple.com>
- Reviewed by Mark Rowe.
- WebKit2: Build WKFullScreenWindowController cleanly in 32-bit.
- https://bugs.webkit.org/show_bug.cgi?id=56260
- Include <Carbon/Carbon.h> instead of <HIToolbox/MacApplication.h>.
- * UIProcess/mac/WKFullScreenWindowController.mm:
- 2011-03-13 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Add ability to create a WKErrorRef
- <rdar://problem/9115768>
- https://bugs.webkit.org/show_bug.cgi?id=56279
- * Shared/API/c/cf/WKErrorCF.cpp: Added.
- (WKErrorCreateWithCFError):
- (WKErrorCopyCFError):
- * Shared/API/c/cf/WKErrorCF.h: Added.
- Add new API to create a WKErrorRef from a CFErrorRef
- and vice-versa.
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Generated.make:
- Add new files.
- 2011-03-13 Pratik Solanki <psolanki@apple.com>
- Reviewed by Brady Eidson.
- Make adjustMIMETypeIfNecessary use CFNetwork directly
- https://bugs.webkit.org/show_bug.cgi?id=55912
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Support for new WKSI functions.
- 2011-03-13 Dan Bernstein <mitz@apple.com>
- Reviewed by Darin Adler.
- WebPageProxy cleanup
- https://bugs.webkit.org/show_bug.cgi?id=56267
- * UIProcess/WebPageProxy.cpp: Moved all Mac-only function implementations from
- here to WebPageProxyMac.mm.
- * UIProcess/WebPageProxy.h: Cleaned up #includes.
- * UIProcess/mac/WebPageProxyMac.mm: Moved all Mac-only function implementations
- here.
- (WebKit::WebPageProxy::updateWindowIsVisible):
- (WebKit::WebPageProxy::windowAndViewFramesChanged):
- (WebKit::WebPageProxy::getMarkedRange):
- (WebKit::WebPageProxy::characterIndexForPoint):
- (WebKit::WebPageProxy::firstRectForCharacterRange):
- (WebKit::WebPageProxy::writeSelectionToPasteboard):
- (WebKit::WebPageProxy::setDragImage):
- (WebKit::WebPageProxy::performDictionaryLookupAtLocation):
- (WebKit::WebPageProxy::interpretKeyEvent):
- (WebKit::WebPageProxy::sendComplexTextInputToPlugin):
- (WebKit::WebPageProxy::uppercaseWord):
- (WebKit::WebPageProxy::lowercaseWord):
- (WebKit::WebPageProxy::capitalizeWord):
- (WebKit::WebPageProxy::setSmartInsertDeleteEnabled):
- (WebKit::WebPageProxy::didPerformDictionaryLookup):
- (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
- (WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
- (WebKit::WebPageProxy::setComplexTextInputEnabled):
- 2011-03-13 Dan Bernstein <mitz@apple.com>
- Reviewed by Darin Adler.
- <rdar://problem/8949683> WebKit2: Drag image is offset when the page is scrolled down
- https://bugs.webkit.org/show_bug.cgi?id=56265
- * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
- (WebKit::WebDragClient::startDrag): Send the location in view coordinates rather than
- document coordinates.
- 2011-03-13 Dan Bernstein <mitz@apple.com>
- Reviewed by Mark Rowe.
- Fix a crash when dragging.
- * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
- (WebKit::convertImageToBitmap): Retain the saved context.
- 2011-03-12 Darin Adler <darin@apple.com>
- * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
- (WebKit::WebDragClient::startDrag): Fixed typo in a comment.
- 2011-03-11 Darin Adler <darin@apple.com>
- Reviewed by Sam Weinig.
- Dragging image to desktop gives webloc instead of image file in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=56193
- * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
- (WebKit::convertImageToBitmap): Added. Factored out from startDrag to
- make the startDrag code clearer.
- (WebKit::WebDragClient::startDrag): Streamlined code a bit.
- (WebKit::cachedImage): Added. Helper for function below.
- (WebKit::arrayForURLsWithTitles): Added. Helper for function below.
- (WebKit::WebDragClient::declareAndWriteDragImage): Added code to handle file
- promises and removed a log of uneeded code.
- (-[WKPasteboardFilePromiseOwner copyDropDirectory]): Added.
- (promisedDataClient): Added.
- (-[WKPasteboardOwner clearImage]): Added.
- (-[WKPasteboardOwner initWithImage:]): Added.
- (-[WKPasteboardOwner dealloc]): Added.
- (-[WKPasteboardOwner finalize]): Added.
- (-[WKPasteboardOwner pasteboard:provideDataForType:]): Added.
- (-[WKPasteboardOwner pasteboardChangedOwner:]): Added.
- (matchesExtensionOrEquivalent): Added.
- (-[WKPasteboardOwner namesOfPromisedFilesDroppedAtDestination:]): Added.
- Much of the new code above came from the WebKit1 drag code.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::dragEnded): Added call to Mac-only platformDragEnded.
- * WebProcess/WebPage/WebPage.h: Added Mac-only platformDragEnded and m_dragSource.
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::setDragSource): Added.
- (WebKit::WebPage::platformDragEnded): Added.
- 2011-03-12 Mark Rowe <mrowe@apple.com>
- Fix the 32-bit build.
- This involves hacking around some HIToolbox headers that do things of dubious correctness,
- and fixing the usual CGRect vs NSRect issues.
-
- * UIProcess/mac/WKFullScreenWindowController.mm:
- (-[WKFullScreenWindowController enterFullScreen:]): NSRect is not CGRect.
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
- (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation): Ditto.
- 2011-03-12 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- * WebProcess/WebPage/WebFrame.cpp:
- (WebKit::WebFrame::url):
- Get the URL from the loader, not from the document.
- (WebKit::WebFrame::suggestedFilenameForResourceWithURL):
- Return the correct suggested filename for the main resource.
- (WebKit::WebFrame::mimeTypeForResourceWithURL):
- Return the correct mime type for the main resource.
- 2011-03-12 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Should be able to download a PDF to the Downloads folder
- https://bugs.webkit.org/show_bug.cgi?id=56256
- * UIProcess/API/C/WKPage.h:
- Add WKPageSaveDataToFileInDownloadsFolderCallback to the UI client.
- * UIProcess/API/mac/PDFViewController.h:
- * UIProcess/API/mac/PDFViewController.mm:
- (-[WKPDFView _applyPDFPreferences]):
- (-[WKPDFView _updatePreferences:]):
- Use new PDFViewController::page getter.
- (-[WKPDFView PDFViewSavePDFToDownloadFolder:]):
- Call PDFViewController::savePDFToDownloadsFolder.
- (WebKit::releaseCFData):
- (WebKit::PDFViewController::savePDFToDownloadsFolder):
- Create a WebData that wraps the CFData, then pass it along to
- WebPageProxy::saveDataToFileInDownloadsFolder.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::saveDataToFileInDownloadsFolder):
- Call WebUIClient::saveDataToFileInDownloadsFolder.
- (WebKit::WebUIClient::saveDataToFileInDownloadsFolder):
- * UIProcess/WebUIClient.h:
- Call the UI client callback function.
- 2011-03-12 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- WebData should be able to wrap already existing data
- https://bugs.webkit.org/show_bug.cgi?id=56254
- * Shared/WebData.h:
- (WebKit::WebData::createWithoutCopying):
- (WebKit::WebData::create):
- (WebKit::WebData::~WebData):
- (WebKit::WebData::bytes):
- (WebKit::WebData::size):
- (WebKit::WebData::WebData):
- (WebKit::WebData::fastFreeBytes):
- 2011-03-12 Jer Noble <jer.noble@apple.com>
- Reviewed by Eric Carlson.
- WebKit2: Initialize the WebFullScreenManagerProxy with a WKView
- https://bugs.webkit.org/show_bug.cgi?id=56250
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:contextRef:pageGroupRef:]): Call fullScreenManager()->setView(self).
- 2011-03-11 Jer Noble <jer.noble@apple.com>
- Reviewed by Anders Carlsson.
- Add full screen animation code to WebFullScreenManager.
- https://bugs.webkit.org/show_bug.cgi?id=56220
- * WebProcess/FullScreen/WebFullScreenManager.cpp: .
- (WebKit::WebFullScreenManager::~WebFullScreenManager): Added.
- (WebKit::WebFullScreenManager::exitFullScreenForElement): Remove ASSERTs.
- (WebKit::WebFullScreenManager::willEnterFullScreen): Set the full screen renderer's background color.
- (WebKit::WebFullScreenManager::didEnterFullScreen): Ditto.
- (WebKit::WebFullScreenManager::willExitFullScreen): Ditto.
- (WebKit::WebFullScreenManager::didExitFullScreen): Ditto.
- * WebProcess/FullScreen/WebFullScreenManager.h: Make a few functions pure virtual to be implemented in a
- concrete subclass.
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h: Added.
- * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: Added.
- (-[WebFullScreenManagerAnimationListener initWithManager:WebKit::began:finished:]): Listener for CAAnimations.
- (-[WebFullScreenManagerAnimationListener animationDidStart:]): Added.
- (-[WebFullScreenManagerAnimationListener animationDidStop:finished:]): Added.
- (-[WebFullScreenManagerAnimationListener invalidate]): Added.
- (WebKit::WebFullScreenManager::create): Now creates a WebFullScreenManagerMac.
- (WebKit::WebFullScreenManagerMac::create): Added.
- (WebKit::WebFullScreenManagerMac::WebFullScreenManagerMac): Added.
- (WebKit::WebFullScreenManagerMac::~WebFullScreenManagerMac): Added.
- (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): Set up the remote layer host.
- (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation): Create a CATransform3D
- which will animate the full screen renderer from its initial position to its final one.
- (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation): Ditto.
- 2011-03-11 Jer Noble <jer.noble@apple.com>
- Reviewed by Anders Carlsson.
- Hook up new WKFullScreenWindowController functions to WebFullScreenManagerProxy
- https://bugs.webkit.org/show_bug.cgi?id=56218
- * UIProcess/WebFullScreenManagerProxy.cpp:
- * UIProcess/mac/WebFullScreenManagerProxyMac.mm: Added.
- (WebKit::WebFullScreenManagerProxy::enterFullScreen): Call into WKFullScreenWindowController.
- (WebKit::WebFullScreenManagerProxy::exitFullScreen): Ditto.
- (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation): Ditto.
- (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation): Ditto.
- (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation): Ditto.
- (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation): Ditto.
- (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode): Ditto.
- (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode): Ditto.
- (WebKit::WebFullScreenManagerProxy::getFullScreenRect): Ditto.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView fullScreenWindowController]): Lazily instantiate a WKFullScreenWindowController.
- * UIProcess/API/mac/WKViewInternal.h:
- 2011-03-11 Jer Noble <jer.noble@apple.com>
- Reviewed by Anders Carlsson.
- Add the WKFullScreenWindowController, mostly cribbed from WebKit's WebFullScreenController.
- [WebKit2] Implement a full screen window controller
- https://bugs.webkit.org/show_bug.cgi?id=56210
- * UIProcess/mac/WKFullScreenWindowController.h: Added.
- * UIProcess/mac/WKFullScreenWindowController.mm: Added.
- (-[WKFullScreenWindowController init]): Remove the _mediaEventListener.
- (-[WKFullScreenWindowController dealloc]): Make sure to cancel previous async requests.
- (-[WKFullScreenWindowController windowDidLoad]): Remove the Tiger protection.
- (-[WKFullScreenWindowController webView]): Type change.
- (-[WKFullScreenWindowController setWebView:]): Type change.
- (-[WKFullScreenWindowController applicationDidResignActive:]): Case changes.
- (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Case changes.
- (-[WKFullScreenWindowController enterFullScreen:]): Removed most of the animation code
- which will reappear in WebFullScreenManager.
- (-[WKFullScreenWindowController beganEnterFullScreenAnimation]): Added.
- (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Added.
- (-[WKFullScreenWindowController exitFullScreen]): Ditto to enterFullScreen.
- (-[WKFullScreenWindowController beganExitFullScreenAnimation]): Added.
- (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Added.
- (-[WKFullScreenWindowController enterAcceleratedCompositingMode:WebKit::]): Set up the
- layer tree host.
- (-[WKFullScreenWindowController exitAcceleratedCompositingMode]): Tear down same.
- (-[WKFullScreenWindowController getFullScreenRect:WebCore::]): Added.
- (-[WKFullScreenWindowController _updateMenuAndDockForFullScreen]): Case changes.
- (-[WKFullScreenWindowController _disableIdleDisplaySleep]): Ditto.
- (-[WKFullScreenWindowController _enableIdleDisplaySleep]): Ditto.
- (-[WKFullScreenWindowController _disableIdleSystemSleep]): Ditto.
- (-[WKFullScreenWindowController _enableIdleSystemSleep]): Ditto.
- (-[WKFullScreenWindowController _enableTickleTimer]): Ditto.
- (-[WKFullScreenWindowController _disableTickleTimer]): Ditto.
- (-[WKFullScreenWindowController _tickleTimerFired]): Ditto.
- (-[WKFullScreenWindowController _updatePowerAssertions]): Use _isPlaying ivar.
- (-[WKFullScreenWindowController _manager]): Added.
- (-[WKFullScreenWindowController _requestExit]): Case changes.
- (-[WKFullScreenWindowController _requestExitFullScreenWithAnimation:]): Ditto.
- (-[WKFullScreenWindowController _swapView:with:]): Added.
- (-[WKFullScreenWindowController _fullScreenWindow]): Case changes.
- (-[WKFullScreenWindow initWithContentRect:styleMask:backing:defer:]): Geometry no
- longer needs to be flipped.
- (-[WKFullScreenWindow cancelOperation:]): Case changes.
- 2011-03-11 Jer Noble <jer.noble@apple.com>
- Reviewed by Anders Carlsson.
- Create new interface stubs to support full screen mode in WebKit2.
- WebKit2: Plumb new full screen animation APIs through WebKit2.
- https://bugs.webkit.org/show_bug.cgi?id=55993
- * UIProcess/WebFullScreenManagerProxy.cpp:
- (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy): Added.
- (WebKit::WebFullScreenManagerProxy::invalidate): Clear m_webView.
- (WebKit::WebFullScreenManagerProxy::setWebView): Set m_webView.
- (WebKit::WebFullScreenManagerProxy::beginEnterFullScreenAnimation): Added.
- (WebKit::WebFullScreenManagerProxy::beginExitFullScreenAnimation): Added.
- (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation): Added stub.
- (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation): Added stub.
- (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation): Added stub.
- (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation): Added stub.
- (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode): Added stub.
- (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode): Added stub.
- (WebKit::WebFullScreenManagerProxy::getFullScreenRect): Added stub.
- * UIProcess/WebFullScreenManagerProxy.h:
- * UIProcess/WebFullScreenManagerProxy.messages.in: Added new message definitions.
- * UIProcess/WebPageProxy.cpp: Moved include of WebFullScreenManagerProxy.h into source file.
- * UIProcess/WebPageProxy.h: Ditto.
- * WebProcess/FullScreen/WebFullScreenManager.cpp:
- (WebKit::WebFullScreenManager::element): Added.
- (WebKit::WebFullScreenManager::supportsFullScreen): Send message through WebPage.
- (WebKit::WebFullScreenManager::enterFullScreenForElement): Ditto.
- (WebKit::WebFullScreenManager::exitFullScreenForElement): Ditto.
- (WebKit::WebFullScreenManager::beganEnterFullScreenAnimation): Added..
- (WebKit::WebFullScreenManager::finishedEnterFullScreenAnimation): Added.
- (WebKit::WebFullScreenManager::beganExitFullScreenAnimation): Added.
- (WebKit::WebFullScreenManager::finishedExitFullScreenAnimation): Added.
- (WebKit::WebFullScreenManager::setRootFullScreenLayer): Added stub.
- (WebKit::WebFullScreenManager::getFullScreenRect): Added.
- (WebKit::WebFullScreenManager::beginEnterFullScreenAnimation): Added stub.
- (WebKit::WebFullScreenManager::beginExitFullScreenAnimation): Added stub.
- * WebProcess/FullScreen/WebFullScreenManager.h:
- * WebProcess/FullScreen/WebFullScreenManager.messages.in: Added new message definitions.
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::setRootFullScreenLayer): Added.
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- 2011-03-11 Alice Liu <alice.liu@apple.com>
- Reviewed by Sam Weinig.
- Support encoding /decoding WebData in usermessages
- https://bugs.webkit.org/show_bug.cgi?id=56158
- Added encoding/decoding for APIObject::TypeData
- * Shared/UserMessageCoders.h:
- (WebKit::UserMessageEncoder::baseEncode):
- (WebKit::UserMessageDecoder::baseDecode):
- 2011-03-11 Alice Liu <alice.liu@apple.com>
- Reviewed by Sam Weinig.
- Add api for "remove" to WKMutableDictionary
- https://bugs.webkit.org/show_bug.cgi?id=56157
- * Shared/API/c/WKMutableDictionary.cpp:
- (WKDictionaryRemoveItem): Added; call remove on MutableDictionary impl.
- * Shared/API/c/WKMutableDictionary.h:
- * Shared/MutableDictionary.cpp:
- (WebKit::MutableDictionary::remove): Added; call remove on the underlying hashmap.
- * Shared/MutableDictionary.h:
- 2011-03-11 Sheriff Bot <webkit.review.bot@gmail.com>
- Unreviewed, rolling out r80899 and r80912.
- http://trac.webkit.org/changeset/80899
- http://trac.webkit.org/changeset/80912
- https://bugs.webkit.org/show_bug.cgi?id=56236
- Caused animation tests to crash on Snow Leopard WebKit2
- (Requested by rniwa on #webkit).
- * Shared/ShareableBitmap.cpp:
- (WebKit::ShareableBitmap::create):
- (WebKit::ShareableBitmap::createShareable):
- (WebKit::ShareableBitmap::resize):
- * Shared/ShareableBitmap.h:
- (WebKit::ShareableBitmap::numBytesForSize):
- (WebKit::ShareableBitmap::sizeInBytes):
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::update):
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/DrawingArea.h:
- (WebKit::DrawingArea::didUpdate):
- * WebProcess/WebPage/DrawingArea.messages.in:
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::~DrawingAreaImpl):
- (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
- (WebKit::DrawingAreaImpl::didUpdate):
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
- (WebKit::DrawingAreaImpl::display):
- * WebProcess/WebPage/DrawingAreaImpl.h:
- * WebProcess/WebPage/SharedMemoryCache.cpp: Removed.
- * WebProcess/WebPage/SharedMemoryCache.h: Removed.
- * win/WebKit2.vcproj:
- 2011-03-11 Brian Weinstein <bweinstein@apple.com>
- Windows build fix. Add SharedMemoryCache to the vcproj.
- * win/WebKit2.vcproj:
- 2011-03-11 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Sam Weinig.
- https://bugs.webkit.org/show_bug.cgi?id=56222
- A window remains frozen if web process crashes during printing
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setComplexTextInputEnabled):
- * UIProcess/WebPageProxy.h:
- Moved setAutodisplay code into WKPrintingView.
- * UIProcess/API/mac/WKPrintingView.h:
- * UIProcess/API/mac/WKView.mm:
- (-[WKView printOperationWithPrintInfo:forFrame:]):
- Keep a reference to the actual WKView, so that we can manipulate how it displays, even if
- page goes away.
- * UIProcess/API/mac/WKPrintingView.mm:
- (-[WKPrintingView initWithFrameProxy:WebKit::view:]):
- (-[WKPrintingView _setAutodisplay:]):
- (-[WKPrintingView _suspendAutodisplay]):
- (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
- Move setAutodisplay here.
- 2011-03-11 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Add a shared memory cache to the web process
- https://bugs.webkit.org/show_bug.cgi?id=56232
- Add a very simple shared memory cache to the web process, so that we don't have to allocate and
- free memory over and over when painting.
- * Shared/ShareableBitmap.cpp:
- (WebKit::ShareableBitmap::create):
- (WebKit::ShareableBitmap::createShareable):
- (WebKit::ShareableBitmap::resize):
- * Shared/ShareableBitmap.h:
- (WebKit::ShareableBitmap::numBytesNeededForBitmapSize):
- (WebKit::ShareableBitmap::sizeInBytes):
- Rename numBytesForSize to numBytesNeededForBitmapSize.
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::update):
- Always send back a DidUpdate message, even if we didn't use the update info.
- This is needed so that the web process knows when the UI process is done with the shared memory inside
- the update info struct.
- * WebKit2.xcodeproj/project.pbxproj:
- Add new files.
- * WebProcess/WebPage/DrawingArea.h:
- (WebKit::DrawingArea::didUpdate):
- * WebProcess/WebPage/DrawingArea.messages.in:
- DidUpdate now takes a boolean.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::sharedMemoryCache):
- Add shared memory cache.
- (WebKit::DrawingAreaImpl::~DrawingAreaImpl):
- Return the shared memory to the cache.
- (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
- display now takes an extra boolean.
- (WebKit::DrawingAreaImpl::didUpdate):
- Return the shared memory to the cache.
- (WebKit::DrawingAreaImpl::display):
- If useSharedMemoryCache is true, get shared memory from the cache.
- * WebProcess/WebPage/SharedMemoryCache.cpp: Added.
- (WebKit::SharedMemoryCache::acquireSharedMemory):
- If the memory we currently hold on to is big enough, return it.
- (WebKit::SharedMemoryCache::releaseSharedMemory):
- If we're already holding on to shared memory, evict it if the returned
- shared memory object is bigger than the one we currently hold.
- (WebKit::SharedMemoryCache::clearCacheTimerFired):
- Null out the shared memory object.
- 2011-03-11 Jessie Berlin <jberlin@apple.com>
- Reviewed by Adam Roben.
- Crash calling WebContext::clearResourceCaches(InMemoryResourceCachesOnly) before the Web
- Process has finished launching.
- https://bugs.webkit.org/show_bug.cgi?id=56208
- Only send the message if the Web Process is valid.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::clearResourceCaches):
- 2011-03-11 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Don't paint more than 60 times per second
- https://bugs.webkit.org/show_bug.cgi?id=56206
- <rdar://problem/9085989>
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::DrawingAreaImpl):
- Initialize m_lastDisplayTime to 0. Change the display timer to call displayTimerFired.
- (WebKit::DrawingAreaImpl::didUpdate):
- Call displayTimerFired instead of display.
- (WebKit::DrawingAreaImpl::displayTimerFired):
- If we're asked to paint again less than 1/60th of a second after we've already painted,
- defer painting.
- (WebKit::DrawingAreaImpl::display):
- Update m_lastDisplayTime.
- 2011-03-11 Mark Rowe <mrowe@apple.com>
- Reviewed by Alice Liu.
- <rdar://problem/9120161> WKPageRestoreFromSessionState does not set the pending API request URL.
- * UIProcess/cf/WebPageProxyCF.cpp:
- (WebKit::WebPageProxy::restoreFromSessionStateData): If we're navigating to a back/forward item
- as part of the restoration, call setPendingAPIRequestURL. When there's a provisional URL this will
- be done by our call to loadURL elsewhere in the function.
- 2011-03-10 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Jon Honeycutt.
- WebKit2 UI process crashes if web process crashes while computing page rects for printing
- https://bugs.webkit.org/show_bug.cgi?id=56160
- <rdar://problem/9027410>
- * UIProcess/API/mac/WKPrintingView.mm:
- (-[WKPrintingView _suspendAutodisplay]): Added a null check for page, matching one that
- we have when resuming autodisplay.
- (-[WKPrintingView _delayedResumeAutodisplayTimerFired]): Added a FIXME.
- (pageDidComputePageRects): Sanitize results coming from the web process (and avoid crashing
- when there is a communication error, so results are all null).
- (-[WKPrintingView knowsPageRange:]): If there is no page any more, we can't tell how many
- pages it had.
- (-[WKPrintingView rectForPage:]): Handle the case where we are neither calculating pages
- nor knowing them, as it happens when the web process crashes.
- 2011-03-10 Mark Rowe <mrowe@apple.com>
- Rubber-stamped by Sam Weinig.
- Part of <rdar://problem/8728860> WebKit2 needs to be made localizable
- The presence of CFBundleDevelopmentRegion in the application's Info.plist prevents
- the default localization that we set during launch from being respected.
- * PluginProcess/Info.plist: Remove CFBundleDevelopmentRegion.
- * WebProcess/Info.plist: Ditto.
- 2011-03-10 Martin Robinson <mrobinson@igalia.com>
- Build for WebKit2 GTK+ after r80714.
- * GNUmakefile.am: Update source list.
- * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
- (WebKit::x11Display): Add missing semicolon.
- 2011-03-10 Chris Fleizach <cfleizach@apple.com>
- Reviewed by Darin Adler.
- REGRESSION (WebKit2): VoiceOver focus no longer follows keyboard focus
- https://bugs.webkit.org/show_bug.cgi?id=55959
- NSApplication has to return the focused element within the app in order
- for NSAccessibilityHandleFocusChanged() to work. The default implementation
- relies on keyWindow. Consequently, in WK2, the WebProcess must override that method
- to return the appropriate focused element within the WebProcess, since
- there is no keyWindow.
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
- (-[AccessibilityWebPageObject accessibilityFocusedUIElement]):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::focusedWebPage):
- * WebProcess/WebProcess.h:
- * WebProcess/mac/NSApplicationOverride.mm: Added.
- (-[NSApplication accessibilityFocusedUIElement]):
- 2011-03-10 Oleg Romashin <romaxa@gmail.com>
- Reviewed by Andreas Kling.
- Make Qt port compiling with ENABLE_PLUGIN_PROCESS=1, part3
- Solving conflict of Qt and Xlib includes
- * Shared/Plugins/NPIdentifierData.cpp:
- * Shared/Plugins/NPIdentifierData.h:
- * Shared/Plugins/NPObjectProxy.cpp:
- * Shared/Plugins/NPVariantData.h:
- 2011-03-10 Sam Weinig <sam@webkit.org>
- Reviewed by Mark Rowe.
- - Fix plugins in release and production builds.
- * WebKit2.xcodeproj/project.pbxproj:
- Make sure to base the PluginProcess target on the correct xcconfig file
- in all configurations.
- 2011-03-09 Matthew Delaney <mdelaney@apple.com>
- Reviewed by Simon Fraser.
- Plumb through settings for accelerated drawing for canvas
- https://bugs.webkit.org/show_bug.cgi?id=56039
- * Shared/WebPreferencesStore.h:
- * UIProcess/API/C/WKPreferences.cpp:
- * UIProcess/API/C/WKPreferencesPrivate.h:
- * WebProcess/WebPage/WebPage.cpp:
- 2011-03-10 Jessie Berlin <jberlin@apple.com>
- Reviewed by Oliver Hunt and Brian Weinstein.
- WebKit2: Need a way to clear only the in-memory resource caches
- https://bugs.webkit.org/show_bug.cgi?id=56022
- Add a parameter to WKContextClearResourceCaches to specify whether to clear all the caches
- or just the memory caches.
- * Shared/ResourceCachesToClear.h: Added.
- * UIProcess/API/C/WKAPICast.h:
- (WebKit::toResourceCachesToClear):
- * UIProcess/API/C/WKContext.cpp:
- (WKContextClearResourceCaches):
- Add the new parameter.
- * UIProcess/API/C/WKContext.h:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::clearResourceCaches):
- Ditto.
- * UIProcess/WebContext.h:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::clearResourceCaches):
- Pass the new parameter through to the platform-specific functions.
- * WebProcess/WebProcess.h:
- Add the new parameter and give it a default of AllResourceCaches.
- * WebProcess/WebProcess.messages.in:
- Ditto.
- * WebProcess/gtk/WebProcessGtk.cpp:
- (WebKit::WebProcess::platformClearResourceCaches):
- Ditto.
- * WebProcess/qt/WebProcessQt.cpp:
- (WebKit::WebProcess::platformClearResourceCaches):
- Ditto.
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::WebProcess::platformClearResourceCaches):
- When told to clear only the in-memory caches, return early so as not to clear the CFNetwork
- disk cache.
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::platformClearResourceCaches):
- Ditto.
- * WebKit2.xcodeproj/project.pbxproj:
- Add ResourceCachesToClear.h
- * win/WebKit2.vcproj:
- Ditto.
- 2011-03-10 Jeff Miller <jeffm@apple.com>
- Reviewed by Adam Roben.
- WKViewRegisterEditCommandCallback should use WKViewUndoType
- https://bugs.webkit.org/show_bug.cgi?id=56120
- * UIProcess/API/C/win/WKView.h: Change undoOrRedo parameter in WKViewRegisterEditCommandCallback to be WKViewUndoType.
- 2011-03-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
- Reviewed by Kenneth Rohde Christiansen.
- Tiled backing store's delegated scroll request uses incorrect convention
- https://bugs.webkit.org/show_bug.cgi?id=56011
- Adapt all of the internal API to match the delta to point
- conversion at the WebCore side.
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::pageDidRequestScroll):
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::pageDidRequestScroll):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::delegatedScrollRequested):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::pageDidRequestScroll):
- * WebProcess/WebPage/WebPage.h:
- 2011-03-10 Balazs Kelemen <kbalazs@webkit.org>
- Reviewed by Andreas Kling.
- [WK2] Make non-transparent windowless plugins paint on X11
- https://bugs.webkit.org/show_bug.cgi?id=55660
- Implement painting for non-transparent windowless X11 plugins.
- The essence of the logic has been adapted from WebCore.
- The implementation is stubbed for GTK and working only on Qt
- but it should be really easy to finish it for GTK.
- * WebKit2.pro:
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetValue): Handle X11 specific values that are necessary.
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::NetscapePlugin): Initialize the X11 specific
- members that has been added.
- (WebKit::NetscapePlugin::callSetWindow): Always set the x and y coordinates
- of the NP_Window to 0 on X11 since we are using a backings store as the
- painting area for the plugin.
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp: Removed in favour
- of a common implementation for X11.
- * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: Ditto.
- * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Added.
- (WebKit::getPluginDisplay):
- Platform specific static getters.
- (WebKit::x11Display):
- (WebKit::displayDepth):
- (WebKit::rootWindowID):
- (WebKit::x11Screen):
- (WebKit::NetscapePlugin::platformPostInitialize): Set up the visual
- settings and the colormap for the plugin.
- (WebKit::NetscapePlugin::platformDestroy):
- (WebKit::NetscapePlugin::platformInvalidate): Remained stub.
- (WebKit::NetscapePlugin::platformGeometryDidChange): Create a new
- pixmap that fits the geometry.
- (WebKit::NetscapePlugin::platformPaint): Propagate a paint event
- to the plugin, sync with it if necessary and draw the pixmap to
- the screen.
- (WebKit::toNP): Remained stub.
- (WebKit::NetscapePlugin::platformHandleMouseEvent): Remained stub.
- (WebKit::NetscapePlugin::platformHandleWheelEvent): Remained stub.
- (WebKit::NetscapePlugin::platformSetFocus): Remained stub.
- (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): Remained stub.
- (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): Remained stub.
- (WebKit::NetscapePlugin::platformHandleKeyboardEvent): Remained stub.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::createPlugin): Hack. Inject wmode=opaque
- key-value pair to the plugin parameters to force Flash to act in
- non-transparent windowless mode. Qt also doing this in WebCore.
- 2011-03-09 Peter Kasting <pkasting@google.com>
- Reviewed by Mihai Parparita.
- Unify Windows version checks.
- https://bugs.webkit.org/show_bug.cgi?id=55979
- * UIProcess/win/WebPageProxyWin.cpp:
- (WebKit::WebPageProxy::standardUserAgent):
- 2011-03-09 Adele Peterson <adele@apple.com>
- Reviewed by Anders Carlsson.
- Fix for https://bugs.webkit.org/show_bug.cgi?id=56068
- <rdar://problem/9058245> WebKit2: Can't uncheck 'Spelling and Grammar' contextual items
- * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::contextMenuItemSelected):
- Add cases for ContextMenuItemTagCorrectSpellingAutomatically, ContextMenuItemTagCheckSpellingWhileTyping,
- and ContextMenuItemTagCheckGrammarWithSpelling
- 2011-03-09 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Dan Bernstein.
- Frequent crashes when printing in WebPageProxy::setAutodisplay
- https://bugs.webkit.org/show_bug.cgi?id=56057
- <rdar://problem/9053290>
- * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
- Null check the page, there is no reason for it to still exist.
- 2011-03-09 Brent Fulgham <bfulgham@webkit.org>
- Unreviewed build correction.
- * UIProcess/DrawingAreaProxy.messages.in: Exclude the other
- method using LayerTreeContext for non-accelerated composition case.
- 2011-03-09 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Change plugins to use their own executable on Mac OS X
- https://bugs.webkit.org/show_bug.cgi?id=55991
- * Configurations/PluginProcess.xcconfig: Copied from Source/WebKit2/Configurations/WebProcess.xcconfig.
- * PluginProcess/Info.plist: Copied from Source/WebKit2/WebProcess/Info.plist.
- Add files necessary for adding PluginProcess.app.
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess):
- Launch the PluginProcess.app when launching a plugin process.
- * WebKit2.xcodeproj/project.pbxproj:
- Add new executable and new files, removes some unneeded copying
- and duplicate compiling of files.
- * WebProcess/Info.plist:
- Sorted.
- 2011-03-09 Jessie Berlin <jberlin@apple.com>
- Reviewed by Adam Roben.
- Use the Cookie Storage from the Private Browsing Storage Session directly
- https://bugs.webkit.org/show_bug.cgi?id=55986
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- 2011-03-09 Alejandro G. Castro <alex@igalia.com>
- Fix compilation after r80596, add soup Download stubs.
- * GNUmakefile.am:
- * WebProcess/Downloads/soup/DownloadSoup.cpp: Added.
- (WebKit::Download::start):
- (WebKit::Download::startWithHandle):
- (WebKit::Download::cancel):
- (WebKit::Download::platformInvalidate):
- (WebKit::Download::didDecideDestination):
- (WebKit::Download::platformDidFinish):
- 2011-03-09 Alejandro G. Castro <alex@igalia.com>
- Fix GTK+ compilation after r80619. Add WebFullScreenManager.
- * GNUmakefile.am:
- 2011-03-08 Jer Noble <jer.noble@apple.com>
- Reviewed by Sam Weinig.
- WebKit2: Plumb through the FULLSCREEN_API Chrome client calls
- https://bugs.webkit.org/show_bug.cgi?id=55273
- The FULLSCREEN_API Chrome client calls need to be plumbed through from the
- WebProcess to the UIProcess. To do this, WebFullScreenManager (and Proxy)
- classes have been added to WebPage.
- * DerivedSources.make: Added rules necessary to build DerivedSources for new .in files.
- * DerivedSources.pro: Ditto.
- * Platform/CoreIPC/MessageID.h: Added message types for WebFullScreenManager.
- * Shared/API/c/WKBase.h: Added WKFullScreenManagerRef.
- * Shared/APIObject.h: Added APIType for WebFullScreenManager.
- * UIProcess/WebFullScreenManagerProxy.cpp: Added.
- * UIProcess/WebFullScreenManagerProxy.h: Added.
- * UIProcess/WebFullScreenManagerProxy.messages.in: Added.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close): Invalidate and clear m_fullScreenManager.
- (WebKit::WebPageProxy::processDidCrash): Ditto.
- (WebKit::WebPageProxy::didReceiveMessage): Pass messages on to WebFullScreenManagerProxy.
- (WebKit::WebPageProxy::didReceiveSyncMessage): Ditto.
- (WebKit::WebPageProxy::fullScreenManager): Added. Lazy instantiation of m_fullScreenManager.
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebUIClient.cpp:
- * UIProcess/WebUIClient.h:
- * WebKit2.xcodeproj/project.pbxproj: Added references to new classes in project file.
- * WebKit2.pro: Ditto.
- * win/WebKit2.vcproj: Ditto.
- * WebKit2.pri: Added new directories to include file path.
- * win/WebKit2Common.vsprops: Ditto.
- * WebProcess/FullScreen/WebFullScreenManager.cpp: Added.
- * WebProcess/FullScreen/WebFullScreenManager.h: Added.
- * WebProcess/FullScreen/WebFullScreenManager.messages.in: Added.
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::supportsFullScreenForElement): Pass through to WebFullScreenManager.
- (WebKit::WebChromeClient::enterFullScreenForElement): Ditto.
- (WebKit::WebChromeClient::exitFullScreenForElement): Ditto.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::close): Invalidate and clear m_fullScreenManager.
- (WebKit::WebPage::fullScreenManager): Lazy instantiation of m_fullScreenManager.
- (WebKit::WebPage::didReceiveMessage): Pass messages through to WebFullScreenManager.
- * WebProcess/WebPage/WebPage.h:
- 2011-03-08 Jer Noble <jer.noble@apple.com>
- Reviewed by Sam Weinig.
- WebKit2: Plumb through the "supportsFullScreen" preference.
- https://bugs.webkit.org/show_bug.cgi?id=55261
- The "supportsFullScreen" preference needs to be plumbed through from
- the UIProcess to the WebProcess.
- * Shared/WebPreferencesStore.h: Add a new macro entry.
- * UIProcess/API/C/WKPreferences.cpp: Implement preferences getter and setter.
- (WKPreferencesSetFullScreenEnabled):
- (WKPreferencesGetFullScreenEnabled):
- * UIProcess/API/C/WKPreferences.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences): Sync the fullScreenEnabled setting through to
- the settings object.
- 2011-03-08 Jeff Miller <jeffm@apple.com>
- Reviewed by Adele Peterson.
- WebKit2: Implement Windows glue for Undo/Redo
- https://bugs.webkit.org/show_bug.cgi?id=55961
-
- Expose Undo/Redo infrastructure through WKView on Windows by
- adding an undo client as well as APIs to reapply and unapply
- an edit command.
- * UIProcess/API/C/win/WKView.cpp:
- (WKViewSetViewUndoClient): Added.
- (WKViewReapplyEditCommand): Added.
- (WKViewUnapplyEditCommand): Added.
- * UIProcess/API/C/win/WKView.h: Added WKViewUndoClient, WKViewSetViewUndoClient(), and WKViewUnapplyEditCommand().
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::isValidEditCommand): Added, used to validated an edit command from a WKView API.
- * UIProcess/WebPageProxy.h: Added isValidEditCommand().
- * UIProcess/win/WebUndoClient.cpp: Added, APIClient for WKViewUndoClient.
- (WebKit::WebUndoClient::registerEditCommand): Added.
- (WebKit::WebUndoClient::clearAllEditCommands): Added.
- * UIProcess/win/WebUndoClient.h: Added, APIClient for WKViewUndoClient.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::initializeUndoClient): Added.
- (WebKit::WebView::close): Clear out undo client.
- (WebKit::WebView::registerEditCommand): Implemented to call through to WKViewUndoClient.
- (WebKit::WebView::clearAllEditCommands): Implmented to call through to WKViewUndoClient.
- (WebKit::WebView::reapplyEditCommand): Added.
- (WebKit::WebView::unapplyEditCommand): Added.
- * UIProcess/win/WebView.h: Added undo client support.
- * win/WebKit2.vcproj: Added WebUndoClient.cpp and WebUndoClient.h.
- 2011-03-08 Jeff Miller <jeffm@apple.com>
- Reviewed by Sam Weinig.
- WebKit2: Expose WebEditCommandProxy in the C API on Windows
- https://bugs.webkit.org/show_bug.cgi?id=55962
-
- Make WebEditCommandProxy a subclass of APIObject, and define
- WKEditCommandRef as the type that will be exposed through the C API.
- * Shared/API/c/win/WKBaseWin.h: Add WKEditCommandRef.
- * Shared/APIObject.h: Add platform-specific TypeEditCommandProxy.
- * UIProcess/API/C/win/WKAPICastWin.h: Add API mapping for WKEditCommandRef.
- * UIProcess/WebEditCommandProxy.h: Subclass WebEditCommandProxy from APIObject.
- (WebKit::WebEditCommandProxy::type): Added.
- 2011-03-08 Jeff Miller <jeffm@apple.com>
- Reviewed by Oliver Hunt.
- WebKit2: Redo is broken
- https://bugs.webkit.org/show_bug.cgi?id=55978
-
- WebEditCommandProxy::unapply() and WebEditCommandProxy::reapply() were registering the wrong edit command when an undo or redo happens.
- For example, when we unapply(), we should register a Redo command, not an Undo command.
- * UIProcess/WebEditCommandProxy.cpp:
- (WebKit::WebEditCommandProxy::unapply): Register a Redo command, not an Undo command.
- (WebKit::WebEditCommandProxy::reapply): Register an Undo command, not a Redo command.
- 2011-03-08 Brent Fulgham <bfulgham@webkit.org>
- Reviewed by Adam Roben.
- https://bugs.webkit.org/show_bug.cgi?id=55977
- Refine CF/CFNet distinctions for better code sharing.
- 1. Rename Downloads/cf/win/DownloadCFNetWin.cpp to DownloadCFWin.cpp
- since it does not use any CFNETWORK features.
- 2. Create new cfnet directory.
- 3. Move Downloads/cf/DownloadCFNet.cpp to Downloads/cfnet
- 4. Update project file.
- * WebProcess/Downloads/cf/DownloadCFNet.cpp: Removed.
- * WebProcess/Downloads/cf/win/DownloadCFNetWin.cpp: Removed.
- * WebProcess/Downloads/cf/win/DownloadCFWin.cpp: Copied from WebProcess/Downloads/cf/win/DownloadCFNetWin.cpp.
- * WebProcess/Downloads/cfnet: Added.
- * WebProcess/Downloads/cfnet/DownloadCFNet.cpp: Copied from WebProcess/Downloads/cf/DownloadCFNet.cpp.
- * win/WebKit2.vcproj:
- 2011-03-08 Mark Rowe <mrowe@apple.com>
- Reviewed by Brady Eidson.
- <http://webkit.org/b/55976> Provisional URL should be loaded when restoring session state even if there are back / forward list entries.
- * UIProcess/cf/WebPageProxyCF.cpp:
- (WebKit::WebPageProxy::restoreFromSessionStateData): If there's a provisional URL that we will load then restore the session state
- without navigating to the current item.
- * WebProcess/WebPage/WebPage.messages.in: Expose the ability to restore the session state without navigating to the current item.
- 2011-03-08 Brent Fulgham <bfulgham@webkit.org>
- Reviewed by Anders Carlsson.
- https://bugs.webkit.org/show_bug.cgi?id=55956
- WebKit2 Changes to correct WinCairo port build
- * Shared/LayerTreeContext.h: Don't exclude CoreIPC declarations for non-accelerated
- compositing case.
- * UIProcess/DrawingAreaProxy.h: Add "stdint.h" include needed for Cairo build.
- * UIProcess/DrawingAreaProxyImpl.cpp: Exclude accelerated compositing code for
- WinCairo build.
- (WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl):
- (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
- (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
- (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
- (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
- (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState):
- * UIProcess/DrawingAreaProxyImpl.h: Exclude declarations for code only used when
- accelerated compositing is enabled.
- (WebKit::DrawingAreaProxyImpl::isInAcceleratedCompositingMode):
- * UIProcess/win/WebView.cpp: Protect CG-specific drawing code.
- (WebKit::WebView::setFindIndicator):
- * WebProcess/Downloads/Download.h: Allow CFLite implentation to share overwrite flag,
- as well as destination and bundle paths.
- * WebProcess/Downloads/curl/DownloadCurl.cpp: Remove stub (to share CFNet implementation
- of file handling. This will be moved to a common area in a future patch.)
- * WebProcess/WebPage/DrawingAreaImpl.cpp: Exclude accelerated-compositing paths.
- (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
- (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
- * WebProcess/WebPage/WebPage.cpp: Protect CG-specific drawing code.
- (WebKit::WebPage::drawRectToPDF):
- (WebKit::WebPage::drawPagesToPDF):
- * win/WebKit2.vcproj: Exclude unused LayerTreeContext from WinCairo
- 2011-03-08 Ivan Krstić <ike@apple.com>
- Reviewed by Sam Weinig.
- Re-fix: can't paste from 3rd party text editor into WebKit2 window
- <rdar://problem/8978624>
- * WebProcess/com.apple.WebProcess.sb:
- 2011-03-08 Martin Robinson <mrobinson@igalia.com>
- Fix the WebKit2 compilation after r80578.
- * UIProcess/gtk/WebView.cpp:
- (WebKit::WebView::setFocus): Added.
- * UIProcess/gtk/WebView.h:
- 2011-03-08 Jessie Berlin <jberlin@apple.com>
- Reviewed by Anders Carlsson.
- Crash in CFNetwork visiting google.com
- https://bugs.webkit.org/show_bug.cgi?id=55958
- * Shared/API/c/cf/WKURLResponseCF.cpp:
- (WKURLResponseCopyCFURLResponse):
- If the response to copy is null, return 0;
- 2011-03-08 John Sullivan <sullivan@apple.com>
- Reverted the patch for https://bugs.webkit.org/show_bug.cgi?id=55940
-
- The patch was insufficient, and it wasn't useful for the intended client use either.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- 2011-03-08 Alejandro G. Castro <alex@igalia.com>
- Unreviewed, fixed GTK+ compilation after r80569.
- * UIProcess/gtk/WebView.cpp:
- (WebKit::WebView::windowToScreen):
- * UIProcess/gtk/WebView.h:
- 2011-03-08 Chris Fleizach <cfleizach@apple.com>
- Reviewed by Sam Weinig.
- WK2: Cannot set focus on an element when focus is outside of WKView
- https://bugs.webkit.org/show_bug.cgi?id=55281
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::setFocus):
- * UIProcess/API/qt/qwkpage_p.h:
- (QWKPagePrivate::setFocus):
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::setFocus):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/win/WebView.h:
- (WebKit::WebView::setFocus):
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::focus):
- (WebKit::WebChromeClient::unfocus):
- 2011-03-08 Jeff Miller <jeffm@apple.com>
- Unreviewed, fix last change so WKBaseWin.h is in alphabetical order in the project XML.
- * win/WebKit2.vcproj: Move WKBaseWin.h to be in alphabetical order.
- 2011-03-08 Jeff Miller <jeffm@apple.com>
- Reviewed by Darin Adler.
- Remove Source/WebKit2/UIProcess/API/C/win/WKBaseWin.h
- https://bugs.webkit.org/show_bug.cgi?id=55952
- * UIProcess/API/C/win/WKBaseWin.h: Removed.
- * win/WebKit2.vcproj: Refer to the Shared version of WKBaseWin.h instead of the one in UIProcess.
- 2011-03-08 Alejandro G. Castro <alex@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Add new files to compilation after r77974
- https://bugs.webkit.org/show_bug.cgi?id=54076
- The commit added new code to allow passing context to policy
- delegate methods, we also added dummy ResourceRequest and
- ResourceResponse decoders until we implement them.
- * GNUmakefile.am:
- * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
- (CoreIPC::decodeResourceRequest):
- (CoreIPC::decodeResourceResponse):
- 2011-03-08 Chris Fleizach <cfleizach@apple.com>
- Reviewed by Darin Adler.
- AX: Webkit2 not sending UAZoomFocusChanged notifications
- https://bugs.webkit.org/show_bug.cgi?id=55916
- Needed to implement the windowToScreen() method so that the right frame
- could be calculated to send for zoom focus changes.
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::windowToScreen):
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::windowToScreen):
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::windowToScreen):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::windowToScreen):
- * UIProcess/win/WebView.h:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::windowToScreen):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::windowToScreen):
- * WebProcess/WebPage/WebPage.h:
- 2011-03-08 John Sullivan <sullivan@apple.com>
- Reviewed by Darin Adler.
- https://bugs.webkit.org/show_bug.cgi?id=55940
- WebKit2 should support Ignore policy from injected bundle client
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- Added WKBundlePagePolicyActionIgnore.
-
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- If the injected bundle client returns WKBundlePagePolicyActionIgnore, convert it
- to the loader's PolicyIgnore.
- 2011-03-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
- Reviewed by Kenneth Rohde Christiansen.
- [Qt] [Symbian] [WK2] Fix building WebKit 2 API tests
- https://bugs.webkit.org/show_bug.cgi?id=55876
- Make sure TESTS_SOURCE_DIR is set for Symbian the same way
- as it is for WK1.
- * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp:
- (tst_QGraphicsWKView::loadEmptyPage):
- * UIProcess/API/qt/tests/tests.pri:
- 2011-03-07 Damian Kaleta <dkaleta@apple.com>
- Reviewed by Anders Carlsson.
- QuickTime plugin should opt in to a 32-bit non-executable heap
- https://bugs.webkit.org/show_bug.cgi?id=55704
- <rdar://problem/8105706>
- * UIProcess/Plugins/PluginProcessProxy.cpp:
- (WebKit::pluginNeedsExecutableHeap): Decides per plugin if it should opt-in to a 32-bit non-executable heap.
- By default it should opt-out.
- (WebKit::PluginProcessProxy::PluginProcessProxy):
- 2011-03-07 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Add unableToImplementPolicy callback for WebKit2 policy client
- <rdar://problem/9071902>
- https://bugs.webkit.org/show_bug.cgi?id=55884
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::unableToImplementPolicy):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebPolicyClient.cpp:
- (WebKit::WebPolicyClient::unableToImplementPolicy):
- * UIProcess/WebPolicyClient.h:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
- (WebKit::InjectedBundlePagePolicyClient::unableToImplementPolicy):
- * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchUnableToImplementPolicy):
- Pipe unableToImplementPolicy through both the bundle and the main WebKit2 API.
- 2011-03-07 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Replace WebKit2's decidePolicyForMIMEType with decidePolicyForResponse
- https://bugs.webkit.org/show_bug.cgi?id=55827
- - Renamed FrameLoaderClient::dispatchDecidePolicyForMIMEType to dispatchDecidePolicyForResponse
- and pass the entire response, instead of just the MIMEType.
- - Updated both UIProcess API and bundle API to also be based on the whole response, not just the
- MIMEType.
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::decidePolicyForResponse):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebPolicyClient.cpp:
- (WebKit::WebPolicyClient::decidePolicyForResponse):
- * UIProcess/WebPolicyClient.h:
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
- (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):
- * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- 2011-03-06 Jessie Berlin <jberlin@apple.com>
- Reviewed by Sam Weinig.
- WebKit2: Use CFNetwork Sessions API.
- https://bugs.webkit.org/show_bug.cgi?id=55435.
- When Private Browsing is enabled, use cookies from a in-memory cookie storage based on the
- Private Browsing Storage Session.
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- Add support for using the new WKSI functions in WebCore.
- 2011-03-06 Oleg Romashin <romaxa@gmail.com>
- Reviewed by Kenneth Rohde Christiansen.
- [Qt][WK2] Make Qt port compiling with ENABLE_PLUGIN_PROCESS=1, part1
- Adding dummy Qt files for Plugin Process implementation,
- Adding missing sources into Qt pro files
- https://bugs.webkit.org/show_bug.cgi?id=55719
- * DerivedSources.pro:
- * PluginProcess/qt: Added.
- * PluginProcess/qt/PluginControllerProxyQt.cpp: Added.
- (WebKit::PluginControllerProxy::platformInitialize):
- (WebKit::PluginControllerProxy::platformDestroy):
- (WebKit::PluginControllerProxy::platformGeometryDidChange):
- * PluginProcess/qt/PluginProcessMainQt.cpp: Added.
- (WebKit::PluginProcessMain):
- * PluginProcess/qt/PluginProcessQt.cpp: Added.
- (WebKit::PluginProcess::platformInitialize):
- * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp: Added.
- (WebKit::PluginProcessProxy::platformInitializePluginProcess):
- * WebKit2.pri:
- * WebKit2.pro:
- * WebKit2API.pri:
- * WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp: Added.
- (WebKit::PluginProxy::needsBackingStore):
- 2011-03-05 Sam Weinig <sam@webkit.org>
- Reviewed by Dan Bernstein.
- Remove unneeded onPageClose function from DrawingArea
- https://bugs.webkit.org/show_bug.cgi?id=55836
- * WebProcess/WebPage/DrawingArea.h:
- Remove empty function.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::close):
- Remove only called
- 2011-03-04 Jon Honeycutt <jhoneycutt@apple.com>
- WK2 Mac build fix.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageComputePagesForPrinting):
- (WKPageBeginPrinting):
- * UIProcess/API/C/WKPagePrivate.h:
- 2011-03-04 Jon Honeycutt <jhoneycutt@apple.com>
- WK2 Mac build fix.
- * UIProcess/API/C/WKPagePrivate.h:
- 2011-03-04 Jon Honeycutt <jhoneycutt@apple.com>
- WK2 needs printing support on Windows
- https://bugs.webkit.org/show_bug.cgi?id=55800
- <rdar://problem/8903808>
- Reviewed by Darin Adler.
- * UIProcess/API/C/WKPage.cpp:
- (ComputedPagesContext::ComputedPagesContext):
- (computedPagesCallback):
- From the Vector of WebCore::IntRects, build up a Vector of WKRects.
- Call the callback, passing these rects and the scale factor.
- (printInfoFromWKPrintInfo):
- Return a PrintInfo structure from the WKPrintInfo.
- (WKPageComputePagesForPrinting):
- Call WebPageProxy::computePagesForPrinting(). Pass
- computedPagesCallback as the callback function, so that we can
- translate the WebCore rect type to WKRect before calling the caller's
- callback function.
- (WKPageBeginPrinting):
- Call WebPageProxy::beginPrinting().
- (WKPageDrawPagesToPDF):
- Call WebPageProxy::drawPagesToPDF().
- * UIProcess/API/C/WKPagePrivate.h:
- Declare the WKPrintInfo type and new functions.
- * UIProcess/WebPageProxy.cpp:
- Compile this code on Windows.
- * UIProcess/WebPageProxy.h:
- Ditto.
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::paint):
- We're painting the window; leave printing mode.
- * WebProcess/WebPage/WebPage.cpp:
- Compile this code on Windows.
- * WebProcess/WebPage/WebPage.h:
- Ditto.
- * WebProcess/WebPage/WebPage.messages.in:
- Ditto.
- 2011-03-04 Steve Falkenburg <sfalken@apple.com>
- Reviewed by Darin Adler.
- Adopt VersionStamper tool for Windows WebKit DLLs
- https://bugs.webkit.org/show_bug.cgi?id=55784
- <rdar://problem/9021320>
- We now use a tool to stamp the version number onto the Apple WebKit DLLs
- during the post-build step.
- Fetch the WebKit version from a string resource instead of the version resource.
- * UIProcess/win/WebPageProxyWin.cpp:
- (WebKit::userVisibleWebKitVersionString): Fetch version from a string resource.
- * win/WebKit2.rc: Removed version, added stringtable.
- * win/WebKit2WebProcess.rc: Removed.
- * win/WebKit2WebProcess.vcproj:
- * win/WebKit2WebProcessPostBuild.cmd: Don't run autoversion script. It isn't used in this project.
- * win/WebKit2WebProcessPreBuild.cmd: Stamp version.
- * win/WebKitPostBuild.cmd: Stamp version.
- 2011-03-04 Jeff Miller <jeffm@apple.com>
- Reviewed by Darin Adler.
- Add WKPageValidateCommand()
- https://bugs.webkit.org/show_bug.cgi?id=55793
-
- On the Mac, validation of edit menu commands is handled within WebKit2 in WKView.mm.
- However, on Windows we need to do this in the client, so expose this functionality
- in the API via WKPageValidateCommand().
-
- Change the Mac implementation to call WebPageProxy::validateCommand() with a callback
- to match this new API, so it no longer has to go through PageClient to get notified
- when a command is validated. This makes PageClient::setEditCommandState() obsolete,
- so I removed the stub implementations in qt and gtk as well.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageValidateCommand): Added.
- * UIProcess/API/C/WKPage.h: Added WKPageValidateCommand().
- * UIProcess/API/mac/PageClientImpl.h: Removed setEditCommandState().
- * UIProcess/API/mac/PageClientImpl.mm: Removed setEditCommandState().
- * UIProcess/API/mac/WKView.mm:
- (validateCommandCallback): Added.
- (-[WKView validateUserInterfaceItem:]): Pass callback to validateCommand().
- * UIProcess/API/qt/qwkpage.cpp: Removed setEditCommandState().
- * UIProcess/API/qt/qwkpage_p.h: Removed setEditCommandState().
- * UIProcess/PageClient.h: Removed setEditCommandState().
- * UIProcess/WebPageProxy.cpp: Removed didValidateCommand().
- (WebKit::WebPageProxy::validateCommand): This now takes a callback.
- (WebKit::WebPageProxy::validateCommandCallback): Added.
- (WebKit::WebPageProxy::processDidCrash): Invalidate m_validateCommandCallbacks.
- * UIProcess/WebPageProxy.h: Removed didValidateCommand(), validateCommand() now takes a callback.
- (WebKit::ValidateCommandCallback::create): Added.
- (WebKit::ValidateCommandCallback::~ValidateCommandCallback): Added.
- (WebKit::ValidateCommandCallback::performCallbackWithReturnValue): Added.
- (WebKit::ValidateCommandCallback::invalidate): Added.
- (WebKit::ValidateCommandCallback::ValidateCommandCallback): Added.
- * UIProcess/WebPageProxy.messages.in: Removed DidValidateCommand, added ValidateCommandCallback.
- * UIProcess/gtk/WebView.cpp: Removed setEditCommandState().
- * UIProcess/gtk/WebView.h: Removed setEditCommandState().
- * UIProcess/win/WebView.cpp: Removed setEditCommandState().
- * UIProcess/win/WebView.h: Removed setEditCommandState().
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::validateCommand): This now takes a callbackID.
- * WebProcess/WebPage/WebPage.h: validateCommand now takes a callbackID.
- * WebProcess/WebPage/WebPage.messages.in: ValidateCommand now takes a callbackID.
- 2011-03-04 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Darin Adler.
- Reference-counting for WKBundlePageResourceLoadClient::willSendRequestForFrame seems unclear/wrong
- https://bugs.webkit.org/show_bug.cgi?id=53919
- <rdar://problem/8966020>
-
- Adopt the result of m_client.willSendRequestForFrame (which will be leaked by the client).
- * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
- (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
- 2011-03-04 Darin Adler <darin@apple.com>
- Reviewed by Mark Rowe.
- WebKit2 session state should include even loads too new to be in the back/forward list
- https://bugs.webkit.org/show_bug.cgi?id=55781
- part of <rdar://problem/8968847>
- * UIProcess/cf/WebPageProxyCF.cpp:
- (WebKit::WebPageProxy::sessionStateData): Save URLs that are early enough in the loading
- process to not be included in the back/forward list yet: The pending API request URL and
- the provisional URL.
- (WebKit::WebPageProxy::restoreFromSessionStateData): Call loadURL if the back/forward
- list is not restored and a URL is present. Later we can improve the way we handle the
- case where we have both a back/forward list and a URL.
- 2011-03-04 Jessie Berlin <jberlin@apple.com>
- Reviewed by Darin Adler.
- WebKit2: Use CFNetwork Sessions API.
- https://bugs.webkit.org/show_bug.cgi?id=55435.
- Add in the CFURLSTORAGESESSIONS guards that I incorrectly left out because the code was
- contained within guards that made USE(CFURLSTORAGESESSIONS) always be true.
- * UIProcess/mac/WebContextMac.mm:
- (WebKit::WebContext::platformInitializeWebProcess):
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::platformInitializeWebProcess):
- 2011-03-04 Jessie Berlin <jberlin@apple.com>
- Reviewed by Maciej Stachowiak.
- WebKit2: Use CFNetwork Sessions API.
- https://bugs.webkit.org/show_bug.cgi?id=55435.
- When Private Browsing is enabled, get the cached url response from the cache associated with
- the Private Browsing Storage Session.
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::platformHasLocalDataForURL):
- If Private Browsing is enabled, call into WKSI to get the response.
- (WebKit::WebPage::cachedResponseMIMETypeForURL):
- Ditto.
- * WebProcess/WebPage/win/WebPageWin.cpp:
- (WebKit::WebPage::platformHasLocalDataForURL):
- If Private Browsing is enabled, call into WKSI to get the CFURLCacheRef.
- (WebKit::WebPage::cachedResponseMIMETypeForURL):
- Ditto.
- 2011-03-04 Jeff Miller <jeffm@apple.com>
- Reviewed by Darin Adler.
- Move WKViewExecuteCommand() to WKPageExecuteCommand()
- https://bugs.webkit.org/show_bug.cgi?id=55744
-
- Executing a command operates on a page, so it makes more sense for it to be in WKPage.
- This also makes it available on all platforms, not just Windows.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageExecuteCommand): Added.
- * UIProcess/API/C/WKPage.h: Add WKPageExecuteCommand().
- * UIProcess/API/C/win/WKView.cpp: Remove WKViewExecuteCommand().
- * UIProcess/API/C/win/WKView.h: Remove WKViewExecuteCommand().
- 2011-03-04 Dan Bernstein <mitz@apple.com>
- LLVM Compiler build fix.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::runJavaScriptInMainFrame):
- 2011-03-03 Timothy Hatcher <timothy@apple.com>
- Make the WKPageRunJavaScriptFunction callback take a WKSerializedScriptValueRef.
- https://webkit.org/b/55623
- Reviewed by Darin Adler.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageRunJavaScriptInMainFrame): Use ScriptValueCallback.
- (callRunJavaScriptBlockAndRelease): Use WKSerializedScriptValueRef.
- * UIProcess/API/C/WKPage.h: Use WKSerializedScriptValueRef.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close): Call invalidateCallbackMap for m_scriptValueCallbacks.
- (WebKit::WebPageProxy::runJavaScriptInMainFrame): Take a ScriptValueCallback.
- (WebKit::WebPageProxy::scriptValueCallback): Added. Create a WebSerializedScriptValue
- from the DataReference before calling the callback.
- (WebKit::WebPageProxy::processDidCrash): Call invalidateCallbackMap for m_scriptValueCallbacks.
- * UIProcess/WebPageProxy.h: Added ScriptValueCallback and m_scriptValueCallbacks.
- * UIProcess/WebPageProxy.messages.in: Added ScriptValueCallback.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::runJavaScriptInMainFrame): Create a DataReference from a WebCore::SerializedScriptValue.
- And use ScriptValueCallback to send the message back.
- 2011-03-03 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben.
- Cleanup from https://bugs.webkit.org/show_bug.cgi?id=55427.
-
- Call WebCore::startObservingCookieChanges and WebCore::stopObservingCookieChanges
- on all platforms, and stub the functions on platforms that don't implement them.
- * WebProcess/Cookies/WebCookieManager.cpp:
- (WebKit::WebCookieManager::startObservingCookieChanges):
- (WebKit::WebCookieManager::stopObservingCookieChanges):
- 2011-03-03 Jeff Miller <jeffm@apple.com>
- Reviewed by Darin Adler.
- Refactor classes in GenericCallback.h
- https://bugs.webkit.org/show_bug.cgi?id=55732
-
- Since we're going to need to add additional callback classes, make a CallbackBase class that manages
- the context and the callback ID. The existing callback classes (VoidCallback, GenericCallback, and
- ComputedPagesCallback) now all derive from CallbackBase.
-
- Fix bug in VoidCallback where we meant to implement the destructor, but we were implementing the default
- constructor instead (we forgot the leading ~).
-
- * UIProcess/GenericCallback.h:
- (WebKit::CallbackBase::~CallbackBase):
- (WebKit::CallbackBase::callbackID):
- (WebKit::CallbackBase::CallbackBase):
- (WebKit::CallbackBase::context):
- (WebKit::CallbackBase::generateCallbackID):
- (WebKit::VoidCallback::~VoidCallback):
- (WebKit::VoidCallback::performCallback):
- (WebKit::VoidCallback::invalidate):
- (WebKit::VoidCallback::VoidCallback):
- (WebKit::GenericCallback::create):
- (WebKit::GenericCallback::~GenericCallback):
- (WebKit::GenericCallback::performCallbackWithReturnValue):
- (WebKit::GenericCallback::invalidate):
- (WebKit::GenericCallback::GenericCallback):
- (WebKit::ComputedPagesCallback::create):
- (WebKit::ComputedPagesCallback::~ComputedPagesCallback):
- (WebKit::ComputedPagesCallback::performCallbackWithReturnValue):
- (WebKit::ComputedPagesCallback::invalidate):
- (WebKit::ComputedPagesCallback::ComputedPagesCallback):
- 2011-03-03 Adam Roben <aroben@apple.com>
- Don't assume the web process has had a chance to paint before the view has to paint
- Fixes <http://webkit.org/b/55739> REGRESSION (r80307): Lots of tests crashing in
- BackingStore::paint
- Reviewed by Anders Carlsson.
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::paint): Bail if the web process hasn't had a chance to paint
- yet.
- 2011-03-03 Adam Roben <aroben@apple.com>
- Throw away DrawingAreaProxyImpl's backing store after not painting for 5 seconds
- The intent is to save memory for views that aren't painting.
- Fixes <http://webkit.org/b/51262> <rdar://problem/8782537> WebPageProxy should delete its
- backing store after not painting for a while
- Reviewed by Anders Carlsson.
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): Initialize our timer.
- (WebKit::DrawingAreaProxyImpl::paint): Don't bail if we don't have a backing store (but do
- bail if we're in accelerated compositing mode); we might have thrown it away to save memory
- but now are being asked to paint by the view. The existing code in this function will handle
- getting a new backing store if possible by blocking for a little while to try to receive a
- DidUpdateBackingStoreState message. Added an assertion that we do have a backing store if we
- don't have any outstanding UpdateBackingStoreState requests. After painting, call
- discardBackingStoreSoon to update our timer.
- (WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon): Set the timer for 5 seconds in the
- future.
- (WebKit::DrawingAreaProxyImpl::discardBackingStore): Throw away the backing store, and tell
- the web process we'll need a full backing store update on the next paint.
- * UIProcess/DrawingAreaProxyImpl.h: Added m_discardBackingStoreTimer.
- 2011-03-03 Adam Roben <aroben@apple.com>
- Add a way to tell the web process to perform a full backing store update on its next paint
- Messages::DrawingArea::UpdateBackingStoreState now takes a boolean specifying whether the
- full backing store update should happen immediately or should be deferred until the next
- paint or compositing mode change occurs. The deferred update isn't used yet, but will be
- used when we start throwing away backing stores to save memory.
- Fixes <http://webkit.org/b/55730> UI process needs a way to tell the web process its backing
- store needs a full update on the next paint
- Reviewed by Anders Carlsson.
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::paint): If we have an outstanding backing store state change
- request, tell the web process to perform the backing store update right away, in case we
- previously told it it could defer the update.
- (WebKit::DrawingAreaProxyImpl::sizeDidChange): Specify that we need an immediate backing
- store update.
- (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState): We can no longer assert that we
- were waiting for a DidUpdateBackingStoreState message when we receive one, as it's possible
- for the web process to decide to send us this message on its own (if we asked it to do a
- deferred backing store update and then it needed to paint some part of the page). Specify
- that we need an immediate backing store update if the web process hasn't updated to our
- latest state, as we're about to draw potentially out-of-date bits to the screen and want to
- get the right bits as soon as possible. Also added a FIXME about a potential optimization.
- (WebKit::DrawingAreaProxyImpl::backingStoreStateDidChange): Added a RespondImmediatelyOrNot
- parameter, which is just passed through to sendUpdateBackingStoreState.
- (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState): Added a RespondImmediatelyOrNot
- parameter that is used to specify to the web process whether to perform the full backing
- store update immediately. We now only wait for a DidUpdateBackingStoreState message (and
- thus suppress any more UpdateBackingStoreState messages until one is received) when we ask
- the web process for an immediate response; otherwise we could end up accidentally calling
- waitForAndDispatchDidUpdateBackingStoreState when the web process hasn't been told to send
- us such a message.
- * UIProcess/DrawingAreaProxyImpl.h: Added RespondImmediatelyOrNot.
- * WebProcess/WebPage/DrawingArea.h:
- (WebKit::DrawingArea::updateBackingStoreState): Added respondImmediately argument.
- * WebProcess/WebPage/DrawingArea.messages.in: Added respondImmediately argument to
- UpdateBackingStoreState message.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::DrawingAreaImpl): Initialize new member that's used to track
- whether we should send a DidUpdateBackingStoreState message instead of an Update or
- compositing mode change message. This will be set to true when a deferred backing store
- update is pending.
- (WebKit::DrawingAreaImpl::layerHostDidFlushLayers): If a deferred update is pending, send a
- DidUpdateBackingStoreState message instead of a compositing mode change message.
- (WebKit::DrawingAreaImpl::updateBackingStoreState): Added respondImmediately argument. If
- we've already been told about this state ID (as can happen when the UI process decides it
- needs an immediate update to a state that it previously requested a deferred update to),
- don't bother updating the page's size, etc. In addition, if we've already sent a
- DidUpdateBackingStoreState message for this state, we don't have to do anything at all.
- Moved code to send the DidUpdateBackingStoreState message from here...
- (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): ...to here.
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): Always update our dirty region,
- even if painting is suspended or we're in the process of updating the backing store state.
- It causes no harm and simplifies the code. If a deferred update is pending, send a
- DidUpdateBackingStoreState message instead of a compositing mode change message. Also
- removed a redundant if.
- (WebKit::DrawingAreaImpl::display): Added an assertion that this isn't called while updating
- backing store state, as otherwise we might end up sending two DidUpdateBackingStoreState
- messages. If a deferred update is pending, send a DidUpdateBackingStoreState message instead
- of an Update message.
- * WebProcess/WebPage/DrawingAreaImpl.h: Updated updateBackingStoreState to match the base
- class. Added sendDidUpdateBackingStoreState and m_shouldSendDidUpdateBackingStoreState.
- 2011-03-03 Andy Estes <aestes@apple.com>
- Reviewed by Darin Adler.
- When displaying the missing plug-in sheet, pass the 'pluginspage'
- attribute to the UI process.
- https://bugs.webkit.org/show_bug.cgi?id=55553
- * UIProcess/API/C/WKPage.h: Add pluginsPageURL as the third argument to
- missingPluginButtonClicked.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::missingPluginButtonClicked): Ditto.
- * UIProcess/WebPageProxy.h: Ditto.
- * UIProcess/WebPageProxy.messages.in: Ditto.
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::missingPluginButtonClicked): Ditto.
- * UIProcess/WebUIClient.h: Ditto.
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::missingPluginButtonClicked): Get the value of
- pluginspageAttr.
- 2011-03-03 Alexey Proskuryakov <ap@apple.com>
- Suggested by Dan Bernstein.
- Move "const" around "NSString *", so that it suddenly begins to make sense.
- * WebProcess/mac/FullKeyboardAccessWatcher.mm:
- 2011-03-03 Jeff Miller <jeffm@apple.com>
- Reviewed by Anders Carlsson.
- WebKit2: Add WKViewRef API for executing edit commands
- https://bugs.webkit.org/show_bug.cgi?id=49829
- Added WKViewExecuteCommand() and documented some of the WebCore EditorCommand strings.
- * UIProcess/API/C/win/WKView.cpp:
- (WKViewExecuteCommand): Added.
- * UIProcess/API/C/win/WKView.h: Added WKViewExecuteCommand() and comment block with WebCore EditorCommand strings.
- 2011-03-03 Jessie Berlin <jberlin@apple.com>
- Reviewed by Adam Roben.
- WebKit2: Use CFNetwork Sessions API.
- https://bugs.webkit.org/show_bug.cgi?id=55435
- Set the Private Browsing Storage Session on requests when Private Browsing is enabled.
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- Support using WKCopyRequestWithStorageSession in WebCore.
- 2011-03-03 Adam Roben <aroben@apple.com>
- Don't try to paint outside the page's bounds
- When the page is resized smaller, we would allocate a ShareableBitmap at the old, larger
- size, even though we only needed to paint at the new, smaller size.
- The assertion added in this patch will fire during the WebKit2/ResizeViewWhileHidden API
- test if this fix gets broken in the future.
- Fixes <http://webkit.org/b/55715> DrawingAreaImpl allocates more memory than necessary when
- the page is resized smaller
- Reviewed by Anders Carlsson.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::updateBackingStoreState): Update our dirty region even if painting
- is suspended (but still refrain from updating it when in accelerated compositing mode).
- Rather than unite our existing dirty region with the page's new bounds, overwrite our dirty
- region with the page's new bounds. This prevents us from accumulating a dirty region that is
- larger than the page in the case where the page is being resized smaller.
- (WebKit::DrawingAreaImpl::display): Added an assertion that we're not trying to paint
- outside of the page's bounds.
- 2011-03-03 Maciej Stachowiak <mjs@apple.com>
- Reviewed by Brady Eidson.
- WebProcess is calling CFURLCacheRemoveAllCachedResponses when loading, results in origin-load for all resources
- https://bugs.webkit.org/show_bug.cgi?id=55701
- <rdar://problem/9074017>
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Initialize cache-clearing
- flag parameters to false.
- (WebKit::WebProcessCreationParameters::encode): Serialize them properly.
- (WebKit::WebProcessCreationParameters::decode): And deserialize.
- 2011-03-03 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Darin Adler.
- REGRESSION (WebKit2): Tab keys no longer observe Full Keyboard Access
- https://bugs.webkit.org/show_bug.cgi?id=55633
- <rdar://problem/8963023>
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/mac/FullKeyboardAccessWatcher.h: Added.
- * WebProcess/mac/FullKeyboardAccessWatcher.mm: Added.
- (-[FullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]):
- (-[FullKeyboardAccessWatcher init]):
- (+[FullKeyboardAccessWatcher fullKeyboardAccessEnabled]):
- Get the current state of full keyboard access, listening for change notifications.
- * WebProcess/WebProcess.h: Added fullKeyboardAccessEnabled().
- * WebProcess/WebProcess.cpp: (WebKit::WebProcess::fullKeyboardAccessEnabled):
- WebKit1 also doesn't implement this on platforms other than Mac.
- * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::fullKeyboardAccessEnabled):
- Just ask FullKeyboardAccessWatcher.
- * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::keyboardUIMode):
- * WebProcess/WebCoreSupport/WebChromeClient.h:
- Added keyboardUIMode(), removed tabsToLinks().
- * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::keyboardUIMode):
- * WebProcess/WebPage/WebPage.h:
- Generate keyboard UI mode from tabToLinks preference and current state of FKA.
- 2011-03-03 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Give the Bundle's policy client the option of deciding the policy
- https://bugs.webkit.org/show_bug.cgi?id=55699
- * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- Add WKBundlePagePolicyAction enum and make it the return value of
- the WKBundlePagePolicyClient functions.
- * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
- (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
- (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
- (WebKit::InjectedBundlePagePolicyClient::decidePolicyForMIMEType):
- * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
- Pass the return value back to the caller. For unimplemented functions, return WKBundlePagePolicyActionPassThrough.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- Call the policy function early if the bundle handles it.
- 2011-03-02 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben.
- Rest of WebKit2: Need a way to send notifications to client when cookies change
- https://bugs.webkit.org/show_bug.cgi?id=55427
- <rdar://problem/9056027>
-
- This patch adds the communication from the WebProcess <-> UIProcess about starting/stopping
- listening for cookies changing, and adds a mechanism for the WebProcess to notify the UIProcess
- when the cookies have changed. The WebProcess sends a message to the UIProcess when the cookies
- change, and the UIProcess passes this along to the WebCookieManagerProxyClient.
- * UIProcess/API/C/WKCookieManager.cpp:
- (WKCookieManagerSetClient): Call through to WebCookieManagerProxy.
- (WKCookieManagerStartObservingCookieChanges): Ditto.
- (WKCookieManagerStopObservingCookieChanges): Ditto.
- * UIProcess/API/C/WKCookieManager.h: Add new functions and a WKCookieManagerClient
- which is responsible for cookiesDidChange.
- * UIProcess/WebCookieManagerProxy.cpp:
- (WebKit::WebCookieManagerProxy::initializeClient):
- (WebKit::WebCookieManagerProxy::startObservingCookieChanges): Send the message down to the web process.
- (WebKit::WebCookieManagerProxy::stopObservingCookieChanges): Ditto.
- (WebKit::WebCookieManagerProxy::cookiesDidChange): Tell the WKCookieManagerClient the cookies were
- modified.
- * UIProcess/WebCookieManagerProxy.h:
- * UIProcess/WebCookieManagerProxy.messages.in: Add new messages.
- * UIProcess/WebCookieManagerProxyClient.cpp: Added.
- (WebKit::WebCookieManagerProxyClient::cookiesDidChange): Calls through to the client saying that
- cookies changed.
- * UIProcess/WebCookieManagerProxyClient.h: Added.
-
- * WebProcess/Cookies/WebCookieManager.cpp:
- (WebKit::WebCookieManager::startObservingCookieChanges): Call through to WebCore::startObservingCookieChanges
- (on platforms that support it).
- (WebKit::WebCookieManager::stopObservingCookieChanges): Ditto (for stopObservingCookieChanges).
- (WebKit::WebCookieManager::dispatchDidModifyCookies): Send a message to the UI process that cookies changed.
- * WebProcess/Cookies/WebCookieManager.h:
- * WebProcess/Cookies/WebCookieManager.messages.in:
-
- Add new files.
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * GNUmakefile.am:
- * win/WebKit2.vcproj:
- 2011-03-03 Anders Carlsson <andersca@apple.com>
- Reviewed by Darin Adler.
- Remove CanRunBeforeUnloadConfirmPanel sync message
- https://bugs.webkit.org/show_bug.cgi?id=55689
- * Shared/WebPageCreationParameters.cpp:
- (WebKit::WebPageCreationParameters::encode):
- (WebKit::WebPageCreationParameters::decode):
- Encode and decode canRunBeforeUnloadConfirmPanel, as well as canRunModal, which wasn't
- being encoded/decoded.
- * Shared/WebPageCreationParameters.h:
- Add canRunBeforeUnloadConfirmPanel.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::initializeUIClient):
- Send SetCanRunBeforeUnloadConfirmPanel and SetCanRunModal messages.
- (WebKit::WebPageProxy::creationParameters):
- Initialize parameters.canRunBeforeUnloadConfirmPanel.
- * UIProcess/WebPageProxy.messages.in:
- Remove CanRunBeforeUnloadConfirmPanel message.
- * UIProcess/WebUIClient.cpp:
- (WebKit::WebUIClient::canRunBeforeUnloadConfirmPanel):
- * UIProcess/WebUIClient.h:
- Make canRunBeforeUnloadConfirmPanel const.
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::WebChromeClient::canRunBeforeUnloadConfirmPanel):
- Ask the web page instead of sending a synchronous message.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- Initialize m_canRunBeforeUnloadConfirmPanel.
- * WebProcess/WebPage/WebPage.h:
- (WebKit::WebPage::canRunBeforeUnloadConfirmPanel):
- (WebKit::WebPage::setCanRunBeforeUnloadConfirmPanel):
- Add getter and setter for m_canRunBeforeUnloadConfirmPanel.
- (WebKit::WebPage::setCanRunModal):
- Add setter for m_canRunModal.
- * WebProcess/WebPage/WebPage.messages.in:
- Add SetCanRunBeforeUnloadConfirmPanel and SetCanRunModal messages.
- 2011-03-03 Adam Roben <aroben@apple.com>
- Create the CFBundleRef for WebKit.dll on Windows if needed
- WebKit part of <http://webkit.org/b/55672> <rdar://problem/9080867> All inspector tests time
- out or crash on Windows 7 Release (WebKit2 Tests)
- Reviewed by Darin Adler.
- * Shared/win/WebKitBundle.cpp: Added.
- (WebKit::createWebKitBundle): Returns a pre-existing bundle, if possible, otherwise creates
- and returns a new bundle.
- (WebKit::webKitBundle): Creates and caches a bundle, and returns it.
- * Shared/win/WebKitBundle.h: Added.
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::inspectorPageURL):
- * WebProcess/WebPage/win/WebInspectorWin.cpp:
- (WebKit::WebInspector::localizedStringsURL):
- Changed to use webKitBundle() to ensure that the bundle has been created.
- * win/WebKit2.vcproj: Added new files.
- 2011-03-03 Peter Kasting <pkasting@google.com>
- Reviewed by James Robinson.
- Drop redundant "Windows; " from the Windows-specific User Agent string.
- https://bugs.webkit.org/show_bug.cgi?id=54567
- * UIProcess/win/WebPageProxyWin.cpp:
- (WebKit::WebPageProxy::standardUserAgent):
- 2011-03-02 Sheriff Bot <webkit.review.bot@gmail.com>
- Unreviewed, rolling out r80188.
- http://trac.webkit.org/changeset/80188
- https://bugs.webkit.org/show_bug.cgi?id=55647
- Broke the WebKit API tests. (Requested by xenon on #webkit).
- * UIProcess/API/C/WKPage.cpp:
- (WKPageRunJavaScriptInMainFrame):
- (callRunJavaScriptBlockAndRelease):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::runJavaScriptInMainFrame):
- (WebKit::WebPageProxy::processDidCrash):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::runJavaScriptInMainFrame):
- 2011-03-02 Jeff Miller <jeffm@apple.com>
- Reviewed by Darin Adler.
- Rename WebKit::WebPage::validateMenuItem() to validateCommand()
- https://bugs.webkit.org/show_bug.cgi?id=55636
-
- Since this method can validate more than menu items, validateCommand() is a better name. Also rename various messages and WebKit::WebPageProxy::didValidateMenuItem() to didValidateCommand().
- * UIProcess/API/mac/WKView.mm:
- (-[WKView validateUserInterfaceItem:]): Call validateCommand() instead of validateMenuItem().
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::validateCommand): Renamed from validateMenuItem().
- (WebKit::WebPageProxy::didValidateCommand): Renamed from didValidateMenuItem().
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in: Renamed DidValidateMenuItem to DidValidateCommand.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::validateCommand): Renamed from validateMenuItem().
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in: Renamed ValidateMenuItem to ValidateCommand.
- 2011-03-02 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- WKPageSetMemoryCacheClientCallsEnabled doesn't persist if web process crashes
- https://bugs.webkit.org/show_bug.cgi?id=55635
- * Shared/WebPageCreationParameters.cpp:
- (WebKit::WebPageCreationParameters::encode):
- (WebKit::WebPageCreationParameters::decode):
- Encode and decode areMemoryCacheClientCallsEnabled.
- * Shared/WebPageCreationParameters.h:
- Add areMemoryCacheClientCallsEnabled member variable.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- Initialize m_areMemoryCacheClientCallsEnabled.
- (WebKit::WebPageProxy::setMemoryCacheClientCallsEnabled):
- Update m_areMemoryCacheClientCallsEnabled. Send a message if necessary.
- (WebKit::WebPageProxy::creationParameters):
- Set areMemoryCacheClientCallsEnabled.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- Call WebPage::setMemoryCacheMessagesEnabled.
- 2011-03-02 Timothy Hatcher <timothy@apple.com>
- Make the runJavaScriptInMainFrame callback send a WKSerializedScriptValueRef.
- https://webkit.org/b/55623
- Reviewed by Darin Adler.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageRunJavaScriptInMainFrame): Use ScriptValueCallback.
- (callRunJavaScriptBlockAndRelease): Use WKSerializedScriptValueRef.
- * UIProcess/API/C/WKPage.h: Use WKSerializedScriptValueRef.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::close): Call invalidateCallbackMap for m_scriptValueCallbacks.
- (WebKit::WebPageProxy::runJavaScriptInMainFrame): Take a ScriptValueCallback.
- (WebKit::WebPageProxy::scriptValueCallback): Added. Create a WebSerializedScriptValue
- from the DataReference before calling the callback.
- (WebKit::WebPageProxy::processDidCrash): Call invalidateCallbackMap for m_scriptValueCallbacks.
- * UIProcess/WebPageProxy.h: Added ScriptValueCallback and m_scriptValueCallbacks.
- * UIProcess/WebPageProxy.messages.in: Added ScriptValueCallback.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::runJavaScriptInMainFrame): Create a DataReference from a WebCore::SerializedScriptValue.
- And use ScriptValueCallback to send the message back.
- 2011-03-02 Jessie Berlin <jberlin@apple.com>
- Reviewed by Adam Roben.
- WebKit2: Use CFNetwork Sessions API.
- https://bugs.webkit.org/show_bug.cgi?id=55435
- Add the ability to create a Private Browsing Storage Session.
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- Encode the UI Process bundle identifier.
- (WebKit::WebProcessCreationParameters::decode):
- Decode the UI Process bundle identifier.
- * Shared/WebProcessCreationParameters.h:
- * UIProcess/mac/WebContextMac.mm:
- (WebKit::WebContext::platformInitializeWebProcess):
- Grab the bundle identifier and use it to set the WebProcessCreationParameter.
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::platformInitializeWebProcess):
- Ditto.
- * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- Support using the wkCreatePrivateStorageSession WKSI in WebCore.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess):
- Set the base for the Private Browsing Storage Session identifier to be the bundle identifier
- from the UI Process so that WebKit1 would create a Private Browsing Storage Session with the
- same identifier as WebKit2.
- 2011-03-01 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben.
- Part of WebKit2: Need a way to send notifications to client when cookies change
- https://bugs.webkit.org/show_bug.cgi?id=55427
- <rdar://problem/9056027>
- * WebProcess/Cookies/WebCookieManager.cpp:
- (WebKit::WebCookieManager::dispatchDidModifyCookies): Add a stub with a FIXME to send a
- message to the UI process.
- * WebProcess/Cookies/WebCookieManager.h:
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::WebPlatformStrategies::createCookiesStrategy):
- (WebKit::WebPlatformStrategies::notifyCookiesChanged): Call WebCookieManager::dispatchDidModifyCookies.
- * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- 2011-03-02 Andras Becsi <abecsi@webkit.org>
- Reviewed by Laszlo Gombos.
- [Qt][WK2] generate-forwarding-headers.pl should generate paths with framework names
- https://bugs.webkit.org/show_bug.cgi?id=55478
- On case insensitive systems the generated forwarding headers cause build problems.
- * Scripts/generate-forwarding-headers.pl: The generated header should
- also contain the framework name.
- 2011-03-01 Jeff Miller <jeffm@apple.com>
- Reviewed by Darin Adler.
- Expose some selection state fields in WKPage
- https://bugs.webkit.org/show_bug.cgi?id=55541
-
- Added WKPageCanDelete(), WKPageHasSelectedRange(), and WKPageIsContentEditable() so we can enable some
- Edit menu items properly on Windows when using WebKit2.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageCanDelete): Added.
- (WKPageHasSelectedRange): Added.
- (WKPageIsContentEditable): Added.
- * UIProcess/API/C/WKPage.h: Added new functions.
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::canDelete): Added.
- (WebKit::WebPageProxy::hasSelectedRange): Added.
- (WebKit::WebPageProxy::isContentEditable): Added.
- 2011-03-01 Mark Rowe <mrowe@apple.com>
- Hide the typeinfo name symbols for std::exception and std::bad_alloc too.
- * Configurations/Base.xcconfig:
- 2011-03-01 Mark Rowe <mrowe@apple.com>
- Reviewed by Sam Weinig.
- Add verification scripts to WebKit2 project and fix the issues they reveal.
- * Configurations/Base.xcconfig: Add linker flags to prevent C++ standard
- library functions from being exported as weak externals.
- * Configurations/WebKit2.xcconfig: Inherit linker flags from the project level.
- * Shared/WebContextMenuItem.cpp:
- (WebKit::WebContextMenuItem::separatorItem): Use DEFINE_STATIC_LOCAL.
- * UIProcess/WebPageGroup.cpp:
- (WebKit::webPageGroupMap): Ditto.
- * WebKit2.xcodeproj/project.pbxproj: Don't copy .in files in to the framework.
- Run verification scripts at the appropriate times.
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::didBeginEditing): Use DEFINE_STATIC_LOCAL.
- (WebKit::WebEditorClient::respondToChangedContents): Ditto.
- (WebKit::WebEditorClient::respondToChangedSelection): Ditto.
- (WebKit::WebEditorClient::didEndEditing): Ditto.
- * WebProcess/WebPage/WebBackForwardListProxy.cpp:
- (WebKit::idToHistoryItemMap): Ditto.
- (WebKit::historyItemToIDMap): Ditto.
- 2011-03-01 Joseph Pecoraro <joepeck@webkit.org>
- Unreviewed. Roll out r80068 and r80073 due to breaking WebKit2 Qt port.
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::viewportAttributesForSize):
- 2011-03-01 Joseph Pecoraro <joepeck@webkit.org>
- Unreviewed, missed updating a call to WebCore::computeViewportAttributes
- who's prototype changed.
- Viewport Warning/Error Messages Are Now Inaccurate
- https://bugs.webkit.org/show_bug.cgi?id=53707
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPage::viewportAttributesForSize): pass in a value for the document argument.
- 2011-03-01 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- WKPluginSiteDataManagerClearAllSiteData is not working
- https://bugs.webkit.org/show_bug.cgi?id=55528
- <rdar://problem/9071823>
- * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
- (WebKit::NetscapePluginModule::tryGetSitesWithData):
- Remove version checks, checking that the function pointer is not null is enough.
- (WebKit::NetscapePluginModule::tryClearSiteData):
- Remove version checks, checking that the function pointer is not null is enough.
- Also, correctly convert a null String to a null CString.
- 2011-03-01 Adam Roben <aroben@apple.com>
- Incorporate a review comment I missed in r80051
- * Shared/Plugins/Netscape/NetscapePluginModule.cpp: Clarified error message.
- 2011-03-01 Adam Roben <aroben@apple.com>
- Make the PLUGIN_ARCHITECTURE() macro work with MSVC
- Fixes <http://webkit.org/b/55513> <rdar://problem/9069189> REGRESSION (r79925): Lots of
- plugins tests crashing in NetscapePlugin::initialize on Windows
- Reviewed by Anders Carlsson.
- * Shared/Plugins/Netscape/NetscapePluginModule.cpp: Added a compile-time check to make sure
- PLUGIN_ARCHITECTURE() is defined for some platform.
- * config.h: Removed the parentheses from the use of "defined" in the PLUGIN_ARCHITECTURE()
- macro. This matches PLATFORM(), OS(), etc., and makes the macro work on Windows. Also
- replaced the nonsense OS(WIN) with OS(WINDOWS).
- * win/WebKit2.vcproj: Added config.h for editing convenience. Let VS do its thang.
- 2011-03-01 Sam Weinig <sam@webkit.org>
- Reviewed by Timothy Hatcher.
- WebKit2 needs to be made localizable
- https://bugs.webkit.org/show_bug.cgi?id=55483
- * PluginProcess/mac/PluginProcessMainMac.mm:
- * WebProcess/mac/WebProcessMainMac.mm:
- Set the default localization from the passed in parameter.
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- Add the preferred localization as a parameter when launching processes
- so that they can set their localization to match the launching app.
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- Use WebCore's localizedString function on the mac, to actually localize
- these strings.
- (WebKit::WebPlatformStrategies::imageTitle):
- Switch to using replace, instead of concatenation, to give localizers a chance
- to rearrange the wording.
- 2011-03-01 Balazs Kelemen <kbalazs@webkit.org>
- Reviewed by Anders Carlsson.
- [Qt][WK2] Plugin initialization
- https://bugs.webkit.org/show_bug.cgi?id=48127
- Apply the quirks that are necessary for the flash plugin
- to not crash on X11.
- * Platform/qt/ModuleQt.cpp:
- (WebKit::Module::load): Use the ResolveAllSymbols hint as we do in WebCore.
- * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
- (WebKit::NetscapePluginModule::tryLoad): Call applyX11QuirksBeforeLoad
- if PLUGIN_ARCHITECTURE is X11.
- * Shared/Plugins/Netscape/NetscapePluginModule.h:
- * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
- (WebKit::initializeGTK): The same hack that we do in WebCore.
- Call gtk_init because flash don't do it for itself.
- (WebKit::NetscapePluginModule::applyX11QuirksBeforeLoad): Added for X11.
- Do the hacks that we need to do before calling NP_Initialize on the
- flash plugin to save it form crashing.
- * Shared/Plugins/PluginQuirks.h: Use PLUGIN_ARCHITECTURE macros.
- Added RequiresGTKToolKit quirk for X11.
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::NPN_GetValue): Handle the RequiresGTKToolKit quirk on X11.
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- (WebKit::NetscapePlugin::quirks): Added getter for the PluginModule's
- quirks to be available in NPN_GetValue.
- 2011-03-01 Adam Roben <aroben@apple.com>
- Convert seconds to milliseconds before calling ::SetTimer
- Fixes <http://webkit.org/b/55417> <rdar://problem/9065287> RunLoop::Timer fires 1000x too
- early on Windows
- Reviewed by Anders Carlsson.
- * Platform/win/RunLoopWin.cpp:
- (RunLoop::TimerBase::start): Convert the timeout interval to milliseconds, since that's what
- ::SetTimer expects.
- 2011-03-01 Andras Becsi <abecsi@webkit.org>
- Reviewed by Csaba Osztrogonác.
- [Qt] Clean up the project files and move common options to WebKit.pri.
- * WebKit2.pro: Deduplicate options.
- 2011-03-01 Juha Savolainen <juha.savolainen@weego.fi>
- Reviewed by Andreas Kling.
- [Qt] WebKit2 needs to support font size changing and getting default font size
- https://bugs.webkit.org/show_bug.cgi?id=53671
- Added new enum for font size type and added methods to set and get default font sizes.
- * UIProcess/API/qt/qwkpreferences.cpp:
- (QWKPreferences::setFontSize): Added.
- (QWKPreferences::fontSize): Added.
- * UIProcess/API/qt/qwkpreferences.h:
- 2011-02-28 Alice Liu <alice.liu@apple.com>
- Reviewed by Adam Roben and Gavin Barraclough.
- https://bugs.webkit.org/show_bug.cgi?id=54898
- InjectedBundleNodeHandle dies too early in WKBundleHitTestResultGetNodeHandle
- * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
- (WKBundleHitTestResultCopyNodeHandle):
- Instead of .get(), call .release.leakRef() like other functions that return WKBundleNodeHandleRef.
- * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
- Renamed from "get" to "copy", because it leaksRef.
- 2011-02-28 Alice Liu <alice.liu@apple.com>
- Reviewed by Gavin Barraclough.
- https://bugs.webkit.org/show_bug.cgi?id=55442
- Webarchives don't contain subframe content
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::getWebArchiveOfFrame):
- Pass the frame's document instead of just the frame, to use a different LegacyWebArchive::create function.
- 2011-02-28 Benjamin Poulain <benjamin.poulain@nokia.com>
- Reviewed by Kenneth Rohde Christiansen.
- [Qt][WK2] Add a way to test the WebKit 2 APIs
- https://bugs.webkit.org/show_bug.cgi?id=55408
- Add an initial test for the WebKit 2 APIs of Qt.
- * UIProcess/API/qt/tests/html/basic_page.html: Added.
- * UIProcess/API/qt/tests/qgraphicswkview/qgraphicswkview.pro: Added.
- * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp: Added.
- (View::View):
- (View::resizeEvent):
- (tst_QGraphicsWKView::init):
- (tst_QGraphicsWKView::cleanup):
- (tst_QGraphicsWKView::loadEmptyPage):
- * UIProcess/API/qt/tests/tests.pri: Added.
- * UIProcess/API/qt/tests/tests.pro: Added.
- * UIProcess/API/qt/tests/util.h: Added.
- (waitForSignal):
- 2011-02-28 Anders Carlsson <andersca@apple.com>
- Fix clang build.
- * UIProcess/API/mac/FindIndicatorWindow.mm:
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::deprecatedUpdate):
- (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveMessage):
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- (WebKit::ChunkedUpdateDrawingArea::deprecatedResumePainting):
- (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
- 2011-02-28 Dan Bernstein <mitz@apple.com>
- Rubber-stamped by Anders Carlsson.
- Do not copy config.h into WebKit2.
- * WebKit2.xcodeproj/project.pbxproj:
- 2011-02-28 Dan Bernstein <mitz@apple.com>
- LLVM Compiler build fix.
- * Scripts/webkit2/messages.py:
- * UIProcess/WebPageProxy.h:
- 2011-02-28 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein, Sam Weinig, Alexey Proskuryakov and Darin Adler.
- Open PDF in Preview doesn't work
- https://bugs.webkit.org/show_bug.cgi?id=55400
- <rdar://problem/8750353>
- * UIProcess/API/mac/PDFViewController.mm:
- (-[WKPDFView initWithFrame:PDFViewController:]):
- Set the WKPDFView as the delegate of itself.
- (-[WKPDFView PDFViewOpenPDFInNativeApplication:]):
- Call PDFViewController::openPDFInFinder.
- (WebKit::PDFViewController::PDFViewController):
- Initialize m_hasWrittenPDFToDisk to false.
- (WebKit::PDFViewController::openPDFInFinder):
- Write the PDF to disk if needed and then open it using -[NSWorkspace openFile:].
-
- (WebKit::temporaryPDFDirectoryPath):
- Create a directory to put PDFs in.
- (WebKit::PDFViewController::pathToPDFOnDisk):
- Return a path to a (non-existent) file in the temporary PDF directory.
- 2011-02-28 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Dan Bernstein.
- Frequent crashes in CFURLCache code on Snow Leopard
- https://bugs.webkit.org/show_bug.cgi?id=55412
- <rdar://problem/9063922>
- CString is evil, it has two lengths which can be different - specifically, fileSystemRepresentation()
- creates a string with maximum possible buffer size. A path with garbage at the end confused
- CFURLCache into corrupting its data structures.
- * Shared/WebProcessCreationParameters.h: Added a FIXME about merging Mac and Windows code.
- This problem wouldn't have occured if we didn't use CString in the first place.
- * UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformInitializeWebProcess):
- Added an assertion matching Windows behavior (seems likely that NSURLCache also wouldn't
- have liked trailing slash).
- * UIProcess/win/WebContextWin.cpp: (WebKit::WebContext::platformInitializeWebProcess):
- Made slash removal conditional for robustness.
- * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::platformInitializeWebProcess):
- Use actual string length, not CString::length().
- 2011-02-28 Balazs Kelemen <kbalazs@webkit.org>
- Reviewed by Anders Carlsson.
- [Qt][WK2] Plugin initialization
- https://bugs.webkit.org/show_bug.cgi?id=48127
- Specialize the way of initializing the plugin for X11.
- Introduce PLUGIN_ARCHITECTURE macros to allow code sharing
- across platforms.
- * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
- (WebKit::NetscapePluginModule::tryLoad):
- * config.h:
- 2011-02-28 Sam Weinig <sam@webkit.org>
- Reviewed by Brady Eidson.
- WK2 Context Menus - Implement LookUpInDictionary
- https://bugs.webkit.org/show_bug.cgi?id=55405
- * Shared/DictionaryPopupInfo.cpp:
- (WebKit::DictionaryPopupInfo::encode):
- (WebKit::DictionaryPopupInfo::decode):
- * Shared/DictionaryPopupInfo.h:
- Add type to differentiate between HotKey and ContextMenu triggered
- dictionary popups. This is necessary since HotKey triggered ones want
- to override the style to always be overlay.
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::didPerformDictionaryLookup):
- Only force the overlay style for HotKey triggered dictionary lookups.
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::performDictionaryLookupAtLocation):
- (WebKit::WebPage::performDictionaryLookupForRange):
- Factor out shared functionality into performDictionaryLookupForRange.
- * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
- (WebKit::WebContextMenuClient::lookUpInDictionary):
- Get selected range and call newly factored out performDictionaryLookupForRange.
- 2011-02-28 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- PDFViewController should hold a reference to the PDF data
- https://bugs.webkit.org/show_bug.cgi?id=55394
- * UIProcess/API/mac/PDFViewController.h:
- * UIProcess/API/mac/PDFViewController.mm:
- (WebKit::PDFViewController::setPDFDocumentData):
- 2011-02-28 Sam Weinig <sam@webkit.org>
- Reviewed by Darin Adler.
- Size of text in popup menu doesn't match size of text in <select> itself in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=48234
- * Shared/TextInfo.cpp: Removed.
- * Shared/TextInfo.h: Removed.
- Replace this with the more appropriately DictionaryPopupInfo.
- * Shared/DictionaryPopupInfo.cpp: Copied from Source/WebKit2/Shared/TextInfo.cpp.
- (WebKit::DictionaryPopupInfo::encode):
- (WebKit::DictionaryPopupInfo::decode):
- * Shared/DictionaryPopupInfo.h: Copied from Source/WebKit2/Shared/TextInfo.h.
- (WebKit::DictionaryPopupInfo::DictionaryPopupInfo):
- Replace individual font related fields with FontInfo.
- * Shared/FontInfo.cpp: Added.
- (WebKit::FontInfo::FontInfo):
- (WebKit::FontInfo::encode):
- (WebKit::FontInfo::decode):
- * Shared/FontInfo.h: Added.
- Add class to encapsulate passing a font description over the wire.
- * Shared/PlatformPopupMenuData.cpp:
- (WebKit::PlatformPopupMenuData::encode):
- (WebKit::PlatformPopupMenuData::decode):
- * Shared/PlatformPopupMenuData.h:
- Add FontInfo as extra data for the Mac.
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::didPerformDictionaryLookup):
- * UIProcess/PageClient.h:
- Add scaleFactor and use it to construct a font at the right size.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::showPopupMenu):
- (WebKit::WebPageProxy::didPerformDictionaryLookup):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/WebPopupMenuProxy.h:
- * UIProcess/mac/WebPopupMenuProxyMac.h:
- (WebKit::WebPopupMenuProxyMac::create):
- * UIProcess/mac/WebPopupMenuProxyMac.mm:
- (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac):
- (WebKit::WebPopupMenuProxyMac::populate):
- (WebKit::WebPopupMenuProxyMac::showPopupMenu):
- * UIProcess/qt/WebPopupMenuProxyQt.cpp:
- (WebKit::WebPopupMenuProxyQt::showPopupMenu):
- * UIProcess/qt/WebPopupMenuProxyQt.h:
- * UIProcess/win/WebPopupMenuProxyWin.cpp:
- (WebKit::WebPopupMenuProxyWin::showPopupMenu):
- * UIProcess/win/WebPopupMenuProxyWin.h:
- * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
- (WebKit::WebPopupMenu::setUpPlatformData):
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::performDictionaryLookupAtLocation):
- Pass scale factor through and rename TextInfo -> DictionaryPopupInfo.
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add new files.
- 2011-02-28 Adam Roben <aroben@apple.com>
- One more rename as a followup to r79868
- Rubber-stamped by Anders Carlsson.
- * UIProcess/DrawingAreaProxyImpl.cpp:
- * UIProcess/DrawingAreaProxyImpl.h:
- Rename stateDidChange to backingStoreStateDidChange.
- 2011-02-28 Adam Roben <aroben@apple.com>
- Rename DrawingArea[Proxy]Impl's "state ID" concept to "backing store state ID"
- Rubber-stamped (and suggested) by Anders Carlsson.
- * UIProcess/DrawingAreaProxy.h:
- * UIProcess/DrawingAreaProxy.messages.in:
- * UIProcess/DrawingAreaProxyImpl.cpp:
- * UIProcess/DrawingAreaProxyImpl.h:
- * WebProcess/WebPage/DrawingArea.h:
- * WebProcess/WebPage/DrawingArea.messages.in:
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- * WebProcess/WebPage/DrawingAreaImpl.h:
- Perform the rename.
- 2011-02-28 Adam Roben <aroben@apple.com>
- Decouple state changes from sending of UpdateState messages in DrawingAreaProxyImpl
- The new DrawingAreaProxyImpl::stateDidChange function should be called whenever
- DrawingAreaProxyImpl's state changes in a way that will require allocating a new backing
- store. (Currently, this is just when the size changes.) This function will sometimes (but
- not always, as when we're waiting for a DidUpdateState message) send an UpdateState message
- to the web process. This means it's now possible for the state IDs sent in consecutive
- UpdateState messages to increase by more than one, but that's OK.
- This should cause no change in behavior.
- Fixes <http://webkit.org/b/55382> DrawingAreaProxyImpl's state ID should be updated whenever
- its state changes, not just when we send an UpdateState message
- Reviewed by Anders Carlsson.
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): Updated for rename.
- (WebKit::DrawingAreaProxyImpl::sizeDidChange): Changed to call stateDidChange.
- (WebKit::DrawingAreaProxyImpl::didUpdateState): Updated for rename, and changed to call
- sendUpdateState whenever our state has changed for any reason since the last UpdateState
- message was sent.
- (WebKit::DrawingAreaProxyImpl::stateDidChange): Added. Increments m_nextStateID and calls
- through to sendUpdateState.
- (WebKit::DrawingAreaProxyImpl::sendUpdateState): Updated for rename, moved incrementing of
- the state ID we send to the web process from here to stateDidChange, and added an assertion.
- * UIProcess/DrawingAreaProxyImpl.h: Renamed m_requestedStateID to m_nextStateID, and updated
- the comment explaining its meaning.
- 2011-02-28 Adam Roben <aroben@apple.com>
- Pass the right dirty rect to Plugin::paint
- A typo in r79040 broke this. Much of this patch is just support for testing the fix.
- Fixes <http://webkit.org/b/55365> <rdar://problem/9031089> REGRESSION (r79040): WebKit2:
- Large portions of pages with plugins paint black
- Reviewed by Anders Carlsson.
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::paint): Pass the dirty rect we calculated earlier to Plugin::paint,
- rather than just passing along the dirty rect that was passed into this function. This is
- the bug fix.
- * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- (WKBundlePageForceRepaint):
- * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
- Added new SPI. Just calls through to WebPage::forceRepaintWithoutCallback.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::forceRepaintWithoutCallback): Moved code to force a repaint here...
- (WebKit::WebPage::forceRepaint): ...from here.
- * WebProcess/WebPage/WebPage.h: Added forceRepaintWithoutCallback.
- 2011-02-27 Sam Weinig <sam@webkit.org>
- Reviewed by Dan Bernstein.
- Force dictionary popup to use overlay type
- <rdar://problem/9052483>
- https://bugs.webkit.org/show_bug.cgi?id=55337
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::didPerformDictionaryLookup): As this is only
- used for the hot key version of the dictionary popup, force the overlay
- style.
- 2011-02-27 Benjamin Poulain <benjamin.poulain@nokia.com>
- Reviewed by Kenneth Rohde Christiansen.
- [Qt] [WK2] QGraphicsWKView::showContextMenu() should be public
- https://bugs.webkit.org/show_bug.cgi?id=55330
- Move QGraphicsWKView::showContextMenu() to the public API. Add documentation
- on its use.
- * UIProcess/API/qt/qgraphicswkview.cpp:
- * UIProcess/API/qt/qgraphicswkview.h:
- 2011-02-27 Alejandro G. Castro <alex@igalia.com>
- Unreviewed, fixed GTK compilation after r79806.
- * UIProcess/gtk/WebView.cpp:
- (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
- * UIProcess/gtk/WebView.h:
- 2011-02-26 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Asynchronous response to FramePolicyListener is not finishing the load
- https://bugs.webkit.org/show_bug.cgi?id=55305
- <rdar://problem/9044356>
- Always initialize the receivedPolicyAction reply parameter.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::decidePolicyForNavigationAction):
- (WebKit::WebPageProxy::decidePolicyForMIMEType):
- 2011-02-26 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- DidFinishLoadingDataForCustomRepresentation should pass along the suggested filename
- https://bugs.webkit.org/show_bug.cgi?id=55304
- * UIProcess/API/mac/PDFViewController.h:
- * UIProcess/API/mac/PDFViewController.mm:
- (WebKit::PDFViewController::setPDFDocumentData):
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _didFinishLoadingDataForCustomRepresentationWithSuggestedFilename:dataReference:CoreIPC::]):
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::didFinishLoadingDataForCustomRepresentation):
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didFinishLoadingDataForCustomRepresentation):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/win/WebView.cpp:
- (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
- * UIProcess/win/WebView.h:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::finishedLoading):
- 2011-02-26 Anders Carlsson <andersca@apple.com>
- Reviewed by Oliver Hunt.
- DrawingArea should not be reference counted
- https://bugs.webkit.org/show_bug.cgi?id=55284
- * Shared/DrawingAreaInfo.h:
- * Shared/WebPageCreationParameters.cpp:
- (WebKit::WebPageCreationParameters::encode):
- (WebKit::WebPageCreationParameters::decode):
- * Shared/WebPageCreationParameters.h:
- * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
- (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
- (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
- (WebKit::ChunkedUpdateDrawingAreaProxy::update):
- (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
- * UIProcess/DrawingAreaProxy.cpp:
- (WebKit::DrawingAreaProxy::DrawingAreaProxy):
- * UIProcess/DrawingAreaProxy.h:
- (WebKit::DrawingAreaProxy::type):
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
- * UIProcess/DrawingAreaProxyImpl.h:
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
- * UIProcess/TiledDrawingAreaProxy.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::didReceiveSyncMessage):
- (WebKit::WebPageProxy::creationParameters):
- * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
- (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
- (WebKit::ChunkedUpdateDrawingArea::display):
- (WebKit::ChunkedUpdateDrawingArea::setSize):
- (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
- * WebProcess/WebPage/DrawingArea.cpp:
- (WebKit::DrawingArea::create):
- (WebKit::DrawingArea::DrawingArea):
- * WebProcess/WebPage/DrawingArea.h:
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::create):
- (WebKit::DrawingAreaImpl::DrawingAreaImpl):
- * WebProcess/WebPage/DrawingAreaImpl.h:
- * WebProcess/WebPage/TiledDrawingArea.cpp:
- (WebKit::TiledDrawingArea::TiledDrawingArea):
- * WebProcess/WebPage/TiledDrawingArea.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::drawRect):
- * WebProcess/WebPage/WebPage.h:
- 2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
- Reviewed by Pavel Feldman.
- DumpRenderTree should reset frame opener between tests.
- https://bugs.webkit.org/show_bug.cgi?id=54874
- Added clearOpener method to WKBundleWebFramePrivate.
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameClearOpener):
- * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
- 2011-02-26 Yael Aharon <yael.aharon@nokia.com>
- Reviewed by Andreas Kling.
- [Qt] Fix the focus in MiniBrowser.
- https://bugs.webkit.org/show_bug.cgi?id=55288
- Implement basic functionality for focus in QWKPagePrivate.
- * UIProcess/API/qt/qwkpage.cpp:
- (QWKPagePrivate::isViewWindowActive):
- (QWKPagePrivate::isViewFocused):
- (QWKPagePrivate::isViewVisible):
- 2011-02-26 Sheriff Bot <webkit.review.bot@gmail.com>
- Unreviewed, rolling out r79764.
- http://trac.webkit.org/changeset/79764
- https://bugs.webkit.org/show_bug.cgi?id=55295
- "broke Chromium builds" (Requested by rniwa on #webkit).
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
- 2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
- Reviewed by Pavel Feldman.
- DumpRenderTree should reset frame opener between tests.
- https://bugs.webkit.org/show_bug.cgi?id=54874
- Added clearOpener method to WKBundleWebFramePrivate.
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameClearOpener):
- * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
- 2011-02-25 Anders Carlsson <andersca@apple.com>
- Reviewed by Darin Adler.
- Plug-in process crashes when using GuardMalloc
- https://bugs.webkit.org/show_bug.cgi?id=55279
- <rdar://problem/9044618>
- Update m_environmentPointer after copying the environment variables.
-
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::EnvironmentVariables::copyEnvironmentVariables):
- 2011-02-25 Darin Adler <darin@apple.com>
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess): Fixed backwards logic from last change.
- 2011-02-25 Darin Adler <darin@apple.com>
- Reviewed by Mark Rowe.
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::ProcessLauncher::launchProcess): Fixed performance problem in production
- builds by only setting DYLD_FRAMEWORK_PATH in engineering configurations.
- 2011-02-25 Darin Adler <darin@apple.com>
- Reviewed by Anders Carlsson.
- <rdar://problem/8036034> WebKit2 should work even if DYLD_FRAMEWORK_PATH is not set
- * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- (WebKit::EnvironmentVariables::~EnvironmentVariables): Use fastFree, not delete, on
- the strings here because they are allocated with fastMalloc, not new.
- (WebKit::EnvironmentVariables::set): Use const more.
- (WebKit::EnvironmentVariables::get): Ditto.
- (WebKit::EnvironmentVariables::appendValue): Ditto.
- (WebKit::EnvironmentVariables::valueIfVariableHasName): Ditto. Also fix mistake
- where this would match if the name matched only a prefix of the environment variable's
- name. We want to match the whole name, so we need to use memcmp, not strncmp.
- (WebKit::EnvironmentVariables::createStringForVariable): Use const more.
- (WebKit::ProcessLauncher::launchProcess): Use clearer name, frameworkExecutablePath,
- for what was called bundlePath before. Append the frameworks path to DYLD_FRAMEWORK_PATH,
- ensuring we can pick up other frameworks from the same directory in the web process.
- Use a const_cast instead of a C-style cast.
- 2011-02-25 Chris Fleizach <cfleizach@apple.com>
- Reviewed by Anders Carlsson.
- AX: WK2: AXApplication not returning the AXFocusedUIElement within the web area
- https://bugs.webkit.org/show_bug.cgi?id=55277
- * UIProcess/API/mac/WKView.mm:
- (-[WKView accessibilityFocusedUIElement]):
- 2011-02-25 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Anders Carlsson.
- https://bugs.webkit.org/show_bug.cgi?id=55276
- WebPage::close() accesses "this" after it is destroyed.
- This was making many tests crash with GuardMalloc.
- * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::close): Access "this" before it can be
- destroyed, not after.
- 2011-02-25 Balazs Kelemen <kbalazs@webkit.org>
- Unreviewed.
- Add missing sources to WebKit2API.pri.
- * WebKit2API.pri:
- 2011-02-25 Anders Carlsson <andersca@apple.com>
- Reviewed by Darin Adler.
- A WKView without a window will cause CG errors in the console
- https://bugs.webkit.org/show_bug.cgi?id=55264
- <rdar://problem/9044281>
- Check that the window has a valid window number before trying to get its graphics context.
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::containingWindowGraphicsContext):
- 2011-02-25 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Brady Eidson and looked over by Jessie Berlin.
- WebKit2: Need a way to manage cookies from the web process
- https://bugs.webkit.org/show_bug.cgi?id=55086
-
- Call through to WebCore::CookieJar in our WebCookieManager functions.
- * WebProcess/Cookies/WebCookieManager.cpp:
- (WebKit::WebCookieManager::getHostnamesWithCookies):
- (WebKit::WebCookieManager::deleteCookiesForHostname):
- (WebKit::WebCookieManager::deleteAllCookies):
- 2011-02-25 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Option-clicking on links doesn't download them due to sandbox violation
- https://bugs.webkit.org/show_bug.cgi?id=55250
- <rdar://problem/9018359>
- The change to make DecidePolicyForNavigationAction sync didn't handle the case when the
- decided policy was "Download". Fix this by passing along the download ID back to the web process.
- * Platform/CoreIPC/HandleMessage.h:
- (CoreIPC::callMemberFunction):
- Add new overload.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- Initialize m_syncNavigationActionPolicyDownloadID.
- (WebKit::WebPageProxy::receivedPolicyDecision):
- Set m_syncNavigationActionPolicyDownloadID to the download ID.
- (WebKit::WebPageProxy::decidePolicyForNavigationAction):
- Return the m_syncNavigationActionPolicyDownloadID.
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- Add a DownloadID reply parameter.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- Don't pass a zero download ID to didReceivePolicyDecision.
- 2011-02-25 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> and Alejandro G. Castro <alex@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Implement WebContext and NativeKeyboardEvent classes for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=48510
- * GNUmakefile.am:
- * Shared/NativeWebKeyboardEvent.h: Added the GTK event attribute
- and constructors, in our case we need it because we use a pointer
- and copy the event.
- (WebKit::NativeWebKeyboardEvent::nativeEvent):
- * Shared/gtk/NativeWebKeyboardEventGtk.cpp: Added.
- (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent): We need
- to copy the event in the constructor to avoid two references to
- the same event.
- * Shared/gtk/WebEventFactory.cpp: Changed the prototype of the
- functions to add const, we need it for the NativeWebKeyboardEvent
- constructor.
- (WebKit::modifiersForEvent):
- (WebKit::WebEventFactory::createWebKeyboardEvent):
- * UIProcess/gtk/WebContextGtk.cpp: Added. Stubbed implementation
- for GTK port. Yet to implement.
- (WebKit::WebContext::applicationCacheDirectory):
- (WebKit::WebContext::platformInitializeWebProcess):
- (WebKit::WebContext::platformDefaultDatabaseDirectory):
- * UIProcess/gtk/WebView.cpp:
- (WebKit::WebView::handleKeyboardEvent):
- 2011-02-25 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Get rid of more old accelerated compositing code
- https://bugs.webkit.org/show_bug.cgi?id=55235
- * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
- * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
- * UIProcess/DrawingAreaProxy.h:
- * UIProcess/DrawingAreaProxyImpl.cpp:
- * UIProcess/DrawingAreaProxyImpl.h:
- * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
- * WebProcess/WebPage/DrawingArea.h:
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- * WebProcess/WebPage/DrawingAreaImpl.h:
- 2011-02-25 Andras Becsi <abecsi@webkit.org>
- Reviewed by Csaba Osztrogonác.
- [Qt] Make the WebKit2 build system less confusing for non-Qt developers
- https://bugs.webkit.org/show_bug.cgi?id=55213
- * WebKit2API.pri: Added.
- 2011-02-25 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> and Alejandro G. Castro <alex@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Implement WebView and WebKitWebView classes for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=48509
- * GNUmakefile.am:
- * UIProcess/API/C/gtk/WKView.cpp:
- * UIProcess/API/C/gtk/WKView.h: Removed gdkrectangle from
- constructor.
- * UIProcess/gtk/WebViewWidget.cpp: Added. The GObject interface
- for WebView. The GObject is the GtkWidget handle which is used by
- WebView class for GTK port.
- * UIProcess/gtk/WebViewWidget.h: Added. The GObject interface
- declarations for GtkWidget handle for GTK port.
- * UIProcess/gtk/WebView.cpp: Added. The native GtkWidget handle
- for GTK port which is associated with each WKViewRef.
- * UIProcess/gtk/WebView.h: Added. Class which implements the
- PageClient interface. It is a wrapper over the native GtkWidget
- handle associated with each WKViewRef for GTK port.
- 2011-02-25 Alejandro G. Castro <alex@igalia.com>
- Fix GTK compilation after r79654.
- * GNUmakefile.am:
- 2011-02-24 Brian Weinstein <bweinstein@apple.com>
- Qt build fix.
- * WebKit2.pri:
- 2011-02-24 Brady Eidson <beidson@apple.com>
- Reviewed by Sam Weinig and looked over by Brian Weinstein.
- Part of <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172
- Need WebKit2 API to view/manage origins with LocalStorage.
- Project file stuff:
- * GNUmakefile.am:
- * WebKit2.pri:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Common.vsprops:
- * win/WebKit2Generated.make:
- WK2 derived sources and API stuff:
- * DerivedSources.make:
- * DerivedSources.pro:
- * Platform/CoreIPC/MessageID.h:
- * Shared/API/c/WKBase.h:
- * Shared/APIObject.h:
- * UIProcess/API/C/WKAPICast.h:
- Add an KeyValueStorageManager to the context and invalidate it at the appropriate times:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- (WebKit::WebContext::~WebContext):
- (WebKit::WebContext::disconnectProcess):
- (WebKit::WebContext::didReceiveMessage):
- * UIProcess/WebContext.h:
- (WebKit::WebContext::keyValueStorageManagerProxy):
- Add API to get the KeyValueStorageManager for a context:
- * UIProcess/API/C/WKContext.cpp:
- (WKContextGetKeyValueStorageManager):
- * UIProcess/API/C/WKContext.h:
- Route messages to the right place:
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveMessage):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::didReceiveMessage):
- Add the API object, which wraps to WebKeyValueStorageManagerProxy:
- * UIProcess/API/C/WKKeyValueStorageManager.cpp: Added.
- (WKKeyValueStorageManagerGetTypeID):
- (WKKeyValueStorageManagerGetKeyValueStorageOrigins):
- (WKKeyValueStorageManagerDeleteEntriesForOrigin):
- (WKKeyValueStorageManagerDeleteAllEntries):
- * UIProcess/API/C/WKKeyValueStorageManager.h: Added.
- The UIProcess implementation of the manager to send messages to the WebProcess and pipe a callback back up to the client:
- * UIProcess/WebKeyValueStorageManagerProxy.cpp: Added.
- (WebKit::WebKeyValueStorageManagerProxy::create):
- (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
- (WebKit::WebKeyValueStorageManagerProxy::~WebKeyValueStorageManagerProxy):
- (WebKit::WebKeyValueStorageManagerProxy::invalidate):
- (WebKit::WebKeyValueStorageManagerProxy::didReceiveMessage):
- (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
- (WebKit::WebKeyValueStorageManagerProxy::didGetKeyValueStorageOrigins):
- (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
- (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
- * UIProcess/WebKeyValueStorageManagerProxy.h: Added.
- (WebKit::WebKeyValueStorageManagerProxy::clearContext):
- (WebKit::WebKeyValueStorageManagerProxy::type):
- * UIProcess/WebKeyValueStorageManagerProxy.messages.in: Added.
- The WebProcess implementation to response to UIProcess messages and actually do the dirty-work in WebCore:
- * WebProcess/KeyValueStorage: Added.
- * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: Added.
- (WebKit::WebKeyValueStorageManager::shared):
- (WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager):
- (WebKit::WebKeyValueStorageManager::didReceiveMessage):
- (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
- (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
- (WebKit::WebKeyValueStorageManager::deleteAllEntries):
- * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h: Added.
- * WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in: Added.
- 2011-02-24 Darin Adler <darin@apple.com>
- Reviewed by Anders Carlsson.
- WebKit2: Image-based cursors do not work
- https://bugs.webkit.org/show_bug.cgi?id=55184
- * Shared/ShareableBitmap.h: Added releaseData function
- declaration. This is only defined for CG, but we can declare
- it without defining it on non-CG platforms without causing problems.
- * Shared/WebCoreArgumentCoders.cpp: Added.
- (CoreIPC::encodeImage): Added. For use in the Cursor argument coder.
- (CoreIPC::decodeImage): Ditto.
- * Shared/WebCoreArgumentCoders.h: Added code to the Cursor encoder
- and decoder to handle image-based cursors, using the new encodeImage
- and decodeImage functions.
- * Shared/cg/ShareableBitmapCG.cpp:
- (WebKit::ShareableBitmap::releaseData): Added.
- (WebKit::ShareableBitmap::createGraphicsContext): Use
- CGBitmapContextCreateWithData instead of CGBitmapContextCreate,
- to guarantee we outlast the CGBitmapContext we create.
- (WebKit::ShareableBitmap::paint): Got rid of unnneeded local variable.
- * Shared/cg/WebCoreArgumentCodersCG.cpp: Added.
- (CoreIPC::createImage): Added. For use by CoreIPC::decodeImage.
- * WebKit2.xcodeproj/project.pbxproj: Added WebCoreArgumentCoders.cpp
- and WebCoreArgumentCodersCG.cpp.
- * win/WebKit2.vcproj: Ditto.
- 2011-02-24 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Crash when trying to send a sync message on an invalid connection
- https://bugs.webkit.org/show_bug.cgi?id=55190
- <rdar://problem/9035806>
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::sendSyncMessage):
- Don't try to call a client function if isValid() returns false since the client
- will be null in that case.
- 2011-02-24 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Remove the layer backed drawing area
- https://bugs.webkit.org/show_bug.cgi?id=55174
- * GNUmakefile.am:
- * Shared/DrawingAreaInfo.h:
- * UIProcess/API/mac/WKView.mm:
- * UIProcess/LayerBackedDrawingAreaProxy.cpp: Removed.
- * UIProcess/LayerBackedDrawingAreaProxy.h: Removed.
- * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: Removed.
- * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp: Removed.
- * UIProcess/win/WebView.cpp:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/DrawingArea.cpp:
- (WebKit::DrawingArea::create):
- * WebProcess/WebPage/LayerBackedDrawingArea.cpp: Removed.
- * WebProcess/WebPage/LayerBackedDrawingArea.h: Removed.
- * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: Removed.
- * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: Removed.
- * win/WebKit2.vcproj:
- 2011-02-24 Mike Thole <mthole@apple.com>
- Reviewed by Sam Weinig.
- WK2: Add ability to get document node for a WKBundleNodeHandle
- https://bugs.webkit.org/post_bug.cgi
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
- (WKBundleNodeHandleCopyDocument):
- * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
- (WebKit::InjectedBundleNodeHandle::document):
- * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
- 2011-02-24 Brady Eidson <beidson@apple.com>
- Reviewed by Adam Roben and looked at by Brian Weinstein.
- https://bugs.webkit.org/show_bug.cgi?id=55165
- Can call CF API with a null CFArray in WebResourceCacheManager
- * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
- (WebKit::WebResourceCacheManager::getCacheOrigins): cfURLCacheHostNames() can return a null CFArrayRef,
- so the call to CFArrayGetCount must be null checked.
- 2011-02-24 Anders Carlsson <andersca@apple.com>
- Reviewed by Simon Fraser.
- ASSERTION FAILED: !isInAcceleratedCompositingMode() when entering accelerated compositing early
- https://bugs.webkit.org/show_bug.cgi?id=55162
- <rdar://problem/9048523>
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::updateState):
- Call setShouldNotifyAfterNextScheduledLayerFlush(false) so the web process process won't send an
- EnterAcceleratedCompositingMode message.
- (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
- setShouldNotifyAfterNextScheduledLayerFlush now takes a boolean.
- * WebProcess/WebPage/LayerTreeHost.h:
- * WebProcess/WebPage/mac/LayerTreeHostMac.h:
- * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
- (WebKit::LayerTreeHostMac::setShouldNotifyAfterNextScheduledLayerFlush):
- Make this take a boolean.
- 2011-02-24 Peter Kasting <pkasting@google.com>
- Reviewed by Eric Seidel.
- Drop the "U; " encryption level from the User Agent string.
- https://bugs.webkit.org/show_bug.cgi?id=54566
- * UIProcess/gtk/WebPageProxyGtk.cpp:
- (WebKit::WebPageProxy::standardUserAgent):
- * UIProcess/mac/WebPageProxyMac.mm:
- (WebKit::WebPageProxy::standardUserAgent):
- * UIProcess/qt/WebPageProxyQt.cpp:
- (WebKit::WebPageProxy::standardUserAgent):
- * UIProcess/win/WebPageProxyWin.cpp:
- (WebKit::WebPageProxy::standardUserAgent):
- 2011-02-24 Andrew Wilson <atwilson@chromium.org>
- Unreviewed, rolling out r79570.
- http://trac.webkit.org/changeset/79570
- https://bugs.webkit.org/show_bug.cgi?id=54874
- Breaks chromium build because glue/mocks/mock_web_frame.h/cc
- was not updated
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
- 2011-02-23 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben and looked over by Jessie Berlin.
- Part of WebKit2: Need a way to manage cookies from the web process
- https://bugs.webkit.org/show_bug.cgi?id=55086
-
- This patch adds the plumbing and classes that are needed to manage cookies from the web process.
- The functions that the API calls are currently stubs, but will be implemented in a follow-up patch.
- Project file changes.
- * DerivedSources.make:
- * DerivedSources.pro:
- * GNUmakefile.am:
- * WebKit2.pri:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- * win/WebKit2Common.vsprops:
- * win/WebKit2Generated.make:
- Add some needed plumbing for WebCookieManager{Proxy}.
- * Platform/CoreIPC/MessageID.h:
- * Shared/API/c/WKBase.h:
- * Shared/APIObject.h:
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKContext.cpp:
- (WKContextGetCookieManager): Gets the cookie manager proxy.
- * UIProcess/API/C/WKContext.h:
- * UIProcess/API/C/WKCookieManager.cpp: Added.
- (WKCookieManagerGetTypeID):
- (WKCookieManagerGetHostnamesWithCookies): Calls through to WebCookieManagerProxy.
- (WKCookieManagerDeleteCookiesForHostname): Ditto.
- (WKCookieManagerDeleteAllCookies): Ditto.
- * UIProcess/API/C/WKCookieManager.h: Added.
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveMessage): Add a case for the cookie manager.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext): Initialize the cookie manager.
- (WebKit::WebContext::~WebContext): Invalidate the cookie manager.
- (WebKit::WebContext::disconnectProcess): Ditto.
- (WebKit::WebContext::didReceiveMessage): Add a case for the cookie manager.
- * UIProcess/WebContext.h:
- (WebKit::WebContext::cookieManagerProxy): Returns the cookie manager.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::didReceiveMessage): Add a case for the cookie manager.
- * UIProcess/WebCookieManagerProxy.cpp: Added.
- (WebKit::WebCookieManagerProxy::create):
- (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
- (WebKit::WebCookieManagerProxy::~WebCookieManagerProxy):
- (WebKit::WebCookieManagerProxy::invalidate):
- (WebKit::WebCookieManagerProxy::didReceiveMessage):
- (WebKit::WebCookieManagerProxy::getHostnamesWithCookies): Call through to the web process to get hostnames with cookies.
- (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies): Call the callback we were passed in getHostnamesWithCookies.
- (WebKit::WebCookieManagerProxy::deleteCookiesForHostname): Call through to the web process to delete cookies
- for the origin.
- (WebKit::WebCookieManagerProxy::deleteAllCookies): Call through to the web process to delete all cookies.
- * UIProcess/WebCookieManagerProxy.h: Added.
- (WebKit::WebCookieManagerProxy::clearContext):
- (WebKit::WebCookieManagerProxy::type):
- * UIProcess/WebCookieManagerProxy.messages.in: Added.
- * WebProcess/Cookies: Added.
- * WebProcess/Cookies/WebCookieManager.cpp: Added.
- (WebKit::WebCookieManager::shared):
- (WebKit::WebCookieManager::WebCookieManager):
- (WebKit::WebCookieManager::didReceiveMessage): Call through to didReceiveWebCookieManagerMessage.
- (WebKit::WebCookieManager::getHostnamesWithCookies): Build an array from a HashSet (that isn't filled yet), and
- convert that HashSet to a Vector to send to the UI process.
- (WebKit::WebCookieManager::deleteCookiesForHostname): Added a stub.
- (WebKit::WebCookieManager::deleteAllCookies): Ditto.
- * WebProcess/Cookies/WebCookieManager.h: Added.
- * WebProcess/Cookies/WebCookieManager.messages.in: Added.
- 2011-02-24 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> and Alejandro G. Castro <alex@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Implement WebEventFactory, WebErrors classes for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=48510
- * GNUmakefile.am:
- * Shared/gtk/WebEventFactory.cpp: Added. implementation for
- WebMouseEvent, WebWheelEvent, WebKeyboardEvent.
- * Shared/gtk/WebEventFactory.h: Added.
- * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp: Added. Stubbed
- implementation for GTK port.
- 2011-02-24 Vsevolod Vlasov <vsevik@chromium.org>
- Reviewed by Alexey Proskuryakov.
- DumpRenderTree should reset frame opener between tests.
- https://bugs.webkit.org/show_bug.cgi?id=54874
- Added clearOpener method to WKBundleWebFramePrivate.
- * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
- (WKBundleFrameClearOpener):
- * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
- 2011-02-24 Benjamin Poulain <benjamin.poulain@nokia.com>
- Reviewed by Eric Seidel.
- Support building WebKit with Python 3
- https://bugs.webkit.org/show_bug.cgi?id=55038
- Update the generator scripts to support Python 3.
- * Scripts/generate-message-receiver.py: print is a function in Python 3, write the output to
- sys.stdout to be compatible with Python 2 and 3.
- * Scripts/generate-messages-header.py:
- * Scripts/webkit2/messages.py: dist.iteritems does not exist in Python 3, fallback
- to dict.items which is common to Python 2 and 3.
- 2011-02-24 Andras Becsi <abecsi@webkit.org>
- Reviewed by Laszlo Gombos.
- [Qt] MinGW build fails to link
- https://bugs.webkit.org/show_bug.cgi?id=55050
- Prepend the libraries of subcomponents instead of appending them
- to fix the library order according to the dependency of the libraries
- * WebKit2.pri:
- 2011-02-24 Andras Becsi <abecsi@webkit.org>
- Reviewed by Csaba Osztrogonác.
- [Qt] REGRESSION(69304): WKNativeEvent.h forwarding header is always regenerated
- https://bugs.webkit.org/show_bug.cgi?id=47589
- In case of file name clashes only generate forwarding header for the current platform.
- * Scripts/generate-forwarding-headers.pl:
- 2011-02-23 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Remove some of the old accelerated compositing code
- https://bugs.webkit.org/show_bug.cgi?id=55084
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
- * UIProcess/API/mac/WKView.mm:
- * UIProcess/API/mac/WKViewInternal.h:
- * UIProcess/API/qt/qwkpage_p.h:
- * UIProcess/PageClient.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::exitAcceleratedCompositingMode):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
- (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
- (WebKit::LayerBackedDrawingAreaProxy::detachCompositingContext):
- * UIProcess/win/WebView.cpp:
- * UIProcess/win/WebView.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::enterAcceleratedCompositingMode):
- (WebKit::WebPage::exitAcceleratedCompositingMode):
- * WebProcess/WebPage/WebPage.h:
- 2011-02-23 Enrica Casucci <enrica@apple.com>
- Reverting an unintentional change that was part of http://trac.webkit.org/changeset/79494.
- Unreviewed.
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::interceptEditingKeyboardEvent):
- 2011-02-18 Enrica Casucci <enrica@apple.com>
- Reviewed by Adam Roben.
- Mac OS X Services are not available for selected text in WebKit2 windows.
- https://bugs.webkit.org/show_bug.cgi?id=54777
- <rdar://problem/8666428>
-
- This patch adds support for Mac OS X Services in WebKit2 windows.
- In WKView we now call registerServicesMenuSendTypes providing the
- pasteboard types supported by WebKit and we also implement the two
- protocol methods required to validate the send type and write the
- content to the pasteboard. Unfortunately, AppKit expects the content
- to be available in the pasteboard upon return from writeSelectionToPasteboard and
- this is the reason why the call to the WebProcess is synchronous.
- * Shared/SelectionState.h:
- (WebKit::SelectionState::SelectionState): Extended to include
- isContentRichlyEditable
- * Shared/mac/PasteboardTypes.h:
- * Shared/mac/PasteboardTypes.mm:
- (WebKit::PasteboardTypes::forSelection): Added.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView initWithFrame:contextRef:pageGroupRef:]): Added call
- to registerServicesMenuSendTypes.
- (-[WKView writeSelectionToPasteboard:types:]): Added.
- (-[WKView validRequestorForSendType:returnType:]): Added.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::writeSelectionToPasteboard):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::respondToChangedSelection): Modified to
- support the new SelectionState value.
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::writeSelectionToPasteboard): Added synchronous
- message to write the selected content to the pasteboard.
- 2011-02-23 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Add a ShareableBitmap::create overload that takes an existing SharedMemory object
- https://bugs.webkit.org/show_bug.cgi?id=55081
- * Shared/ShareableBitmap.cpp:
- (WebKit::ShareableBitmap::createShareable):
- (WebKit::ShareableBitmap::create):
- * Shared/ShareableBitmap.h:
- 2011-02-23 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Web Inspector toolbar looks bad in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=55076
- <rdar://problem/8866258>
- * UIProcess/API/mac/WKView.mm:
- (-[WKView mouseDownCanMoveWindow]):
- Return NO from mouseDownCanMoveWindow to prevent drags in the (now transparent) inspector WKView
- from dragging the window around.
- * UIProcess/mac/WebInspectorProxyMac.mm:
- (WebKit::WebInspectorProxy::platformCreateInspectorPage):
- Call [WKView setDrawsBackground:NO].
- 2011-02-23 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Remove WKPageForceRepaintWithInvalidation and instead make WKPageForceRepaint
- always dirty the entire page.
- * Shared/ForceRepaintFlags.h: Removed.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageForceRepaint):
- * UIProcess/API/C/WKPage.h:
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::forceRepaint):
- * UIProcess/WebPageProxy.h:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::forceRepaint):
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::forceRepaint):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
- * win/WebKit2.vcproj:
- 2011-02-23 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Race condition when creating and destroying pages quickly
- https://bugs.webkit.org/show_bug.cgi?id=55061
- <rdar://problem/8708435>
- When the last page in a web process is closed, the web process would
- previously terminate, even if the UI process had created a new page
- (the CreateNewPage message just wouldn't have reached the web process yet).
- Fix this by adding a ShouldTerminate message that the web process sends when it's
- about to terminate. If the UI process has any pending pages, downloads etc. it will
- prevent the web process from terminating. Otherwise, it will immmediately disconnect
- the WebPageProxy so that creating a page after that will launch a new web process.
- * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
- (WebKit::WebPluginSiteDataManager::shouldTerminate):
- * UIProcess/Plugins/WebPluginSiteDataManager.h:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::shouldTerminate):
- (WebKit::WebContext::disconnectProcess):
- * UIProcess/WebContext.h:
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::disconnect):
- (WebKit::WebProcessProxy::didReceiveSyncMessage):
- (WebKit::WebProcessProxy::didClose):
- (WebKit::WebProcessProxy::shouldTerminate):
- * UIProcess/WebProcessProxy.h:
- * UIProcess/WebProcessProxy.messages.in:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::terminateIfPossible):
- 2011-02-23 Mike Thole <mthole@apple.com>
- Reviewed by Darin Adler.
- WKBundleNavigationAction.h should be exposed as a public header
- https://bugs.webkit.org/show_bug.cgi?id=55059
- * WebKit2.xcodeproj/project.pbxproj:
- Changed WKBundleNavigationAction.h from 'project' to 'public'.
- 2011-02-23 Siddharth Mathur <siddharth.mathur@nokia.com>
- Reviewed by Laszlo Gombos.
- [Qt] Make sure Symbian binary UIDs are unique
- * WebProcess.pro: Resolve the UID collision with QtTestBrowser.pro
- by changing the UID.
- 2011-02-23 Siddharth Mathur <siddharth.mathur@nokia.com>
- Reviewed by Laszlo Gombos.
- [Qt] Fix the Symbian build after r79334
- https://bugs.webkit.org/show_bug.cgi?id=55044
- * WebKit2.pri: Copy the rules from JavaScriptCore.pri for
- defineTest().
- Remove addWebKit2LibWholeArchive as it is no longer needed.
- 2011-02-23 Alejandro G. Castro <alex@igalia.com>
- Unreviewed, fixed GTK WebKit2 compilation after r79366.
- * GNUmakefile.am:
- 2011-02-23 Patrick Gansterer <paroga@webkit.org>
- Reviewed by Darin Adler.
- Rename PLATFORM(CF) to USE(CF)
- https://bugs.webkit.org/show_bug.cgi?id=53540
- * UIProcess/WebBackForwardList.h:
- * UIProcess/WebPageProxy.cpp:
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::formatLocalizedString):
- 2011-02-23 Benjamin Poulain <benjamin.poulain@nokia.com>
- Reviewed by Andreas Kling.
- [Qt] [WK2] When the context menu is empty, we should still send the signal QWKPage::showContextMenu()
- https://bugs.webkit.org/show_bug.cgi?id=54996
- Send the signal QWKPage::showContextMenu() with an empty menu even if the content menu generated
- is empty/contain only disabled elements.
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::showContextMenu):
- * UIProcess/qt/WebContextMenuProxyQt.cpp:
- (WebKit::WebContextMenuProxyQt::showContextMenu):
- 2011-02-22 Dan Bernstein <mitz@apple.com>
- LLVM Compiler build fix.
- * Scripts/webkit2/messages.py:
- * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
- 2011-02-22 Laszlo Gombos <laszlo.1.gombos@nokia.com>
- Reviewed by Alexey Proskuryakov.
- Drop the language tag part from the User Agent string
- https://bugs.webkit.org/show_bug.cgi?id=54560
- * UIProcess/gtk/WebPageProxyGtk.cpp:
- (WebKit::WebPageProxy::standardUserAgent):
- * UIProcess/mac/WebPageProxyMac.mm:
- (WebKit::WebPageProxy::standardUserAgent):
- * UIProcess/qt/WebPageProxyQt.cpp:
- (WebKit::WebPageProxy::standardUserAgent):
- * UIProcess/win/WebPageProxyWin.cpp:
- (WebKit::WebPageProxy::standardUserAgent): Drop the language tag
- part and fix style.
- 2011-02-22 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Add WebKit2 API to force a repaint with an invalidation
- https://bugs.webkit.org/show_bug.cgi?id=55015
- * Shared/ForceRepaintFlags.h: Added.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageForceRepaint):
- (WKPageForceRepaintWithInvalidation):
- * UIProcess/API/C/WKPage.h:
- Add WKPageForceRepaintWithInvalidation which does the same thing WKPageForceRepaint
- but also calls setNeedsDisplay on the entire bounds of the page.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::forceRepaint):
- * UIProcess/WebPageProxy.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::forceRepaint):
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
- Pipe the flag down to the WebProcess.
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add ForceRepaintFlags.h.
- 2011-02-22 Simon Fraser <simon.fraser@apple.com>
- Reviewed by Dan Bernstein.
- <rdar://problem/9039670>
-
- Make sure that we set the accelerateDrawing property on the LayerTreeHosts's
- non-composited content layer if the preference is set.
- * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
- (WebKit::LayerTreeHostMac::LayerTreeHostMac):
- 2011-02-22 Brady Eidson <beidson@apple.com>
- Fix it Windows-style.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::getSitesWithPluginData):
- (WebKit::WebProcess::clearPluginSiteData):
- 2011-02-22 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Rename WebProcess::shutdownIfPossible to WebProcess::terminateIfPossible
- https://bugs.webkit.org/show_bug.cgi?id=55008
- * WebProcess/Downloads/DownloadManager.cpp:
- (WebKit::DownloadManager::downloadFinished):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::removeWebPage):
- (WebKit::WebProcess::terminateIfPossible):
- (WebKit::WebProcess::getSitesWithPluginData):
- * WebProcess/WebProcess.h:
- * WebProcess/gtk/WebProcessGtk.cpp:
- (WebKit::WebProcess::platformTerminate):
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::platformTerminate):
- * WebProcess/qt/WebProcessQt.cpp:
- (WebKit::WebProcess::platformTerminate):
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::WebProcess::platformTerminate):
- 2011-02-22 Brady Eidson <beidson@apple.com>
- Windows build-fix attempt.
- * win/WebKit2Generated.make:
- 2011-02-22 Csaba Osztrogonác <ossy@webkit.org>
- Unreviewed.
- <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
- API to view and delete Application Cache data by origin.
- [Qt][WK2] Buildfix after r79364.
- * DerivedSources.pro:
- * WebKit2.pri:
- 2011-02-22 Brady Eidson <beidson@apple.com>
- Reviewed by Anders Carlsson and looked over by Brian Weinstein.
- <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
- API to view and delete Application Cache data by origin.
- I couldn't help myself - I also re-alphabetized WebResourceCacheManager in many places where
- it's sorting was wrong due to a last minute name change.
- Project file changes:
- * GNUmakefile.am:
- * win/WebKit2.vcproj:
- * win/WebKit2Common.vsprops:
- * win/WebKit2Generated.make:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- WK2 build-system and API paperwork:
- * DerivedSources.make:
- * Platform/CoreIPC/MessageID.h:
- * Shared/API/c/WKBase.h:
- * Shared/APIObject.h:
- * UIProcess/API/C/WKAPICast.h:
- Add a helper to perform an ArrayCallback with a Vector of SecurityOriginDatas:
- * Shared/SecurityOriginData.cpp:
- (WebKit::performAPICallbackWithSecurityOriginDataVector):
- * Shared/SecurityOriginData.h:
- * UIProcess/WebResourceCacheManagerProxy.cpp:
- (WebKit::WebResourceCacheManagerProxy::didGetCacheOrigins): Use performAPICallbackWithSecurityOriginDataVector here.
- Add an ApplicationCacheManagerProxy to the context and invalidate it at the appropriate times:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- (WebKit::WebContext::~WebContext):
- (WebKit::WebContext::processDidClose):
- (WebKit::WebContext::didReceiveMessage): Route messages to the right proxy.
- * UIProcess/WebContext.h:
- (WebKit::WebContext::applicationCacheManagerProxy):
- (WebKit::WebContext::resourceCacheManagerProxy):
- Add API to get the ApplicationCacheManager for a context:
- * UIProcess/API/C/WKContext.cpp:
- (WKContextGetApplicationCacheManager):
- (WKContextGetResourceCacheManager):
- * UIProcess/API/C/WKContext.h:
- Route messages to the right place:
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveMessage):
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::didReceiveMessage):
- Add the API object, which wraps to WebApplicationCacheManagerProxy:
- * UIProcess/API/C/WKApplicationCacheManager.cpp: Added.
- (WKApplicationCacheManagerGetTypeID):
- (WKApplicationCacheManagerGetApplicationCacheOrigins):
- (WKApplicationCacheManagerDeleteEntriesForOrigin):
- (WKApplicationCacheManagerDeleteAllEntries):
- * UIProcess/API/C/WKApplicationCacheManager.h: Added.
- The UIProcess implementation of the manager to send messages to the WebProcess and pipe a callback back up to the client:
- * UIProcess/WebApplicationCacheManagerProxy.cpp: Added.
- (WebKit::WebApplicationCacheManagerProxy::create):
- (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
- (WebKit::WebApplicationCacheManagerProxy::~WebApplicationCacheManagerProxy):
- (WebKit::WebApplicationCacheManagerProxy::invalidate):
- (WebKit::WebApplicationCacheManagerProxy::didReceiveMessage):
- (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):
- (WebKit::WebApplicationCacheManagerProxy::didGetApplicationCacheOrigins): Use performAPICallbackWithSecurityOriginDataVector here.
- (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
- (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries):
- * UIProcess/WebApplicationCacheManagerProxy.h: Added.
- (WebKit::WebApplicationCacheManagerProxy::clearContext):
- (WebKit::WebApplicationCacheManagerProxy::type):
- * UIProcess/WebApplicationCacheManagerProxy.messages.in: Added.
- The WebProcess implementation to response to UIProcess messages and actually do the dirty-work in WebCore:
- * WebProcess/ApplicationCache: Added.
- * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: Added.
- (WebKit::WebApplicationCacheManager::shared):
- (WebKit::WebApplicationCacheManager::WebApplicationCacheManager):
- (WebKit::WebApplicationCacheManager::didReceiveMessage):
- (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
- (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
- (WebKit::WebApplicationCacheManager::deleteAllEntries):
- * WebProcess/ApplicationCache/WebApplicationCacheManager.h: Added.
- * WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in: Added.
- 2011-02-22 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Get rid of WebProcessManager
- https://bugs.webkit.org/show_bug.cgi?id=55001
- WebProcessManager had become a stupid map of WebContext > WebProcess relations,
- which isn't really useful since the WebContext already knows about its process.
- * Shared/WebURLRequest.cpp:
- * UIProcess/API/mac/WKView.mm:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::~WebContext):
- (WebKit::WebContext::ensureWebProcess):
- (WebKit::WebContext::processDidFinishLaunching):
- * UIProcess/WebProcessManager.cpp: Removed.
- * UIProcess/WebProcessManager.h: Removed.
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didClose):
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- 2011-02-22 Anders Carlsson <andersca@apple.com>
- Reviewed by Darin Adler.
- Get rid of WebProcessManager::getAllWebProcessContexts
- https://bugs.webkit.org/show_bug.cgi?id=55000
- * Shared/WebURLRequest.cpp:
- (WebKit::WebURLRequest::setDefaultTimeoutInterval):
- Call WebContext::allContexts instead.
- * UIProcess/WebContext.cpp:
- * UIProcess/WebContext.h:
- Add a vector of WebContext objects. Update it when creating and destroying contexts.
- * UIProcess/WebProcessManager.cpp:
- * UIProcess/WebProcessManager.h:
- Remove WebProcessManager::getAllWebProcessContexts.
- 2011-02-22 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Re-add early bail out in dispatchDecidePolicyForNavigationAction with prevents
- a crash running fast/loader/empty-embed-src-attribute.html. This matches a
- bail out in the default policy delegate in WebKit1.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- 2011-02-22 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Grammar correction from Spelling & Grammar window doesn't work
- https://bugs.webkit.org/show_bug.cgi?id=54982
- <rdar://problem/8940918>
- * UIProcess/API/mac/WKView.mm:
- (-[WKView isGrammarCheckingEnabled]):
- (-[WKView setGrammarCheckingEnabled:]):
- Call down to the text checker.
- * UIProcess/TextChecker.h:
- Add updateSpellingUIWithGrammarString.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::updateSpellingUIWithGrammarString):
- Call TextChecker::updateSpellingUIWithGrammarString.
- * UIProcess/WebPageProxy.messages.in:
- Add UpdateSpellingUIWithGrammarString message.
- * UIProcess/gtk/TextCheckerGtk.cpp:
- (WebKit::TextChecker::updateSpellingUIWithGrammarString):
- * UIProcess/qt/TextCheckerQt.cpp:
- (WebKit::TextChecker::updateSpellingUIWithGrammarString):
- * UIProcess/win/TextCheckerWin.cpp:
- (WebKit::TextChecker::updateSpellingUIWithGrammarString):
- Add stubs.
- * UIProcess/mac/TextCheckerMac.mm:
- (WebKit::TextChecker::updateSpellingUIWithGrammarString):
- Update the spelling panel.
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- (WebKit::WebEditorClient::updateSpellingUIWithGrammarString):
- Send an UpdateSpellingUIWithGrammarString message to the UI process.
- 2011-02-22 Balazs Kelemen <kbalazs@webkit.org>
- Reviewed by Anders Carlsson.
- notImplemented() should behave identical in WebCore and WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=54449
- Use NotImplemented.h from WebCore. Initialize logging channels.
- Remove the WebKit2 concept of notImplemented().
- * Platform/gtk/SharedMemoryGtk.cpp:
- * Platform/gtk/WorkQueueGtk.cpp:
- * Platform/qt/WorkQueueQt.cpp:
- * Platform/win/WorkQueueWin.cpp:
- * Shared/NotImplemented.h: Removed.
- * Shared/Plugins/NPIdentifierData.cpp:
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- * Shared/Plugins/NPVariantData.cpp:
- * Shared/cairo/ShareableBitmapCairo.cpp:
- * Shared/gtk/ShareableBitmapGtk.cpp:
- * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
- * Shared/qt/WebCoreArgumentCodersQt.cpp:
- * Shared/win/LayerTreeContextWin.cpp:
- * UIProcess/API/mac/PageClientImpl.mm:
- * UIProcess/API/qt/qwkpage.cpp:
- * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- * UIProcess/WebInspectorProxy.cpp:
- * UIProcess/gtk/TextCheckerGtk.cpp:
- * UIProcess/gtk/WebInspectorGtk.cpp:
- * UIProcess/gtk/WebPreferencesGtk.cpp:
- * UIProcess/qt/TextCheckerQt.cpp:
- * UIProcess/qt/WebInspectorProxyQt.cpp:
- * UIProcess/win/TextCheckerWin.cpp:
- * UIProcess/win/WebContextMenuProxyWin.cpp:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/Downloads/cf/DownloadCFNet.cpp:
- * WebProcess/Downloads/curl/DownloadCurl.cpp:
- * WebProcess/Downloads/mac/DownloadMac.mm:
- * WebProcess/Downloads/qt/DownloadQt.cpp:
- * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
- * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
- * WebProcess/Plugins/Netscape/NPJSObject.cpp:
- * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
- * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
- * WebProcess/WebCoreSupport/WebDragClient.cpp:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
- * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
- * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
- * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
- * WebProcess/WebPage/qt/WebInspectorQt.cpp:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::WebProcess):
- * WebProcess/gtk/WebProcessGtk.cpp:
- * config.h:
- * win/WebKit2.vcproj:
- 2011-02-22 Brian Weinstein <bweinstein@apple.com>
- Rubber-stamped by Brady Eidson.
- Invalidate the WebResourceCacheManagerProxy in WebContext::processDidClose.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::processDidClose):
- 2011-02-21 Adam Roben <aroben@apple.com>
- Make DrawingAreaProxyImpl keep track of the most recent state ID it sent to the web process
- This will be useful for sending repeated messages for the same state ID to the web process.
- We don't do this currently, but will need to if we're asked to paint after we've thrown away
- our backing store to save memory.
- Fixes <http://webkit.org/b/54916> DrawingAreaProxyImpl should keep track of the state ID it
- last sent to the web process
- Reviewed by Anders Carlsson.
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): Initialize m_requestedStateID, and
- reordered member initialization to match the new declaration order.
- (WebKit::DrawingAreaProxyImpl::didUpdateState): Added an assertion that the stateID we got
- from the web process is no newer than the most recent one we requested.
- (WebKit::DrawingAreaProxyImpl::sendUpdateState): Changed to increment and send
- m_requestedStateID instead of a new global stateID.
- * UIProcess/DrawingAreaProxyImpl.h: Added m_requestedStateID, and moved the state IDs before
- other data members. Also beefed the comment explaining m_currentStateID.
- 2011-02-22 Andras Becsi <abecsi@webkit.org>
- Reviewed by Laszlo Gombos.
- [Qt] Redesign the build system
- https://bugs.webkit.org/show_bug.cgi?id=51339
- Part 2.
- Build WebCore as a static library, compile the WebKit API and WebKit2 API
- in a final step and link to WebKit2, WebCore and JSC libraries to fix
- linking issues resulting from stripped away symbols.
- * WebKit2.pri: Add include paths.
- * WebKit2.pro: Move include paths to WebKit2.pri and move
- the API source to WebKit/qt/QtWebKit.pro
- 2011-02-22 Benjamin Poulain <benjamin.poulain@nokia.com>
- Reviewed by Kenneth Rohde Christiansen.
- [Qt] [WK2] Improve the memory handling of the context menu for WebKit 2
- https://bugs.webkit.org/show_bug.cgi?id=54902
- Refactor the context menu handling of Qt to make it simpler to manage memory.
- WebContextMenuProxyQt uses smart pointer for all the references to menu so
- there is no need to delete it explicitely.
- Passing the QMenu from QWKPage to the client of the signal now uses a QSharedPointer so
- the client can choose to handle the memory, but there is no leak if it does not.
- * UIProcess/API/qt/qgraphicswkview.cpp:
- (QGraphicsWKView::QGraphicsWKView):
- (QGraphicsWKView::showContextMenu):
- * UIProcess/API/qt/qgraphicswkview.h:
- * UIProcess/API/qt/qwkpage.h:
- * UIProcess/qt/WebContextMenuProxyQt.cpp:
- (WebKit::WebContextMenuProxyQt::showContextMenu):
- (WebKit::WebContextMenuProxyQt::createContextMenu):
- * UIProcess/qt/WebContextMenuProxyQt.h:
- 2011-02-22 Philippe Normand <pnormand@igalia.com>
- Reviewed by Xan Lopez.
- [GTK] make distcheck fails
- https://bugs.webkit.org/show_bug.cgi?id=54943
- Removed reference to NotImplemented.h which was removed.
- * GNUmakefile.am:
- 2011-02-22 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
- Reviewed by Kenneth Rohde Christiansen.
- [Qt] QtWebProcess should be installed with 'make install'
- https://bugs.webkit.org/show_bug.cgi?id=44100
- Follow the standard in other project files and allow install
- location to be changed with INSTALL_BINS variable.
- * WebProcess.pro: Install QtWebProcess.
- 2011-02-22 Sheriff Bot <webkit.review.bot@gmail.com>
- Unreviewed, rolling out r79296.
- http://trac.webkit.org/changeset/79296
- https://bugs.webkit.org/show_bug.cgi?id=54941
- Breaks compilation on SnowLeapard Intel Release (Requested by
- kbalazs_ on #webkit).
- * Platform/gtk/SharedMemoryGtk.cpp:
- * Platform/gtk/WorkQueueGtk.cpp:
- * Platform/qt/WorkQueueQt.cpp:
- * Platform/win/WorkQueueWin.cpp:
- * Shared/NotImplemented.h: Copied from Source/WebKit2/WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp.
- * Shared/Plugins/NPIdentifierData.cpp:
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- * Shared/Plugins/NPVariantData.cpp:
- * Shared/cairo/ShareableBitmapCairo.cpp:
- * Shared/gtk/ShareableBitmapGtk.cpp:
- * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
- * Shared/qt/WebCoreArgumentCodersQt.cpp:
- * Shared/win/LayerTreeContextWin.cpp:
- * UIProcess/API/mac/PageClientImpl.mm:
- * UIProcess/API/qt/qwkpage.cpp:
- * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- * UIProcess/WebInspectorProxy.cpp:
- * UIProcess/gtk/TextCheckerGtk.cpp:
- * UIProcess/gtk/WebInspectorGtk.cpp:
- * UIProcess/gtk/WebPreferencesGtk.cpp:
- * UIProcess/qt/TextCheckerQt.cpp:
- * UIProcess/qt/WebInspectorProxyQt.cpp:
- * UIProcess/win/TextCheckerWin.cpp:
- * UIProcess/win/WebContextMenuProxyWin.cpp:
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * WebProcess/Downloads/cf/DownloadCFNet.cpp:
- * WebProcess/Downloads/curl/DownloadCurl.cpp:
- * WebProcess/Downloads/mac/DownloadMac.mm:
- * WebProcess/Downloads/qt/DownloadQt.cpp:
- * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
- * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
- * WebProcess/Plugins/Netscape/NPJSObject.cpp:
- * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
- * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
- * WebProcess/WebCoreSupport/WebDragClient.cpp:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
- * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
- * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
- * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
- * WebProcess/WebPage/qt/WebInspectorQt.cpp:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::WebProcess):
- * WebProcess/gtk/WebProcessGtk.cpp:
- * config.h:
- * win/WebKit2.vcproj:
- 2011-02-16 Balazs Kelemen <kbalazs@webkit.org>
- Reviewed by Anders Carlsson.
- notImplemented() should behave identical in WebCore and WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=54449
- Use NotImplemented.h from WebCore. Initialize logging channels.
- Remove the WebKit2 concept of notImplemented().
- * Platform/gtk/SharedMemoryGtk.cpp:
- * Platform/gtk/WorkQueueGtk.cpp:
- * Platform/qt/WorkQueueQt.cpp:
- * Platform/win/WorkQueueWin.cpp:
- * Shared/NotImplemented.h: Removed.
- * Shared/Plugins/NPIdentifierData.cpp:
- * Shared/Plugins/NPRemoteObjectMap.cpp:
- * Shared/Plugins/NPVariantData.cpp:
- * Shared/cairo/ShareableBitmapCairo.cpp:
- * Shared/gtk/ShareableBitmapGtk.cpp:
- * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
- * Shared/qt/WebCoreArgumentCodersQt.cpp:
- * Shared/win/LayerTreeContextWin.cpp:
- * UIProcess/API/qt/qwkpage.cpp:
- * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
- * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
- * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext):
- * UIProcess/WebInspectorProxy.cpp:
- * UIProcess/gtk/TextCheckerGtk.cpp:
- * UIProcess/gtk/WebInspectorGtk.cpp:
- * UIProcess/gtk/WebPreferencesGtk.cpp:
- * UIProcess/qt/TextCheckerQt.cpp:
- * UIProcess/qt/WebInspectorProxyQt.cpp:
- * UIProcess/win/TextCheckerWin.cpp:
- * UIProcess/win/WebContextMenuProxyWin.cpp:
- * WebKit2.pro:
- * WebProcess/Downloads/cf/DownloadCFNet.cpp:
- * WebProcess/Downloads/curl/DownloadCurl.cpp:
- * WebProcess/Downloads/mac/DownloadMac.mm:
- * WebProcess/Downloads/qt/DownloadQt.cpp:
- * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
- * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
- * WebProcess/Plugins/Netscape/NPJSObject.cpp:
- * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
- * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
- * WebProcess/WebCoreSupport/WebDragClient.cpp:
- * WebProcess/WebCoreSupport/WebEditorClient.cpp:
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
- * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
- * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
- * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
- * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
- * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
- * WebProcess/WebPage/qt/WebInspectorQt.cpp:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::WebProcess):
- * WebProcess/gtk/WebProcessGtk.cpp:
- 2011-02-21 Timothy Hatcher <timothy@apple.com>
- Set and update the window title for the Web Inspector in WebKit2.
- https://webkit.org/b/50945
- rdar://problem/8762410
- Reviewed by Adam Roben.
- * UIProcess/WebInspectorProxy.cpp:
- (WebKit::WebInspectorProxy::inspectedURLChanged): Added. Call platformInspectedURLChanged.
- * UIProcess/WebInspectorProxy.h:
- * UIProcess/WebInspectorProxy.messages.in: Added InspectedURLChanged.
- * UIProcess/mac/WebInspectorProxyMac.mm:
- (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Set the window title.
- * UIProcess/win/WebInspectorProxyWin.cpp:
- (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Set the window title.
- * UIProcess/gtk/WebInspectorGtk.cpp:
- (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Not implemented.
- * UIProcess/qt/WebInspectorProxyQt.cpp:
- (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Not implemented.
- * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
- (WebKit::WebInspectorFrontendClient::inspectedURLChanged): Call WebInspector::inspectedURLChanged.
- * WebProcess/WebPage/WebInspector.cpp:
- (WebKit::WebInspector::inspectedURLChanged): Added. Send the InspectedURLChanged message.
- * WebProcess/WebPage/WebInspector.h:
- 2011-02-21 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Can't paste from 3rd party text editor into WebKit2 window.
- <rdar://problem/8978624>
- * WebProcess/com.apple.WebProcess.sb:
- 2011-02-21 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Initialize DrawingAreaProxy::m_size
- https://bugs.webkit.org/show_bug.cgi?id=54913
- This was removed in r76962 since it caused flashes when switching drawing areas due to
- entering and exiting composited mode, but since we no longer switch drawing areas we can
- put it back.
- * UIProcess/DrawingAreaProxy.cpp:
- (WebKit::DrawingAreaProxy::DrawingAreaProxy):
- 2011-02-21 Adam Roben <aroben@apple.com>
- Add some assertions about the state IDs we receive from the web process
- Rubber-stamped by Anders Carlsson.
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::DrawingAreaProxyImpl::update):
- (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
- (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
- Assert that the state ID the web process sent us is no newer than our own state ID.
- 2011-02-21 Adam Roben <aroben@apple.com>
- Rename DrawingArea[Proxy]Impl's "sequence number" concept to "state ID".
- As explained in r79251, DrawingAreaProxyImpl has some state that, when it changes, causes
- all operations performed before that state change to become invalid. Currently, this state
- consists of a single piece of data: the view's size. Eventually it will encompass more data
- (e.g., the backing store we're drawing into; when we start throwing away the backing store
- to save memory, our state will have changed, and any operations that were intended for the
- old backing store will have become invalid). r79251 effectively transformed
- DrawingArea[Proxy]Impl's "sequence number," which incremented every time DrawingAreaImpl
- sent DrawingAreaProxyImpl a message, to a "state ID," which only increments when the view's
- size changes.
- This patch is just a set of simple renames to reflect the transformation that r79251
- effected. It should not introduce any changes in behavior. The renames are:
- - Messages::DrawingArea::SetSize -> UpdateState
- - Messages::DrawingAreaProxy::DidSetSize -> DidUpdateState
- - DrawingAreaProxyImpl::m_lastDidSetSizeSequenceNumber -> m_currentStateID
- - DrawingAreaProxyImpl::m_isWaitingForDidSetSize -> m_isWaitingForDidUpdateState
- - DrawingAreaProxyImpl::waitForAndDispatchDidSetSize -> waitForAndDispatchDidUpdateState
- - DrawingAreaImpl::m_inSetSize -> m_inUpdateState
- - generateSequenceNumber -> generateStateID
- - sequenceNumber -> stateID
- Fixes <http://webkit.org/b/54911> DrawingArea[Proxy]Impl's "sequence number" concept should
- be renamed to "state ID"
- Reviewed by Anders Carlsson.
- * UIProcess/DrawingAreaProxy.h:
- * UIProcess/DrawingAreaProxy.messages.in:
- * UIProcess/DrawingAreaProxyImpl.cpp:
- * UIProcess/DrawingAreaProxyImpl.h:
- * WebProcess/WebPage/DrawingArea.h:
- * WebProcess/WebPage/DrawingArea.messages.in:
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- * WebProcess/WebPage/DrawingAreaImpl.h:
- Performed the renames described above.
- 2011-02-21 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Adam Roben.
- REGRESSION (WebKit2): HTTP requests time out after 60 seconds
- https://bugs.webkit.org/show_bug.cgi?id=54755
- <rdar://problem/9006592>
- * Shared/API/c/WKURLRequest.cpp:
- (WKURLRequestSetDefaultTimeoutInterval):
- * Shared/API/c/WKURLRequest.h:
- Added an API to set a default timeout interval for requests created from URLs. The API
- affects both the UI process and requests created internally by the Web process. Requests
- created from NSURLRequest or CFURLRequest take timeout from those.
- * Shared/WebURLRequest.cpp: (WebKit::WebURLRequest::setDefaultTimeoutInterval):
- * Shared/WebURLRequest.h:
- Pipe the default timeout interval from WKURLRequest down to actual implementation. Since
- WebURLRequest is currently implemented with WebCore::ResourceRequest, it automatically respects
- NSURLRequest default timeout interval.
- * UIProcess/WebProcessManager.cpp: (WebKit::WebProcessManager::getAllWebProcessContexts):
- * UIProcess/WebProcessManager.h:
- Added a way to enumerate all contexts running in separate processes.
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
- (WebKit::WebContext::ensureWebProcess):
- (WebKit::WebContext::setDefaultRequestTimeoutInterval):
- * UIProcess/WebContext.h:
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::initializeWebProcess):
- (WebKit::WebProcess::setDefaultRequestTimeoutInterval):
- * WebProcess/WebProcess.h:
- * WebProcess/WebProcess.messages.in:
- Use UI process default timeout interval in separate process contexts, too.
- 2011-02-18 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Adam Roben.
- WebResourceCacheManager should be responsible for managing the CFURLCache as well
- as the WebCore memory cache.
- https://bugs.webkit.org/show_bug.cgi?id=54886
- Part of <rdar://problem/8971738>
- * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
- (WebKit::WebResourceCacheManager::getCacheOrigins): Call through to cFURLCacheHostNames, and add
- create SecurityOrigin's for them and add them to the set of SecurityOrigins with cache.
- (WebKit::WebResourceCacheManager::clearCacheForOrigin): Call through to clear the CFURLCache for
- the origin's hostname.
- * WebProcess/ResourceCache/WebResourceCacheManager.h:
- * WebProcess/ResourceCache/cf: Added.
- * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp: Added.
- (WebKit::WebResourceCacheManager::cfURLCacheHostNames): Call through to WebKitSystemInterface.
- (WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames): Ditto.
- * win/WebKit2.vcproj: Added new file.
- * WebKit2.xcodeproj/project.pbxproj: Ditto.
- 2011-02-21 Adam Roben <aroben@apple.com>
- Move control of the sequence number from DrawingAreaImpl to DrawingAreaProxyImpl
- DrawingAreaProxyImpl has some state that, when it changes, causes all operations performed
- before that state change to become invalid. When painting, we need to have performed at
- least one Update for the most recent state; otherwise, we'll be painting old/incorrect bits
- into the view.
- Currently, this state consists of a single piece of data: the view's size. Whenever the
- state (i.e., size) changes, we tell the web process via the SetSize message, and the web
- process lets us know that it has updated to match the new state (i.e., size) via the
- DidSetSize message.
- When it's time to paint, if we're waiting for the web process to update to match our current
- state (i.e., size), we block for a little while hoping to receive a DidSetSize message so
- that we can paint up-to-date bits into the window. This can cause us to receive messages
- out-of-order; the DidSetSize message will be processed immediately, and any messages that
- were sent before the DidSetSize message will be processed later. Since the messages from
- before the DidSetSize message correspond to an old state (i.e., size), they are no longer
- useful (e.g., they contain bits of the page that are drawn at the wrong size/location), so
- we discard them.
- The way we identify and discard these messages is by keeping track of a sequence number.
- Currently, DrawingAreaImpl sends a monotonically-increasing sequence number to
- DrawingAreaProxyImpl with every message. Whenever DrawingAreaProxyImpl receives a DidSetSize
- message, it records the sequence number that came along with it. If we then later receive
- any messages that have a lower sequence number, we know they correspond to an old state
- (i.e., size) and can discard them.
- This patch moves control of the sequence number to DrawingAreaProxyImpl.
- DrawingAreaProxyImpl now sends a monotonically-increasing sequence number in the SetSize
- message. DrawingAreaImpl records this sequence number when it receives the SetSize message,
- and sends it back to DrawingAreaProxyImpl in every message. Otherwise the logic is the same
- as before.
- This should cause no changes in behavior, but will allow DrawingAreaProxyImpl to request a
- full backing store update (by incrementing the sequence number) at times other than when the
- view's size changes (e.g., after it has thrown away its backing store in order to save
- memory).
- Fixes <http://webkit.org/b/54907> DrawingAreaProxyImpl should tell DrawingAreaImpl what
- sequence number to use
- Reviewed by Anders Carlsson.
- * UIProcess/DrawingAreaProxyImpl.cpp:
- (WebKit::generateSequenceNumber): Moved here from DrawingAreaImpl.cpp.
- (WebKit::DrawingAreaProxyImpl::sendSetSize): Changed to pass a new sequence number in the
- SetSize message.
- (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidSetSize): Added a FIXME about a
- potential improvement.
- * WebProcess/WebPage/DrawingArea.h:
- (WebKit::DrawingArea::setSize): Updated to match the message's new parameters.
- * WebProcess/WebPage/DrawingArea.messages.in: Added a sequenceNumber parameter to SetSize.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::DrawingAreaImpl): Initialize m_sequenceNumber.
- (WebKit::DrawingAreaImpl::setSize): Record the new sequence number from the UI process.
- (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
- (WebKit::DrawingAreaImpl::display):
- Send m_sequenceNumber, instead of a new sequence number, back to the UI process.
- * WebProcess/WebPage/DrawingAreaImpl.h: Added m_sequenceNumber, updated setSize function to
- match the base class.
- 2011-02-21 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Sam Weinig.
- Bug 54894 - Make inheritance structure described by ClassInfo match C++ class hierarchy.
- The ClassInfo objects describe an inheritance hierarchy, with each ClassInfo instance
- containing a pointer to its parent class. These links should reflect the inheritance
- hierarchy of C++ classes below JSObject. For the large part it does, but in some cases
- entries in the C++ hierarchy are skipped over. This presently likely doesn't matter,
- since intervening C++ classes may not have ClassInfo - but would be a potential bug
- were ClassInfo were to be added.
- * WebProcess/Plugins/Netscape/JSNPObject.cpp:
- 2011-02-21 Balazs Kelemen <kbalazs@webkit.org>
- Reviewed by Kenneth Rohde Christiansen.
- [Qt] Implement WorkQueue::sheduleWorkAfterDelay
- https://bugs.webkit.org/show_bug.cgi?id=54878
- * Platform/qt/WorkQueueQt.cpp:
- (WorkQueue::scheduleWorkAfterDelay):
- 2011-02-20 Alejandro G. Castro <alex@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Add WebResourceCacheDataManager to the compilation after r78848
- https://bugs.webkit.org/show_bug.cgi?id=54732
- Added resource cache manager API to GTK+ compilation after r78848.
- * GNUmakefile.am:
- 2011-02-20 Sam Weinig <sam@webkit.org>
- Reviewed by Dan Bernstein.
- Crash in WebProcess at com.apple.WebCore: WebCore::Page::goToItem + 46
- <rdar://problem/8942726>
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::goForward):
- (WebKit::WebPage::goBack):
- (WebKit::WebPage::goToBackForwardItem):
- Defend agains null HistoryItems.
- 2011-02-20 Anders Carlsson <andersca@apple.com>
- Reviewed by Maciej Stachowiak.
- Crash when a plug-in requests a javascript: url that destroys the plug-in
- https://bugs.webkit.org/show_bug.cgi?id=54837
- <rdar://problem/9005475>
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::destroy):
- Null out m_pluginController.
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::performJavaScriptURLRequest):
- Don't access the frame through m_pluginElement since it will be nulled out
- when the plug-in is destroyed.
- 2011-02-20 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Fix another crash when a plug-in is destroyed when evaluating JavaScript
- https://bugs.webkit.org/show_bug.cgi?id=54834
- <rdar://problem/9005475>
- This contains three separate fixes:
- - In unprotectPluginFromDestruction we can't just destroy the plug-in once
- the count reaches zero, because the plug-in might still have code executing
- on the stack. To fix this we use a zero-delay timer to defer destruction
- of the plug-in.
- - Trying to get the NPObject for the window using NPN_GetValue would return
- NPERR_NO_ERROR, even if the returned NPObject was null. Fix this to return
- NPERR_GENERIC_ERROR instead.
- - Protect the plug-in from destruction anytime an NPAPI call that sends a
- synchronous IPC message is made.
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::PluginControllerProxy):
- (WebKit::PluginControllerProxy::destroy):
- (WebKit::PluginControllerProxy::unprotectPluginFromDestruction):
- * PluginProcess/PluginControllerProxy.h:
- * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- (WebKit::PluginDestructionProtector::PluginDestructionProtector):
- (WebKit::NPN_GetValue):
- (WebKit::NPN_Evaluate):
- (WebKit::NPN_GetProperty):
- (WebKit::NPN_SetProperty):
- (WebKit::NPN_RemoveProperty):
- (WebKit::NPN_HasProperty):
- (WebKit::NPN_HasMethod):
- (WebKit::NPN_Enumerate):
- (WebKit::NPN_Construct):
- (WebKit::NPN_GetValueForURL):
- (WebKit::NPN_SetValueForURL):
- 2011-02-19 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Add phase in addition to momentumPhase to platform wheel events
- Part of <rdar://problem/8945362>
- Rename existing phase to momentumPhase.
- * Shared/WebEvent.h:
- (WebKit::WebWheelEvent::momentumPhase):
- * Shared/WebEventConversion.cpp:
- (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
- * Shared/WebWheelEvent.cpp:
- (WebKit::WebWheelEvent::WebWheelEvent):
- (WebKit::WebWheelEvent::encode):
- (WebKit::WebWheelEvent::decode):
- * Shared/mac/WebEventFactory.mm:
- (WebKit::phaseForEvent):
- (WebKit::momentumPhaseForEvent):
- (WebKit::WebEventFactory::createWebWheelEvent):
- 2011-02-19 Anders Carlsson <andersca@apple.com>
- Reviewed by Dan Bernstein.
- Crash when trying to take a snapshot of an uninitialized plug-in
- https://bugs.webkit.org/show_bug.cgi?id=54812
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::notifyWidget):
- Don't try to create a snapshot of the plug-in if it hasn't been initialized.
- 2011-02-18 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Sam Weinig.
- Bug 54786 - Devirtualize JSCell::classInfo()
- Instead of making a virtual function call, add a pointer to the ClassInfo
- onto Structure.
- This removes a virtual function call, and paves the way towards removing all
- the createStructure methods, and StructureFlags/AnonymousSlotCount properties
- (these should be able to move onto ClassInfo).
- Calls to Structure::create must now pass a pointer to the ClassInfo for the
- structure. All objects now have a ClassInfo pointer, non-object cell types
- still do not.
- Changes are most mechanical, involving three steps:
- * Remove virtual classInfo() methods.
- * Add &s_info parameter to calls to Structure::create.
- * Rename ClassInfo static members on classes from 'info' to 's_info',
- for consistency.
- * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
- (WebKit::JSNPMethod::JSNPMethod):
- * WebProcess/Plugins/Netscape/JSNPMethod.h:
- (WebKit::JSNPMethod::createStructure):
- * WebProcess/Plugins/Netscape/JSNPObject.cpp:
- (WebKit::JSNPObject::JSNPObject):
- * WebProcess/Plugins/Netscape/JSNPObject.h:
- (WebKit::JSNPObject::createStructure):
- 2011-02-19 Sam Weinig <sam@webkit.org>
- Reviewed by Anders Carlsson.
- Rename performLookupAtCurrentMouseLocation to performDictionaryLookupAtCurrentMouseLocation
- * UIProcess/API/mac/WKView.mm:
- (-[WKView performDictionaryLookupAtCurrentMouseLocation]):
- * UIProcess/API/mac/WKViewPrivate.h:
- 2011-02-19 Charlie Reis <creis@chromium.org>
- Reviewed by Mihai Parparita.
- Ensure loading has stopped in HistoryController::goToItem
- https://bugs.webkit.org/show_bug.cgi?id=54517
- Add a FrameLoaderClient callback for whether to stop loading before goToItem.
- Test: http/tests/navigation/forward-to-fragment-fires-onload.html
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::shouldStopLoadingForHistoryItem): Added.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- 2011-02-18 Sam Weinig <sam@webkit.org>
- Reviewed by Adele Peterson.
- Real fix for <rdar://problem/9025723> CrashTracer: [USER]
- 1 crash in WebProcess at com.apple.WebKit2:
- WebKit::WebPage::didChangeScrollOffsetForMainFrame + 31
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::didChangeScrollOffset):
- Add null check for the FrameView. This function can be called when the
- FrameView is being torn down during a transition to a new FrameView.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didChangeScrollOffsetForMainFrame):
- Revert last attempt.
- 2011-02-18 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Hang trying to load nytimes.com with Flash installed
- <rdar://problem/9018113>
- * Platform/CoreIPC/Connection.cpp:
- (CoreIPC::Connection::sendSyncMessage):
- Call beginWaitForSyncReply() before sending the message. Otherwise, in some cases we could
- have gotten back a synchronous request before calling beginWaitForSyncReply(), and then we wouldn't
- process it correctly. (Which would lead to the hang).
- 2011-02-18 Simon Fraser <simon.fraser@apple.com>
- Reviewed by Kevin Decker.
- <rdar://problem/9021296> Some plug-ins are the wrong size after zooming
-
- Use the same frame/bounds adjustment that we use for NSView-based
- plugins in WebKit2, which allows plug-ins and their snapshots to
- render with the correct size after scaling.
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::setBoundsSize):
- (WebKit::PluginView::viewGeometryDidChange):
- (WebKit::PluginView::clipRectInWindowCoordinates):
- * WebProcess/Plugins/PluginView.h:
- 2011-02-18 Beth Dakin <bdakin@apple.com>
- Rubber-stamped by Adele Peterson.
- Fix for <rdar://problem/9025723> CrashTracer: [USER]
- 1 crash in WebProcess at com.apple.WebKit2:
- WebKit::WebPage::didChangeScrollOffsetForMainFrame + 31
- Simple null-check.
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::didChangeScrollOffsetForMainFrame):
- 2011-02-18 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
- Reviewed by Kenneth Rohde Christiansen.
- Tiled backing store area is too big.
- Error in area calculcation causes size of backing store
- up to 8 times bigger than viewport with default multipliers.
- https://bugs.webkit.org/show_bug.cgi?id=54587
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::calculateKeepRect):
- (WebKit::TiledDrawingAreaProxy::calculateCoverRect):
- 2011-02-18 John Sullivan <sullivan@apple.com>
- Reviewed by Maciej Stachowiak.
- <rdar://problem/9026169>
- https://bugs.webkit.org/show_bug.cgi?id=54780
- pendingAPIRequestURL isn't updated for WKPageGoToBackForwardListItem
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::goToBackForwardItem):
- Update the pending API URL.
- 2011-02-18 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Accelerated content fades in when using a layer backed WKView
- <rdar://problem/9021586>
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _enterAcceleratedCompositingMode:]):
- Make a new nested CATransaction and disable animations when adding the layer
- hosting subview. This avoids an implicit fade animation that would otherwise occur.
- 2011-02-18 Simon Fraser <simon.fraser@apple.com>
- Reviewed by Dan Bernstein.
- Plugin snapshot location is wrong for subframes
- https://bugs.webkit.org/show_bug.cgi?id=54776
-
- Only change the CTM to the way that the plugin expects it
- when painting the plugin, not when drawing the snapshot.
- This fixes the snapshot location when painting flattened
- frames.
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::paint):
- 2011-02-18 Anders Carlsson <andersca@apple.com>
- Reviewed by Simon Fraser.
- Implement NetscapePlugin::pluginComplexTextInputIdentifier
- https://bugs.webkit.org/show_bug.cgi?id=54770
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::pluginComplexTextInputIdentifier):
- 2011-02-18 Sam Weinig <sam@webkit.org>
- Reviewed by Maciej Stachowiak.
- Add the ability to ask the WKPage if the main frame is pinned
- to the right or left hand side.
- Part of <rdar://problem/9017043>.
- * UIProcess/API/C/WKPage.cpp:
- (WKPageIsPinnedToLeftSide):
- (WKPageIsPinnedToRightSide):
- * UIProcess/API/C/WKPage.h:
- Add new API calls.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::WebPageProxy):
- (WebKit::WebPageProxy::close):
- (WebKit::WebPageProxy::processDidCrash):
- (WebKit::WebPageProxy::didChangeScrollOffsetPinningForMainFrame):
- * UIProcess/WebPageProxy.h:
- (WebKit::WebPageProxy::isPinnedToLeftSide):
- (WebKit::WebPageProxy::isPinnedToRightSide):
- Initialize, reset and update the pinned state.
- * UIProcess/WebPageProxy.messages.in:
- Add message to update the pinned state.
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebKit::WebFrameLoaderClient::didChangeScrollOffset):
- * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::WebPage):
- (WebKit::WebPage::didChangeScrollOffsetForMainFrame):
- * WebProcess/WebPage/WebPage.h:
- Cache the pinned state, and only update the UIProcess when it
- changes.
- 2011-02-18 Anders Carlsson <andersca@apple.com>
- Reviewed by Simon Fraser.
- Fix assertion in SharedMemory::create when trying to snapshot 0x0 plug-in
- https://bugs.webkit.org/show_bug.cgi?id=54768
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::snapshot):
- Don't try to create a handle from a null ShareableBitmap.
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::snapshot):
- Check for a zero sized plug-in before trying to create a snapshot.
- 2011-02-18 Anders Carlsson <andersca@apple.com>
- Reviewed by Simon Fraser.
- WKView flashes when entering/exiting compositing mode
- https://bugs.webkit.org/show_bug.cgi?id=54695
- <rdar://problem/9011554>
- * UIProcess/API/mac/WKView.mm:
- (-[WKView _exitAcceleratedCompositingMode]):
- Remove the layer hosting view before clearing out its layer, otherwise we can get
- white flashes when exiting accelerated compositing mode.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- When entering accelerated compositing mode, we want to defer sending the message
- until we've actually committed the layer tree and pushed all changes over to the
- UI process.
- (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
- Tell the layer tree host to force a repaint. This will ensure that all layer tree
- changes are pushed over to the UI process. When that is done, send the new layer tree
- context over to the UI process.
- (WebKit::DrawingAreaImpl::setRootCompositingLayer):
- When exiting compositing mode in response to a didSetSize, we want to exit accelerated
- compositing mode right away to avoid flashes. This is safe since we've laid out the page
- already so we won't end up reentering setRootCompositingLayer.
- (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
- Tell the layer tree host to notify us when the next layer tree flush happened, so we can
- let the UI process know. If we're entering accelerated compositing mode in response to a
- SetSize message, the new layer tree context will be passed in the DidSetSize message.
- * WebProcess/WebPage/DrawingAreaImpl.h:
- Add layerHostDidFlushLayers.
- * WebProcess/WebPage/LayerTreeHost.h:
- Add setShouldNotifyAfterNextScheduledLayerFlush.
- * WebProcess/WebPage/mac/LayerTreeHostMac.h:
- Add a m_notifyAfterScheduledLayerFlush flag.
- * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
- (WebKit::LayerTreeHostMac::LayerTreeHostMac):
- Initialize m_notifyAfterScheduledLayerFlush to false.
- (WebKit::LayerTreeHostMac::setShouldNotifyAfterNextScheduledLayerFlush):
- Set m_notifyAfterScheduledLayerFlush to true.
- (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback):
- If m_notifyAfterScheduledLayerFlush is true, call DrawingAreaImpl::layerHostDidFlushLayers.
- 2011-02-18 Alexey Proskuryakov <ap@apple.com>
- Reviewed by Adele Peterson.
- REGRESSION (WebKit2): Wrong frame printed on tivofaq.com
- https://bugs.webkit.org/show_bug.cgi?id=54677
- <rdar://problem/8994133>
- * WebProcess/WebCoreSupport/WebChromeClient.cpp:
- (WebKit::area): Use visible frame bounds.
- (WebKit::findLargestFrameInFrameSet): Added a comment explaining what we're up to here.
- WebKit2 shouldn't be making policy decisions for the client, but it gets dangerously close
- to that. We used to expose the same as WK1 API though.
- 2011-02-18 Balazs Kelemen <kbalazs@webkit.org>
- Unreviwed.
- Remove CleanupHandler since we do not use it anymore.
- * Shared/qt/CleanupHandler.cpp: Removed.
- * Shared/qt/CleanupHandler.h: Removed.
- 2011-02-18 Alejandro G. Castro <alex@igalia.com>
- Fix GTK build by fixing signature of platformPaint(), required after r78956.
- * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
- (WebKit::NetscapePlugin::platformPaint):
- 2011-02-17 Dan Bernstein <mitz@apple.com>
- LLVM Compiler build fix.
- * UIProcess/WebResourceCacheManagerProxy.h:
- * WebProcess/ResourceCache/WebResourceCacheManager.h:
- 2011-02-17 Simon Fraser <simon.fraser@apple.com>
- Fix Windows and Qt builds by fixing signature of platformPaint().
- * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
- (WebKit::NetscapePlugin::platformPaint):
- * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
- (WebKit::NetscapePlugin::platformPaint):
- 2011-02-17 Simon Fraser <simon.fraser@apple.com>
- Reviewed by Sam Weinig.
- WebKit2 snapshots don't show plug-ins
- https://bugs.webkit.org/show_bug.cgi?id=54716
-
- Fix WebKit2 plug-ins to do a software paint for
- snapshotting.
- * PluginProcess/PluginControllerProxy.h:
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::snapshot): Respond to the snapshot
- message by getting a sharable bitmap from the plugin, and returning
- a handle to it in the reply.
- * PluginProcess/PluginControllerProxy.messages.in: Add the snapshot
- message.
-
- * Shared/Plugins/PluginQuirks.h:
- * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
- (WebKit::NetscapePluginModule::determineQuirks): Add a quirk for the
- ability to be snapshotted, which we only set for Flash at the moment.
-
- * WebProcess/Plugins/Netscape/NetscapePlugin.h:
- * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
- (WebKit::NetscapePlugin::snapshot): Create a shareable bitmap, and
- paint into it.
- (WebKit::NetscapePlugin::supportsSnapshotting): Test the quirk.
- * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- (WebKit::NetscapePlugin::platformPaint): Allow the paint to happen
- if we're snapshotting, even when using the CoreAnimation drawing
- model.
-
- * WebProcess/Plugins/Plugin.h: New snapshot method.
-
- * WebProcess/Plugins/PluginProxy.h:
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::snapshot): Send a sync message to the plugin process,
- asking for a snapshot in a shareble bitmap.
-
- * WebProcess/Plugins/PluginView.h:
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::paint): Use the snapshot if we have one, to avoid
- calling into the plugin to draw, which may run script.
-
- (WebKit::PluginView::notifyWidget): Generate the snapshot before
- a flattening paint, and throw it away after.
- 2011-02-17 Jessie Berlin <jberlin@apple.com>
- Reviewed by Adam Roben.
- WebKit2: The CFNetwork Cache should be shared between the UI Process and the Web Process on
- Windows.
- https://bugs.webkit.org/show_bug.cgi?id=54683
- * Shared/WebProcessCreationParameters.cpp:
- (WebKit::WebProcessCreationParameters::encode):
- (WebKit::WebProcessCreationParameters::decode):
- * Shared/WebProcessCreationParameters.h:
-
- * UIProcess/win/WebContextWin.cpp:
- (WebKit::WebContext::platformInitializeWebProcess):
- Make sure to remove the ending slash, as CFNetwork does not recognize the directory with
- that slash.
- * WebProcess/win/WebProcessWin.cpp:
- (WebKit::WebProcess::platformInitializeWebProcess):
- Create a cache using the path, disk capacity, and memory capacity and set it as default.
- 2011-02-17 Anders Carlsson <andersca@apple.com>
- Reviewed by Sam Weinig.
- Web and/or plug-in process crashes when NPN_Evaluate destroys the plug-in
- https://bugs.webkit.org/show_bug.cgi?id=54686
- <rdar://problem/9013384>
- This patch fixes two bugs with a plug-in calling NPN_Evaluate to destroy itself:
- - The PluginProxy object would be destroyed in the middle of PluginProxy::evaluate.
- This would cause the web process to crash.
- - The PluginControllerProxy would call NPP_Destroy while the plug-in was busy running
- code. This would cause the plug-in process to crash.
- To fix this, we add protectPluginFromDestruction/unprotectPluginFromDestruction to
- PluginControllerProxy and use it to defer calling destroy() in the plug-in process,
- and defer actually destroying the plug-in in the web process.
- https://bugs.webkit.org/show_bug.cgi?id=54171 tracks adding a test for this.
- * PluginProcess/PluginControllerProxy.cpp:
- (WebKit::PluginControllerProxy::PluginControllerProxy):
- (WebKit::PluginControllerProxy::destroy):
- (WebKit::PluginControllerProxy::evaluate):
- (WebKit::PluginControllerProxy::protectPluginFromDestruction):
- (WebKit::PluginControllerProxy::unprotectPluginFromDestruction):
- * PluginProcess/PluginControllerProxy.h:
- (WebKit::PluginControllerProxy::asPluginController):
- * PluginProcess/WebProcessConnection.cpp:
- (WebKit::WebProcessConnection::destroyPluginControllerProxy):
- (WebKit::WebProcessConnection::didReceiveMessage):
- (WebKit::WebProcessConnection::didReceiveSyncMessage):
- * PluginProcess/WebProcessConnection.h:
- (WebKit::WebProcessConnection::connection):
- * WebProcess/Plugins/PluginController.h:
- (WebKit::PluginController::PluginDestructionProtector::PluginDestructionProtector):
- (WebKit::PluginController::PluginDestructionProtector::~PluginDestructionProtector):
- * WebProcess/Plugins/PluginProxy.cpp:
- (WebKit::PluginProxy::evaluate):
- * WebProcess/Plugins/PluginView.cpp:
- (WebKit::PluginView::protectPluginFromDestruction):
- (WebKit::PluginView::unprotectPluginFromDestruction):
- * WebProcess/Plugins/PluginView.h:
- 2011-02-17 Sam Weinig <sam@webkit.org>
- Build fix.
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::WebPage::performDictionaryLookupAtLocation):
- 2011-02-17 Sam Weinig <sam@webkit.org>
- Reviewed by Maciej Stachowiak.
- WebKit2: Support Dictionary popup
- <rdar://problem/7660670>
- * Shared/TextInfo.cpp: Added.
- (WebKit::TextInfo::encode):
- (WebKit::TextInfo::decode):
- * Shared/TextInfo.h: Added.
- (WebKit::TextInfo::TextInfo):
- Add class to represent the location and style of a run of text.
- * UIProcess/PageClient.h:
- * UIProcess/API/mac/PageClientImpl.h:
- * UIProcess/API/mac/PageClientImpl.mm:
- (WebKit::PageClientImpl::didPerformDictionaryLookup):
- Invoke the dictionary popup.
- * UIProcess/API/mac/WKView.mm:
- (-[WKView performLookupAtCurrentMouseLocation]):
- Tell the WebProcess to get get the text under the mouse and cause
- the dictionary popup to appear.
- * UIProcess/API/mac/WKViewPrivate.h:
- Add performLookupAtCurrentMouseLocation.
- * UIProcess/WebPageProxy.cpp:
- (WebKit::WebPageProxy::performDictionaryLookupAtLocation):
- (WebKit::WebPageProxy::didPerformDictionaryLookup):
- * UIProcess/WebPageProxy.h:
- * UIProcess/WebPageProxy.messages.in:
- * WebProcess/WebPage/WebPage.cpp:
- * WebProcess/WebPage/WebPage.h:
- * WebProcess/WebPage/WebPage.messages.in:
- Pipe messages through.
- * WebProcess/WebPage/mac/WebPageMac.mm:
- (WebKit::characterRangeAtPoint): Fix to return PassRefPtr
- and not potentially stale pointers.
- (WebKit::WebPage::characterIndexForPoint):
- Change to use a RefPtr.
- (WebKit::WebPage::performDictionaryLookupAtLocation):
- Add simple heuristic to get the word at the current point (or the current selection
- if it is at that point) and grab the style of the word to send the UIProcess.
- * WebKit2.pro:
- * WebKit2.xcodeproj/project.pbxproj:
- * win/WebKit2.vcproj:
- Add new files.
- 2011-02-17 Brian Weinstein <bweinstein@apple.com>
- Qt build fix.
- * WebKit2.pro: Update after renaming of MemoryCache to ResourceCache.
- 2011-02-17 Brian Weinstein <bweinstein@apple.com>
- Mac build fix.
- * WebKit2.xcodeproj/project.pbxproj: Use relative to group instead of absolute paths. Not everyone's home
- directory is /Users/brian_weinstein.
- 2011-02-16 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Brady Eidson.
- WebKit2: Need a way to manage the WebCore Cache
- https://bugs.webkit.org/show_bug.cgi?id=54501
-
- Implement a WebKit2 API to manage the WebCore memory cache. This API exposes three functions:
-
- 1) A method to get a list of all security origins that have entries in the WebCore memory cache.
- 2) A method to remove all entries in the WebCore memory cache from a SecurityOrigin.
- 3) A method to remove all entries from the WebCore memory cache.
- * Platform/CoreIPC/MessageID.h: Add two new MessageClasses.
- * Shared/API/c/WKBase.h:
- * Shared/APIObject.h: Add a CacheManager type.
- * Shared/WebSecurityOrigin.h: Typedef WKCacheManagerRef.
- (WebKit::WebSecurityOrigin::createFromString): Creates a WebCore::SecurityOrigin using
- SecurityOrigin::createFromString.
- (WebKit::WebSecurityOrigin::toString): Calls through to SecurityOrigin::toString.
- * UIProcess/API/C/WKAPICast.h:
- * UIProcess/API/C/WKCacheManager.cpp: Added.
- (WKCacheManagerGetTypeID): Returns the WebResourceCacheManagerProxy type.
- (WKCacheManagerGetCacheOrigins): Calls through to WebResourceCacheManagerProxy::getCacheOrigins.
- (callGetCacheOriginsBlockBlockAndDispose):
- (WKCacheManagerGetCacheOrigins_b):
- (WKCacheManagerDeleteCacheForOrigin): Calls through to WebResourceCacheManagerProxy::deleteCacheForOrigin.
- (WKCacheManagerDeleteAllCache): Calls through to WebResourceCacheManagerProxy::deleteAllCache.
- * UIProcess/API/C/WKCacheManager.h: Added.
- * UIProcess/API/C/WKContext.cpp:
- (WKContextGetCacheManager): Calls to get the WebResourceCacheManagerProxy.
- * UIProcess/API/C/WKContext.h:
- * UIProcess/WebResourceCacheManagerProxy.cpp: Added.
- (WebKit::WebResourceCacheManagerProxy::create): Calls through to the constructor.
- (WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy): Initialize the m_webContext variable.
- (WebKit::WebResourceCacheManagerProxy::~WebResourceCacheManagerProxy):
- (WebKit::WebResourceCacheManagerProxy::invalidate): Invalidate the callback map.
- (WebKit::WebResourceCacheManagerProxy::getCacheOrigins): Call through to the web process to get the cache
- origins.
- (WebKit::WebResourceCacheManagerProxy::didGetCacheOrigins): Call the callback.
- (WebKit::WebResourceCacheManagerProxy::deleteCacheForOrigin): Call through to the web process to delete cache
- for the given origin.
- (WebKit::WebResourceCacheManagerProxy::deleteAllCache): Call through to the web process to delete all of the cache.
- * UIProcess/WebResourceCacheManagerProxy.h: Added.
- (WebKit::WebResourceCacheManagerProxy::clearContext):
- (WebKit::WebResourceCacheManagerProxy::type):
- * UIProcess/WebResourceCacheManagerProxy.messages.in: Added.
- * UIProcess/WebContext.cpp:
- (WebKit::WebContext::WebContext): Initialize new member variable.
- (WebKit::WebContext::~WebContext): Invalidates new member variable.
- (WebKit::WebContext::didReceiveMessage): Passes cache messages to the cache manager.
- * UIProcess/WebContext.h:
- (WebKit::WebContext::cacheManagerProxy):
- * UIProcess/WebProcessProxy.cpp:
- (WebKit::WebProcessProxy::didReceiveMessage): Add a new message class.
- * WebProcess/ResourceCache/WebResourceCacheManager.cpp: Added.
- (WebKit::WebResourceCacheManager::shared):
- (WebKit::WebResourceCacheManager::WebResourceCacheManager):
- (WebKit::WebResourceCacheManager::~WebResourceCacheManager):
- (WebKit::WebResourceCacheManager::didReceiveMessage): Calls through to didReceiveWebResourceCacheManagerMessage.
- (WebKit::WebResourceCacheManager::getCacheOrigins): Gets a list of origins with cache entries from the memory
- cache, and puts them into a vector to send to the UI process.
- (WebKit::WebResourceCacheManager::deleteCacheForOrigin): Calls through to ResourceCache to delete all cache entries
- from a given origin.
- (WebKit::WebResourceCacheManager::deleteAllCache):
- * WebProcess/ResourceCache/WebResourceCacheManager.h: Added.
- * WebProcess/ResourceCache/WebResourceCacheManager.messages.in: Added.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::didReceiveMessage):
- (WebKit::WebProcess::clearResourceCaches): Tell the memory cache to evict its resources. This was done on WebKit1,
- but not WebKit2.
- * WebProcess/WebProcess.h:
-
- * WebKit2.xcodeproj/project.pbxproj: Added new files.
- * win/WebKit2.vcproj: Ditto.
- * win/WebKit2Common.vsprops: Added new include directory.
- * win/WebKit2Generated.make: Added new header.
- 2011-02-16 David Hyatt <hyatt@apple.com>
- Reviewed by Dan Bernstein.
- https://bugs.webkit.org/show_bug.cgi?id=54244
-
- Convert the line box tree to floating point and eliminate font rounding hacks. This patch removes all of the rounding
- hacks from the Font code and makes sure all Font APIs involving width measurement and width offsets use floats.
-
- The line box tree's x, y and logicalWidth members have all been converted to floats and all of the line box APIs have
- been changed as well.
-
- In terms of pixel adjustments, overflow is using an enclosing model (so it will be enclosingIntRect of a line box's x/y/width/height).
-
- Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting.
-
- Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes
- still have a precise floating point position.
- Justification will now allow subpixel positioning to occur as well. Platforms that don't support subpixel positioning should already
- be rounding justification spacing in their font code.
- Many layout test results change on Mac, since rounding hacks were used there and are now gone.
- * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
- (WebKit::WebPopupMenu::setUpPlatformData):
- 2011-02-10 Luiz Agostini <luiz.agostini@openbossa.org>
- Reviewed by Adam Roben.
- HTML5 <details> and <summary>: localized text
- https://bugs.webkit.org/show_bug.cgi?id=54260
- The method defaultDetailsSummaryText was added to LocalizationStrategy class. It is used to
- provide the default label to be used by a <details> tag that has no <summary> child.
- * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- (WebKit::WebPlatformStrategies::defaultDetailsSummaryText):
- * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- 2011-02-17 Adam Roben <aroben@apple.com>
- Make sure layout is up-to-date before rendering the layer tree in DrawingAreaImpl
- Fixes <http://webkit.org/b/54646> <rdar://problem/9016889> Assertion failure in
- FrameView::paintContents when calling WKPageForceRepaint on a page that uses accelerated
- compositing
- Reviewed by Anders Carlsson.
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::forceRepaint): Lay out before we do anything else.
- 2011-02-17 Alejandro G. Castro <alex@igalia.com>
- Reviewed by Martin Robinson.
- [GTK] Add WKPluginSiteDataManager.cpp compilation after r78647
- https://bugs.webkit.org/show_bug.cgi?id=54564
- * GNUmakefile.am: Added files to compilation.
- * Shared/Plugins/Netscape/NetscapePluginModule.h: used
- npruntime_internal.h in the include to avoid problems with X
- types.
- * WebProcess/WebProcess.cpp:
- (WebKit::WebProcess::setAlwaysUsesComplexTextCodePath): fixed
- ambiguous reference to Font caused by the X headers required by
- the plugins.
- 2011-02-16 Matthew Delaney <mdelaney@apple.com>
- Reviewed by Simon Fraser.
- Allow acceleratesDrawing for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=54511
- Plumb through preference for accelerated drawing.
-
- If accelerated drawing is enabled, keep the DrawingAreaImpl in
- accelerated compositing mode.
- * Shared/WebPreferencesStore.h:
- * UIProcess/API/C/WKPreferences.cpp:
- (WKPreferencesSetAcceleratedDrawingEnabled):
- (WKPreferencesGetAcceleratedDrawingEnabled):
- * UIProcess/API/C/WKPreferencesPrivate.h:
- * WebProcess/WebPage/DrawingAreaImpl.cpp:
- (WebKit::DrawingAreaImpl::DrawingAreaImpl):
- (WebKit::DrawingAreaImpl::setRootCompositingLayer):
- (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
- * WebProcess/WebPage/DrawingAreaImpl.h:
- * WebProcess/WebPage/WebPage.cpp:
- (WebKit::WebPage::updatePreferences):
- 2011-02-16 Yael Aharon <yael.aharon@nokia.com>
- Reviewed by Andreas Kling.
- [Qt] White screen is displayed when tiled backing store is enabled in MiniBrowser.
- https://bugs.webkit.org/show_bug.cgi?id=54583
- Make sure to invalidate all the tiles, including the last one.
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::invalidate):
- 2011-02-16 Yael Aharon <yael.aharon@nokia.com>
- Reviewed by Andreas Kling.
- [Qt] Tiles are not created for webkit2 after r77286.
- https://bugs.webkit.org/show_bug.cgi?id=54577
- When using the default tile size of 1024x1024, only one tile is created.
- Make sure to create this tile by undoing what seems to be a typo in r77286.
- * UIProcess/TiledDrawingAreaProxy.cpp:
- (WebKit::TiledDrawingAreaProxy::paint):
- (WebKit::TiledDrawingAreaProxy::createTiles):
- == Rolled over to ChangeLog-2011-02-16 ==
|