Grease and flour cake pans (2 8″ or 9″ rounds, or a 13×9″ pan). Seat parchment in the bottom of the rounds, if using. Heat oven to 350°F.
In a medium bowl, sift together flour, salt, and baking powder.
In another medium bowl, beat together oil and 1 1/2 cups of the sugar until light and fluffy. Stir in vanilla and coconut extracts. Add flour and milk, alternating between the two in small additions. Mix until blended.
In the container of a stand mixer, or in a large bowl with a hand blender, mix egg whites until stiff peaks form. Add remaining 2 tbsp sugar and beat until incorporated. Gently stir egg whites into batter.
Empty batter into prepared pans. Bake 35-51 minutes, or until a toothpick entered into the center comes out clean. Chill 10 minutes before removing cakes from pans (if using rounds) to cool completely.
To prepare the frosting, prepare a double boiler by filling a small saucepan with about 2 inches of water and bringing it to a gentle simmer.
In a heatproof bowl, combine sugar, egg whites, water, and cream of tartar on low speed for about 30 seconds to blend. Put the bowl on top of the saucepan. The water in the saucepan should not touch the bowl. Beat mixture on high speed for 7 minutes, or until it is stiff and shiny. Remove from heat, add vanilla, and beat until vanilla is incorporated.
To make the frosting in a stand mixer instead of a double boiler, heat sugar and water in a small saucepan on the stove. Bring to a boil, then turn the heat down and simmer for 3 minutes. Meanwhile, beat egg whites and cream of tartar to combine. Slowly pour sugar mixture into egg whites while the mixer is running on high. Beat until stiff peaks form and the mixture is shiny. Mix in the vanilla until completely incorporated.
Frost completely cooled as shortly as the frosting is finished, as it will firm up upon standing.
Gently press coconut into the frosting to cover the cake.