[Gtk] No accessible caret-moved events found in certain content
https://bugs.webkit.org/show_bug.cgi?id=72811

Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-08-21
Reviewed by Chris Fleizach.

Part of the bug is due to objects which should claim to implement AtkText
failed to do so as a result of containing a mixture of inline and block
spans.

An updated unit test was provided.

Source/WebCore:

* accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
(roleIsTextType): New method to check if a role is one expected to have
implemented the AtkText interface. Currently that is defined as:
 - ParagraphRole
 - HeadingRole
 - DivRole
 - CellRole
(getInterfaceMaskFromObject): If a role is one of the text type roles,
automatically add WAI_TEXT to the accessible object's interface mask.

Source/WebKit/gtk:

* tests/testatk.c:
(testWebkitAtkCaretOffsets): Added instances of objects containing a
mixture of inline and block spans and tested that they implement AtkText
and contain the right textual contents.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126243 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Skipping http/tests/inspector/console-resource-errors.html.
https://bugs.webkit.org/show_bug.cgi?id=94646.

Patch by Mark Lam <mark.lam@apple.com> on 2012-08-21
Reviewed by Brady Eidson.

Need to revert after https://bugs.webkit.org/show_bug.cgi?id=94640 is fixed.

* platform/mac/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove UndoManager's undoscope content attribute
https://bugs.webkit.org/show_bug.cgi?id=94637

Patch by Sukolsak Sakshuwong <sukolsak@google.com> on 2012-08-21
Reviewed by Ryosuke Niwa.

Source/WebCore:

No new tests. Covered by existing tests.

* bindings/v8/DOMTransaction.cpp:
(WebCore::DOMTransaction::callFunction):
* dom/Document.cpp:
(WebCore::Document::undoManager):
* dom/Element.cpp:
(WebCore::Element::~Element):
(WebCore):
* dom/Element.h:
(Element):
* dom/Element.idl:
* dom/ElementRareData.h:
(ElementRareData):
* editing/UndoManager.cpp:
(WebCore::UndoManager::create):
(WebCore::UndoManager::UndoManager):
(WebCore::UndoManager::disconnect):
(WebCore::UndoManager::transact):
(WebCore::UndoManager::undo):
(WebCore::UndoManager::redo):
(WebCore::UndoManager::clearUndo):
(WebCore::UndoManager::clearRedo):
(WebCore):
* editing/UndoManager.h:
(WebCore):
(UndoManager):
(WebCore::UndoManager::document):
(WebCore::UndoManager::ownerNode):
* html/HTMLAttributeNames.in:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseAttribute):
(WebCore::HTMLElement::setContentEditable):

LayoutTests:

* editing/undomanager/undomanager-reenter-expected.txt: Copied from LayoutTests/editing/undomanager/undomanager-use-after-free-expected.txt.
* editing/undomanager/undomanager-reenter.html: Copied from LayoutTests/editing/undomanager/undomanager-use-after-free.html.
* editing/undomanager/undomanager-use-after-free-expected.txt: Removed.
* editing/undomanager/undomanager-use-after-free.html: Removed.
* editing/undomanager/undoscope-attribute-expected.txt: Removed.
* editing/undomanager/undoscope-attribute.html: Removed.
* editing/undomanager/undoscopehost-use-after-free.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed Chromium gardening. Suppress crashes of new test.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126246 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add mountain lion to perf-tests, layout tests
https://bugs.webkit.org/show_bug.cgi?id=94553

Reviewed by Adam Barth.

This patch adds support for the 'mac-mountainlion' platform and
stamps out the last references to 'mac-leopard' as a supported
name.

This patch does a small amount of refactoring to try and make
things a little clearer how we treat the "most recent version"
specially for baselines and skipped files, and so you only
should have to touch the VERSION_FALLBACK_ORDER constants on the
ports, but unfortunately changing this list changes a bunch of
the unit tests which are doing exact matches for correctness, so
you have to touch more than a couple files :(. There's probably
still more refactoring that can be done so that we don't have to
do all of this functional testing to feel completely correct.

* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo._determine_mac_version):
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
(TestPlatformInfo.test_os_version):
* Scripts/webkitpy/layout_tests/port/apple.py:
(ApplePort.__init__):
(ApplePort):
(ApplePort._skipped_file_search_paths):
(ApplePort._generate_all_test_configurations):
* Scripts/webkitpy/layout_tests/port/chromium_mac.py:
(ChromiumMacPort):
* Scripts/webkitpy/layout_tests/port/factory_unittest.py:
(FactoryTest.test_mac):
* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort):
(MacPort._build_driver_flags):
(MacPort.should_retry_crashes):
(MacPort.default_baseline_search_path):
(MacPort.operating_system):
(MacPort.default_child_processes):
* Scripts/webkitpy/layout_tests/port/mac_unittest.py:
(MacTest):
(MacTest.test_skipped_file_search_paths):
(test_versions):
(test_baseline_search_path):
* Scripts/webkitpy/layout_tests/port/win.py:
(WinPort):
(WinPort.default_baseline_search_path):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126247 268f45cc-cd09-0410-ab3c-d52691b4dbfc
A shadow element in ShadowDOM of a button element does not work.
https://bugs.webkit.org/show_bug.cgi?id=91486

Reviewed by Dimitri Glazkov.

Source/WebCore:

Since a button element is extended from an HTMLFormControlElement, it creates a UserAgentShadowDOM
just before adding an AuthorShadowDOM. However, actually a button element does not need any UserAgentShadowDOM.
So we have to prevent it from creating UserAgentShadowDOM.

Test: fast/dom/shadow/shadowdom-for-button.html

* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::willAddAuthorShadowRoot):
(WebCore):
* html/HTMLButtonElement.h:

LayoutTests:

* fast/dom/shadow/shadowdom-for-button-expected.html: Added.
* fast/dom/shadow/shadowdom-for-button.html: Added.
* fast/dom/shadow/shadowdom-for-form-associated-element-useragent-expected.txt:
* fast/dom/shadow/shadowdom-for-form-associated-element-useragent.html: a button element
does not have user agent shadow dom anymore.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126248 268f45cc-cd09-0410-ab3c-d52691b4dbfc
V8 shouldn't have its own way of printing cross-origin error messages
https://bugs.webkit.org/show_bug.cgi?id=94641

Reviewed by Eric Seidel.

Source/WebCore:

V8 used to re-implement (poorly) the code for printing out an error
message when a same-origin check failed. This patch deletes that code
in favor of just calling the WebCore version of the code. There more to
clean up here, but I had to stop before spidering over the whole
codebase.

* bindings/generic/BindingSecurity.cpp:
(WebCore::canAccessDocument):
* bindings/js/BindingState.cpp:
* bindings/js/BindingState.h:
* bindings/v8/BindingState.cpp:
(WebCore::printErrorMessageForFrame):
* bindings/v8/BindingState.h:
(WebCore):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::reportUnsafeJavaScriptAccess):
* bindings/v8/V8Proxy.cpp:
* bindings/v8/V8Proxy.h:
(V8Proxy):

LayoutTests:

Update these results to reflect the new error messages. These error
messages are both more correct and more like JavaScriptCore.

* platform/chromium/http/tests/security/cross-frame-access-private-browsing-expected.txt: Added.
    - We don't use the private browsing setting to implement private browsing.
* platform/chromium/http/tests/security/cross-frame-access-document-direct-expected.txt:
* platform/chromium/http/tests/security/inactive-document-with-empty-security-origin-expected.txt:
* platform/chromium/http/tests/security/listener/xss-inactive-closure-expected.txt:
* platform/chromium/http/tests/security/xss-eval-expected.txt:
    - Previously, we were incorrectly using the first script rather
      than the active script when printing the error message.
* platform/chromium/http/tests/security/listener/xss-JSTargetNode-onclick-addEventListener-expected.txt: Removed.
* platform/chromium/http/tests/security/listener/xss-JSTargetNode-onclick-shortcut-expected.txt: Removed.
* platform/chromium/http/tests/security/listener/xss-XMLHttpRequest-addEventListener-expected.txt: Removed.
* platform/chromium/http/tests/security/listener/xss-XMLHttpRequest-shortcut-expected.txt: Removed.
* platform/chromium/http/tests/security/listener/xss-window-onclick-addEventListener-expected.txt: Removed.
* platform/chromium/http/tests/security/listener/xss-window-onclick-shortcut-expected.txt: Removed.
    - These results are now identical to JSC.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126249 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Forms] multiple fields time input UI should not have two focus ring.
https://bugs.webkit.org/show_bug.cgi?id=94579

Reviewed by Hajime Morita.

Source/WebCore:

This patch adds CSS selectors to override focus style for multiple
fields time input UI.

No new tests. fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html
is updated for including focus state appearance.

* css/html.css:
(input::-webkit-datetime-edit-ampm-field:focus): Override default focus appearance.
(input::-webkit-datetime-edit-hour-field:focus): ditto
(input::-webkit-datetime-edit-millisecond-field:focus): ditto
(input::-webkit-datetime-edit-minute-field:focus): ditto
(input::-webkit-datetime-edit-second-field:focus): ditto

LayoutTests:

This patch adds a test case of focus appearance multiple fields time
input UI.

* fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic-expected.html: Added script to make focus appearance.
* fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html: Added script to set focus to input element.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126250 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash in RenderTableSection::setCellLogicalWidths
https://bugs.webkit.org/show_bug.cgi?id=94291

Reviewed by Abhishek Arya.

Source/WebCore:

This issue was that splitAnonymousBoxesAroundChild would move a table section
into a newly created table *without* marking it as needing cell recalc. The table
would thus never build its structure to match its sections. The fix is to hop on
the new willBeRemovedFromTree signal so that the section invalidates itself properly.

Test: fast/table/crash-split-table-section-no-cell-recalc.html

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::willBeRemovedFromTree):
* rendering/RenderTableSection.h:
Replaced willBeDestroyed by willBeRemovedFromTree in RenderTableSection. This ensures that it is called
when moving sections in the tree to mark them as needing cell recalc.

LayoutTests:

* fast/table/crash-split-table-section-no-cell-recalc-expected.txt: Added.
* fast/table/crash-split-table-section-no-cell-recalc.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126251 268f45cc-cd09-0410-ab3c-d52691b4dbfc
range-hit-test-with-padding.html fails unless subpixel layout is on
https://bugs.webkit.org/show_bug.cgi?id=94585

Reviewed by Kent Tamura.

Ports without subpixel layout didn't exactly match the result, because slider thumb width is an odd number and we are dividing it by two.

* fast/forms/range/range-hit-test-with-padding-expected.txt:
* fast/forms/range/range-hit-test-with-padding.html: Adjust the max so it snaps to the step in the middle.


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