Fixed: missing semicolon.
Fixed: nib2cib used a temp file for plutil output instead of using stdout.

Previously, nib2cib sent the output of plutil to a temp file, then read that file. plutil supports writing to stdout, which avoids the temp file completely, so that is what we do now.
Revert "Fixed: nib2cib used a temp file for plutil output instead of using stdout."

This reverts commit 4e4fc389d2dacebf347c1d6e95fff91d6e8c2f31. It wasn't working reliably.
Fixed: main div in index.html had wrong id.

The div's id was changed to cappuccino, and it was supposed to be cappuccino-body, which broke code that relied on the DOM remaining stable during startup.
FIXED: Bug that could open a child window in the wrong platform window

Previously, addChildWindow:ordered: did not set not the child window's platform window. This could result to open them in the wrong browser window. This patch makes sure to set the parent's platform window as the child window's platform window.
FIXED: Bug introduced with my previous commit, preventing popover to open in some cases.

Previously, addChildWindow:ordered: was setting the platform window of the child window.
This patch restore the correct behaviour, and fix a bug with _CPAutocompleteMenu. Now the autocomplete menu is opened as a child of its textfield window using the correct platform window.
Fixed: selectable text deselected when a menu was clicked.

This made it impossible to select some (non-editable) text, and then to click a Cappuccino menu option like Edit > Copy. Upon the click of Edit, the just selected text would be lost.

This was caused by some very mysterious code focusing and blurring an input every time propagation was stopped. Since it wasn't documented, the snippet was just removed for now. If it turns out it was useful we'll need to add it back and make sure it's not called in this scenario (while documenting it properly).

Refs #1964.
Fixed: copy and paste by Cappuccino Edit menu not working.

When the Edit menu is used to cut or to paste, Cappuccino needs to do all the work of making it happen. But the current code relied on the browser doing part of the work.

This fix adds new state so CPTextField can know if it should expect the browser to do some of the work or not.

Refs #1964.
Return false for mouse handler if propagation is stopped.

Refs #1964.
Fixed: - CPTextField deleteBackward: required selection.

According to the spec, deleteBackward: should remove the element before the insertion point if there is no selection (e.g. actually delete backwards).
New: Edit > Delete menu item support for text fields.

This menu item deletes the current selection if there is one.

Refs #1964.
New: CPTextField deleteForward:.

This enables delete forward to be activated through action connections to text fields (or the first responder).
Clean up.
New: grey out Edit menu non applicable items for text fields.

Copy, cut and delete are now disabled if there's no selection in the active text field. Cut, paste and delete are greyed out if the text field is not editable (a label).

Refs #1964.
Fixed: missing imports.
Simplify.