WordPress/wp-admin
Weston Ruter 93bcd86b2a Customize: Reduce peak memory usage by JSON-encoding settings and controls individually.
When there are hundreds of settings and controls (e.g. nav menu items and widget instances) the resulting object that is JSON-encoded can become very large, and `wp_json_encode()` can consume a lot of memory to serialize it. By breaking down the serialization into multiple calls the peak memory usage can be kept in line.

Moves logic out of `wp-admin/customize.php` into the `WP_Customize_Manager` class with new methods:

 * `is_ios()`
 * `get_document_title_template()`
 * `get_preview_url()`/`set_preview_url()`
 * `get_return_url()`/`set_return_url()`
 * `get_autofocus()`/`set_autofocus()`
 * `customize_pane_settings()`

Includes unit tests for these methods, for which the logic was formerly untestable in `customize.php`.

Fixes #33898.

Built from https://develop.svn.wordpress.org/trunk@34269


git-svn-id: http://core.svn.wordpress.org/trunk@34233 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-17 19:42:26 +00:00
..
css Customizer: Smooth animation for closing accordions in the available nav menu items pane. 2015-09-15 23:40:24 +00:00
images Squish that .png a bit more. See [32994]. 2015-06-30 22:04:25 +00:00
includes Superglobals: Revert [34059] until further notice. 2015-09-17 12:33:26 +00:00
js Similar to #33386, don't use guid when retrieving URL for a cropped header image in the Customizer. 2015-09-15 14:46:32 +00:00
maint Improve the tone of key/salts recommendation message. 2015-07-01 15:39:26 +00:00
network Superglobals: Revert [34059] until further notice. 2015-09-17 12:33:26 +00:00
user Ensure the requires for the admin bootstrap are documented in all wp-admin/user/ files. 2014-11-04 16:32:22 +00:00
about.php About: Remove period from placeholder. 2015-09-11 19:27:24 +00:00
admin-ajax.php Pinking shears. 2015-08-17 21:39:25 +00:00
admin-footer.php Add @global annotations for wp-admin/*. 2015-05-28 21:41:30 +00:00
admin-functions.php
admin-header.php Correct the title used on the user dashboard. 2015-06-24 00:37:28 +00:00
admin-post.php Superglobals: Revert [34059] until further notice. 2015-09-17 12:33:26 +00:00
admin.php Superglobals: Revert [34059] until further notice. 2015-09-17 12:33:26 +00:00
async-upload.php Superglobals: Revert [34059] until further notice. 2015-09-17 12:33:26 +00:00
comment.php wp_unspam_comment() can accept a full object instead of comment_ID to reduce cache/db lookups.. 2015-09-14 21:47:25 +00:00
credits.php Move ad hoc functions from wp-admin/credits.php to wp-admin/includes/credits.php, which is only included by the former. 2015-09-11 04:55:26 +00:00
custom-background.php Proper heading for admin screens. 2015-06-27 15:41:25 +00:00
custom-header.php Docs: Add a changelog entry for the switch to using wp_get_attachment_url() instead of the guid for determining the header image URL in Custom_Image_Header::step_3(). 2015-09-16 10:43:25 +00:00
customize.php Customize: Reduce peak memory usage by JSON-encoding settings and controls individually. 2015-09-17 19:42:26 +00:00
edit-comments.php In the edit-comments.php admin handler, toggle wp_defer_comment_counting() so that only unique post IDs have their comment count updated. Currently, if you delete 50 comments from the same post, the count would get reset 50 times. Not joking. 2015-09-14 22:24:26 +00:00
edit-form-advanced.php Create a function, get_preview_post_link(), to DRY the logic for applying the 'preview_post_link' filter to a URL. 2015-09-15 04:15:25 +00:00
edit-form-comment.php Edit Comment screen: remove the "View Comment" button (actually a link) from the publish meta box. Mimic the "Edit URL/Permalink" UI from the Edit Post screen to show the comment link below the screen title, but make it an actual link, not a button. 2015-09-12 03:20:24 +00:00
edit-link-form.php Use a less element-specific class name for links within page titles. 2015-07-03 16:42:24 +00:00
edit-tag-form.php Don't redirect to the Term list table after submitting the form on the Edit Term page. 2015-09-15 15:59:42 +00:00
edit-tags.php Don't redirect to the Term list table after submitting the form on the Edit Term page. 2015-09-15 15:59:42 +00:00
edit.php Remove the ability to view the post listing screen and post editing screen for post types with show_ui set to false. It is unexpected and unintended behaviour that this is allowed. 2015-09-15 10:27:29 +00:00
export.php Add a missing Oxford comma on Export screen. 2015-09-16 21:34:39 +00:00
freedoms.php About: Third pass at 4.3 about page: 2015-08-13 22:11:35 +00:00
import.php Proper heading for admin screens. 2015-06-27 15:41:25 +00:00
index.php Replace some hyphens with —s in admin help tabs. 2015-08-19 04:53:25 +00:00
install-helper.php Add missing doc blocks to wp-admin/includes/*. 2015-05-29 20:17:26 +00:00
install.php Drop the hyphen from e-mail and standardize on email. 2015-08-28 03:17:21 +00:00
link-add.php
link-manager.php Use a less element-specific class name for links within page titles. 2015-07-03 16:42:24 +00:00
link-parse-opml.php Add @global annotations for wp-admin/*. 2015-05-28 21:41:30 +00:00
link.php Fix syntax for single- and multi-line comments in wp-admin-directory files. 2014-07-17 09:14:16 +00:00
load-scripts.php Create a new file, wp-admin/includes/noop.php, which loads all of the noop functions for load-script|styles.php and is only loaded by those files. DRYs in the process. 2015-09-11 05:04:23 +00:00
load-styles.php Create a new file, wp-admin/includes/noop.php, which loads all of the noop functions for load-script|styles.php and is only loaded by those files. DRYs in the process. 2015-09-11 05:04:23 +00:00
media-new.php media-new.php, when using the browser uploader, if the result of uploading is a WP_Error - wp_die() with the error, instead of redirecting with a generic error. 2015-09-10 17:18:24 +00:00
media-upload.php Provide more helful feedback than just "Cheatin' uh?" for permission errors in wp-admin/media-upload.php. 2015-09-02 16:21:21 +00:00
media.php Use a less element-specific class name for links within page titles. 2015-07-03 16:42:24 +00:00
menu-header.php Admin menu: improve accessibility when collapsed. 2015-06-25 19:33:26 +00:00
menu.php After [33723], ensure that $i is properly set before looping. 2015-09-02 18:48:22 +00:00
moderation.php
ms-admin.php
ms-delete-site.php Trim trailing space from string in site delete confirmation 2015-07-01 16:31:25 +00:00
ms-edit.php
ms-options.php
ms-sites.php
ms-themes.php
ms-upgrade-network.php
ms-users.php
my-sites.php Merge two similar strings about insufficient permissions. 2015-07-27 13:25:25 +00:00
nav-menus.php Provide more helpful feedback than just "Cheatin' uh?" for permission errors in wp-admin/nav-menus.php. 2015-09-02 18:21:21 +00:00
network.php Create wp-admin/includes/network.php via svn cp and only load it in wp-admin/network.php. Move the functions there. 2015-09-10 22:01:24 +00:00
options-discussion.php Move ad hoc Options functions to wp-admin/includes/options.php: 2015-09-10 21:45:24 +00:00
options-general.php Move ad hoc Options functions to wp-admin/includes/options.php: 2015-09-10 21:45:24 +00:00
options-head.php
options-media.php Bump H3 headings to H2 on the Media Settings screen for better accessibility. 2015-09-05 20:12:25 +00:00
options-permalink.php Move ad hoc Options functions to wp-admin/includes/options.php: 2015-09-10 21:45:24 +00:00
options-reading.php Move ad hoc Options functions to wp-admin/includes/options.php: 2015-09-10 21:45:24 +00:00
options-writing.php Bump H3 headings to H2 on the Writing Settings screen for better accessibility. 2015-09-13 16:48:26 +00:00
options.php Provide more helpful feedback than just "Cheatin' uh?" for permission errors in wp-admin/options.php. 2015-09-02 18:31:21 +00:00
plugin-editor.php Bump H3 headings to H2 on the Plugin Editor screen for better accessibility. 2015-09-12 00:08:24 +00:00
plugin-install.php Use a less element-specific class name for links within page titles. 2015-07-03 16:42:24 +00:00
plugins.php Move plugin_sandbox_scrape() from wp-admin/plugins.php to wp-admin/includes/plugin.php. 2015-09-10 21:24:24 +00:00
post-new.php Provide more helpful feedback than just "Cheatin' uh?" for permission errors in wp-admin/post-new.php. 2015-09-02 18:36:22 +00:00
post.php Remove the ability to view the post listing screen and post editing screen for post types with show_ui set to false. It is unexpected and unintended behaviour that this is allowed. 2015-09-15 10:27:29 +00:00
press-this.php Provide more helpful feedback than just "Cheatin' uh?" for permission errors in wp-admin/press-this.php. 2015-09-02 18:38:21 +00:00
profile.php
revision.php Revisions screen: change language from "Return to post editor" to "Return to editor" - more generic for usage by custom post types. 2015-09-09 03:23:23 +00:00
setup-config.php foreach is a statement, not a function. 2015-08-25 20:28:22 +00:00
theme-editor.php Bump H3 headings to H2 on the Theme Editor screen for better accessibility. 2015-09-12 00:00:24 +00:00
theme-install.php Themes: Don't use HTML entities for placeholders. 2015-09-12 19:48:24 +00:00
themes.php _wpThemeSettings.l10n.searchPlaceholder is an input placeholder and doesn't handle UTF-8 or HTML entities properly. In lieu of using literal Unicode here, use .... 2015-09-10 20:36:24 +00:00
tools.php Bump H3 headings to H2 on Tools screen for better accessibility. 2015-08-31 03:32:21 +00:00
update-core.php Bump H3 headings to H2 on WordPress Updates screen for better accessibility. 2015-08-31 03:26:24 +00:00
update.php Superglobals: Revert [34059] until further notice. 2015-09-17 12:33:26 +00:00
upgrade-functions.php
upgrade.php Add @global annotations for wp-admin/*. 2015-05-28 21:41:30 +00:00
upload.php Media List Table: remove the counts from the "views" portion of the toolbar, which are inconsistent with grid view. Also reduces complexity and removes potentially expensive count query. 2015-09-17 02:30:26 +00:00
user-edit.php Move 2 ad hoc user admin functions: 2015-09-10 21:33:33 +00:00
user-new.php Superglobals: Revert [34059] until further notice. 2015-09-17 12:33:26 +00:00
users.php When deleting via User List Table, don't prompt for re-attribution if the user(s) do(es) not have any posts. 2015-09-10 16:47:24 +00:00
widgets.php Move wp_widgets_access_body_class() (a hook callback) from wp-admin/widgets.php to wp-admin/includes/widgets.php. 2015-09-10 21:22:23 +00:00