Me parece rara la frase ya que no hay objeto que vaya con el verbo "took". ¿Es una frase común?
Respuesta de un hablante nativo
Rebecca
"What took (you) so long?" es una frase hecha. "take so long" significa "tardar tanto", dedicar mucho tiempo a hacer algo. En este caso, sirve para preguntar qué han estado haciendo para haber tardado tanto. Hay que ir con cuidado, porque aunque es una frase muy idiomática, tiene una connotación crítica o acusatoria. Casi cualquier pregunta de este tipo suena acusatoria (y dependiendo de otros factores como el tono de voz del orador, la relación entre emisor y receptor, etc puede sonar agresiva.)