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.
…travis-ci lighter. "detect-missing-imports" takes a long, long time to run. Since it only emits warnings it can't affect the result of the continuous integration builds. Until it can be made a little faster it's probably best to run it by hand with `jake check-missing-imports`.
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 placeholder with CPNull, and ensures this CPNull is never actually exposed outside of the class.
Without this change, bootstrap.sh outputs a great deal of often superfluous information, like precisely which files are unzipped. Also, curl and wget display progress information by default. With this change, by default unzipping is quiet, unless --verbose is specified. curl and wget still display progress information, but --quiet can be specified to prevent this.
…ther token fields contained the partial value. 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.
…irefox, Opera and IE10. 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.
…editable. 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.)
Prior to this fix, clicking the (X) button on a token would delete the token even if the field was not actually editable.
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.
Without this change some 3rd party JS libraries such as PDF.js, which rely on the nonstandard setTimeout(f), will not operate correctly. According to MDN the delay argument is required. However browsers seem to treat setTimeout without delay argument the same as a delay of 0. This fix makes it so that Cappuccino apps do the same.