Make WordPress Core


Ignore:
Timestamp:
04/19/2023 01:24:40 AM (2 years ago)
Author:
westonruter
Message:

Script Loader: Optimize performance of _wp_normalize_relative_css_links() by more than 2x.

  • Replace preg_match_all() and its secondary str_replace() call with preg_replace_callback().
  • Fix case where paths beginning with http and https (but not http: and https:) were erroneously not counted as relative.
  • Improve code style and readability by consolidating conditions and returning once.
  • Use str_starts_with() consistently instead of strpos().

Follow-up to [52036], [52695], and [52754].

Fixes #58069.
See #54243.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/dependencies/styles.php

    r55368 r55658  
    241241                'expected' => 'img {mask-image: url(\'data:image/svg+xml;utf8,<svg></svg>\');}',
    242242            ),
     243            'URLs with path beginning with http'           => array(
     244                'css'      => 'p {background:url( "http-is-awesome.png" );}',
     245                'expected' => 'p {background:url( "/wp-content/themes/test/http-is-awesome.png" );}',
     246            ),
     247            'URLs with path beginning with https'          => array(
     248                'css'      => 'p {background:url( "https-is-more-awesome.png" );}',
     249                'expected' => 'p {background:url( "/wp-content/themes/test/https-is-more-awesome.png" );}',
     250            ),
    243251        );
    244252    }
Note: See TracChangeset for help on using the changeset viewer.