Faits: A. A.a Y._ AG (ci-après: Y._), dont le siège est à ..., a pour but le développement, la construction, la commercialisation, l'entretien et la location d'aéronefs de tous types. Faisant partie du groupe W._, W.A._ SA a été inscrite au registre du commerce de Genève le 26 janvier 1989; elle a pour but l'achat, la vente, la location, l'affrètement, l'exploitation, l'entretien et la réparation d'avions et d'autres moyens de transport aériens ainsi que toutes activités commerciales ou de service y relatives. Cette société détenait les actions de A._ SA (ci-après: A._), également inscrite au registre du commerce de Genève et active notamment dans l'achat et la vente d'avions. A.b Y._ a manifesté son intérêt pour l'acquisition de A._ en 1995. Au printemps de cette année-là, la société de ... a engagé des négociations avec la banque B._ (ci-après: B._). En effet, le groupe W._, proche de la faillite, avait signé un moratoire devant lui permettre un assainissement et, selon l'article 5 de ce document, «B._ exerçait le rôle de chef de file dans le cadre des rapports des banques entre elles, des rapports avec le groupe W._ ainsi qu'avec des tiers éventuels en rapport avec le moratoire». Le 5 mai 1995, Y._ a remis à I._, représentant B._, et à J._, administrateur de W.A._ SA, une Due Diligence Checklist énumérant les informations qu'elle souhaitait recevoir afin d'établir une offre d'achat de A._, à savoir, notamment, une description sommaire portant sur «tous les litiges, arbitrages ou procédures administratives, déposés, en voie de l'être, transigés ou jugés depuis le 1er janvier 1992», sur «toutes les demandes ou allégations actuelles ou potentielles faites à l'encontre, ou notifiées à la société, qui ne font pas encore l'objet d'un litige, d'un arbitrage ou d'une procédure administrative» ainsi que, de manière générale, sur «tous les faits ou événements qui affectent ou risquent d'affecter d'une manière négative la société ou ses affaires». En juillet 1995, B._ a remis à Y._ un dossier confidentiel intitulé Information Memorandum contenant des informations détaillées sur les activités de A._ ainsi que les comptes audités de la société de 1991 à 1994. La banque a demandé à Y._ de lui soumettre une offre écrite et ferme comprenant notamment le prix qu'elle était disposée à payer pour acquérir la totalité des actions de A._; en cas d'acceptation de l'offre par W.A._ SA, des principes d'accord pour le contrat de vente d'actions seraient soumis à Y._, laquelle pourrait ensuite mener une procédure de due diligence complète de A._. La banque rappelait en outre à Y._ qu'aucun contact de quelque type que ce soit ne devait être pris avec A._ ou sa direction, toute demande de renseignement devant être adressée directement à B._. Par courrier du 25 août 1995, Y._ a déploré le caractère lacunaire de la documentation produite par B._; elle a retourné la Checklist à la banque et lui a demandé de lui fournir les renseignements sollicités. Le 22 septembre 1995, Y._ a offert un montant de 10'200'000 fr. pour la reprise des activités commerciales de A._, comprenant tous les actifs et les passifs mentionnés dans le bilan. Comme, malgré ses requêtes, des informations détaillées n'étaient pas disponibles, Y._ soumettait son offre, notamment, à l'assurance de W.A._ SA que toutes les informations fournies étaient correctes, complètes et actuelles (point 4.1) et à l'assurance du règlement de toutes les actions en responsabilité actuelles et potentielles résultant de l'activité de A._ jusqu'au jour de la transaction (point 4.2). Le 25 octobre 1995, B._ a confirmé, en réponse au point 4.1, que la venderesse garantirait, dans une Disclosure Letter, l'exactitude de toutes les informations fournies et s'efforcerait d'assurer le caractère complet et à jour de celles-ci; en réponse au point 4.2, la banque a précisé que la venderesse révélerait toutes les plaintes ou tous les problèmes et événements dont elle avait connaissance et qui pourraient donner lieu à de futures actions judiciaires. Le 4 décembre 1995, B._ a remis à Y._ une liste des annexes de la Disclosure Letter, qui mentionnait notamment les «engagements en cours, poursuites judiciaires et procès». En février 1996, Y._ a informé B._ que, vu le caractère insuffisamment précis de certaines informations, elle souhaitait la conclusion d'un contrat de vente d'actifs. B._ a répondu que seule une vente d'actions était envisageable. Le 23 février 1996, Y._ a indiqué à B._ qu'une offre ne pourrait être faite qu'à l'issue d'une procédure de due diligence complète. Trois jours plus tard, B._ a fait part à Y._ de sa déception liée au fait que tous les éléments apportés jusqu'alors ne satisfaisaient toujours pas l'acquéreur potentiel; elle a décidé d'interrompre les négociations. Les pourparlers ont repris en juillet 1996. Y._ devait présenter une offre qui, si elle était acceptée par W.A._ SA, lui permettrait d'effectuer une procédure de due diligence. Le 26 août 1996, Y._ a adressé à B._ une offre d'achat des actions de A._ pour un montant de 6'750'000 fr., assortie de diverses conditions; elle précisait que le montant proposé serait réduit si la due diligence ne devait pas lui donner satisfaction. Le 6 septembre 1996, B._ a accepté que Y._ procède à une due diligence complète et finale, à la suite de laquelle un prix serait fixé d'entente entre les parties. Quelques jours plus tard, W.A._ SA a confirmé à Y._ que les documents fournis étaient complets. Le 7 octobre 1996, Y._ a informé B._ qu'elle avait commencé la due diligence, mais qu'elle avait encore besoin d'informations supplémentaires sur deux cas litigieux («...» et «...»). Les deux affaires en cause sont les seules citées au point 9.11 de la Due Diligence Request List du 28 octobre 1996, lequel avait trait en particulier à l'«état de tout différend avec des clients ou des fournisseurs, [aux] descriptions sommaires de toute demande de dommages-intérêts actuelle ou potentielle ou d'allégations faites contre ou portées à la connaissance de la société qui n'ont pas encore abouti à une procédure arbitrale ou administrative et [à] toute violation actuelle par la société de lois ou règlements». Le 12 mars 1997, W.A._ SA et Y._ ont conclu un contrat de vente des actions de A._ (Share Purchase Agreement) pour un montant de 7'500'000 fr., réduit à 7'350'000 fr. par avenant du 8 avril 1997. L'accord contient notamment les articles suivants (traduction): 4. Déclarations et garanties du vendeur Sous réserve des matières mentionnées dans la «Disclosure Letter», le vendeur déclare et garantit pour la société ce qui suit, à compter de la date des présentes et par rapport aux faits et circonstances existantes à la date de clôture: (...) 4.4 Comptes de résultats (...) Les comptes de résultats ont été préparés conformément aux principes comptables généralement acceptés et régulièrement appliqués en Suisse. Il ressort qu'à la date du 31 décembre 1996, la société n'avait pas d'autre passif (y compris passif éventuel) que celui figurant dans les comptes de résultats. (...) 4.7 Plaintes et litiges A l'exception des informations mentionnées dans la «Disclosure Letter» à la date présente, il n'existe aucune action en justice, plainte, procès, enquête ou procédure en cours ou menaçant de l'être ou susceptible d'être intenté contre la société dans un tribunal ou tout tribunal arbitral, conseil, agence ou commission administratifs. 4.14 Divulgation Toutes les informations fournies par le vendeur ou pour son compte au sujet de la transaction visée dans le présent contrat sont exactes à tous points de vue, et le vendeur certifie n'avoir connaissance d'aucun fait hautement défavorable par rapport à la société, ses biens, ses activités, ses opérations, sa situation financière, qui ne serait pas divulgué dans le présent contrat ou ses annexes. 5. Recours 5.1 Validité des garanties et déclarations Les déclarations ainsi que les garanties mentionnées à l'article 4 du présent contrat resteront en vigueur durant un an à compter de la date de la clôture. (...) Le 10 avril 1997, Y._ et W.A._ SA ont établi une note de clôture afin de finaliser la vente du 12 mars 1997. Les certificats d'actions qui correspondent aux 13'300 actions formant la totalité du capital-actions de A._, ont été remis à Y._. En décembre 1998, la raison sociale de W.A._ SA a été modifiée en X._ SA (ci-après: X._). A.c C._ Company Limited (ci-après: C._) est une société de droit maltais active dans le négoce de céréales. Dans les années 1990, K._ et L._ ont été tous deux administrateurs de cette société. Par contrat du 29 décembre 1992, A._ a vendu à C._ un avion de type ..., aménagé et équipé, pour le prix total de 17'595'000 USD, soit 15'150'000 USD pour l'avion en configuration «Green» et 2'445'000 USD pour l'aménagement intérieur et des équipements à option dont la réalisation était confiée à D._. Le paiement intervenait par acomptes. Le prix de l'avion devait être réglé à raison de 500'000 USD le 21 décembre 1992, 2'500'000 USD le 4 janvier 1993 et le solde le 31 mai 1993; le prix de l'aménagement intérieur et des équipements optionnels était payable par 244'500 USD le 4 janvier 1993, 489'000 USD le 15 mars 1993, 489'000 USD le 30 avril 1993 et 1'222'500 USD le 31 mai 1993. L'article 3 du contrat prévoyait ce qui suit: "Les sommes versées par l'acheteur à titre d'acompte correspondent à des arrhes qui seront considérées comme un acompte en cas de bonne et fidèle exécution du contrat. En revanche, en cas d'inexécution par l'acheteur de l'une ou l'autre clause du contrat, les arrhes versées resteront irrévocablement acquises au vendeur". Quant à l'article 4 du contrat, il avait la teneur suivante: "Tout retard de plus de 10 jours dans le paiement par l'acheteur d'un acompte ou du solde du prix sera considéré comme une inexécution du contrat et le vendeur sera en droit de s'en départir immédiatement sans avis ni mise en demeure, et de conserver les arrhes versées conformément à l'article 3 du présent contrat". Le 7 janvier 1993, A._ a acheté à E._, constructeur du ..., l'avion faisant l'objet du contrat avec C._. Le 20 janvier 1993, elle a conclu un contrat avec D._ pour les travaux d'aménagement intérieur de l'avion. Les 23 décembre 1992, 6 janvier 1993 et 23 mars 1993, C._ a versé à A._ les acomptes prévus par le contrat, pour un montant total de 3'733'500 USD. Le 30 avril 1993, C._ n'a pas versé l'acompte convenu de 489'000 USD. Un délai au 10 mai 1993 lui a alors été accordé; vu le délai de grâce de dix jours stipulé à l'article 4 du contrat, cette somme devait être versée au plus tard le 20 mai 1993. Par télécopie du 19 mai 1993, C._ a expliqué à A._ que K._, habilité à procéder au transfert d'argent, faisait l'objet d'une enquête en Italie et n'était pas en mesure d'opérer le versement à la date convenue; elle demandait un délai supplémentaire pour le versement de l'acompte, confirmant sa volonté d'acquérir l'avion. Par courrier du 25 mai 1993 adressé à C._, A._ a constaté que l'acheteur ne s'était pas acquitté du montant de 489'000 USD dû le 10 mai 1993 et payable au plus tard le 20 mai 1993; invoquant les articles 3 et 4 du contrat, elle résiliait la convention avec effet immédiat et relevait que le montant déjà versé de 3'733'500 USD lui restait acquis. Le 24 août 1993, C._, sous la plume de Me M._, a contesté la résiliation du contrat intervenue le 25 mai 1993 et a fait savoir à A._ qu'elle n'était pas légitimée à conserver les paiements déjà effectués; elle déclarait par ailleurs être toujours intéressée à acquérir l'avion. Il n'est pas établi qu'entre cet épisode et le 7 novembre 2002, A._ et C._ aient eu des contacts à propos de la vente du ... A la suite de la résiliation par A._ du contrat conclu avec C._, le groupe W._ a repris les contrats de A._ avec E._ et D._. Le 18 octobre 1993, l'avion a été enregistré au registre suisse des aéronefs, W.B._ SA étant mentionnée comme propriétaire; à cette date, il était grevé d'une hypothèque de 13'000'000 fr. (contre-valeur de 9'000'000 USD) en faveur de E._. Le 8 novembre 1994, l'avion a été revendu avec l'hypothèque à F._ SA, dont N._ était l'actionnaire; W.B._ SA restait débitrice de la dette hypothécaire. En janvier 1995, E._ a engagé une poursuite en réalisation de gage à l'encontre de W.B._ SA et a fait saisir l'avion. N._ a alors déposé une plainte pénale contre l'un des membres du conseil d'administration de W.B._ SA. Dans le cadre de la procédure pénale ouverte à Genève, deux classeurs ont été saisis dans les locaux de A._; ils contenaient les pièces liées à la vente du ... à C._, dont la lettre de Me M._ du 24 août 1993. L'avion et l'hypothèque ont été définitivement radiés du registre des aéronefs le 19 novembre 1995. Le 4 novembre 1997, le Procureur général du canton de Genève a informé A._ que la procédure pénale était terminée et que les pièces saisies pouvaient être restituées, ce qui a été fait au début 1998, à une date indéterminée. Y._ allègue n'avoir pris connaissance des deux classeurs susmentionnés qu'à fin 2002. A.d Le 7 novembre 2002, C._ a réclamé à A._ la restitution des acomptes versés entre le 21 décembre 1992 et le 15 mars 1993, à titre de dommages-intérêts pour la résiliation abusive du contrat. Elle qualifiait le comportement de A._ de contraire à la bonne foi dans la mesure où son partenaire contractuel savait pertinemment qu'elle n'était pas en mesure de payer l'acompte à temps en raison de l'incarcération des seules personnes habilitées à ordonner le paiement, soit K._ et L._. En outre, C._ a invité A._ à lui remettre une déclaration de renonciation à la prescription. Le 20 novembre 2002, A._ a signé une déclaration de renonciation à l'exception de prescription, pour autant que les prétentions de C._ ne soient pas déjà prescrites. La veille, Y._ avait envoyé un courrier recommandé à X._ pour l'informer de la prétention de C._ et pour s'étonner de n'avoir été tenue au courant de ce litige ni lors de la procédure de due diligence, ni dans la Disclosure Letter. Par lettre du 28 novembre 2002, Y._ a avoué à X._ qu'elle ne comprenait pas pourquoi le montant des acomptes n'avait pas été comptabilisé en 1993, ce qui avait eu un impact sur les bilans de 1995 et de 1996, lesquels avaient été pourtant garantis par le contrat de vente du 12 mars 1997. Y._ a déclaré que si C._ devait obtenir gain de cause, elle tiendrait X._ pour responsable de la totalité du dommage. A la demande de Y._, X._ a établi le 5 décembre 2002 une déclaration de renonciation à la prescription valable jusqu'au 31 décembre 2003, pour autant que la prescription ne soit pas déjà acquise. Elle a renouvelé sa déclaration par courrier du 27 avril 2005 jusqu'au 31 janvier 2006, puis par lettre du 10 avril 2006 jusqu'au 31 décembre 2007. A.e Le 18 novembre 2003, K._ et L._, auxquels C._ avait cédé sa créance, ont ouvert action contre A._ en paiement de 3'733'500 USD avec intérêts à 5% dès le 6 août 1993. Au terme de la procédure, après plusieurs recours dont l'un a abouti à un arrêt du Tribunal fédéral du 13 février 2006 (cause 4C.296/2005; ATF 132 III 226), le Tribunal fédéral a, par arrêt du 15 mars 2007 (cause 4C.374/2006), réformé l'arrêt du 15 septembre 2006 de la Cour de justice genevoise en ce sens que A._ était condamnée à payer aux demandeurs, avec solidarité entre eux, le montant de 1'974'000 USD, plus intérêts à 5% dès le 6 août 1993. En substance, le Tribunal fédéral a jugé que les acomptes conservés par A._ à la suite de la résiliation du contrat constituaient une peine conventionnelle manifestement excessive, qu'il se justifiait de réduire à 10% du prix total de l'avion, soit à 1'759'500 USD; A._ devait ainsi restituer un montant de 1'974'000 USD (3'733'500 - 1'759'500). Le recours de droit public formé parallèlement a été rejeté dans la mesure où il était recevable (arrêt du 15 mars 2007 dans la cause 4P.282/2006). A.f Le 4 avril 2007, Y._ a fait notifier à X._ un commandement de payer les montants suivants: - 2'467'000 fr. avec intérêts à 5% dès le 6 août 1993, contre-valeur de 1'974'000 USD, à titre de dommages-intérêts; - 16'400 fr. avec intérêts à 5% dès le 15 mars 2007, représentant les frais et dépens à la suite de l'arrêt du Tribunal fédéral du 15 mars 2007 (recours en réforme); - 42'000 fr. avec intérêts à 5% dès le 15 mars 2007, représentant les frais et dépens à la suite de l'arrêt du Tribunal fédéral du 15 mars 2007 (recours de droit public); - 10'000 fr. avec intérêts à 5% dès le 13 février 2006, représentant les frais et dépens à la suite de l'arrêt du Tribunal fédéral du 13 février 2006; - 200'000 fr. avec intérêts à 5% dès le 1er janvier 2005, représentant les frais d'avocat, les frais de justice et les dépens au niveau cantonal. X._ a formé opposition. En date du 4 avril 2007, Y._ a vendu les actions de A._ à Z._ pour un prix non connu. L'article 5.3 du contrat prévoit notamment que Y._ continuera de mener, à ses frais et risques, certaines procédures en cours, dont l'affaire C._. B. Par acte déposé le 23 novembre 2007, Y._ a assigné X._ en paiement devant le Tribunal de première instance du canton de Genève. Elle concluait à ce que la défenderesse soit condamnée à lui payer, à titre de réduction du prix de vente, la somme de 5'077'560 fr. - contre-valeur en mars 1997 du montant de 3'733'500 USD - avec intérêts à 5% dès le 10 avril 1997, ainsi que les montants réclamés dans le commandement de payer; par la suite, elle réduira de 200'000 fr. à 151'240 fr. la prétention en remboursement des frais d'avocat et de justice au niveau cantonal. Y._ demandait également la mainlevée définitive de l'opposition. Alternativement, la demanderesse concluait à la condamnation de X._ à lui verser, à titre de perte éprouvée, la somme de 4'074'745 fr.46 avec intérêts à 5% dès le 25 mai 2007 ainsi que, à titre de gain manqué sur la revente des actions A._ à Z._, le montant de 500'000 fr. avec intérêts à 5% dès le 10 avril 1997. Sur la base d'une action en garantie pour les défauts, Y._ entendait obtenir la réduction du prix de vente et la réparation du dommage consécutif au défaut. Elle faisait valoir que la défenderesse lui avait garanti l'exactitude des pièces comptables et l'absence de défaut de la chose vendue, ce qui avait été décisif pour elle lors de la conclusion du contrat; or, le litige avec C._ constituait un tel défaut et lui avait été dissimulé. Y._ invoquait la nullité de la clause limitative de garantie en raison du dol de la défenderesse, qui avait délibérément caché l'existence de l'affaire précitée. En raison de son comportement dolosif, X._ ne pouvait non plus se prévaloir du délai de prescription d'un an prévu à l'article 5 du contrat. X._ s'est opposée à la demande. En particulier, elle a contesté le dol et invoqué la prescription des prétentions de Y._, intervenue, selon elle, un an après la finalisation de la vente, soit le 10 avril 1998. Par jugement du 18 juin 2009, le tribunal a débouté Y._ de toutes ses conclusions. Statuant le 16 avril 2010 sur appel de Y._, la Chambre civile de la Cour de justice du canton de Genève a annulé le jugement de première instance et condamné X._ à payer à la demanderesse les montants suivants: à titre de réduction du prix de vente: (1) 2'684'640 fr. avec intérêts à 5% dès le 10 avril 1997, correspondant au montant de 1'974'000 USD - que A._ a été condamnée à payer à K._ et L._ - au taux de change de 1,36; à titre de dommages-intérêts: (2) 16'400 fr. avec intérêts à 5% dès le 15 mars 2007; (3) 42'000 fr. avec intérêts à 5% dès le 15 mars 2007; (4) 10'000 fr. avec intérêts à 5% dès le 13 février 2006; (5) 151'240 fr. avec intérêts à 5% dès le 14 décembre 2007. La cour cantonale a prononcé, à concurrence des montants cités sous chiffres 2 à 5, la mainlevée de l'opposition formée par X._. Contrairement au juge de première instance, la Cour de justice a considéré que les prétentions de Y._ n'étaient pas prescrites. Selon les juges genevois, la venderesse a induit l'acheteuse en erreur intentionnellement en ne lui signalant pas l'affaire C._ lors de la vente des actions de A._. L'art. 210 al. 3 CO excluait dès lors que X._ puisse invoquer le délai de prescription d'un an, les prétentions fondées sur la garantie étant soumises en l'occurrence au délai de prescription ordinaire de dix ans prévu à l'art. 127 CO. C. X._ interjette un recours en matière civile. Elle demande que Y._ soit déboutée de toutes ses conclusions et, subsidiairement, que la cause soit renvoyée à la cour cantonale pour nouvelle décision dans le sens des considérants du Tribunal fédéral. Par ordonnance du 21 juin 2010, la Présidente de la Ire Cour de droit civil du Tribunal fédéral a rejeté la demande d'effet suspensif formée par la recourante. Y._ propose le rejet du recours. Pour sa part, la cour cantonale se réfère aux considérants de son arrêt.