Commit Graph

18 Commits

Author SHA1 Message Date
nacin 64b9b4f940 Do not specify background-image: none when a user removes a custom background
on a theme that has a default background image.

The onus is on the theme to omit the default background-image from style.css,
to allow the user to remove the default background image. Or, the theme can
specify a background-image for the body selector, as long as they then zero
it out for body.custom-background, like so:

{{{
body {
	background-image: url( ... );
}
body.custom-background {
	background-image: none;
}
}}}

This allows the theme to be compatible with the custom background feature
but also gracefully degrade if the background feature is disabled.

This is the same behavior as 3.3; setting a default image has simply been
made more prominent in 3.4. Reverts [21013], also parts of [21001].
see #20448 for change and discussion history.

see #20132, which will now be marked as invalid.

Also, per previous changes in #20448, the custom-background class should not
be shown when only a default color is in use.

fixes #20448.



git-svn-id: http://core.svn.wordpress.org/trunk@21054 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-11 21:25:05 +00:00
ryan d7a9a9a231 Don't resurrect a removed default image when changing colors in the Customizer. Props koopersmith, nacin. fixes #20448
git-svn-id: http://core.svn.wordpress.org/trunk@21013 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-06 21:24:22 +00:00
ryan e69299af51 Theme Customizer: Fix race condition in previewer and use message channels. Props koopersmith. fixes #20811
git-svn-id: http://core.svn.wordpress.org/trunk@20988 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-04 15:51:46 +00:00
koopersmith 0df3218cc2 Theme Customizer: Ensure that JS color controls always use real color values, even if the server-side value is a hex value without a hash. fixes #20448, see #19910.
Adds WP_Customize_Setting->sanitize_js_callback and 'customize_sanitize_js_$settingID' filter, to filter values before they're passed to JS using WP_Customize_Setting->js_value().

Adds support for regular hex colors to the color picker.

Changes color methods:
* sanitize_hex_color() accepts 3 and 6 digit hex colors (with hashes) and the empty string.
* sanitize_hex_color_no_hash() accepts 3 and 6 digit hex colors (without hashes) and the empty string.
* maybe_hash_hex_color() ensures that a hex color has a hash, and otherwise leaves the value untouched.


git-svn-id: http://core.svn.wordpress.org/trunk@20936 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-26 18:44:31 +00:00
koopersmith 2d111e1c37 Theme Customizer: Fix preview background CSS creation to insert/remove style nodes (for IE8 compatibility). fixes #20582, see #19910.
git-svn-id: http://core.svn.wordpress.org/trunk@20930 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-26 07:02:28 +00:00
koopersmith 3c044eba6f Theme Customizer: Correctly use custom-background class in theme preview. See #19910.
git-svn-id: http://core.svn.wordpress.org/trunk@20919 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-25 22:43:11 +00:00
koopersmith a5ee470df7 Theme Customizer: Improve default background property handling. see #20600, #19910.
If the custom background default wp-head-callback (_custom_background_cb) is used, we use postMessage for all custom background properties. Otherwise, we use full refreshes.

When using postMessage, the preview recalculates the custom background CSS block, allowing it to omit CSS values when they are not present and fall back on the original CSS.


git-svn-id: http://core.svn.wordpress.org/trunk@20908 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-25 18:41:22 +00:00
koopersmith c1abf942f3 Theme Customizer: Reset scroll to top when the preview url is changed. props ocean90, fixes #20713, see #19910.
git-svn-id: http://core.svn.wordpress.org/trunk@20833 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-21 17:58:17 +00:00
koopersmith bc99ad372e Theme Customizer: Properly change state when theme is switched. fixes #20610, see #19910.
* Causes the Manage Themes page to refresh if the customizer is closed after the active theme is switched.
* Changes the text of the 'Save and Activate' button once the theme has been activated.
* Improves the naming of the customize control settings.
* Add events to customize.Loader and make callbacks more flexible.
* Makes the customize-loader l10n compatible with non-admin settings.
* Adds WP_Customize->is_current_theme_active().
* Minor style corrections, including jQuery.attr/prop changes.



git-svn-id: http://core.svn.wordpress.org/trunk@20802 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-16 05:55:54 +00:00
koopersmith 3165e6d50a Theme Customizer: Clarify wp.customize.Values API by removing Values.pass and all methods that passed through to the wp.customize.Value objects it contained. see #19910.
git-svn-id: http://core.svn.wordpress.org/trunk@20798 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-15 22:14:46 +00:00
koopersmith c3ff01b334 Theme Customizer: Maintain scrolled position when preview performs a full refresh. Allow wp.customize.Messenger to send/receive falsy values. see #19910.
git-svn-id: http://core.svn.wordpress.org/trunk@20745 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-09 00:23:05 +00:00
koopersmith 69d975d205 Theme Customizer: Add cross-domain handling for when the admin and front-end are different origins. Handles both ajax and postMessage calls. props rboren, mdawaffe, nacin. see #20507, #19910.
git-svn-id: http://core.svn.wordpress.org/trunk@20741 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-08 20:13:34 +00:00
koopersmith 13628d9186 Theme Customizer: Use a internal global _wpCustomizeSettings object for wp.customize.settings to prevent script race conditions in IE (which blocked interaction with the preview). see #20582, #19910.
git-svn-id: http://core.svn.wordpress.org/trunk@20737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-07 20:03:39 +00:00
koopersmith a75702bba4 Theme Customizer: Add statuses to the color and image controls. see #19910.
Move the color control from the switch statement to WP_Customize_Color_Control.
Markup improvements.


git-svn-id: http://svn.automattic.com/wordpress/trunk@20598 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-04-25 21:03:29 +00:00
koopersmith a5dacf7da5 Theme Customizer: Allow the customize iframe to be accessed directly (with full feature support). see #19910.
* Move the 'Return to Manage Themes' and 'Collapse Sidebar' actions from themes.php to customize-controls.php.
* Create a postMessage connection between themes.php and customize-controls.php.
* Allow the theme customizer to be accessed directly (independent of themes.php and the customize loader).
* Add wp_customize_href() and wp_customize_url().
* Remove wp_customize_loader(). To include the loader, use wp_enqueue_script( 'customize-loader' ).
* The theme customizer now requires postMessage browser support.
* Add .hide-if-customize and .hide-if-no-customize CSS classes.
* Clean up customize-preview.js.

git-svn-id: http://svn.automattic.com/wordpress/trunk@20476 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-04-16 14:02:28 +00:00
koopersmith 7a794b8941 Theme Customizer: Ensure background_color and background_image exist instead of blindly attempting to access their controls. see #19910.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20259 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-22 07:03:44 +00:00
koopersmith 306433c25b Theme Customizer: First pass at using postMessage for background color. Fix instance where preview.targetWindow would become inaccurate. Initialize setting values in customize-preview.js. see #19910.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20123 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-06 02:49:02 +00:00
koopersmith c832f904ae Introduce new theme customizer to replace theme preview. Rough first pass. props koopersmith, ocean90. see #19910.
Merges in http://plugins.svn.wordpress.org/gandalf/branches/dev/ rev 510148.

git-svn-id: http://svn.automattic.com/wordpress/trunk@19995 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-25 04:12:43 +00:00