mhtml_generation_browsertest cleanup

Some misc cleanup in anticipation of additional tests.

The only change that impacts existing function is that GenerateMHTML
and GenerateMHTMLForCurrentPage would previously navigate to the generated
MHTML page. This is not what's intended in TestOriginalVsSavedPage, as
it is supposed to make assertions about the original and generated pages.
So I've removed this navigation in GenerateMHTMLForCurrentPage.

Other changes:
* GenerateMHTML returns information
* TestOriginalVsSavedPage takes an options struct, and will be extended
  later. It also returns information, including data computed by a new
  get_page_info.js file, which allows us to assert some things about the
  page have not changed.
* Added forbidden_substrings, and use it preferentially to
  forbidden_substrings_in_saved_page if there are
  assertions that should hold on the original page too.
* accepted basic style suggestions

Bug: 363289333
Change-Id: Ia49ec479bb0aa668ff28f124a8b82f120dc156f0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5873675
Reviewed-by: Min Qin <qinmin@chromium.org>
Auto-Submit: Dan H <harringtond@chromium.org>
Commit-Queue: Min Qin <qinmin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1357894}
1 file changed
tree: ec847109756a4ed0d2504434510d05559ed276d4
  1. android_webview/
  2. apps/
  3. ash/
  4. base/
  5. build/
  6. build_overrides/
  7. buildtools/
  8. cc/
  9. chrome/
  10. chromecast/
  11. chromeos/
  12. codelabs/
  13. components/
  14. content/
  15. crypto/
  16. dbus/
  17. device/
  18. docs/
  19. extensions/
  20. fuchsia_web/
  21. gin/
  22. google_apis/
  23. google_update/
  24. gpu/
  25. headless/
  26. infra/
  27. ios/
  28. ipc/
  29. media/
  30. mojo/
  31. native_client_sdk/
  32. net/
  33. pdf/
  34. ppapi/
  35. printing/
  36. remoting/
  37. rlz/
  38. sandbox/
  39. services/
  40. skia/
  41. sql/
  42. storage/
  43. styleguide/
  44. testing/
  45. third_party/
  46. tools/
  47. ui/
  48. url/
  49. webkit/
  50. .clang-format
  51. .clang-tidy
  52. .clangd
  53. .eslintrc.js
  54. .git-blame-ignore-revs
  55. .gitallowed
  56. .gitattributes
  57. .gitignore
  58. .gitmodules
  59. .gn
  60. .mailmap
  61. .rustfmt.toml
  62. .vpython3
  63. .yapfignore
  64. ATL_OWNERS
  65. AUTHORS
  66. BUILD.gn
  67. CODE_OF_CONDUCT.md
  68. codereview.settings
  69. CPPLINT.cfg
  70. CRYPTO_OWNERS
  71. DEPS
  72. DIR_METADATA
  73. LICENSE
  74. LICENSE.chromium_os
  75. OWNERS
  76. PRESUBMIT.py
  77. PRESUBMIT_test.py
  78. PRESUBMIT_test_mocks.py
  79. README.md
  80. WATCHLISTS
README.md

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure.

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.

If you found a bug, please file it at https://crbug.com/new.