Faits:
A. Par décision du 21 décembre 2005, confirmée sur opposition le 26 septembre 2007, l'Office cantonal de l'assurance-invalidité du canton de Genève (l'office AI) a alloué une rente entière d'invalidité à G._, cette prestation étant limitée au 31 août 2005. Le 31 octobre 2007, l'assurée a déféré cette décision au Tribunal cantonal des assurances sociales de la République et canton de Genève en concluant au maintien de la rente, fondée sur un degré d'invalidité de 75 % (conclusions nos 1 et 2); elle a par ailleurs conclu à la condamnation de l'office AI « aux frais et dépens de la présente procédure, comprenant une conséquente mais équitable indemnité valant participation aux honoraires du Conseil soussigné » (conclusion no 3). Après examen du recours, l'office AI a, par décision du 21 décembre 2007, rétabli le versement de la rente avec effet rétroactif, annulé sa décision sur opposition du 26 septembre 2007, en précisant qu'une nouvelle décision de rente entière sujette à recours serait notifiée.
Par jugement du 17 janvier 2008, le Tribunal cantonal a pris acte de la décision du 21 décembre 2007 de l'office AI d'annuler sa décision du 26 septembre 2007 et de renvoyer la cause à l'administration pour nouvelle décision, déclaré le recours sans objet, rayé la cause du rôle et renvoyé celle-ci à l'office AI (ch. 1 à 4 du dispositif), puis condamné ce dernier à verser à l'assurée la somme de 1'000 fr. à titre de participation à ses frais et dépens (ch. 5 du dispositif). Le 19 février 2008, G._ a saisi la juridiction cantonale de recours d'une « réclamation » portant sur le montant de la participation à ses frais et dépens, en concluant à ce qu'il fût augmenté à 16'760 fr. Par jugement du 25 septembre 2008, le Tribunal cantonal s'est déclaré incompétent pour connaître de cette réclamation et a refusé d'entrer en matière; le 24 novembre 2008, il a transmis le dossier au Tribunal fédéral comme objet de sa compétence. Par arrêt du 20 janvier 2009 auquel il est renvoyé (9C_993/2008), le Tribunal fédéral a déclaré le recours irrecevable, en rappelant à G._ qu'elle pourrait faire valoir auprès de l'office intimé les prétentions relatives à ses frais et dépens qu'elle avait élevées dans son écriture du 19 février 2008, étant précisé qu'une voie de droit resterait ouverte si elle ne devait pas obtenir satisfaction.
Entre-temps, le 24 juillet 2008, l'office AI a rendu une nouvelle décision par laquelle il a fixé les montants de la rente entière simple d'invalidité de l'assurée, pour les périodes s'étendant de septembre 2005 à décembre 2006, de janvier 2007 à juin 2008, et depuis le mois de juillet 2008. Cette décision ne figurait pas au dossier 9C_993/2008; il n'en a pas été fait état dans le jugement du 25 septembre 2008 et la lettre de transmission du 24 novembre 2008.
B. G._ s'est adressée à l'office AI, par lettre du 10 février 2009, en lui demandant le remboursement de l'intégralité de ses frais et dépens pour la procédure d'opposition (12'912 fr.) et la procédure judiciaire (16'760 fr.), soit un total de 29'672 fr.
Par décision du 2 mars 2009, l'office AI a refusé de donner suite à cette requête.
C. G._ interjette un recours en matière de droit public contre la décision de l'office AI du 2 mars 2009, en concluant avec suite de frais et dépens à ce que ledit office soit condamné à lui verser la somme de 29'672 fr. au titre de ses frais et dépens de l'instance cantonale. Plus particulièrement, la recourante demande le paiement d'un montant de 16'670 fr. (TVA incluse) au titre de frais et dépens de procédure judiciaire, ainsi que le versement d'une somme de 12'912 fr. (TVA incluse) à titre d'indemnisation pour ses frais et dépens générés par la procédure non contentieuse d'opposition.
L'intimé conclut principalement à l'irrecevabilité du recours, subsidiairement à son rejet pour le cas où il serait recevable.

Considérant en droit:
1. Par décision du 26 septembre 2007, l'office intimé a rejeté l'opposition interjetée le 19 janvier 2006, maintenu sa décision du 21 décembre 2005 et dit que la procédure était gratuite (ch. 1 à 3 du dispositif); il n'a pas abordé le droit à des dépens. Dans son recours du 31 octobre 2007, de même que dans sa réclamation du 19 février 2008, la recourante n'a pas contesté la décision du 26 septembre 2007 dans la mesure où celle-ci ne lui accordait aucune indemnité de frais et dépens pour la procédure d'opposition. Par ailleurs, le 19 février 2008, la recourante a uniquement conclu à la réforme du ch. 5 du dispositif du jugement du 17 janvier 2008, en ce sens que la somme allouée à titre de remboursement de ses frais et dépens fût portée de 1'000 fr. à 16'760 fr.; son argumentation portait essentiellement sur l'application de l'art. 61 let. g LPGA, sans référence à l'éventualité envisagée à l'<ref-law>, 2e phrase.
La recourante n'a pas contesté en temps utile (<ref-law>) l'absence d'indemnité pour frais et dépens en relation avec la procédure d'opposition. Les prétentions de 12'912 fr. qu'elle élève en procédure fédérale sont donc tardives et irrecevables (<ref-law>).
2. La conclusion portant sur le versement d'une somme de 16'760 fr. à titre de frais et dépens pour la procédure cantonale de recours est dirigée contre le ch. 5 du dispositif du jugement du 17 janvier 2008, que la recourante avait jadis vainement déféré au Tribunal fédéral pour les motifs exposés dans l'arrêt 9C_993/2008. Comme il n'existe maintenant plus de décision finale susceptible d'être attaquée (la décision du 24 juillet 2008 n'a pas fait l'objet d'un recours), cette conclusion est recevable conformément à la jurisprudence (<ref-ruling>).
En l'espèce, le montant alloué par la juridiction cantonale pour frais et dépens (1'000 fr.) n'est pas motivé. De plus, les juges cantonaux n'ont manifestement pas tenu compte des frais engagés par le mandataire de la recourante, ni examiné leur pertinence, ce qu'il sied de constater d'office (<ref-law>). Il s'ensuit que le ch. 5 du dispositif du jugement du 17 janvier 2008 sera annulé, la cause étant renvoyée au tribunal cantonal afin qu'il reprenne l'examen du montant de l'indemnité pour frais et dépens et rende une nouvelle décision motivée sur cette question.
3. L'intimé, qui succombe, supportera les frais de la procédure (<ref-law>). Pour le même motif, il est redevable d'une indemnité de dépens à la recourante (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est admis dans la mesure où il est recevable, la cause étant renvoyée au Tribunal cantonal des assurances sociales de la République et canton de Genève pour qu'il procède conformément au considérant 2.
2. Les frais judiciaires, arrêtés à 500 fr., sont mis à la charge de l'intimé.
3. L'intimé versera à la recourante la somme de 2'000 fr. (y compris la TVA) à titre de dépens pour la procédure fédérale.
4. Le présent arrêt est communiqué aux parties et à l'Office fédéral des assurances sociales.
Lucerne, le 20 octobre 2009
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
Le Président: Le Greffier:
Meyer Berthoud