Faits : A. A.a. Le 11 octobre 2006, la société panaméenne A._ Corporation (ci-après: A._) a ouvert une relation bancaire auprès de la succursale genevoise de la banque B._ SA (ci-après: la banque). Le 10 novembre 2006, A._ a confié à la banque un mandat de gestion discrétionnaire avec un objectif d'investissement à risque modéré. La banque a placé des avoirs de A._ dans deux fonds d'investissement (xxx et zzz), dont l'unique objectif était de collecter de l'argent pour le placer auprès de Bernard Madoff Investment Services (BMIS). Par la suite, les deux fonds d'investissement ont racheté ces parts ou actions, et A._ a encaissé 1'088'090 euros à titre de plus-value; en réalité, ces plus-values étaient fictives, BMIS créditant de prétendues plus-values au moyen de fonds remis par de nouveaux investisseurs, selon le système dit "de cavalerie". A la suite de la crise financière de 2008, le système s'est écroulé. Le liquidateur de BMIS a alors entrepris des démarches en vue de récupérer les plus-values fictives versées. Le 12 novembre 2010, la banque a informé A._ que le liquidateur de BMIS se réservait le droit de réclamer le remboursement (" claw back ") de montants importants aux deux fonds d'investissement xxx et zzz ainsi qu'à leurs anciens actionnaires ou détenteurs de parts. En raison de ce risque, la banque a bloqué les avoirs de A._ auprès d'elle à concurrence d'un montant total de 1'088'090 euros, correspondant aux prétendues plus-values créditées à A._. A la suite de négociations, la banque a libéré les avoirs contre la fourniture par A._ d'une garantie bancaire d'un montant de 909'756 euros. A.b. Le 2 novembre 2012, A._ a déposé, en vue de conciliation, une demande dirigée contre la banque tendant, en substance, à la constatation qu'elle ne pouvait pas être tenue de rembourser à la banque les montants que celle-ci pourrait être amenée à payer dans le cadre d'un " claw back ". D'après A._, la banque était responsable du choix des investissements dans les "produits Madoff", faute d'avoir procédé à des vérifications sérieuses; ce faisant, elle avait violé son devoir de diligence et de fidélité, de sorte que sa responsabilité contractuelle était engagée envers A._. A l'issue de l'audience de conciliation du 10 janvier 2013, A._ a reçu l'autorisation de procéder. Elle n'en a pas fait usage dans le délai imparti. B. Le 19 avril 2014, A._ a déposé une requête de preuve à futur. Dans le cadre d'une éventuelle action contre B._ SA, elle entendait, d'une part, faire constater qu'en cas de " claw back ", la banque ne disposait pas d'une créance en remboursement à son encontre et, d'autre part, réclamer le paiement d'un montant d'au moins 200'000 fr. à titre de remise des rétrocessions perçues par la banque en relation avec les investissements effectués avec les avoirs confiés. Pour lui permettre d'estimer les chances de succès de cette action, A._ demandait qu'il soit ordonné à la banque de produire: "Titre 51: Tous documents démontrant les examens auxquels la banque B._ SA s'est livrée, notamment les analyses des risques, à propos des investissements dans les «fonds Madoff» (xxx et zzz, notamment) qu'elle a sélectionnés pour les clients qui lui avaient confié des avoirs. Titre 52: Tous documents (notamment, comptes-rendus d'entretiens, notes internes, procès-verbaux de réunions, etc.) relatifs aux décisions, y compris les documents dans lesquels lesdites décisions ont été formalisées, prises par les comités et/ou services qui ont été amenés, entre 2006 et 2010, directement ou indirectement, à décider de la politique d'investissement de la banque, et en particulier les documents relatifs aux fonds gérés par Bernard Madoff (...). Titre 53: Toute la correspondance interne (y compris la correspondance électronique, les mémos électroniques, sur papier, manuscrits, etc.) échangée au sein de la banque B._ SA (ou avec des sociétés affiliées) entre les personnes chargées de gérer les fonds de A._ Corporation, ou entre la ou les personne (s) chargée (s) de la gestion de ce portefeuille et d'autres collaborateurs de la banque. Titre 54: Tous documents, notamment accords entre la banque B._ SA et les «fonds Madoff» (xxx et zzz, notamment), et décomptes, permettant d'établir le montant exact des rétrocessions (ou «rétro-commissions»), ou du moins les paramètres de calcul, reçues par la banque (...) au titre d'investissements dans les «fonds Madoff» et au titre des autres investissements faits avec les avoirs confiés à cette banque par A._ Corp. Titre 55: Tout écrit démontrant que la banque B._ SA a informé A._ Corp. des rétrocessions reçues au titre d'investissements dans les «fonds Madoff» (xxx et zzz) et au titre des autres investissements faits avec les avoirs confiés à cette banque par A._ Corp." La banque a conclu au rejet de la requête. Elle a produit une lettre qu'elle avait adressée le 19 mai 2014 à A._, chiffrant à 6'607 fr. l'ensemble des rétrocessions perçues du 1er janvier 2003 au 31 décembre 2012 en relation avec l'investissement des avoirs de sa mandante. Par ordonnance du 12 septembre 2014, le Tribunal de première instance du canton de Genève a rejeté la requête. Il a jugé que les conclusions de A._ consistaient en réalité en une demande de reddition de compte, qui n'avait pas sa place dans une procédure de preuve à futur. A._ a interjeté appel auprès de la Chambre civile de la Cour de justice du canton de Genève. Pour sa part, la banque a conclu au rejet de l'appel. A._ a déposé des observations sur la réponse, puis la banque a brièvement dupliqué par mémoire du 24 novembre 2014. Le 26 novembre 2014, la Chambre civile a envoyé à A._ une copie de cette dernière écriture et a informé les parties que la cause était gardée à juger. Le 4 décembre 2014, A._, de son propre chef, a déposé des observations sur la duplique, dont elle a adressé une copie à la partie adverse. Celle-ci, se référant à l'envoi de A._, a produit une brève détermination le 11 décembre 2014; la Chambre civile en a envoyé copie à A._. Cette dernière a alors déposé une nouvelle écriture le 15 décembre 2014; la cour cantonale en a adressé une copie à la banque. Statuant le 20 février 2015, la Chambre civile a rejeté l'appel et confirmé l'ordonnance rejetant la requête de preuve à futur. Elle a notamment relevé que la requérante ne réclamait pas un nombre limité de documents bien déterminés, mais tentait en réalité de réunir des faits supplémentaires pour construire une future action en justice, ce qui n'était pas le but de la preuve à futur. C. A._ interjette un recours en matière civile. Elle conclut à ce que sa requête de preuve à futur soit admise, subsidiairement à ce que la cause soit renvoyée à l'autorité cantonale pour nouvelle décision. B._ SA propose le rejet du recours. La recourante a, de son propre chef, déposé des observations. L'intimée a renoncé à formuler des contre-observations. La cour de céans a alors informé les parties qu'elles avaient eu suffisamment l'occasion de se déterminer sur les arguments de la partie adverse et que toute nouvelle écriture serait classée sans être prise en considération.