This has the added benefit of ignoring unknown/unsupported prefixes, providing the property itself is camel-cased.
For example:
"LinearBackground" -> "linear-background"
"Linear-Background" -> "linear-background"
"linear-background" -> "linear-background"
"fooLinearBackground" -> "linear-background"
and
"WebkitLinearBackground" -> "-webkit-linear-background"
"MozLinearBackground" -> "-moz-linear-background"
etc..
For example, the following CSS property names all resolve to the same correct JS equivalent for the current browser:
* CPBrowserStyleProperty('TransformOrigin') -> 'WebkitTransformOrigin'
* CPBrowserStyleProperty('transform-origin') -> 'WebkitTransformOrigin'
Without this fix, `CPPanel` followed the same rules as `CPWindow` with regards to becoming the key window. But `CPPanel` is supposed to always be willing to become the key window, as stated in its documentation.
This change makes `CPPanel` always return `YES` for `canBecomeKeyWindow`.
Before this fix, CPAlert subclassed CPView, causing an API mismatch with Cocoa and exposing unexpected methods in the public API which made no sense for a CPAlert such as autoresizing masks. It also lead to CPAlert mistakingly shadowing _window from its CPView superclass.
This fix makes CPAlert inherit from CPObject as it should. The theming, which needs to be applied to a view, was moved to an internal view.
Without this fix, CPAlert windows would not finish closing before sending the `alertDidEnd:returnCode:` delegate message. This would lead to a crash if the delegate method tried to open a new sheet.
This fix makes sure to fully order out the alert sheet before sending the delegate message.
Without this change, CPApplicationTest's manipulation of window.location.hash was ignored by CPApplication in recent versions, since CPApp in a unit test normally does not have access to the window object.
This change makes it so that CPApp does try to access the window object, even in a unit test scenario (non PLATFORM(DOM)).
Before this fix, CPApp tried to add nil to its internal list of windows, even that nil should not be added to a CPArray. Second, that nil was actually returned by [CPApp windows] rather than an expected list of only CPWindow instances.
This fix makes [CPApp windows] return only actual windows, replaces the internal _windows[0] placeholder with CPNull, and ensures this CPNull is never actually exposed outside of the class.
Without this fix, token fields generally assumed that if there was anything in the shared editor buffer, it belonged to the current field, even if it wasn't the field that was being edited.
With this fix only the token field actually being edited considers the editor contents.
Before this fix, popoverDidShow: would not be sent to popover delegates when the app ran in Firefox due to Firefox now recognising the -webkit-transition property, but not the webkitTransitionEnd event.
Also, before this fix popover animation was only implemented for Webkit based browsers.
This fix resolves that issue and in addition adds full support for animated popovers in all browsers that support CSS transitions. The fix also improves Cappuccino's general support for CSS3 animations.
This prevented text fields and token fields from accepting input when placed in a pop over.
This fix allows the underlying popover window to become the key window.
Without this fix, the scroll handle in the token field autocomplete menu could not be moved using the mouse. Only scroll wheel or keyboard based scrolling was possible.
This fix enables regular mouse interaction with the scrollbar.
Before this change the close button showed at all times, even for token fields which weren't even editable.
This change brings us closer to Cocoa in that there's no token delete button most of the time, and just like in Cocoa there are more controls available on hover. (Although in Cocoa there's a disclosure arrow and we have a close button instead.)
Without this change, clicking a token in a first responder token field would cause it to momentarily lose first responder status and then immediately gain it back.
This fix makes it so that tokens never try to become the first responder, resulting in a more stable token field as tokens are selected and deselected.