auto merge of #4329 : mrobinson/servo/phantom-layer, r=pcwalton
auto merge of #4329 : mrobinson/servo/phantom-layer, r=pcwalton

At various moments, whether due to timing or layout issues, root layers (iframes) do not have a size and location. We modify the compositor to have all root layers mask to their content boundaries whether they have a frame rect or not. Uninitialized layers have empty boundaries, so they will disappear from the page. We also have to ensure that clicks to not go to areas of layers that are masked away. This fixes issues where ads on github take over the entire viewport.

CJ8664/servo,emilio/servo,upsuper/servo,zentner-kyle/servo,jgraham/servo,kindersung/servo,vks/servo,wartman4404/servo,dmarcos/servo,wpgallih/servo,walac/servo,ruud-v-a/servo,pyfisch/servo,jgraham/servo,GreenRecycleBin/servo,mattnenterprise/servo,szeged/servo,GreenRecycleBin/servo,luniv/servo,jdramani/servo,brendandahl/servo,deokjinkim/servo,saratang/servo,aweinstock314/servo,larsbergstrom/servo,walac/servo,dhananjay92/servo,cbrewster/servo,dmarcos/servo,pyecs/servo,canaltinova/servo,cbrewster/servo,anthgur/servo,mdibaiee/servo,jgraham/servo,notriddle/servo,notriddle/servo,GyrosOfWar/servo,pyfisch/servo,nrc/servo,nnethercote/servo,srbhklkrn/SERVOENGINE,emilio/servo,KiChjang/servo,youprofit/servo,dagnir/servo,saneyuki/servo,SimonSapin/servo,mbrubeck/servo,dvberkel/servo,RenaudParis/servo,srbhklkrn/SERVOENGINE,boghison/servo,s142857/servo,A-deLuna/servo,saneyuki/servo,emilio/servo,evilpie/servo,CJ8664/servo,evilpie/servo,WriterOfAlicrow/servo,pyfisch/servo,wpgallih/servo,brendandahl/servo,wpgallih/servo,avadacatavra/servo,mt2d2/servo,zentner-kyle/servo,ruud-v-a/servo,KiChjang/servo,tempbottle/servo,pgonda/servo,dsandeephegde/servo,zhangjunlei26/servo,huonw/servo,jdramani/servo,pgonda/servo,meh/servo,indykish/servo,nick-thompson/servo,peterjoel/servo,ryancanhelpyou/servo,wartman4404/servo,nrc/servo,anthgur/servo,dati91/servo,eddyb/servo,nnethercote/servo,saneyuki/servo,KiChjang/servo,pgonda/servo,echochamber/servo,indykish/servo,echochamber/servo,indykish/servo,pyecs/servo,nerith/servo,canaltinova/servo,aidanhs/servo,dvberkel/servo,s142857/servo,thiagopnts/servo,szeged/servo,tafia/servo,kindersung/servo,runarberg/servo,wpgallih/servo,szeged/servo,WriterOfAlicrow/servo,emilio/servo,meh/servo,jlegendary/servo,avadacatavra/servo,nnethercote/servo,karlito40/servo,zentner-kyle/servo,tafia/servo,Adenilson/prototype-viewing-distance,WriterOfAlicrow/servo,echochamber/servo,AnthonyBroadCrawford/servo,DominoTree/servo,paulrouget/servo,dagnir/servo,upsuper/servo,thiagopnts/servo,paulrouget/servo,s142857/servo,hyowon/servo,RenaudParis/servo,j3parker/servo,Adenilson/prototype-viewing-distance,mattnenterprise/servo,runarberg/servo,pyfisch/servo,anthgur/servo,samfoo/servo,ryancanhelpyou/servo,GreenRecycleBin/servo,aidanhs/servo,saratang/servo,dmarcos/servo,echochamber/servo,snf/servo,codemac/servo,brendandahl/servo,szeged/servo,caldwell/servo,sadmansk/servo,rnestler/servo,sadmansk/servo,larsbergstrom/servo,ConnorGBrewster/servo,dagnir/servo,snf/servo,sadmansk/servo,youprofit/servo,rentongzhang/servo,mdibaiee/servo,codemac/servo,rnestler/servo,pyfisch/servo,fiji-flo/servo,boghison/servo,cbrewster/servo,pyfisch/servo,GreenRecycleBin/servo,peterjoel/servo,mt2d2/servo,aidanhs/servo,aidanhs/servo,aweinstock314/servo,szeged/servo,ryancanhelpyou/servo,srbhklkrn/SERVOENGINE,nick-thompson/servo,jimberlage/servo,walac/servo,akosel/servo,SimonSapin/servo,dsandeephegde/servo,tempbottle/servo,notriddle/servo,indykish/servo,rentongzhang/servo,huonw/servo,ryancanhelpyou/servo,dagnir/servo,DominoTree/servo,szeged/servo,zhangjunlei26/servo,ConnorGBrewster/servo,boghison/servo,nrc/servo,jimberlage/servo,meh/servo,canaltinova/servo,s142857/servo,chotchki/servo,splav/servo,splav/servo,nick-thompson/servo,pgonda/servo,aidanhs/servo,thiagopnts/servo,steveklabnik/servo,A-deLuna/servo,mbrubeck/servo,srbhklkrn/SERVOENGINE,evilpie/servo,peterjoel/servo,youprofit/servo,g-k/servo,RenaudParis/servo,samfoo/servo,saneyuki/servo,chotchki/servo,s142857/servo,akosel/servo,nrc/servo,bjwbell/servo,mbrubeck/servo,runarberg/servo,j3parker/servo,canaltinova/servo,AnthonyBroadCrawford/servo,pyecs/servo,avadacatavra/servo,nick-thompson/servo,tafia/servo,s142857/servo,wartman4404/servo,karlito40/servo,CJ8664/servo,paulrouget/servo,chotchki/servo,kindersung/servo,avadacatavra/servo,jimberlage/servo,ryancanhelpyou/servo,SimonSapin/servo,dvberkel/servo,akosel/servo,caldwell/servo,GreenRecycleBin/servo,cbrewster/servo,j3parker/servo,KiChjang/servo,evilpie/servo,dagnir/servo,walac/servo,notriddle/servo,splav/servo,dsandeephegde/servo,mbrubeck/servo,pgonda/servo,chotchki/servo,indykish/servo,bjwbell/servo,g-k/servo,youprofit/servo,CJ8664/servo,sadmansk/servo,ConnorGBrewster/servo,indykish/servo,nick-thompson/servo,zhangjunlei26/servo,splav/servo,saneyuki/servo,saratang/servo,canaltinova/servo,dhananjay92/servo,g-k/servo,meh/servo,eddyb/servo,saneyuki/servo,tafia/servo,emilio/servo,chotchki/servo,jimberlage/servo,g-k/servo,RenaudParis/servo,GyrosOfWar/servo,jdramani/servo,wartman4404/servo,nnethercote/servo,ConnorGBrewster/servo,codemac/servo,A-deLuna/servo,fiji-flo/servo,emilio/servo,GreenRecycleBin/servo,dsandeephegde/servo,dhananjay92/servo,pyfisch/servo,CJ8664/servo,codemac/servo,deokjinkim/servo,j3parker/servo,rentongzhang/servo,saneyuki/servo,ruud-v-a/servo,anthgur/servo,canaltinova/servo,indykish/servo,notriddle/servo,fiji-flo/servo,jgraham/servo,huonw/servo,pyfisch/servo,luniv/servo,saratang/servo,nnethercote/servo,jdramani/servo,szeged/servo,szeged/servo,hyowon/servo,snf/servo,wpgallih/servo,dsandeephegde/servo,cbrewster/servo,mattnenterprise/servo,indykish/servo,mattnenterprise/servo,thiagopnts/servo,sadmansk/servo,jlegendary/servo,dati91/servo,ryancanhelpyou/servo,caldwell/servo,wpgallih/servo,caldwell/servo,anthgur/servo,rentongzhang/servo,upsuper/servo,fiji-flo/servo,eddyb/servo,dati91/servo,peterjoel/servo,rixrix/servo,paulrouget/servo,GyrosOfWar/servo,karlito40/servo,larsbergstrom/servo,saneyuki/servo,paulrouget/servo,zhangjunlei26/servo,brendandahl/servo,vks/servo,vks/servo,huonw/servo,runarberg/servo,ruud-v-a/servo,evilpie/servo,nerith/servo,GyrosOfWar/servo,dati91/servo,RenaudParis/servo,dmarcos/servo,nerith/servo,srbhklkrn/SERVOENGINE,kindersung/servo,tschneidereit/servo,emilio/servo,kindersung/servo,dagnir/servo,nnethercote/servo,sadmansk/servo,karlito40/servo,zhangjunlei26/servo,huonw/servo,larsbergstrom/servo,anthgur/servo,jdramani/servo,rnestler/servo,zentner-kyle/servo,paulrouget/servo,splav/servo,runarberg/servo,Adenilson/prototype-viewing-distance,dmarcos/servo,zentner-kyle/servo,jlegendary/servo,GyrosOfWar/servo,peterjoel/servo,walac/servo,zhangjunlei26/servo,akosel/servo,echochamber/servo,nnethercote/servo,mattnenterprise/servo,dsandeephegde/servo,dvberkel/servo,saratang/servo,jimberlage/servo,mdibaiee/servo,mt2d2/servo,saratang/servo,eddyb/servo,upsuper/servo,thiagopnts/servo,j3parker/servo,SimonSapin/servo,tempbottle/servo,DominoTree/servo,snf/servo,caldwell/servo,wpgallih/servo,dvberkel/servo,j3parker/servo,rnestler/servo,thiagopnts/servo,ConnorGBrewster/servo,upsuper/servo,pyecs/servo,g-k/servo,huonw/servo,bjwbell/servo,aweinstock314/servo,tempbottle/servo,wartman4404/servo,splav/servo,dhananjay92/servo,luniv/servo,SimonSapin/servo,fiji-flo/servo,meh/servo,GreenRecycleBin/servo,chotchki/servo,DominoTree/servo,wartman4404/servo,emilio/servo,zhangjunlei26/servo,DominoTree/servo,larsbergstrom/servo,wartman4404/servo,ConnorGBrewster/servo,ruud-v-a/servo,boghison/servo,wpgallih/servo,ConnorGBrewster/servo,vks/servo,srbhklkrn/SERVOENGINE,AnthonyBroadCrawford/servo,Adenilson/prototype-viewing-distance,steveklabnik/servo,eddyb/servo,tafia/servo,deokjinkim/servo,ryancanhelpyou/servo,mattnenterprise/servo,jgraham/servo,hyowon/servo,deokjinkim/servo,steveklabnik/servo,upsuper/servo,runarberg/servo,jlegendary/servo,CJ8664/servo,hyowon/servo,larsbergstrom/servo,rixrix/servo,zentner-kyle/servo,dmarcos/servo,evilpie/servo,KiChjang/servo,karlito40/servo,KiChjang/servo,s142857/servo,WriterOfAlicrow/servo,notriddle/servo,aweinstock314/servo,mdibaiee/servo,walac/servo,dati91/servo,tafia/servo,DominoTree/servo,jgraham/servo,rixrix/servo,nrc/servo,canaltinova/servo,larsbergstrom/servo,pyfisch/servo,peterjoel/servo,GyrosOfWar/servo,CJ8664/servo,dhananjay92/servo,mbrubeck/servo,rnestler/servo,GreenRecycleBin/servo,luniv/servo,pyecs/servo,rnestler/servo,jlegendary/servo,mt2d2/servo,anthgur/servo,rixrix/servo,youprofit/servo,jdramani/servo,pgonda/servo,peterjoel/servo,nick-thompson/servo,karlito40/servo,ConnorGBrewster/servo,AnthonyBroadCrawford/servo,WriterOfAlicrow/servo,CJ8664/servo,steveklabnik/servo,dhananjay92/servo,jlegendary/servo,dati91/servo,echochamber/servo,cbrewster/servo,peterjoel/servo,boghison/servo,notriddle/servo,Adenilson/prototype-viewing-distance,rixrix/servo,tschneidereit/servo,SimonSapin/servo,DominoTree/servo,larsbergstrom/servo,samfoo/servo,youprofit/servo,vks/servo,thiagopnts/servo,dmarcos/servo,luniv/servo,nerith/servo,thiagopnts/servo,snf/servo,mt2d2/servo,samfoo/servo,caldwell/servo,samfoo/servo,nnethercote/servo,fiji-flo/servo,brendandahl/servo,boghison/servo,tschneidereit/servo,indykish/servo,Adenilson/prototype-viewing-distance,nerith/servo,deokjinkim/servo,brendandahl/servo,KiChjang/servo,tempbottle/servo,RenaudParis/servo,nrc/servo,splav/servo,splav/servo,larsbergstrom/servo,samfoo/servo,jgraham/servo,tempbottle/servo,evilpie/servo,bjwbell/servo,vks/servo,karlito40/servo,A-deLuna/servo,nrc/servo,aidanhs/servo,jimberlage/servo,tschneidereit/servo,sadmansk/servo,eddyb/servo,codemac/servo,KiChjang/servo,nerith/servo,jimberlage/servo,mdibaiee/servo,g-k/servo,meh/servo,rixrix/servo,cbrewster/servo,notriddle/servo,avadacatavra/servo,tschneidereit/servo,nnethercote/servo,DominoTree/servo,notriddle/servo,ruud-v-a/servo,saneyuki/servo,avadacatavra/servo,echochamber/servo,pyfisch/servo,hyowon/servo,hyowon/servo,upsuper/servo,szeged/servo,rnestler/servo,mattnenterprise/servo,jlegendary/servo,tschneidereit/servo,jimberlage/servo,szeged/servo,rixrix/servo,evilpie/servo,dsandeephegde/servo,tafia/servo,peterjoel/servo,deokjinkim/servo,rnestler/servo,SimonSapin/servo,aweinstock314/servo,emilio/servo,rixrix/servo,zhangjunlei26/servo,jdramani/servo,runarberg/servo,DominoTree/servo,meh/servo,avadacatavra/servo,saratang/servo,mt2d2/servo,dvberkel/servo,zentner-kyle/servo,jimberlage/servo,dhananjay92/servo,fiji-flo/servo,RenaudParis/servo,dati91/servo,paulrouget/servo,dagnir/servo,mdibaiee/servo,mdibaiee/servo,mt2d2/servo,eddyb/servo,rentongzhang/servo,upsuper/servo,aidanhs/servo,tschneidereit/servo,snf/servo,zhangjunlei26/servo,bjwbell/servo,mbrubeck/servo,kindersung/servo,nnethercote/servo,fiji-flo/servo,akosel/servo,cbrewster/servo,AnthonyBroadCrawford/servo,splav/servo,anthgur/servo,splav/servo,tempbottle/servo,GyrosOfWar/servo,wpgallih/servo,akosel/servo,g-k/servo,AnthonyBroadCrawford/servo,samfoo/servo,nick-thompson/servo,KiChjang/servo,paulrouget/servo,larsbergstrom/servo,caldwell/servo,pyecs/servo,rentongzhang/servo,dsandeephegde/servo,walac/servo,A-deLuna/servo,srbhklkrn/SERVOENGINE,j3parker/servo,hyowon/servo,paulrouget/servo,mbrubeck/servo,sadmansk/servo,pyecs/servo,snf/servo,aweinstock314/servo,boghison/servo,luniv/servo,aweinstock314/servo,DominoTree/servo,dvberkel/servo,WriterOfAlicrow/servo,bjwbell/servo,akosel/servo,rixrix/servo,GreenRecycleBin/servo,AnthonyBroadCrawford/servo,codemac/servo,KiChjang/servo,nerith/servo,rentongzhang/servo,bjwbell/servo,emilio/servo,avadacatavra/servo,evilpie/servo,vks/servo,pgonda/servo,SimonSapin/servo,WriterOfAlicrow/servo,paulrouget/servo,mattnenterprise/servo,eddyb/servo,A-deLuna/servo,canaltinova/servo,A-deLuna/servo,codemac/servo,youprofit/servo,deokjinkim/servo,saneyuki/servo,Adenilson/prototype-viewing-distance,brendandahl/servo,steveklabnik/servo,notriddle/servo,luniv/servo,steveklabnik/servo,huonw/servo,steveklabnik/servo,dati91/servo,kindersung/servo,mbrubeck/servo,peterjoel/servo