tree ec764bbbff6765fc60cd71faa314b280b3c607d9
parent 35a91c7339a900b16e7bfb8d0697c8f7a5eced45
author thakis <thakis@chromium.org> 1490504345 -0700
committer Commit bot <commit-bot@chromium.org> 1490504345 +0000

Add most missing blink files to .gn files

I copied the list of missing files to a txt file and ran this script:

    import os, re, subprocess
    edits = {}
    for filename in open('headers.txt'):
      filename = filename.strip()
      dirname = os.path.dirname(filename)
      while not os.path.exists(os.path.join(dirname, 'BUILD.gn')):
	dirname = os.path.dirname(dirname)
      rel = filename[len(dirname) + 1:]
      gnfile = os.path.join(dirname, 'BUILD.gn')
      #print gnfile, rel

      lines = open(gnfile).read().splitlines()
      index = next( (i for i, l in enumerate(lines) if ' sources = [' in l), -1)
      if index == -1:
	continue
      lines.insert(index + 1, '"%s",' % rel)
      open(gnfile, 'w').write('\n'.join(lines))

Then I ran `git cl format` to re-sort source lists.

I manually fixed up
third_party/WebKit/Source/platform/BUILD.gn,
third_party/WebKit/public/BUILD.gn,
third_party/WebKit/Source/platform/BUILD.gn,
where this simple heuristic hadn't worked well.

I reverted changes to third_party/WebKit/Source/platform/mojo/BUILD.gn
because I don't understand that directory.

BUG=661774
NOTRY=true
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2771373003
Cr-Original-Commit-Position: refs/heads/master@{#459673}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 71d33c3169cf175d2d367834907b86c4023c0496
