Faits: A. G._, né en 1949, de nationalité suisse, marié et père de deux enfants, a obtenu un certificat fédéral de capacité de dessinateur en génie civil et béton armé en 1971. A partir de cette date, il a travaillé au service de différents employeurs. Le 3 juillet 2000, il a été engagé par la société A._ pour le compte de la société B._, à Marrakech (Maroc), en qualité de secrétaire général. Il a été licencié pour motifs économiques avec effet au 30 novembre 2004. L'assuré a présenté une demande d'indemnité de chômage à partir du 1er décembre 2004. Dans sa demande, il a indiqué être domicilié à C._, à E._ (CH). Un délai-cadre d'indemnisation a alors été ouvert pour la période du 1er décembre 2004 au 30 novembre 2006 et la Caisse cantonale de chômage du canton de Genève (ci-après: la caisse) lui a alloué des indemnités de chômage pour un montant total de 149'587 fr. 30. Le 27 février 2007, la caisse a ouvert une enquête afin de savoir si l'assuré était effectivement domicilié en Suisse. Par décision du 30 août 2007, confirmée sur opposition le 7 janvier 2008, elle a nié le droit de l'intéressé à une indemnité de chômage depuis le 1er décembre 2004 et lui a réclamé la restitution d'un montant de 149'587 fr. 30 représentant les prestations indûment perçues à partir de cette date. Elle a considéré que l'assuré n'avait pas son domicile en Suisse dès lors que lui et sa famille étaient établis à D._, en France voisine, depuis 2002. B. G._ a recouru devant le Tribunal cantonal des assurances sociales du canton de Genève en concluant à l'annulation de la décision sur opposition, subsidiairement à son annulation « en ce que la restitution des indemnités reçues ne peut être réclamée ». Par jugement du 9 octobre 2008, la juridiction cantonale a rejeté le recours dans la mesure où il était recevable. Elle a considéré, en résumé, que l'assuré n'avait pas son domicile en Suisse et que, par ailleurs, il ne pouvait pas se prévaloir des règles de coordination de l'Accord sur la libre circulation des personnes (ALCP), en particulier son annexe II concernant la « Coordination des systèmes de sécurité sociale », pour avoir droit aux prestations de l'assurance-chômage suisse. C. G._ interjette un recours en matière de droit public contre ce jugement en concluant, sous suite de frais et dépens, à l'annulation de la décision sur opposition de restitution des indemnités de chômage perçues, subsidiairement au renvoi de la cause à la juridiction cantonale pour instruction complémentaire et nouveau jugement. La caisse intimée conclut au rejet du recours, ce que propose également le Secrétariat d'Etat à l'économie (seco). Par ordonnance du 19 février 2009, le Tribunal fédéral a rejeté la demande d'assistance judiciaire présentée par le recourant.