wppaste
WordPress

Theme_Installer_Skin::do_overwrite(): bool

Since
5.5.0
Source
wp-admin/includes/class-theme-installer-skin.php:213
Checks if the theme can be overwritten and outputs the HTML for overwriting a theme on upload.

Compatibility

WordPress
since 5.5.0
PHP
7.4–8.6-dev
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0), and compiles on PHP 7.4 through 8.6-dev.

Return value

bool
Whether the theme can be overwritten and HTML was outputted.

Performance profile

How much work a call to Theme_Installer_Skin::do_overwrite() does, and what it touches: the algorithmic scaling, the Zend instruction count per call across PHP versions, the hooks it hands control to, and the core code that calls it. Measured from the compiled opcodes, not a stopwatch, so every number is identical on any machine running the same PHP version, and every function in core is ranked by cost.

Cost class
Light

Touches nothing outside its own arguments.

Scaling
Scales with input

The body loops, so the work grows with how much data it finds.

Instructions
4–279

Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 376.

Plugin surface
2 hooks

Third-party callbacks on 'install_theme_overwrite_comparison', 'install_theme_overwrite_actions' run inside this call, and their cost is not bounded by anything here.

Called by
1

1 place in core call this, so the cost is paid more often than your own code shows.

What it touches

  • hookthird-party callbacksapply_filters()called directly

Further down the call graph this can also reach transient, option, cache, serialize and query. Those are the worst case, several calls deep and usually down an error path, not what a normal call pays.

What one call costs · 67 distinct outcomes

One number would be a lie: the work depends on which branch runs. These are every distinct cost Theme_Installer_Skin::do_overwrite() can have, taken from its control-flow graph on PHP 8.5.

WhenInstructionsCalls it makes
always4none
!is_wp_error()10is_wp_error()
is_wp_error()35–36is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes()
empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)168–171is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
!empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)175–178is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)176–179is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)180–183is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && !empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)183–186is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)184–187is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
!empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)187–190is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)188–191is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)189–192is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
55 further outcomes, up to 279 instructions
!empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)191–194is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)192–195is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)195–198is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)196–199is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)196–199is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)197–200is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)199–202is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)201–204is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)203–206is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)204–207is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && !empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)204–207is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)205–208is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
!empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)208–211is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)209–212is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)210–215is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)211–214is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)212–215is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)213–216is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)216–219is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)217–222is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)217–220is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)218–223is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)220–223is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)222–227is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)224–227is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && !empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)225–230is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)225–228is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)226–231is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
!empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)229–234is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)230–235is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)231–236is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)232–235is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)233–238is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)234–239is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)237–242is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)238–243is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)238–243is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)239–244is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && empty($install_actions)241–246is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)243–248is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)245–250is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)246–251is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && !empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)246–251is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)247–252is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
!empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)250–255is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)251–256is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && !empty($new_theme_data) && !is_php_version_compatible() && is_wp_version_compatible() && !empty($install_actions)253–258is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
!empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)254–259is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)255–260is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
is_wp_error() && !empty($new_theme_data) && is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)258–263is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)259–264is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && !empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && empty($install_actions)262–267is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters()
!empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)266–271is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)267–272is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()
is_wp_error() && !empty($new_theme_data) && !is_php_version_compatible() && !is_wp_version_compatible() && !empty($install_actions)274–279is_wp_error(), ->get_error_code(), ->get_error_data(), rtrim(), wp_get_themes(), esc_html__(), ->errors(), is_wp_error(), ->errors(), ->get_error_message(), ->feedback(), version_compare(), array_keys(), __(), __(), __(), __(), __(), __(), esc_html_x(), esc_html_x(), apply_filters(), esc_html__(), is_php_version_compatible(), __(), sprintf(), esc_html(), is_wp_version_compatible(), __(), wp_get_wp_version(), esc_html(), sprintf(), esc_html(), __(), __(), sprintf(), add_query_arg(), wp_nonce_url(), _x(), add_query_arg(), wp_nonce_url(), __(), apply_filters(), __(), printf()

This body has more branch combinations than are worth enumerating, so the table covers the outcomes found first rather than every one that exists.

Across PHP versions

PHPCompiledExecutedBranchesNotes
8.6-dev3764–27933
8.53764–27933
8.43764–279336 fewer instructions than PHP 8.3
8.33824–28533
8.23824–28533
8.13824–285332 fewer instructions than PHP 7.4
7.43844–28533

An instruction is not a fixed amount of time, so a matching count is not necessarily the same speed; what it rules out is a difference in the work itself.

Hooks and filters fired · 2

2 hooks fire while Theme_Installer_Skin::do_overwrite() runs, in this order:

  1. apply_filters( install_theme_overwrite_comparison )filterline 305 (+92 into the body)

    Filters the compare table output for overwriting a theme package on upload.

  2. apply_filters( install_theme_overwrite_actions )filterline 388 (+175 into the body)

    Filters the list of action links available following a single theme installation failure when overwriting is allowed.

Uses · 16

Show all 16
  • wp_nonce_url()Retrieves URL with nonce added to URL query.
  • add_query_arg()Retrieves a modified URL query string.
  • _x()Retrieves translated string with gettext context.
  • Theme_Installer_Skin::feedback()

Used by · 1

Source code

	private function do_overwrite() {		if ( 'upload' !== $this->type || ! is_wp_error( $this->result ) || 'folder_exists' !== $this->result->get_error_code() ) {			return false;		} 		$folder = $this->result->get_error_data( 'folder_exists' );		$folder = rtrim( $folder, '/' ); 		$current_theme_data = false;		$all_themes         = wp_get_themes( array( 'errors' => null ) ); 		foreach ( $all_themes as $theme ) {			$stylesheet_dir = wp_normalize_path( $theme->get_stylesheet_directory() ); 			if ( rtrim( $stylesheet_dir, '/' ) !== $folder ) {				continue;			} 			$current_theme_data = $theme;		} 		$new_theme_data = $this->upgrader->new_theme_data; 		if ( ! $current_theme_data || ! $new_theme_data ) {			return false;		} 		echo '<h2 class="update-from-upload-heading">' . esc_html__( 'This theme is already installed.' ) . '</h2>'; 		// Check errors for active theme.		if ( is_wp_error( $current_theme_data->errors() ) ) {			$this->feedback( 'current_theme_has_errors', $current_theme_data->errors()->get_error_message() );		} 		$this->is_downgrading = version_compare( $current_theme_data['Version'], $new_theme_data['Version'], '>' ); 		$is_invalid_parent = false;		if ( ! empty( $new_theme_data['Template'] ) ) {			$is_invalid_parent = ! in_array( $new_theme_data['Template'], array_keys( $all_themes ), true );		} 		$rows = array(			'Name'        => __( 'Theme name' ),			'Version'     => __( 'Version' ),			'Author'      => __( 'Author' ),			'RequiresWP'  => __( 'Required WordPress version' ),			'RequiresPHP' => __( 'Required PHP version' ),			'Template'    => __( 'Parent theme' ),		); 		$table  = '<table class="update-from-upload-comparison"><tbody>';		$table .= '<tr><th></th><th>' . esc_html_x( 'Installed', 'theme' ) . '</th><th>' . esc_html_x( 'Uploaded', 'theme' ) . '</th></tr>'; 		$is_same_theme = true; // Let's consider only these rows. 		foreach ( $rows as $field => $label ) {			$old_value = $current_theme_data->display( $field, false );			$old_value = $old_value ? (string) $old_value : '-'; 			$new_value = ! empty( $new_theme_data[ $field ] ) ? (string) $new_theme_data[ $field ] : '-'; 			if ( $old_value === $new_value && '-' === $new_value && 'Template' === $field ) {				continue;			} 			$is_same_theme = $is_same_theme && ( $old_value === $new_value ); 			$diff_field     = ( 'Version' !== $field && $new_value !== $old_value );			$diff_version   = ( 'Version' === $field && $this->is_downgrading );			$invalid_parent = false; 			if ( 'Template' === $field && $is_invalid_parent ) {				$invalid_parent = true;				$new_value     .= ' ' . __( '(not found)' );			} 			$table .= '<tr><td class="name-label">' . $label . '</td><td>' . wp_strip_all_tags( $old_value ) . '</td>';			$table .= ( $diff_field || $diff_version || $invalid_parent ) ? '<td class="warning">' : '<td>';			$table .= wp_strip_all_tags( $new_value ) . '</td></tr>';		}

Changelog

Introduced in 5.5.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 7.1.0 tag, from src/wp-admin/includes/class-theme-installer-skin.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.