fast/frames/sandboxed-iframe-navigation-allowed.html sometimes
asserts in debug.

* platform/mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Legacy CSS vendor prefixes should only work for Dashboard
https://bugs.webkit.org/show_bug.cgi?id=111890

Reviewed by Eric Seidel.

Source/WebCore:

Our experience with the Chromium port is that these legacy CSS vendor
prefixes (-apple- and -khtml-) are not needed for web compatibility.
There is reason to believe, however, that they are needed for
compatibility with Mac OS X Dashboard widgets.

This patch makes the code for these legacy CSS vendor prefixes
enabled at runtime and only enables them when running in Dashboard
compatibility mode. This is the first step towards the plan outlined in
https://lists.webkit.org/pipermail/webkit-dev/2013-March/024085.html.

This patch also removes support for ENABLE(LEGACY_CSS_VENDOR_PREFIXES)
from the V8 bindings because V8 is never used with Dashboard.

* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):
* bindings/generic/RuntimeEnabledFeatures.h:
(RuntimeEnabledFeatures):
(WebCore::RuntimeEnabledFeatures::setLegacyCSSVendorPrefixesEnabled):
(WebCore::RuntimeEnabledFeatures::legacyCSSVendorPrefixesEnabled):
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::getCSSPropertyNamePrefix):
(WebCore::cssPropertyIDForJSCSSPropertyName):
* bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
(WebCore::cssPropertyInfo):
* css/CSSParser.cpp:
(WebCore::CSSParser::rewriteSpecifiers):

Source/WebKit/mac:

Enable legacy CSS vendor prefixes when we've been asked to turn on
Dashboard compatibility mode.

* WebView/WebView.mm:
(-[WebView _setDashboardBehavior:to:]):

LayoutTests:

* inspector/styles/vendor-prefixes-expected.txt:
    - Update results to show our new behavior now that -apple- and
      -khtml- are not supported.
* platform/mac/TestExpectations:
    - Skip a test that is testing that we support -apple- prefixes.
* platform/mac/fast/css/dashboard-region-parser.html:
    - Update test to use -webkit- rather than -apple-.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146025 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add tests for calendar picker month popup
https://bugs.webkit.org/show_bug.cgi?id=112107

Adding tests to check if mouse and keyboard operations work on the month popup.

Reviewed by Kent Tamura.

* platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations-expected.txt:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations.html:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-mouse-operations-expected.txt:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-mouse-operations.html:
* platform/chromium/fast/forms/calendar-picker/month-picker-key-operations-expected.txt:
* platform/chromium/fast/forms/calendar-picker/month-picker-key-operations.html:
* platform/chromium/fast/forms/calendar-picker/month-picker-mouse-operations-expected.txt:
* platform/chromium/fast/forms/calendar-picker/month-picker-mouse-operations.html:
* platform/chromium/fast/forms/calendar-picker/resources/calendar-picker-common.js:
(clickMonthPopupButton): Clicks the month popup button to open the month popup.
(clickYearListCell): Clicks the year list cell for the given year to reveal the month buttons.
(hoverOverMonthButton): Moves the mouse over to the month button for the given month.
(clickMonthButton): Clicks the month button for the given month.
(checkYearListViewScrollOffset): Checks the year list view scroll offset and returns the difference from the last time it was called.
* platform/chromium/fast/forms/calendar-picker/week-picker-key-operations-expected.txt:
* platform/chromium/fast/forms/calendar-picker/week-picker-key-operations.html:
* platform/chromium/fast/forms/calendar-picker/week-picker-mouse-operations-expected.txt:
* platform/chromium/fast/forms/calendar-picker/week-picker-mouse-operations.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
fast/frames/flattening/frameset-flattening-subframesets.html is flakey

* platform/mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[HTMLTemplateElement] prevent </template> from matching "template" in a non-HTML tags on the stack of open elements
https://bugs.webkit.org/show_bug.cgi?id=112487

Reviewed by Adam Barth.

Source/WebCore:

When processing an end template tag, the parser now pops until a "template" tag is parsed, but now ensures that
the "template" it pops is in the HTML namespace.

Tests added to the html5lib test suite.

* html/parser/HTMLElementStack.cpp:
(WebCore::HTMLElementStack::popUntil):
(WebCore):
(WebCore::HTMLElementStack::popUntilPopped):
* html/parser/HTMLElementStack.h:
(HTMLElementStack):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processTemplateEndTag):

LayoutTests:

* html5lib/resources/template.dat:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
INPUT_MULTIPLE_FIELDS_UI: Don't update shadow tree by updating any attribute
https://bugs.webkit.org/show_bug.cgi?id=111990

Reviewed by Hajime Morrita.

Source/WebCore:

Bug detail:
Typing '1' then '1' into an hour field doesn't set the field to
'11' if an attribute is updated during these two keyboard inputs
because we always re-construct a shadow DOM tree by updating any
attributes and a shadow node records keyboard input state.

How to fix:
We should not re-construct a shadow DOM tree by updating
unaffected attributes. For example, we should re-construct it by
updating 'min' attribute, but we should not by updating 'class'
attribute.
We have InputType::updateInnerTextValue call in parseAttribute for
text field input types. The multiple fields input types
re-construct shadow DOM tree in updateInnerTextValue. The
updateInnerTextValue call is unnecessary for the multiple fields
input types, and we should call it when it is necessary. So, we
add InputType::attributeChange and text field input types call
updateInnerTextValue in it, and other input types don't.
Also, multiple fields input types need to call
updateInnerTextValue by 'value' attribute change. We add
InputType::valueAttributeChanged.

Tests: Update
fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html. The
value attribute change behavior is covered by
time-multiple-fields-change-layout-by-value.html and
time-multiple-fields-spinbutton-change-and-input-events.html.

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseAttribute):
- Add a valueAttributeChanged call.
- Calls InputType::attributeChanged
* html/InputType.cpp:
(WebCore::InputType::attributeChanged): Added an empty implementation.
(WebCore::InputType::valueAttributeChanged): Ditto.
* html/InputType.h:
(InputType): Declare attributeChanged and valueAttributeChanged.
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::attributeChanged):
Added. Always call updateInnerTextValue.
* html/TextFieldInputType.h:
(TextFieldInputType): Declare attributeChanged.
* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(WebCore::BaseMultipleFieldsDateAndTimeInputType::valueAttributeChanged):
Added. Re-construct shadow DOM tree if the input has no dirty value.
* html/BaseMultipleFieldsDateAndTimeInputType.h:
(BaseMultipleFieldsDateAndTimeInputType): Declare valueAttributeChanged.

LayoutTests:

* fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Encapsulate PlatformMessagePortChannel a little better yet
https://bugs.webkit.org/show_bug.cgi?id=112479

Reviewed by Sam Weinig.

* dom/MessagePortChannel.h: We no longer expose PlatformMessagePortChannel in
public functions in cross-platform code.

* dom/default/PlatformMessagePortChannel.cpp:
(WebCore::MessagePortChannel::createChannel): Tweaked the factory method to avoid
using the old create() function.
(WebCore::MessagePortChannel::~MessagePortChannel): Removed an unhelpful comment.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146030 268f45cc-cd09-0410-ab3c-d52691b4dbfc