New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 798763 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

mojo's typemaps' public_headers should support system headers

Project Member Reported by brucedaw...@chromium.org, Jan 3 2018

Issue description

This change attempted to explicitly list windows.h as a required header file for longfont_win.typemap:

https://chromium-review.googlesource.com/c/chromium/src/+/846422/9/mojo/common/logfont_win.typemap

However this failed because windows.h could not be found:

https://logs.chromium.org/v/?s=chromium%2Fbb%2Ftryserver.chromium.win%2Fwin10_chromium_x64_rel_ng%2F53731%2F%2B%2Frecipes%2Fsteps%2Fanalyze%2F0%2Fstdout

The temporary fix is to add base/win/windows_full.h which includes windows.h and add that header file to public_headers.

System header files should be supported.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Jan 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bfdc3fdc473922b0b99a0a0af37e8f8f97340173

commit bfdc3fdc473922b0b99a0a0af37e8f8f97340173
Author: Bruce Dawson <brucedawson@chromium.org>
Date: Thu Jan 04 01:05:08 2018

Reduce includes of windows.h

Windows.h is included in a number of key header files which means that
a majority of the translation units when building Chrome include
Windows.h. This is slowing down builds.

This change creates a new header - base/win/windows_types.h - which
contains typedefs and defines of common Windows.h types - and uses this
in place of windows.h in enough places to reduce the number of
translation units that include windows.h in a build of the 'chrome'
target (debug component non-jumbo) by 5219, from 19041 to 13822, giving
measurable build-time speedups (~2.5-3.0%).

Follow-up changes will apply the same techniques to more headers and
drop the number much further.

Perversely enough, this change also adds includes of windows.h in many
places - places that always needed windows.h but were implicitly
depending on it being included elsewhere.

TBR=jochen@chromium.org,wfh@chromium.org,rockot@chromium.org,mef@chromium.org,raymes@chromium.org,joedow@chromium.org,rogerta@chromium.org,jsbell@chromium.org,dpranke@chromium.org,sky@chromium.org
TBRing mechanical changes, reviewers:
jochen@ : Please review changes to chrome/, components/, content/, third_party/WebKit/Source/platform
wfh@ : Please review changes to courgette/, sandbox/win
rockot@ : Please review changes to device/, ipc/, services/
mef@ : Please review changes to net/
raymes@ : Please review changes to ppapi/
joedow@ : Please review changes to remoting/
rogerta@ : Please review changes to rlz/
jsbell@: Please review changes to storage/
dpranke@ : Please review changes to tools/gn/
sky@ : Please review changes to ui/


Bug: 796644,798763
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;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
Change-Id: I3958d0d7d813bed74d9b166e0358dbde5b5729af
Reviewed-on: https://chromium-review.googlesource.com/846422
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Misha Efimov <mef@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526881}
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/BUILD.gn
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/allocator/allocator_shim_override_ucrt_symbols_win.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/allocator/partition_allocator/address_space_randomization.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/atomicops_internals_x86_msvc.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/files/file_path_watcher_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/files/file_util.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/files/file_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/files/memory_mapped_file_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/files/platform_file.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/memory/discardable_shared_memory.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/memory/shared_memory_handle.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/memory/shared_memory_handle_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/metrics/persistent_memory_allocator.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/process/memory_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/process/process_handle.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/process/process_metrics.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/process/process_metrics_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/process/process_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/synchronization/condition_variable.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/synchronization/condition_variable_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/synchronization/lock_impl.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/synchronization/lock_impl_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/synchronization/waitable_event_watcher_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/syslog_logging.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/test/test_reg_util_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/threading/platform_thread.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/threading/platform_thread_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/threading/thread_local_storage.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/time/time.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/time/time_unittest.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/trace_event/process_memory_dump.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/trace_event/process_memory_dump_unittest.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/trace_event/trace_event_etw_export_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/win/current_module.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/win/object_watcher.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/win/object_watcher.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/win/registry.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/win/scoped_handle.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/win/scoped_handle.h
[add] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/win/win_includes_unittest.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/win/win_util.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/win/win_util.h
[add] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/win/windows_full.h
[add] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/base/win/windows_types.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/chrome/browser/conflicts/module_event_sink_impl_win_unittest.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/chrome/browser/diagnostics/diagnostics_writer.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/chrome/browser/extensions/extension_creator_filter_unittest.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/chrome/browser/platform_util_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/chrome/browser/safe_browsing/incident_reporting/binary_integrity_analyzer_win_unittest.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/chrome/browser/task_manager/sampling/task_group.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/chrome/browser/themes/theme_properties.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/chrome/browser/ui/webui/print_preview/pdf_printer_handler_win_unittest.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/chrome/browser/win/enumerate_modules_model.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/chrome/common/conflicts/module_watcher_win_unittest.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/chrome/common/multi_process_lock_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/chrome/installer/util/lzma_file_allocator.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/chrome/installer/util/lzma_file_allocator_unittest.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/components/autofill/core/browser/autofill_ie_toolbar_import_win_unittest.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/components/browser_watcher/exit_code_watcher_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/components/metrics/clean_exit_beacon.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/components/metrics/metrics_log.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/components/metrics/ui/screen_info_metrics_provider.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/components/search_engines/template_url_prepopulate_data.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/components/startup_metric_utils/browser/startup_metric_utils.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/components/storage_monitor/storage_monitor_win.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/components/storage_monitor/volume_mount_watcher_win.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/components/update_client/updater_state_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/components/wifi/wifi_service_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/content/browser/accessibility/browser_accessibility_state_impl_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/content/renderer/pepper/event_conversion.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/content/renderer/pepper/pepper_plugin_instance_impl.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/courgette/memory_allocator.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/device/serial/serial_device_enumerator_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/device/usb/usb_device_handle_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/device/usb/usb_device_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/ipc/ipc_platform_file.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/ipc/ipc_sync_message.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/mojo/common/logfont_win.typemap
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/net/base/platform_mime_util_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/net/disk_cache/blockfile/mapped_file_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/net/disk_cache/blockfile/rankings.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/net/proxy/dhcpcsvc_init_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/ppapi/thunk/resource_creation_api.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/remoting/host/curtain_mode_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/remoting/host/heartbeat_sender.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/remoting/host/pairing_registry_delegate_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/remoting/host/win/unprivileged_process_delegate.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/rlz/win/lib/registry_util.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/sandbox/win/src/crosscall_server.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_unittest.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/storage/browser/database/vfs_backend.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/third_party/WebKit/Source/platform/scheduler/util/thread_cpu_throttler.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/tools/gn/filesystem_utils.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/ui/base/cursor/cursor_loader_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/ui/base/win/foreground_helper.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/ui/compositor/test/test_compositor_host_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/ui/events/devices/input_device_observer_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/ui/gfx/animation/animation_unittest.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/ui/gfx/animation/animation_win.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/ui/gfx/native_widget_types.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/ui/gfx/platform_font_win.h
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/ui/platform_window/win/win_window.cc
[modify] https://crrev.com/bfdc3fdc473922b0b99a0a0af37e8f8f97340173/ui/platform_window/win/win_window.h

Cc: -roc...@chromium.org rockot@google.com

Comment 3 by oksamyt@chromium.org, Today (17 hours ago)

Status: Available (was: Untriaged)

Sign in to add a comment