WebKit-https.git
12 years ago[Qt] Allow removing 'qrc' as a local security origin scheme
vestbo@webkit.org [Fri, 4 Dec 2009 15:36:52 +0000 (15:36 +0000)]
[Qt] Allow removing 'qrc' as a local security origin scheme

Reviewed by Simon Hausmann.

WebCore:

* page/SecurityOrigin.cpp:

WebKit/qt:

* tests/qwebpage/tst_qwebpage.cpp:

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

12 years ago[Qt] Clean up argument parsing in the QtLauncher
vestbo@webkit.org [Fri, 4 Dec 2009 15:36:34 +0000 (15:36 +0000)]
[Qt] Clean up argument parsing in the QtLauncher

Reviewed by Simon Hausmann.

* QtLauncher/main.cpp:

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

12 years ago2009-12-04 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
eric@webkit.org [Fri, 4 Dec 2009 12:56:49 +0000 (12:56 +0000)]
2009-12-04  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Prevent the inspector from closing its wrapping widget.
        This is not necessary anymore since we now hide the embedded
        close button.
        https://bugs.webkit.org/show_bug.cgi?id=32149

        * WebCoreSupport/InspectorClientQt.cpp:
        (WebCore::InspectorClientQt::showWindow):
        (WebCore::InspectorClientQt::closeWindow):

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

12 years agoAllow custom memory allocation control for WebCore's CollectionCache
zoltan@webkit.org [Fri, 4 Dec 2009 12:07:19 +0000 (12:07 +0000)]
Allow custom memory allocation control for WebCore's CollectionCache
https://bugs.webkit.org/show_bug.cgi?id=32109

Reviewed by Eric Seidel.

Inherits the following class from FastAllocBase because it is
instantiated by 'new':

struct name            - instantiated at: WebCore/'location'

struct CollectionCache - dom/Document.cpp:4029

* html/CollectionCache.h:

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

12 years ago2009-12-04 Steve Block <steveblock@google.com>
eric@webkit.org [Fri, 4 Dec 2009 11:30:41 +0000 (11:30 +0000)]
2009-12-04  Steve Block  <steveblock@google.com>

        Reviewed by Darin Adler.

        Fixes a crashing bug in Geolocation when a watch is cleared from some callbacks.
        https://bugs.webkit.org/show_bug.cgi?id=32111

        * fast/dom/Geolocation/resources/permission-denied-already-clear-watch.js: Added. Tests clearing the watch from the error callback after a permission denied message when permissions have already been denied.
        * fast/dom/Geolocation/permission-denied-already-clear-watch.html: Added. HTML wrapper for above test.
        * fast/dom/Geolocation/permission-denied-already-clear-watch-expected.txt: Added. Expected result for above test.

        * fast/dom/Geolocation/resources/timeout-clear-watch.js: Added. Tests clearing the watch from the error callback due to a timeout.
        * fast/dom/Geolocation/timeout-clear-watch.html: Added. HTML wrapper for above test.
        * fast/dom/Geolocation/timeout-clear-watch-expected.txt: Added. Expected result for above test.

        * platform/gtk/Skipped: Modified. Skips new tests.
2009-12-04  Steve Block  <steveblock@google.com>

        Reviewed by Darin Adler.

        Fixes a crashing bug in Geolocation when a watch is cleared from some callbacks.
        https://bugs.webkit.org/show_bug.cgi?id=32111

        In Geolocation::GeoNotifier::timerFired, a JS callback may be invoked if a
        fatal error was registered on this GeoNotifier or if this request has timed
        out. If the request is a watch, and is cleared by a call to clearWatch in the
        callback, the GeoNotifier object will be destroyed. We must therefore cache the
        m_geolocation member to allow us to call Geolocation::fatalErrorOccurred or
        Geolocation::requestTimedOut.

        Tests: fast/dom/Geolocation/permission-denied-already-clear-watch.html
               fast/dom/Geolocation/timeout-clear-watch.html

        * page/Geolocation.cpp: Modified.
        (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Cache the m_geolocation member before invoking the JS callback.

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

12 years ago[Qt] Re-enable audio/video tests after updated buildbot's Qt
ossy@webkit.org [Fri, 4 Dec 2009 10:37:26 +0000 (10:37 +0000)]
[Qt] Re-enable audio/video tests after updated buildbot's Qt
to Phonon supported one, and put 2 bad tests into skiplist.

Reviewed by Simon Hausmann.

* platform/qt/Skipped:

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

12 years agoAllow custom memory allocation control for 2 classes of the platform directory in...
zoltan@webkit.org [Fri, 4 Dec 2009 10:33:55 +0000 (10:33 +0000)]
Allow custom memory allocation control for 2 classes of the platform directory in WebCore
https://bugs.webkit.org/show_bug.cgi?id=

Reviewed by Eric Seidel.

Inherits the following class from Noncopyable because it is instantiated
by 'new' and no need to be copyable:

class/struct name         - instantiated at: WebCore/'location'

class SharedTimer         - (its child class) workers/WorkerRunLoop.cpp:91

Inherits the following class from FastAllocBase because it is
instantiated by 'new':

class TransformOperations - rendering/style/RenderStyle.h:1175

Noncopyable.h's include added to SharedTimer.h.

* platform/SharedTimer.h:
* platform/graphics/transforms/TransformOperations.h:

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

12 years ago2009-12-04 Xan Lopez <xlopez@igalia.com>
xan@webkit.org [Fri, 4 Dec 2009 10:18:42 +0000 (10:18 +0000)]
2009-12-04  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK]Enable DNS prefetching
        https://bugs.webkit.org/show_bug.cgi?id=23846

        Bump libsoup required version to 2.29.3 for DNS prefetching.

        * configure.ac:

WebCore:

2009-12-04  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK]Enable DNS prefetching
        https://bugs.webkit.org/show_bug.cgi?id=23846

        Enable DNS prefetching.

        Based on a patch by José Millán.

        * platform/network/soup/DNSSoup.cpp:
        (WebCore::prefetchDNS):

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

12 years agoRoll out r51687 because it breaks the Leopard builds.
zoltan@webkit.org [Fri, 4 Dec 2009 08:56:25 +0000 (08:56 +0000)]
Roll out r51687 because it breaks the Leopard builds.

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

12 years ago2009-12-04 Zoltan Horvath <zoltan@webkit.org>
zoltan@webkit.org [Fri, 4 Dec 2009 08:38:39 +0000 (08:38 +0000)]
2009-12-04  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Eric Seidel.

        Allow custom memory allocation control for 2 classes of the platform directory in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=

        Inherits the following class from Noncopyable because it is instantiated
        by 'new' and no need to be copyable:

        class/struct name         - instantiated at: WebCore/'location'

        class SharedTimer         - (its child class) workers/WorkerRunLoop.cpp:91

        Inherits the following class from FastAllocBase because it is
        instantiated by 'new':

        class TransformOperations - rendering/style/RenderStyle.h:1175

        * platform/SharedTimer.h:
        * platform/graphics/transforms/TransformOperations.h:

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

12 years ago2009-12-04 Yuzo Fujishima <yuzo@google.com>
eric@webkit.org [Fri, 4 Dec 2009 08:25:22 +0000 (08:25 +0000)]
2009-12-04  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Darin Fisher.

        Add test to see if unicode messages can be sent over web socket.

        https://bugs.webkit.org/show_bug.cgi?id=31341

        * websocket/tests/script-tests/unicode.js: Added.
        (endTest):
        (ws.onopen):
        (ws.onmessage):
        (ws.onclose):
        (timeOutCallback):
        * websocket/tests/unicode-expected.txt: Added.
        * websocket/tests/unicode.html: Added.
        * websocket/tests/unicode_wsh.py: Added.

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

12 years ago2009-12-04 Zoltan Horvath <zoltan@webkit.org>
zoltan@webkit.org [Fri, 4 Dec 2009 08:15:01 +0000 (08:15 +0000)]
2009-12-04  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Eric Seidel.

        Allow custom memory allocation control for the svg directory in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=

        Inherits the following classes from Noncopyable because these are instantiated
        by 'new' and no need to be copyable:

        class/struct name           - instantiated at: WebCore/'location'

        struct ResourceSet          - svg/graphics/SVGResource.cpp:148
        class SVGFontData           - css/CSSFontFaceSource.cpp:156
        class SVGDocumentExtensions - dom/Document.cpp:3962
        class SVGViewSpec           - svg/SVGSVGElement.cpp:191

        * svg/SVGDocumentExtensions.h:
        * svg/SVGFontData.h:
        * svg/SVGViewSpec.h:
        * svg/graphics/SVGResource.cpp:

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

12 years agoWAI-ARIA: aria-activedescendant doesn't work as intended
cfleizach@apple.com [Fri, 4 Dec 2009 07:50:48 +0000 (07:50 +0000)]
WAI-ARIA: aria-activedescendant doesn't work as intended
https://bugs.webkit.org/show_bug.cgi?id=32100

Reviewed by Beth Dakin.

WebCore:

Fixes a number of issues regarding the "tree" role and aria-activedescendant.
1. The indexes were being reported incorrectly by treeitems.
2. aria-activedescendant changes were not being sent to the containing item.
3. The tree's selected rows need to consult aria-activedescendant.
4. Since a tree changes what it returns as its children (it returns its rows)
   the mac-specific array indexing methods need to correctly handle the tree case.

Tests: platform/mac/accessibility/aria-tree-activedescendant.html
       platform/mac/accessibility/aria-tree-index-of-items.html

* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant):
(WebCore::AccessibilityRenderObject::activeDescendant):
(WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
(WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postPlatformNotification):
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
(-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
* accessibility/win/AXObjectCacheWin.cpp:
(WebCore::AXObjectCache::postPlatformNotification):

LayoutTests:

* platform/mac/accessibility/aria-tree-activedescendant-expected.txt: Added.
* platform/mac/accessibility/aria-tree-activedescendant.html: Added.
* platform/mac/accessibility/aria-tree-index-of-items-expected.txt: Added.
* platform/mac/accessibility/aria-tree-index-of-items.html: Added.

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

12 years ago2009-12-03 Zoltan Horvath <zoltan@webkit.org>
zoltan@webkit.org [Fri, 4 Dec 2009 07:48:59 +0000 (07:48 +0000)]
2009-12-03  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Eric Seidel.

        Allow custom memory allocation control for the xml directory in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=

        Inherits the following class from Noncopyable because it is instantiated
        by 'new' and no need to be copyable:

        class/struct name               - instantiated at: WebCore/'location'

        struct XMLHttpRequestStaticData - xml/XMLHttpRequest.cpp:134

        Inherits the following classes from FastAllocBase because these are instantiated by 'new':

        class NodeTest                  - xml/XPathGrammar.y:258
        class NodeSet                   - xml/XPathValue.cpp:52
        struct EvaluationContext        - xml/XPathExpressionNode.cpp:40

        * xml/XMLHttpRequest.cpp:
        * xml/XPathExpressionNode.h:
        * xml/XPathNodeSet.h:
        * xml/XPathStep.h:

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

12 years ago2009-12-03 Shinichiro Hamaji <hamaji@chromium.org>
hamaji@chromium.org [Fri, 4 Dec 2009 07:42:19 +0000 (07:42 +0000)]
2009-12-03  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by David Levin.

        check-webkit-style should check for camelCase variable names
        https://bugs.webkit.org/show_bug.cgi?id=32051

        * Scripts/modules/cpp_style.py:
        * Scripts/modules/cpp_style_unittest.py:

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

12 years agoNew History changes do not compile for Chromium/V8
atwilson@chromium.org [Fri, 4 Dec 2009 06:40:56 +0000 (06:40 +0000)]
New History changes do not compile for Chromium/V8
https://bugs.webkit.org/show_bug.cgi?id=32148

Reviewed by Adam Barth.

Existing tests suffice (just trying to get code to compile).

* WebCore.gypi:
Added V8HistoryCustom.cpp and other missing files.
* bindings/v8/custom/V8CustomBinding.h:
Added custom handlers for History.pushState()/replaceState().
* bindings/v8/custom/V8HistoryCustom.cpp: Added.
Added custom handlers for History.pushState()/replaceState().
* history/BackForwardListChromium.cpp:
(WebCore::BackForwardList::pushStateItem):
Stubbed out this routine for now - will implement in the future.

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

12 years ago2009-12-03 Adam Barth <abarth@webkit.org>
eric@webkit.org [Fri, 4 Dec 2009 06:19:58 +0000 (06:19 +0000)]
2009-12-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        OwnPtr<XBLBindingManager> Document::m_bindingManager;
        https://bugs.webkit.org/show_bug.cgi?id=32147

        The document actually owns the bindingManager.  That's what the code
        should say.

        * dom/Document.cpp:
        (WebCore::Document::~Document):
        * dom/Document.h:
        (WebCore::Document::bindingManager):

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

12 years ago2009-12-03 Adam Barth <abarth@webkit.org>
abarth@webkit.org [Fri, 4 Dec 2009 05:55:46 +0000 (05:55 +0000)]
2009-12-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        OwnPtr<Tokenizer> Document::m_tokenizer;
        https://bugs.webkit.org/show_bug.cgi?id=32145

        The document actually owns the tokenizer.  That's what the code should say.

        * dom/Document.cpp:
        (WebCore::Document::removedLastRef):
        (WebCore::Document::~Document):
        (WebCore::Document::cancelParsing):
        (WebCore::Document::implicitOpen):
        (WebCore::Document::implicitClose):
        * dom/Document.h:
        (WebCore::Document::tokenizer):

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

12 years ago2009-12-03 Adam Barth <abarth@webkit.org>
abarth@webkit.org [Fri, 4 Dec 2009 05:54:58 +0000 (05:54 +0000)]
2009-12-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        OwnPtr<RenderArena> Document::m_renderArena;
        https://bugs.webkit.org/show_bug.cgi?id=32146

        The document owns the renderArena.  That's what the code should say.

        * dom/Document.cpp:
        (WebCore::Document::Document): Also, removed a redundant initialization
        of the tokenizer that I missed in my previous patch.
        (WebCore::Document::~Document):
        (WebCore::Document::attach):
        (WebCore::Document::detach):
        * dom/Document.h:
        (WebCore::Document::renderArena):

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

12 years agoRevert r51633
atwilson@chromium.org [Fri, 4 Dec 2009 05:54:31 +0000 (05:54 +0000)]
Revert r51633

This reverts commit 4c9cc0b9a12d38654b9c687ffc1671c7307b397a.

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

12 years ago2009-12-03 Adam Barth <abarth@webkit.org>
abarth@webkit.org [Fri, 4 Dec 2009 05:28:33 +0000 (05:28 +0000)]
2009-12-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        The code should say that Document owns DocLoader
        https://bugs.webkit.org/show_bug.cgi?id=32143

        It's the truth.

        * dom/Document.cpp:
        (WebCore::Document::~Document):
        * dom/Document.h:
        (WebCore::Document::docLoader):

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

12 years agoTry and fix the Windows build.
barraclough@apple.com [Fri, 4 Dec 2009 02:53:05 +0000 (02:53 +0000)]
Try and fix the Windows build.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:  Export a symbol that should be exported.

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

12 years agoTry and fix the Mac build.
mrowe@apple.com [Fri, 4 Dec 2009 02:35:16 +0000 (02:35 +0000)]
Try and fix the Mac build.

* JavaScriptCore.exp:  Export a symbol that should be exported.

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

12 years agoFixing layout test bustage on platforms.
cfleizach@apple.com [Fri, 4 Dec 2009 02:28:47 +0000 (02:28 +0000)]
Fixing layout test bustage on platforms.

AX: VO just says "term" on many web sites
https://bugs.webkit.org/show_bug.cgi?id=32139

* platform/mac-leopard/accessibility/lists-expected.txt:
* platform/mac/accessibility/radio-button-group-members-expected.txt:

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

12 years agoREGRESSION(4.0.3-48777): Crash in JSC::ExecState::propertyNames() (Debug-only?)
oliver@apple.com [Fri, 4 Dec 2009 02:17:46 +0000 (02:17 +0000)]
REGRESSION(4.0.3-48777): Crash in JSC::ExecState::propertyNames() (Debug-only?)
https://bugs.webkit.org/show_bug.cgi?id=32133

Reviewed by Gavin Barraclough.

Work around odd GCC-ism and correct the scopechain for use by
calls made while a cachedcall is active on the callstack.

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=32136
barraclough@apple.com [Fri, 4 Dec 2009 02:15:18 +0000 (02:15 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=32136
Add a rope representation to JSString.  Presently JSString always holds its data in UString form.
Instead, allow the result of a string concatenation to be represented in a tree form - with a
variable sized, reference-counted rope node retaining a set of UString::Reps (or other rope nopes).

Reviewed by Oliver "Brraaaaiiiinnnnnzzzzzzzz" Hunt.

Strings must still currently be resolved down to a flat UString representation before being used,
but by holding the string in a rope representation during construction we can avoid copying data
until we know the final size of the string.

~2% progression on SunSpider (~25% on date-format-xparb, ~20% on string-validate-input).

* JavaScriptCore.exp:

    - Update exports.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):

    - Make use of new JSString::length() method to avoid prematurely resolving ropes.

* jit/JITOpcodes.cpp:
(JSC::JIT::privateCompileCTIMachineTrampolines):

    - Switch the string length trampoline to read the length directly from JSString::m_length,
      rather than from the JSString's UString::Rep's 'len' property.

* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):

    - Modify op_add such that addition of two strings, where either or both strings are already
      in rope representation, produces a rope as a result.

* runtime/JSString.cpp:
(JSC::JSString::Rope::~Rope):
(JSC::copyChars):
(JSC::JSString::resolveRope):
(JSC::JSString::getPrimitiveNumber):
(JSC::JSString::toBoolean):
(JSC::JSString::toNumber):
(JSC::JSString::toString):
(JSC::JSString::toThisString):
(JSC::JSString::getStringPropertyDescriptor):
* runtime/JSString.h:
(JSC::JSString::Rope::Fiber::Fiber):
(JSC::JSString::Rope::Fiber::destroy):
(JSC::JSString::Rope::Fiber::isRope):
(JSC::JSString::Rope::Fiber::rope):
(JSC::JSString::Rope::Fiber::string):
(JSC::JSString::Rope::create):
(JSC::JSString::Rope::initializeFiber):
(JSC::JSString::Rope::ropeLength):
(JSC::JSString::Rope::stringLength):
(JSC::JSString::Rope::fibers):
(JSC::JSString::Rope::Rope):
(JSC::JSString::Rope::operator new):
(JSC::JSString::JSString):
(JSC::JSString::value):
(JSC::JSString::length):
(JSC::JSString::isRope):
(JSC::JSString::rope):
(JSC::JSString::string):
(JSC::JSString::canGetIndex):
(JSC::jsSingleCharacterSubstring):
(JSC::JSString::getIndex):
(JSC::jsSubstring):
(JSC::JSString::getStringPropertySlot):

    - Add rope form.

* runtime/Operations.h:
(JSC::jsAdd):
(JSC::concatenateStrings):

    - Update string concatenation, and addition of ropes, to produce ropes.

* runtime/StringObject.cpp:
(JSC::StringObject::getOwnPropertyNames):

    - Make use of new JSString::length() method to avoid prematurely resolving ropes.

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

12 years agoAX: VO just says "term" on many web sites
cfleizach@apple.com [Fri, 4 Dec 2009 02:06:58 +0000 (02:06 +0000)]
AX: VO just says "term" on many web sites
https://bugs.webkit.org/show_bug.cgi?id=32139

Reviewed by Eric Seidel.

WebCore:

Test: platform/mac/accessibility/definition-list-term.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::accessibilityDescription):
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper subrole]):
(-[AccessibilityObjectWrapper roleDescription]):

WebKitTools:

* DumpRenderTree/AccessibilityUIElement.cpp:
(getRoleDescriptionCallback):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
(AccessibilityUIElement::roleDescription):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::roleDescription):
* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::roleDescription):

LayoutTests:

* platform/mac/accessibility/aria-grouping-roles-expected.txt:
* platform/mac/accessibility/aria-grouping-roles.html:
* platform/mac/accessibility/definition-list-term-expected.txt: Added.
* platform/mac/accessibility/definition-list-term.html: Added.
* platform/mac/accessibility/lists-expected.txt:

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

12 years agoImplement WAI-ARIA scrollbar role and related property aria-orientation
cfleizach@apple.com [Fri, 4 Dec 2009 01:00:07 +0000 (01:00 +0000)]
Implement WAI-ARIA scrollbar role and related property aria-orientation
https://bugs.webkit.org/show_bug.cgi?id=32126

Reviewed by Beth Dakin.

WebCore:

Test: accessibility/aria-scrollbar-role.html

* accessibility/AccessibilityObject.cpp:
(WebCore::createARIARoleMap):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isScrollbar):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::valueForRange):
(WebCore::AccessibilityRenderObject::orientation):
(WebCore::AccessibilityRenderObject::canHaveChildren):
* accessibility/AccessibilityRenderObject.h:
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
* html/HTMLAttributeNames.in:

WebKitTools:

* DumpRenderTree/AccessibilityUIElement.cpp:
(getOrientationCallback):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
(AccessibilityUIElement::orientation):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::orientation):
* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::orientation):

LayoutTests:

* accessibility/aria-scrollbar-role-expected.txt: Added.
* accessibility/aria-scrollbar-role.html: Added.
* platform/gtk/Skipped:
* platform/win/Skipped:

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

12 years agoFixed <rdar://problem/7401617> Selection painting issue in hardware-
mitz@apple.com [Fri, 4 Dec 2009 00:16:50 +0000 (00:16 +0000)]
Fixed <rdar://problem/7401617> Selection painting issue in hardware-
accelerated layers
which is another part of https://bugs.webkit.org/show_bug.cgi?id=23628
Fix selection painting to do container-relative repaints

Reviewed by Darin Adler.

Test: fast/repaint/block-selection-gap-in-composited-layer.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::selectionGapRectsForRepaint): Compute and paint
gap rects in the coordinate space of the repaint container.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): Added a
FIXME.
* rendering/RenderView.cpp:
(WebCore::RenderView::setSelection): Map block selection gap rects from
the repaint container’s coordinate space to the view’s coordinate space
before adding them to the cached selection bounds.
(WebCore::RenderView::clearSelection): Changed to use
repaintRectangleInViewAndCompositedLayers() so that the selection rect
is invalidated in composited layers as well.

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

12 years ago Reviewed by Darin Adler.
ap@apple.com [Fri, 4 Dec 2009 00:07:11 +0000 (00:07 +0000)]
    Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=32132
        websocket/tests/simple.html fails on Windows

        * websocket/tests/script-tests/simple.js:
        * websocket/tests/simple-expected.txt:
        Make the test weaker - readyState could already grow by the time a posted event gets dispatched.

        * platform/win/Skipped: Un-skip the test.

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

12 years agoMake shorthand-transitions.html less flaky.
jparent@chromium.org [Thu, 3 Dec 2009 23:37:02 +0000 (23:37 +0000)]
Make shorthand-transitions.html less flaky.
The test currently allows for timing related differences by using a tolerance, but the tolerance
is inconsistent in the test, even for values read at the same time (some values are allowed a 100ms
difference, others are only allowed 50ms).  This change makes all values have a 100ms tolerance.
(open question: is 100ms enough?  I've looked through a bunch of logs of failures and it seems to be,
so this should definitely help reduce but this may not entirely eliminate flakiness).

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=32134

* transitions/shorthand-transitions.html:

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

12 years ago2009-12-03 Csaba Osztrogonác <ossy@webkit.org>
eric@webkit.org [Thu, 3 Dec 2009 23:24:19 +0000 (23:24 +0000)]
2009-12-03  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=32135

        [Qt] Add expected files for new tests we pass.
        Compared to the Mac expected png files.

        * platform/qt/fast/css/namespaces/namespaces-escapes-expected.txt: Added.
        * platform/qt/fast/css/namespaces/namespaces-invalid-at-expected.txt: Added.

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

12 years ago2009-12-03 Eric Carlson <eric.carlson@apple.com>
eric.carlson@apple.com [Thu, 3 Dec 2009 22:17:56 +0000 (22:17 +0000)]
2009-12-03  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adam Roben.

        Minor correction to r51663.

        * DumpRenderTree/win/DumpRenderTree.cpp:
        (addQTDirToPATH):
            GetEnvironmentVariable -> GetEnvironmentVariableW.

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

12 years ago2009-12-03 Eric Carlson <eric.carlson@apple.com>
eric.carlson@apple.com [Thu, 3 Dec 2009 22:10:56 +0000 (22:10 +0000)]
2009-12-03  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adam Roben.

        ~96 regression tests fail when using QuickTime 7.6 (they pass with QuickTime 7.3)
        https://bugs.webkit.org/show_bug.cgi?id=30256

        Add the QuickTime dll directory to the PATH environment variable so
        inialization can succeed.

        * DumpRenderTree/win/DumpRenderTree.cpp:
        (addQTDirToPATH):
        (initialize):

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

12 years ago2009-12-03 Shu Chang <Chang.Shu@nokia.com>
eric@webkit.org [Thu, 3 Dec 2009 22:08:18 +0000 (22:08 +0000)]
2009-12-03  Shu Chang  <Chang.Shu@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] After revision 32643, sender() is of type QWebPage instead of QWebFrame.

        * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
        (LayoutTestController::maybeDump):

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

12 years ago2009-12-03 Yuzo Fujishima <yuzo@google.com>
eric@webkit.org [Thu, 3 Dec 2009 22:01:14 +0000 (22:01 +0000)]
2009-12-03  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Eric Seidel.

        Update pywebsocket to 0.4.3
        This version logs friendlier and higher-level messages in WARN level, which is used for LayoutTests.
        Stack trace is logged now in INFO level.
        https://bugs.webkit.org/show_bug.cgi?id=32097

        * pywebsocket/mod_pywebsocket/dispatch.py:
        * pywebsocket/mod_pywebsocket/msgutil.py:
        * pywebsocket/mod_pywebsocket/standalone.py:
        * pywebsocket/mod_pywebsocket/util.py:
        * pywebsocket/setup.py:
        * pywebsocket/test/test_dispatch.py:
        * pywebsocket/test/test_util.py:

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

12 years ago2009-12-03 Jonathan Dixon <joth@chromium.org>
eric@webkit.org [Thu, 3 Dec 2009 21:54:10 +0000 (21:54 +0000)]
2009-12-03  Jonathan Dixon  <joth@chromium.org>

        Reviewed by Dimitri Glazkov.

        Bug 32066 - Add enable geolocation flag to WebCore::Settings for Chromium
        https://bugs.webkit.org/show_bug.cgi?id=32066

        Adds geolocationEnabled in Settings for runtime control of geolocaiton features. This defaults to ON
        as it is intended as a development and testing aid, not a user control. To completely remove geolocation
        from a given port, the compile time ENABLE_GEOLOCATION should still be used.
        Adding placeholder GeolocationServiceChromium implementation, as this is required to allows
        ENABLE_GEOLOCATION to be defined (in turn required for testing), even though this patch does not
        make that the default just yet.

        * WebCore.gypi:
        * page/Settings.cpp:
        (WebCore::Settings::Settings): Add new m_geolocationEnabled flag default value
        (WebCore::Settings::setGeolocationEnabled): Setter for  m_geolocationEnabled flag
        * page/Settings.h:
        (WebCore::Settings::geolocationEnabled):  Add m_geolocationEnabled flag
        * platform/chromium/GeolocationServiceChromium.cpp: Added.
        (WebCore::GeolocationServiceChromium::GeolocationServiceChromium): Place holder GeolocationServiceChromium)
        (WebCore::createGeolocationService): factory function, only required when ENABLED(GEOLOCATION) is true
2009-12-03  Jonathan Dixon  <joth@chromium.org>

        Reviewed by Dimitri Glazkov.

        Bug 32066 - Add enable geolocation flag to WebCore::Settings for Chromium
        https://bugs.webkit.org/show_bug.cgi?id=32066

        Add the plumbing to map WebSettings through to WebCore::Settings

        * features.gypi:
        * public/WebSettings.h: Add setGeolocationEnabled API to interface
        * src/WebSettingsImpl.cpp:
        (WebKit::WebSettingsImpl::setGeolocationEnabled): Calls through to WebCore::Settings::setGeolocationEnabled
        * src/WebSettingsImpl.h: Add setGeolocationEnabled interface function

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

12 years agoSpinTracer: 349 spins in Mail at WebCore::Editor::advanceToNextMisspelling(bool)
enrica@apple.com [Thu, 3 Dec 2009 21:43:38 +0000 (21:43 +0000)]
SpinTracer: 349 spins in Mail at WebCore::Editor::advanceToNextMisspelling(bool)
<rdar://problem/7198592>
https://bugs.webkit.org/show_bug.cgi?id=32129

Reviewed by John Sullivan.

Fixed the way the next paragraph is calculated.
I've added a repro case in Safari and attached it to the Bugzilla bug.

* editing/Editor.cpp:
(WebCore::findFirstMisspellingOrBadGrammarInRange): Changed the way we move to the
next paragraph in the loop.

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

12 years ago2009-12-03 İsmail Dönmez <ismail@namtrac.org>
eric@webkit.org [Thu, 3 Dec 2009 21:37:26 +0000 (21:37 +0000)]
2009-12-03  İsmail Dönmez  <ismail@namtrac.org>

        Reviewed by Eric Seidel.

        Fix compilation when SVG is disabled.

        * Api/qwebframe.cpp:
        (qt_drt_pauseSVGAnimation):

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

12 years agoRubber-stamped by Alexey Proskuryakov.
bweinstein@apple.com [Thu, 3 Dec 2009 21:27:43 +0000 (21:27 +0000)]
Rubber-stamped by Alexey Proskuryakov.

Skip failing WebSocket test on Windows.

* platform/win/Skipped:

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

12 years agoFix JSClassRef leak.
weinig@apple.com [Thu, 3 Dec 2009 21:25:24 +0000 (21:25 +0000)]
Fix JSClassRef leak.

Reviewed by Gavin Barraclough.

* DumpRenderTree/AccessibilityController.cpp:
(AccessibilityController::makeWindowObject):
* DumpRenderTree/GCController.cpp:
(GCController::makeWindowObject):
* DumpRenderTree/LayoutTestController.cpp:
(LayoutTestController::makeWindowObject):

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

12 years agoRubberstamped by Oliver Hunt.
beidson@apple.com [Thu, 3 Dec 2009 21:19:38 +0000 (21:19 +0000)]
Rubberstamped by Oliver Hunt.

Fix layout tests by removing the full outputting of the Date object and just outputting the milliseconds since the epoch.

* fast/loader/stateobjects/pushstate-object-types-expected.txt:
* fast/loader/stateobjects/pushstate-object-types.html:

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

12 years ago Reviewed by Eric Seidel.
ap@apple.com [Thu, 3 Dec 2009 21:06:07 +0000 (21:06 +0000)]
    Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=32130
        Add a test for sending non-trivial amount of data over WebSocket

        * websocket/tests/echo_wsh.py: Copied from WebKitTools/pywebsocket/example/echo_wsh.py.
        * websocket/tests/simple-stress-expected.txt: Added.
        * websocket/tests/simple-stress.html: Added.

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

12 years agoRubberstamped by Sam Weinig.
beidson@apple.com [Thu, 3 Dec 2009 20:59:59 +0000 (20:59 +0000)]
Rubberstamped by Sam Weinig.

Fix my absolute URL snafu by outputting only the last path component for these URLs,
which is all that is relevant.

* fast/loader/stateobjects/document-destroyed-navigate-back-expected.txt:
* fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll-expected.txt:
* fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html:
* fast/loader/stateobjects/document-destroyed-navigate-back.html:
* fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange-expected.txt:
* fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange.html:

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

12 years agoBuild fix
oliver@apple.com [Thu, 3 Dec 2009 20:38:58 +0000 (20:38 +0000)]
Build fix

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

12 years agoBuild fix
oliver@apple.com [Thu, 3 Dec 2009 19:51:05 +0000 (19:51 +0000)]
Build fix

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

12 years agoNo wonder editing WebCore.exp repeatedly while I worked on this patch never seemed...
beidson@apple.com [Thu, 3 Dec 2009 19:39:16 +0000 (19:39 +0000)]
No wonder editing WebCore.exp repeatedly while I worked on this patch never seemed to stick.

Long live our auto-generated overlords that I didn't know about...

* WebCore.base.exp:

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

12 years agoREGRESSION (r51627): 3 SVG tests are failing
oliver@apple.com [Thu, 3 Dec 2009 19:34:46 +0000 (19:34 +0000)]
REGRESSION (r51627): 3 SVG tests are failing
https://bugs.webkit.org/show_bug.cgi?id=32117

Reviewed by Dan Bernstein.

Null checking Items in the SVGList is insufficient as items may
be floats, etc so add SVGListTraits::isNull and add appropriate
specializations.

Test: svg/dom/svglist-exception-on-out-bounds-error.html

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

12 years agoNo review - release build fix.
beidson@apple.com [Thu, 3 Dec 2009 19:32:16 +0000 (19:32 +0000)]
No review - release build fix.

* history/HistoryItem.cpp:
(WebCore::HistoryItem::documentDetached):

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

12 years agoNo review - release build fix.
beidson@apple.com [Thu, 3 Dec 2009 19:27:31 +0000 (19:27 +0000)]
No review - release build fix.

* loader/HistoryController.cpp:
(WebCore::HistoryController::pushState):

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

12 years agoTouch WebKit.idl to force Interfaces rebuild and fix Windows build.
bweinstein@apple.com [Thu, 3 Dec 2009 19:25:46 +0000 (19:25 +0000)]
Touch WebKit.idl to force Interfaces rebuild and fix Windows build.

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

12 years agoWebCore: Multiple Undos removes the last posted comment and/or the ones before it.
enrica@apple.com [Thu, 3 Dec 2009 19:18:42 +0000 (19:18 +0000)]
WebCore: Multiple Undos removes the last posted comment and/or the ones before it.
<rdar://problem/6557066>
https://bugs.webkit.org/show_bug.cgi?id=32079

Reviewed by Adele Peterson.

The fix consists in preventing Undos and Redos to be applied to elements that
are no longer editable. We do not attempt to remove the commands from the queue.
It is a relatively simple fix that comes with a little extra overhead for the apply
and unapply methods where we are now performing the editability check.

Test: editing/undo/undo-indent-noneditable.html

* editing/AppendNodeCommand.cpp:
(WebCore::AppendNodeCommand::doApply):
(WebCore::AppendNodeCommand::doUnapply):
* editing/DeleteFromTextNodeCommand.cpp:
(WebCore::DeleteFromTextNodeCommand::doApply):
(WebCore::DeleteFromTextNodeCommand::doUnapply):
* editing/InsertIntoTextNodeCommand.cpp:
(WebCore::InsertIntoTextNodeCommand::doApply):
(WebCore::InsertIntoTextNodeCommand::doUnapply):
* editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::doApply):
(WebCore::InsertNodeBeforeCommand::doUnapply):
* editing/JoinTextNodesCommand.cpp:
(WebCore::JoinTextNodesCommand::doApply):
(WebCore::JoinTextNodesCommand::doUnapply):
* editing/MergeIdenticalElementsCommand.cpp:
(WebCore::MergeIdenticalElementsCommand::doApply):
(WebCore::MergeIdenticalElementsCommand::doUnapply):
* editing/RemoveNodeCommand.cpp:
(WebCore::RemoveNodeCommand::doApply):
(WebCore::RemoveNodeCommand::doUnapply):
* editing/SplitElementCommand.cpp:
(WebCore::SplitElementCommand::executeApply):
(WebCore::SplitElementCommand::doUnapply):
* editing/SplitTextNodeCommand.cpp:
(WebCore::SplitTextNodeCommand::doApply):
(WebCore::SplitTextNodeCommand::doUnapply):
* editing/WrapContentsInDummySpanCommand.cpp:
(WebCore::WrapContentsInDummySpanCommand::doUnapply):
(WebCore::WrapContentsInDummySpanCommand::doReapply):

LayoutTests: Multiple Undos removes the last posted comment and/or the ones before it.
<rdar://problem/6557066>
https://bugs.webkit.org/show_bug.cgi?id=32079

Reviewed by Adele Peterson.

Added test to verify that undo has no effect when an element is
no longer editable.

* editing/undo/undo-indent-noneditable-expected.txt: Added.
* editing/undo/undo-indent-noneditable.html: Added.

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

12 years ago<rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object...
beidson@apple.com [Thu, 3 Dec 2009 19:04:40 +0000 (19:04 +0000)]
<rdar://problem/7214236> and webkit.org/b/32052 - Implement HTML5 state object history API

Reviewed by Sam Weinig.

WebCore:

Tests: fast/loader/stateobjects/document-destroyed-navigate-back.html
       fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html
       fast/loader/stateobjects/popstate-after-load-complete-addeventlistener.html
       fast/loader/stateobjects/popstate-after-load-complete-body-attribute.html
       fast/loader/stateobjects/popstate-after-load-complete-window-attribute.html
       fast/loader/stateobjects/pushstate-object-types.html
       fast/loader/stateobjects/pushstate-then-replacestate.html
       fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange.html
       fast/loader/stateobjects/replacestate-then-pushstate.html
       http/tests/loading/state-object-security-exception.html

Derived sources and project file changes:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am
* WebCore.pro
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:

Add the new PopStateEvent:
* dom/PopStateEvent.cpp: Added.
(WebCore::PopStateEvent::PopStateEvent):
(WebCore::PopStateEvent::initPopStateEvent):
* dom/PopStateEvent.h: Added.
(WebCore::PopStateEvent::create):
(WebCore::PopStateEvent::isPopStateEvent):
(WebCore::PopStateEvent::state):
* dom/PopStateEvent.idl: Added.
* bindings/js/JSPopStateEventCustom.cpp: Added.
(WebCore::JSPopStateEvent::initPopStateEvent):
(WebCore::JSPopStateEvent::state):
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* dom/Event.cpp:
(WebCore::Event::isPopStateEvent):
* dom/Event.h:
* dom/EventNames.h:

Add the "onpopstate" attribute:
* html/HTMLAttributeNames.in:
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::parseMappedAttribute):
* html/HTMLBodyElement.idl:
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::parseMappedAttribute):
* html/HTMLFrameSetElement.h:
* html/HTMLFrameSetElement.idl:
* page/DOMWindow.h:
* page/DOMWindow.idl:

Add pushState and replaceState management to the loader and history machinery:
* bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::pushState):
(WebCore::JSHistory::replaceState):
* loader/HistoryController.cpp:
(WebCore::HistoryController::updateForSameDocumentNavigation): Augmented from "scrollToAnchor()", combining
  both the same-document fragment scroll case with the new same-document state object activation case.
(WebCore::HistoryController::pushState):
(WebCore::HistoryController::replaceState):
* loader/HistoryController.h:
* history/BackForwardList.cpp:
(WebCore::BackForwardList::addItem): Use insertItemAfterCurrent.
(WebCore::BackForwardList::insertItemAfterCurrent): Optionally insert the item without clearing the forward
  list, as pushStateItem might've selectively cleared only certain items, with the bulk of the forward list
  meant to remain.
(WebCore::BackForwardList::pushStateItem): Clear the forward list *only* for the state item's document, then
  insert the new item.
(WebCore::BackForwardList::removeItem):
* history/BackForwardList.h:
* page/History.cpp:
(WebCore::History::urlForState):
(WebCore::History::stateObjectAdded):
* page/History.h:
* page/History.idl:

Let HistoryItems and Documents associate with each other, as well as letting HistoryItems contain state objects:
* history/HistoryItem.cpp:
(WebCore::HistoryItem::HistoryItem):
(WebCore::HistoryItem::~HistoryItem):
(WebCore::HistoryItem::setStateObject):
(WebCore::HistoryItem::setDocument):
(WebCore::HistoryItem::documentDetached):
* history/HistoryItem.h:
(WebCore::HistoryItem::stateObject):
(WebCore::HistoryItem::document):
* dom/Document.cpp:
(WebCore::Document::detach): Notify all back/forward history items owned by this Document that it
  is going away.
(WebCore::Document::registerHistoryItem): Manage the list of back/forward history items this document owns.
(WebCore::Document::unregisterHistoryItem): Ditto.
* dom/Document.h:

Add the ability for Documents, DocumentLoaders, and FrameLoaderClients to be notified when a Documents
URL changes as the result of pushState(), replaceState(), or a popstate navigation:
* dom/Document.cpp:
(WebCore::Document::implicitClose): If there's a pending state object, dispatch the popstate event.
(WebCore::Document::updateURLForPushOrReplaceState):
(WebCore::Document::statePopped): If loading is complete, dispatch the popstate event. Otherwise, set
  the pending state object.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::replaceRequestURLForSameDocumentNavigation):
* loader/DocumentLoader.h:
* loader/FrameLoaderClient.h:
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::dispatchDidChangeStateObjectForPageForFrame):

Change handling of "loading a HistoryItem" to distinguish between new-Document navigations and same-Document
navigations, combining the old concept of anchor scrolls with the new concept of state object navigations:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadInSameDocument):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::navigateWithinDocument):
(WebCore::FrameLoader::navigateToDifferentDocument):
(WebCore::FrameLoader::loadItem):
* loader/FrameLoader.h:
* page/Page.cpp:
(WebCore::Page::goToItem): Changed to allow state object activations to pass through without the load stopping.

WebKit/chromium:

* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::dispatchDidPushStateWithinPage):
(WebKit::FrameLoaderClientImpl::dispatchDidReplaceStateWithinPage):
(WebKit::FrameLoaderClientImpl::dispatchDidPopStateWithinPage):
* src/FrameLoaderClientImpl.h:

WebKit/gtk:

* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::dispatchDidPushStateWithinPage):
(WebKit::FrameLoaderClient::dispatchDidReplaceStateWithinPage):
(WebKit::FrameLoaderClient::dispatchDidPopStateWithinPage):
* WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/mac:

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidPushStateWithinPage):
(WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
(WebFrameLoaderClient::dispatchDidPopStateWithinPage):
* WebView/WebDelegateImplementationCaching.h:
* WebView/WebFrameLoadDelegatePrivate.h:
* WebView/WebView.mm:
(-[WebView _cacheFrameLoadDelegateImplementations]):

WebKit/qt:

* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::dispatchDidPushStateWithinPage):
(WebCore::FrameLoaderClientQt::dispatchDidReplaceStateWithinPage):
(WebCore::FrameLoaderClientQt::dispatchDidPopStateWithinPage):
* WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win:

* Interfaces/IWebFrameLoadDelegatePrivate2.idl:
* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchDidPushStateWithinPage):
(WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
(WebFrameLoaderClient::dispatchDidPopStateWithinPage):
* WebCoreSupport/WebFrameLoaderClient.h:

WebKit/wx:

* WebKitSupport/FrameLoaderClientWx.cpp:
(WebCore::FrameLoaderClientWx::dispatchDidPushStateWithinPage):
(WebCore::FrameLoaderClientWx::dispatchDidReplaceStateWithinPage):
(WebCore::FrameLoaderClientWx::dispatchDidPopStateWithinPage):
* WebKitSupport/FrameLoaderClientWx.h:

WebKitTools:

Keep DRT-win building...

* DumpRenderTree/win/FrameLoadDelegate.h:
(FrameLoadDelegate::didPushStateWithinPageForFrame):
(FrameLoadDelegate::didReplaceStateWithinPageForFrame):
(FrameLoadDelegate::didPopStateWithinPageForFrame):

LayoutTests:

Update expected results of old tests:
* fast/dom/Window/window-appendages-cleared-expected.txt:
* fast/dom/Window/window-properties-expected.txt:
* http/tests/security/cross-frame-access-enumeration-expected.txt:

New tests:
* fast/loader/stateobjects: Added.
* fast/loader/stateobjects/document-destroyed-navigate-back-expected.txt: Added.
* fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll-expected.txt: Added.
* fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html: Added.
* fast/loader/stateobjects/document-destroyed-navigate-back.html: Added.
* fast/loader/stateobjects/popstate-after-load-complete-addeventlistener-expected.txt: Added.
* fast/loader/stateobjects/popstate-after-load-complete-addeventlistener.html: Added.
* fast/loader/stateobjects/popstate-after-load-complete-body-attribute-expected.txt: Added.
* fast/loader/stateobjects/popstate-after-load-complete-body-attribute.html: Added.
* fast/loader/stateobjects/popstate-after-load-complete-body-inline-attribute-expected.txt: Added.
* fast/loader/stateobjects/popstate-after-load-complete-body-inline-attribute.html: Added.
* fast/loader/stateobjects/popstate-after-load-complete-window-attribute-expected.txt: Added.
* fast/loader/stateobjects/popstate-after-load-complete-window-attribute.html: Added.
* fast/loader/stateobjects/pushstate-object-types-expected.txt: Added.
* fast/loader/stateobjects/pushstate-object-types.html: Added.
* fast/loader/stateobjects/pushstate-then-replacestate-expected.txt: Added.
* fast/loader/stateobjects/pushstate-then-replacestate.html: Added.
* fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange-expected.txt: Added.
* fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange.html: Added.
* fast/loader/stateobjects/replacestate-then-pushstate-expected.txt: Added.
* fast/loader/stateobjects/replacestate-then-pushstate.html: Added.
* fast/loader/stateobjects/resources: Added.
* fast/loader/stateobjects/resources/navigate-back.html: Added.
* http/tests/loading/state-object-security-exception-expected.txt: Added.
* http/tests/loading/state-object-security-exception.html: Added.

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

12 years agoReviewed by Xan Lopez.
kov@webkit.org [Thu, 3 Dec 2009 18:53:45 +0000 (18:53 +0000)]
Reviewed by Xan Lopez.

Platform-specific result for test. GIO identifies the file as
application/javascript, as opposed to other platforms identifying
it as application/x-javascript.

* platform/gtk/inspector/timeline-network-resource-expected.txt: Added.

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

12 years ago2009-12-03 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Thu, 3 Dec 2009 18:04:54 +0000 (18:04 +0000)]
2009-12-03  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: chromium build fix.
        r51621 changed JS bindings only, broke v8's.

        * bindings/v8/ScriptFunctionCall.cpp:
        (WebCore::ScriptFunctionCall::appendArgument):
        * bindings/v8/ScriptFunctionCall.h:

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

12 years agoRubber-stamped by Oliver Hunt.
kov@webkit.org [Thu, 3 Dec 2009 17:16:23 +0000 (17:16 +0000)]
Rubber-stamped by Oliver Hunt.

Re-baseline required after r51522.

* platform/gtk/editing/deleting/5390681-2-expected.txt:

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

12 years agoSkipping new tests, and tests that require new DRT functionality.
kov@webkit.org [Thu, 3 Dec 2009 17:09:57 +0000 (17:09 +0000)]
Skipping new tests, and tests that require new DRT functionality.

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

12 years agoUnreviewed build fix.
zoltan@webkit.org [Thu, 3 Dec 2009 17:06:04 +0000 (17:06 +0000)]
Unreviewed build fix.

Patch by Andras Becsi <abecsi@inf.u-szeged.hu> on 2009-12-03
[Qt] ARM-Linux build fix after r51634 removed unused QBoxLayout include which included limits.h on ARM.

* DumpRenderTree/qt/DumpRenderTree.cpp:

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

12 years ago2009-12-03 Dimitri Glazkov <dglazkov@chromium.org>
dglazkov@chromium.org [Thu, 3 Dec 2009 16:57:55 +0000 (16:57 +0000)]
2009-12-03  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Adam Barth.

        [V8] Attributes and NamedNodeMaps aren't tracked correctly and may be prematurely garbage-collected.
        https://bugs.webkit.org/show_bug.cgi?id=32094

        Covered by existing test: LayoutTests/fast/dom/Attr/access-after-element-destruction.html

        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate):
        (WebCore::V8DOMWrapper::convertToV8Object):
        (WebCore::V8DOMWrapper::convertNamedNodeMapToV8Object):
        * bindings/v8/V8DOMWrapper.h:
        * bindings/v8/V8GCController.cpp:
        (WebCore::ObjectGrouperVisitor::visitDOMWrapper):
        * bindings/v8/custom/V8CustomBinding.h:

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

12 years ago2009-12-03 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Thu, 3 Dec 2009 16:43:36 +0000 (16:43 +0000)]
2009-12-03  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Chromium: Add support for settings containing ":"

        https://bugs.webkit.org/show_bug.cgi?id=32118

        * src/InspectorClientImpl.cpp:
        (WebKit::InspectorClientImpl::loadSettings):

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

12 years agorepaint events from outside the viewport aren't received
kenneth@webkit.org [Thu, 3 Dec 2009 14:25:50 +0000 (14:25 +0000)]
repaint events from outside the viewport aren't received
https://bugs.webkit.org/show_bug.cgi?id=32081

Reviewed by Simon Fraser.

When using a tiled backing store for painting, you need to receive
event from outside the viewport. Setting the viewport to the size
of the contents is not an option if you want to make use of WebCore's
infrastructure for drawing scrollbars etc.

A new property, paintsEntireContents, has been introduced for the
above use-case. It is settable, as tiling will be optional for Qt,
and for the not yet upstreamed EFL port, there will be two different
views, where only one of them are tiled.

No change in behavior, so no new tests added.

* page/FrameView.cpp:
(WebCore::FrameView::repaintContentRectangle):
* platform/ScrollView.cpp:
(WebCore::ScrollView::ScrollView):
(WebCore::ScrollView::setPaintsEntireContents):
(WebCore::ScrollView::wheelEvent):
* platform/ScrollView.h:
(WebCore::ScrollView::paintsEntireContents):

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

12 years ago[Qt] Skip layoutTestController.notifyDone() related tests which got revealed in r51634
ossy@webkit.org [Thu, 3 Dec 2009 14:24:42 +0000 (14:24 +0000)]
[Qt] Skip layoutTestController.notifyDone() related tests which got revealed in r51634
until there is a fix for the issue.
https://bugs.webkit.org/show_bug.cgi?id=31626

Patch by Andras Becsi <abecsi@inf.u-szeged.hu> on 2009-12-03
Reviewed by Kenneth Rohde Christiansen.

* platform/qt/Skipped:

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

12 years agoWebKitTools: [Qt] Refactor DRT to not crash on tests which open child windows from...
ossy@webkit.org [Thu, 3 Dec 2009 14:06:57 +0000 (14:06 +0000)]
WebKitTools: [Qt] Refactor DRT to not crash on tests which open child windows from javascript.
Prevent DRT from showing the main view if these childs get deleted.
This fixes https://bugs.webkit.org/show_bug.cgi?id=31591.

Patch by Andras Becsi <abecsi@inf.u-szeged.hu> on 2009-12-03
Reviewed by Kenneth Rohde Christiansen.

* DumpRenderTree/qt/DumpRenderTree.cpp:
(WebCore::WebPage::WebPage):
(WebCore::DumpRenderTree::DumpRenderTree):
(WebCore::DumpRenderTree::~DumpRenderTree):
(WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
(WebCore::DumpRenderTree::open):
(WebCore::DumpRenderTree::closeRemainingWindows):
(WebCore::DumpRenderTree::createWindow):
(WebCore::DumpRenderTree::windowCount):
* DumpRenderTree/qt/DumpRenderTree.h:

LayoutTests: [Qt] Re-enable previously skipped tests.
https://bugs.webkit.org/show_bug.cgi?id=31591

Patch by Andras Becsi <abecsi@inf.u-szeged.hu> on 2009-12-03
Reviewed by Kenneth Rohde Christiansen.

* platform/qt/Skipped:

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

12 years agoReviewed by Eric Seidel.
jeremy@chromium.org [Thu, 3 Dec 2009 13:52:39 +0000 (13:52 +0000)]
Reviewed by Eric Seidel.

Switch Chrome/Mac to use Core Text APIs rather than ATSUI APIs.
https://bugs.webkit.org/show_bug.cgi?id=31802

No test since this is already covered by existing pixel tests.

* platform/graphics/SimpleFontData.h: Change #ifdef to define getNSFont() on Chrome/Mac .
* platform/graphics/mac/ComplexTextControllerCoreText.cpp: Provide forward declarations
of Core Text functions that are public on 10.6 but SPI on 10.5.

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

12 years ago[Qt] Put test into skiplist because of missing layoutTestController.evaluateInWebInsp...
ossy@webkit.org [Thu, 3 Dec 2009 13:15:59 +0000 (13:15 +0000)]
[Qt] Put test into skiplist because of missing layoutTestController.evaluateInWebInspector().

* platform/qt/Skipped:
- inspector/settings-set-get.html added.

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

12 years ago2009-12-03 Pavel Feldman <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
pfeldman@chromium.org [Thu, 3 Dec 2009 12:46:59 +0000 (12:46 +0000)]
2009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>

        Reviewed by Timothy Hatcher.

        Web Inspector: Simplify the settings support in inspector controller.

        https://bugs.webkit.org/show_bug.cgi?id=32076

        Test: inspector/settings-set-get.html

        * WebCore.Inspector.exp:
        * bindings/js/JSInspectorFrontendHostCustom.cpp:
        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
        * inspector/InspectorClient.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::setting):
        (WebCore::InspectorController::setSetting):
        (WebCore::InspectorController::setWindowVisible):
        (WebCore::InspectorController::attachWindow):
        (WebCore::InspectorController::setAttachedWindowHeight):
        (WebCore::InspectorController::storeLastActivePanel):
        (WebCore::InspectorController::scriptObjectReady):
        (WebCore::InspectorController::showWindow):
        (WebCore::InspectorController::enableResourceTracking):
        (WebCore::InspectorController::disableResourceTracking):
        (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded):
        (WebCore::InspectorController::enableProfiler):
        (WebCore::InspectorController::disableProfiler):
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        (WebCore::InspectorController::disableDebugger):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::setting):
        (WebCore::InspectorFrontendHost::setSetting):
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * loader/EmptyClients.h:
        (WebCore::EmptyInspectorClient::populateSetting):
        (WebCore::EmptyInspectorClient::storeSetting):

WebKit/chromium
        * src/InspectorClientImpl.cpp:
        (WebKit::InspectorClientImpl::hiddenPanels):
        (WebKit::InspectorClientImpl::populateSetting):
        (WebKit::InspectorClientImpl::storeSetting):
        (WebKit::InspectorClientImpl::loadSettings):
        (WebKit::InspectorClientImpl::saveSettings):
        * src/InspectorClientImpl.h:

WebKit/cf
        * WebCoreSupport/WebInspectorClientCF.cpp:
        (WebInspectorClient::populateSetting):
        (WebInspectorClient::storeSetting):

WebKit/gtk
        * WebCoreSupport/InspectorClientGtk.cpp:
        (WebKit::InspectorClient::populateSetting):
        (WebKit::InspectorClient::storeSetting):
        * WebCoreSupport/InspectorClientGtk.h:

WebKit/haiku
        * WebCoreSupport/InspectorClientHaiku.cpp:
        (WebCore::InspectorClientHaiku::populateSetting):
        (WebCore::InspectorClientHaiku::storeSetting):
        * WebCoreSupport/InspectorClientHaiku.h:

WebKit/mac
        * WebCoreSupport/WebInspectorClient.h:
        * WebCoreSupport/WebInspectorClient.mm:
        (-[WebInspectorWindowController showWindow:]):
        (-[WebInspectorWindowController attach]):
        (-[WebInspectorWindowController detach]):

WebKit/qt
        * WebCoreSupport/InspectorClientQt.cpp:
        (WebCore::InspectorClientQt::populateSetting):
        (WebCore::InspectorClientQt::storeSetting):
        (WebCore::variantToSetting):
        (WebCore::settingToVariant):
        * WebCoreSupport/InspectorClientQt.h:

WebKit/win
        * WebCoreSupport/WebInspectorClient.cpp:
        (WebInspectorClient::attachWindow):
        (WebInspectorClient::detachWindow):
        (WebInspectorClient::showWindowWithoutNotifications):
        * WebCoreSupport/WebInspectorClient.h:

WebKit/wx
        * WebKitSupport/InspectorClientWx.cpp:
        (WebCore::InspectorClientWx::populateSetting):
        (WebCore::InspectorClientWx::storeSetting):
        * WebKitSupport/InspectorClientWx.h:

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

12 years ago[Android] notifyHistoryItemChanged() should pass a pointer to the HistoryItem that...
benm@google.com [Thu, 3 Dec 2009 12:31:28 +0000 (12:31 +0000)]
[Android] notifyHistoryItemChanged() should pass a pointer to the HistoryItem that changed.
https://bugs.webkit.org/show_bug.cgi?id=31915

Reviewed by Brady Eidson.

WebCore:

No change in functionality so no new tests required.

* history/HistoryItem.cpp:
(WebCore::defaultNotifyHistoryItemChanged): Update this function to pass the HistoryItem that is being changed.
(WebCore::HistoryItem::setAlternateTitle): Update call to notifyHistoryItemChanged to include the new parameter.
(WebCore::HistoryItem::setURLString): ditto.
(WebCore::HistoryItem::setOriginalURLString): ditto.
(WebCore::HistoryItem::setReferrer): ditto.
(WebCore::HistoryItem::setTitle): ditto.
(WebCore::HistoryItem::setTarget): ditto.
(WebCore::HistoryItem::setDocumentState): On Android, add a call to notifyHistoryItemChanged. See bug for a discussion of why this is needed.
(WebCore::HistoryItem::clearDocumentState): ditto.
(WebCore::HistoryItem::setIsTargetItem): ditto.
(WebCore::HistoryItem::addChildItem): ditto.
(WebCore::HistoryItem::setFormInfoFromRequest): ditto.
* history/HistoryItem.h: Update signature of notifyHistoryItemChanged.

WebKit/mac:

* History/WebHistoryItem.mm:
(WKNotifyHistoryItemChanged): Update WKNotifyHistoryItemChanged() to add the new HistoryItem parameter added in the WebCore portion of this patch.
* History/WebHistoryItemInternal.h: ditto.

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

12 years ago[Android] The FrameLoaderClient is unaware of BackForwardList changes.
benm@google.com [Thu, 3 Dec 2009 12:18:23 +0000 (12:18 +0000)]
[Android] The FrameLoaderClient is unaware of BackForwardList changes.
https://bugs.webkit.org/show_bug.cgi?id=31914

Reviewed by Brady Eidson.

WebCore:

This change adds three new methods on the FrameLoaderClient interface to receive notifications when the BackForwardList changes.

No new tests required. Functionality on all platforms upstream remains the same. Android is the first platform to make use of these callbacks.

* history/BackForwardList.cpp:
(WebCore::BackForwardList::addItem): Execute the callback.
(WebCore::BackForwardList::goBack): ditto.
(WebCore::BackForwardList::goForward): ditto.
(WebCore::BackForwardList::goToItem): ditto.
(WebCore::BackForwardList::setCapacity): dito.
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation for the callback that does nothing.
(WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
(WebCore::EmptyFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
* loader/FrameLoaderClient.h:

WebKit/chromium:

* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
(WebKit::FrameLoaderClientImpl::dispatchDidRemoveBackForwardItem): ditto.
(WebKit::FrameLoaderClientImpl::dispatchDidChangeBackForwardIndex): dito.
* src/FrameLoaderClientImpl.h:

WebKit/gtk:

* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
(WebKit::FrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
(WebKit::FrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
* WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/haiku:

* WebCoreSupport/FrameLoaderClientHaiku.cpp:
(WebCore::FrameLoaderClientHaiku::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
(WebCore::FrameLoaderClientHaiku::dispatchDidRemoveBackForwardItem): ditto.
(WebCore::FrameLoaderClientHaiku::dispatchDidChangeBackForwardIndex): ditto.
* WebCoreSupport/FrameLoaderClientHaiku.h:

WebKit/mac:

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
(WebFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
(WebFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.

WebKit/qt:

* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
(WebCore::FrameLoaderClientQt::dispatchDidRemoveBackForwardItem): ditto.
(WebCore::FrameLoaderClientQt::dispatchDidChangeBackForwardIndex): ditto.
* WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win:

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
(WebFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
(WebFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
* WebCoreSupport/WebFrameLoaderClient.h:

WebKit/wx:

* WebKitSupport/FrameLoaderClientWx.cpp:
(WebCore::FrameLoaderClientWx::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
(WebCore::FrameLoaderClientWx::dispatchDidRemoveBackForwardItem): ditto.
(WebCore::FrameLoaderClientWx::dispatchDidChangeBackForwardIndex): ditto.
* WebKitSupport/FrameLoaderClientWx.h:

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

12 years ago[Android] Upstream WebCore/history/android: Require some platform specific state...
benm@google.com [Thu, 3 Dec 2009 11:52:29 +0000 (11:52 +0000)]
[Android] Upstream WebCore/history/android: Require some platform specific state attached to HistoryItem.
https://bugs.webkit.org/show_bug.cgi?id=31913

Reviewed by Brady Eidson.

Android stores information such as the zoom scale factor and bridge back to the Java counterpart with HistoryItem.

No new tests required as this is Android specific code.

* history/HistoryItem.h: Add Android specific member data to HistoryItem.
* history/android: Added.
* history/android/AndroidWebHistoryBridge.h: Added.
* history/android/HistoryItemAndroid.cpp: Added, provides implementation for Android specific member functions in HistoryItem.
(WebCore::HistoryItem::bridge): Added.
(WebCore::HistoryItem::setBridge): Added.

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

12 years agoNULL ptr in SVGPathSegList::getPathSegAtLength()
oliver@apple.com [Thu, 3 Dec 2009 09:22:14 +0000 (09:22 +0000)]
NULL ptr in SVGPathSegList::getPathSegAtLength()
https://bugs.webkit.org/show_bug.cgi?id=30313

Reviewed by Maciej Stachowiak.

Add exception checks to SVGPathSegList's implementation to catch (and propagate) exceptions.
Add null checks to SVGList's content manipulation functions to prevent
null values from entering the list in the first place.

Test: svg/dom/svgpath-out-of-bounds-getPathSeg.html

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

12 years ago2009-12-02 Shinichiro Hamaji <hamaji@chromium.org>
eric@webkit.org [Thu, 3 Dec 2009 07:27:34 +0000 (07:27 +0000)]
2009-12-02  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        Rewrite two tests with dumpAsText
        https://bugs.webkit.org/show_bug.cgi?id=32014

        * fast/block/positioning/complex-percentage-height-expected.txt: Added.
        * fast/block/positioning/complex-percentage-height.html:
        * fast/lists/item-not-in-list-line-wrapping-expected.txt: Added.
        * fast/lists/item-not-in-list-line-wrapping.html:
        * platform/mac/fast/block/positioning/complex-percentage-height-expected.checksum: Removed.
        * platform/mac/fast/block/positioning/complex-percentage-height-expected.png: Removed.
        * platform/mac/fast/block/positioning/complex-percentage-height-expected.txt: Removed.
        * platform/mac/fast/lists/item-not-in-list-line-wrapping-expected.checksum: Removed.
        * platform/mac/fast/lists/item-not-in-list-line-wrapping-expected.png: Removed.
        * platform/mac/fast/lists/item-not-in-list-line-wrapping-expected.txt: Removed.
        * platform/qt/Skipped:
        * platform/qt/fast/block/positioning/complex-percentage-height-expected.txt: Removed.
        * platform/qt/fast/lists/item-not-in-list-line-wrapping-expected.txt: Removed.

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

12 years agoAdd files missed in prior patch.
oliver@apple.com [Thu, 3 Dec 2009 06:46:56 +0000 (06:46 +0000)]
Add files missed in prior patch.

Reviewed by Gavin Barraclough.

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

12 years agoAdd zombies to JSC
oliver@apple.com [Thu, 3 Dec 2009 06:25:58 +0000 (06:25 +0000)]
Add zombies to JSC
https://bugs.webkit.org/show_bug.cgi?id=32103

Reviewed by Gavin Barraclough.

Add a compile time flag to make the JSC collector replace "unreachable"
objects with zombie objects.  The zombie object is a JSCell subclass that
ASSERTs on any attempt to use the JSCell methods.  In addition there are
a number of additional assertions in bottleneck code to catch zombie usage
as quickly as possible.

Grrr. Argh. Brains.

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

12 years ago2009-12-02 Yusuke Sato <yusukes@chromium.org>
eric@webkit.org [Thu, 3 Dec 2009 06:14:23 +0000 (06:14 +0000)]
2009-12-02  Yusuke Sato  <yusukes@chromium.org>

        Reviewed by Eric Seidel.

        Sanitize web fonts using the OTS library
        https://bugs.webkit.org/show_bug.cgi?id=31106

        Add support for OpenType sanitizer (OTS). It parses OpenType files (from @font-face)
        and attempts to validate and sanitize them. We hope this reduces the attack surface
        of the system font libraries.

        * WebCore.gyp/WebCore.gyp: Added dependency to (chromium_src_dir)/third_party/ots/ library.
        * WebCore.gypi: Added new files below.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * platform/graphics/chromium/FontCustomPlatformData.cpp: Validate and transcode a web font.
        (WebCore::createFontCustomPlatformData):
        * platform/graphics/mac/FontCustomPlatformData.cpp: Ditto.
        (WebCore::createFontCustomPlatformData):
        * platform/graphics/opentype/OpenTypeSanitizer.cpp: Added.
        (WebCore::OpenTypeSanitizer::sanitize):
        * platform/graphics/opentype/OpenTypeSanitizer.h: Added.
        (WebCore::OpenTypeSanitizer::OpenTypeSanitizer):
2009-12-02  Yusuke Sato  <yusukes@chromium.org>

        Reviewed by Eric Seidel.

        Sanitize web fonts using the OTS library
        https://bugs.webkit.org/show_bug.cgi?id=31106

        * DEPS: Added dependency to the OpenType sanitizer library.
        * features.gypi: Added ENABLE_OPENTYPE_SANITIZER=1.

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

12 years ago2009-12-02 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 3 Dec 2009 05:31:48 +0000 (05:31 +0000)]
2009-12-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        REGRESSION(51595): commit-queue is throwing exceptions
        https://bugs.webkit.org/show_bug.cgi?id=32083

        * Scripts/modules/commands/queues.py:
         - Don't use default value of [] as it ends up getting shared.
         - Make log_progress accept arrays of ints as well as strings.
         - Return an exit code from execute()
        * Scripts/modules/commands/queues_unittest.py: Added.
         - Test to make sure log_progress will accept ints.
         - Test to make sure run_bugzilla_tool will accept ints.
        * Scripts/modules/workqueue.py:
         - Print the stack trace on unexpected exceptions for easier debugging.
        * Scripts/run-webkit-unittests:
         - Add queues_unittest.

        * Scripts/modules/commands/queues.py:
        * Scripts/modules/commands/queues_unittest.py: Copied from WebKitTools/Scripts/modules/commands/commandtest.py.
        * Scripts/modules/mock_bugzillatool.py:
        * Scripts/modules/workqueue.py:
        * Scripts/run-webkit-unittests:

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

12 years agoWeb Inspector frontend heap allocates ScriptFunctionCall which is unsafe
oliver@apple.com [Thu, 3 Dec 2009 05:20:24 +0000 (05:20 +0000)]
Web Inspector frontend heap allocates ScriptFunctionCall which is unsafe
https://bugs.webkit.org/show_bug.cgi?id=32098

Reviewed by Sam Weinig.

Fix is simply to make the ScriptFunctionCall stack allocated as nature intended
Doing this required adding an appendArgument(char*) to ScriptFunctionCall so
that an explicit String cast would not be necessary.

To prevent something like this happening again in future i've added private
operator new implementations to ScriptFunctionCall making this type of mistake
produce errors when compiling.

Test case: Inspector tests now pass with GC on every alloc enabled.

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

12 years agoFix a mistake in the previous change
mitz@apple.com [Thu, 3 Dec 2009 05:10:58 +0000 (05:10 +0000)]
Fix a mistake in the previous change

Reviewed by Mark Rowe.

* WebView/WebView.mm:
(+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
Make sure to include the image types’ view and representation classes
even when plug-ins are not allowed.

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

12 years ago2009-12-02 David Levin <levin@chromium.org>
eric@webkit.org [Thu, 3 Dec 2009 05:08:59 +0000 (05:08 +0000)]
2009-12-02  David Levin  <levin@chromium.org>

        Reviewed by Adam Barth.

        check-webkit-style is too noisy about namespace indenting issues.
        https://bugs.webkit.org/show_bug.cgi?id=32096

        * Scripts/modules/cpp_style.py:
        Added a _FileState object to be able to track file level information. In this
        case, it simply tracks whether the error has already been given, so that it isn't
        done again.
        * Scripts/modules/cpp_style_unittest.py:
        Modified test cases to pass in the _FileState object and fix a test that expected
        to see the namespace error twice (now it only occurs once). No new tests because
        existing tests cover the change in functionality.

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

12 years agoReviewed by Eric Seidel.
kevino@webkit.org [Thu, 3 Dec 2009 00:38:45 +0000 (00:38 +0000)]
Reviewed by Eric Seidel.

[wx] Get DumpRenderTree building after waf switch.

https://bugs.webkit.org/show_bug.cgi?id=32041

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

12 years agoFixed <rdar://problem/7254127> WebKit can load plug-ins even when
mitz@apple.com [Thu, 3 Dec 2009 00:22:38 +0000 (00:22 +0000)]
Fixed <rdar://problem/7254127> WebKit can load plug-ins even when
plug-ins are disabled

Reviewed by Anders Carlsson.

Ensure that the shared WebPluginDatabase is not instantiated if no
WebViews are used that have plug-ins enabled.

* DefaultDelegates/WebDefaultPolicyDelegate.m:
(-[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
Call -[WebView _canShowMIMEType:] on the WebView instead of calling the
class method.

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::canShowMIMEType): Ditto.
(WebFrameLoaderClient::transitionToCommittedForNewPage): Call
-[WebFrameView _viewClassForMIMEType:] on the WebView instead of calling
the class method.
(WebFrameLoaderClient::objectContentType): Ditto.

* WebView/WebDataSource.mm:
(+[WebDataSource _representationClassForMIMEType:allowingPlugins:]):
Added the allowPlugins parameter, which is passed through to
+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:].
(-[WebDataSource _makeRepresentation]): Pass an allowPlugins value
based on the WebView’s preferences.

* WebView/WebFrameView.mm:
(-[WebFrameView _makeDocumentViewForDataSource:]): Call
-[WebFrameView _viewClassForMIMEType:] instead of calling the class
method.
(+[WebFrameView _viewClassForMIMEType:allowingPlugins:]): Added the
allowPlugins parameter, which is passed through to
+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:].
(-[WebFrameView _viewClassForMIMEType:]): Added. Passes an allowPlugins
value based on the WebView’s preferences.

* WebView/WebFrameViewInternal.h:
* WebView/WebView.mm:
(+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
Added the allowPlugins parameter. If false, skip the instantiation of
the shared WebPluginDatabase.
(-[WebView _viewClass:andRepresentationClass:forMIMEType:]): Pass an
allowPlugins value based on the WebView’s preferences.
(+[WebView _canShowMIMEType:allowingPlugins:]): Passes allowPlugins to
+_viewClass:andRepresentationClass:forMIMEType:allowingPlugins:.
(+[WebView canShowMIMEType:]): Changed to pass YES to
+_canShowMIMEType:allowingPlugins:.
(-[WebView _canShowMIMEType:]): Added. Passes an allowPlugins value
based on the WebView’s preferences.
(-[WebView _pluginForMIMEType:]): Return nil if plug-ins are disabled.
(-[WebView _pluginForExtension:]): Ditto.
(-[WebView _isMIMETypeRegisteredAsPlugin:]): Return NO if plug-ins are
disabled.
* WebView/WebViewInternal.h:

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

12 years agoFixes a crash when scrolling a frame that goes away mid-scroll.
timothy@apple.com [Wed, 2 Dec 2009 23:39:02 +0000 (23:39 +0000)]
Fixes a crash when scrolling a frame that goes away mid-scroll.

<rdar://problem/7400263>

Reviewed by John Sullivan.

* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView scrollWheel:]): Retain self incase the last
reference is released when calling super.

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

12 years ago Reviewed by Darin Fisher.
ap@apple.com [Wed, 2 Dec 2009 23:25:26 +0000 (23:25 +0000)]
    Reviewed by Darin Fisher.

        https://bugs.webkit.org/show_bug.cgi?id=32089
        Test that WebSocket.readyState is set correctly

        * websocket/tests/script-tests/simple.js:
        (ws.onopen):
        (ws.onmessage):
        (ws.onclose):
        * websocket/tests/simple-expected.txt:
        Added readyState logging.

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

12 years ago2009-12-02 Evan Stade <estade@chromium.org>
eric@webkit.org [Wed, 2 Dec 2009 23:21:55 +0000 (23:21 +0000)]
2009-12-02  Evan Stade  <estade@chromium.org>

        Reviewed by Darin Fisher.

        https://bugs.webkit.org/show_bug.cgi?id=32029
        Mousewheel event delta has reversed sign on Linux Chrome.

        No new tests (layout tests don't cover event conversion code).
        Manual test: http://www.switchonthecode.com/tutorials/javascript-tutorial-the-scroll-wheel

        * src/gtk/WebInputEventFactory.cpp:
        (WebKit::WebInputEventFactory::mouseWheelEvent):

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

12 years agoMake change-values-during-transition less flaky. Transition is 1 sec duration,
jparent@chromium.org [Wed, 2 Dec 2009 21:36:03 +0000 (21:36 +0000)]
Make change-values-during-transition less flaky.  Transition is 1 sec duration,
translating 100px, starting at 0, so it should be at 50px at 500ms, not 600ms.

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=31997

* transitions/change-values-during-transition.html:
isEqual: Remove unnecessary code - tolerance always passed in and always default value.
getXPosition: Extract into a function, since it is duplicated twice.
check2: Still run second check if the first fails, just give more debugging output.
start: Remove final setTimeout - nothing changes between the end of check2 and here,
    so this is just making the test take 100ms longer.

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

12 years agoTouch WebKit.idl to fix the Safari build.
bweinstein@apple.com [Wed, 2 Dec 2009 21:24:02 +0000 (21:24 +0000)]
Touch WebKit.idl to fix the Safari build.

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

12 years agoRubber-stamped by Adam Roben.
bweinstein@apple.com [Wed, 2 Dec 2009 21:10:41 +0000 (21:10 +0000)]
Rubber-stamped by Adam Roben.

Skip http/tests/cache/subresource-failover-to-network.html because it
is flaky on Windows, fixing it is being tracked by
https://bugs.webkit.org/show_bug.cgi?id=32038.

* platform/win/Skipped:

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

12 years ago[Qt] Put tests into skiplist because of missing layoutTestController.evaluateInWebIns...
ossy@webkit.org [Wed, 2 Dec 2009 19:47:19 +0000 (19:47 +0000)]
[Qt] Put tests into skiplist because of missing layoutTestController.evaluateInWebInspector().

* platform/qt/Skipped:
- inspector/elements-panel-selection-on-refresh.html added.
- inspector/timeline-event-dispatch.html added.

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

12 years agoBuild fix.
timothy@apple.com [Wed, 2 Dec 2009 19:34:20 +0000 (19:34 +0000)]
Build fix.

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=32072, clean up invalid @-rule error handling...
hyatt@apple.com [Wed, 2 Dec 2009 19:27:17 +0000 (19:27 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=32072, clean up invalid @-rule error handling so that we
pass more CSS test suite stuff.  Make the grammar stop enforcing the ordering of @namespace vs.
@variables vs. @import.  Just let the parser handle that instead.  This simplifies the grammar and
makes error handling deal with more cases correctly.

Reviewed by Darin Adler.

Added fast/css/namespaces/namespaces-invalid-at-rules.xml

* css/CSSGrammar.y:
* css/CSSParser.cpp:
(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::parseRule):
(WebCore::CSSParser::createCharsetRule):
(WebCore::CSSParser::createImportRule):
(WebCore::CSSParser::createMediaRule):
(WebCore::CSSParser::createKeyframesRule):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::addNamespace):
(WebCore::CSSParser::createVariablesRule):
* css/CSSParser.h:

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

12 years agoMove setValueForUser to the end of the DOMHTMLInputElement interface
timothy@apple.com [Wed, 2 Dec 2009 19:24:58 +0000 (19:24 +0000)]
Move setValueForUser to the end of the DOMHTMLInputElement interface
so it is fine for binary compatibility.

Directed by Steve Falkenburg.

* Interfaces/DOMHTML.idl:

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

12 years agoExpose setValueForUser for the COM DOMHTMLInputElement.
timothy@apple.com [Wed, 2 Dec 2009 19:21:00 +0000 (19:21 +0000)]
Expose setValueForUser for the COM DOMHTMLInputElement.

<rdar://problem/6760590> Would like a way to detect a login form AutoFill from JavaScript

Reviewed by Dan Bernstein.

* DOMHTMLClasses.cpp:
(DOMHTMLInputElement::setValueForUser):
* Interfaces/DOMHTML.idl:

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

12 years ago2009-12-02 Yusuke Sato <yusukes@chromium.org>
eric@webkit.org [Wed, 2 Dec 2009 19:17:46 +0000 (19:17 +0000)]
2009-12-02  Yusuke Sato  <yusukes@chromium.org>

        Reviewed by Dan Bernstein.

        Safari/Chromium for Windows fails to load CJK WebFonts
        https://bugs.webkit.org/show_bug.cgi?id=31804

        * platform/graphics/opentype/OpenTypeUtilities.cpp:
        (WebCore::renameAndActivateFont): Load a remote font even if the font has 2 or more faces.

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

12 years ago2009-12-02 Eric Z. Ayers <zundel@google.com>
eric@webkit.org [Wed, 2 Dec 2009 19:10:47 +0000 (19:10 +0000)]
2009-12-02  Eric Z. Ayers  <zundel@google.com>

        Reviewed by Pavel Feldman.

        Adds a timeline test for EventDispatch records.

        https://bugs.webkit.org/show_bug.cgi?id=31376

        * inspector/timeline-event-dispatch-expected.txt: Added.
        * inspector/timeline-event-dispatch.html: Added.

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

12 years ago2009-12-02 Avi Drissman <avi@chromium.org>
eric@webkit.org [Wed, 2 Dec 2009 19:03:21 +0000 (19:03 +0000)]
2009-12-02  Avi Drissman  <avi@chromium.org>

        Reviewed by Darin Fisher.

        Chromium: Need tickmarks in scrollbar
        https://bugs.webkit.org/show_bug.cgi?id=32069

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/chromium/ScrollbarThemeChromiumMac.h: Added.
        * platform/chromium/ScrollbarThemeChromiumMac.mm: Added.

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

12 years agoWebCore: Expose a function to set the value of an input element on behalf of the...
timothy@apple.com [Wed, 2 Dec 2009 18:34:33 +0000 (18:34 +0000)]
WebCore: Expose a function to set the value of an input element on behalf of the user.
This function will dispatch the change event so the page is notified when autofill
happens. Also dispatch a change event when a select element is changed by autofill.

<rdar://problem/6760590> Would like a way to detect a login form AutoFill from JavaScript

Reviewed by Darin Adler.

* WebCore.xcodeproj/project.pbxproj: Added the DOMHTMLInputElementPrivate.h header.
* bindings/objc/DOMHTML.mm:
(-[DOMHTMLSelectElement _activateItemAtIndex:]): Call setSelectedIndexByUser instead so
a change event is fired. This method is called by Safari autofill.
* dom/Document.cpp:
(WebCore::Document::setFocusedNode): Use dispatchFormControlChangeEvent instead
of dispatching the change event directly to be consistent.
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLInputElement::setValueForUser): Added. Calls setValue with the sendChangeEvent
(WebCore::HTMLInputElement::setValue): Added the optional sendChangeEvent argument. Mimics setChecked.
* html/HTMLInputElement.h:
* html/HTMLInputElement.idl: Added setValueForUser for non-JS languages.
* html/InputElement.h: Added setValueForUser.

WebKit/mac: Migrate DOMHTMLInputElementPrivate.h as a private header.

Reviewed by Darin Adler.

* MigrateHeaders.make:

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

12 years ago2009-12-02 Pavel Feldman <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
pfeldman@chromium.org [Wed, 2 Dec 2009 18:32:08 +0000 (18:32 +0000)]
2009-12-02  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>

        Reviewed by Timothy Hatcher.

        Web Inspector: DOM tree selection disappears upon page refresh.

        https://bugs.webkit.org/show_bug.cgi?id=31142

        Test: inspector/elements-panel-selection-on-refresh.html

        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::pushNodeByPathToFrontend):
        * inspector/InjectedScriptHost.h:
        * inspector/InjectedScriptHost.idl:
        * inspector/InspectorBackend.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::releaseDOMAgent):
        (WebCore::InspectorController::resetScriptObjects):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::reset):
        (WebCore::InspectorDOMAgent::setDocument):
        (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
        (WebCore::InspectorDOMAgent::nodeForPath):
        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.prototype._renumber):
        (WebInspector.DOMAgent.prototype._setDocument):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.reset):
        (WebInspector.ElementsPanel.prototype.setDocument.selectDefaultNode):
        (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
        (WebInspector.ElementsPanel.prototype.setDocument):
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.pushNodeByPathToFrontend):
        * inspector/front-end/InjectedScriptAccess.js:

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=32045, make sure escape sequences work with
hyatt@apple.com [Wed, 2 Dec 2009 15:33:31 +0000 (15:33 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=32045, make sure escape sequences work with
all the @-rules we support.  When escape sequences are present, the lexical scanner
just returns a generic token name: ATKEYWORD.  We have to process the escape sequences
and then recheck against the rules we support with the final processed name.  If we
find a match, we mutate the token value to the appropriate rule name token, e.g.,
NAMESPACE_SYM.

Reviewed by Dan Bernstein.

Added fast/css/namespaces/namespaces-escapes.xml

* css/CSSParser.cpp:
(WebCore::CSSParser::lex):
(WebCore::CSSParser::recheckAtKeyword):
(WebCore::CSSParser::text):
* css/CSSParser.h:

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

12 years ago2009-12-02 Anton Muhin <antonm@chromium.org>
eric@webkit.org [Wed, 2 Dec 2009 14:52:18 +0000 (14:52 +0000)]
2009-12-02  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.:w

        Allow to skip thread checks when accessing DOMDataStore for processes
        which run V8 in single thread mode.
        https://bugs.webkit.org/show_bug.cgi?id=31877

        Should be covered by buildbots.

        * bindings/v8/V8DOMMap.cpp:
        (WebCore::getDOMDataStore):
        (WebCore::enableFasterDOMStoreAccess):
        (WebCore::getDOMNodeMap):
        (WebCore::getDOMObjectMap):
        (WebCore::getActiveDOMObjectMap):
        (WebCore::getDOMSVGElementInstanceMap):
        (WebCore::getDOMSVGObjectWithContextMap):
        * bindings/v8/V8DOMMap.h:
2009-12-02  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        Allow to skip thread checks when accessing DOMDataStore for processes
        which run V8 in single thread mode.
        https://bugs.webkit.org/show_bug.cgi?id=31877

        * src/WebScriptController.cpp:
        (WebKit::WebScriptController::enableV8SingleThreadMode):

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

12 years ago2009-12-02 Yury Semikhatsky <yurys@chromium.org>
yurys@chromium.org [Wed, 2 Dec 2009 13:12:44 +0000 (13:12 +0000)]
2009-12-02  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Code clean up: remove ScriptObjectQuarantine.* as a whole.

        https://bugs.webkit.org/show_bug.cgi?id=32060

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/ScriptObjectQuarantine.cpp: Removed.
        * bindings/js/ScriptObjectQuarantine.h: Removed.
        * bindings/js/ScriptValue.cpp:
        (WebCore::ScriptValue::quarantineValue):
        * bindings/js/ScriptValue.h:
        * bindings/v8/ScriptObjectQuarantine.cpp: Removed.
        * bindings/v8/ScriptObjectQuarantine.h: Removed.
        * bindings/v8/ScriptValue.h:
        (WebCore::ScriptValue::quarantineValue):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        * inspector/InspectorController.cpp:
        * inspector/InspectorDatabaseResource.cpp:
        (WebCore::InspectorDatabaseResource::bind):
        * inspector/InspectorFrontend.cpp:

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

12 years ago[Qt] r51577 made fast/frames/sandboxed-iframe-plugins.html crash.
ossy@webkit.org [Wed, 2 Dec 2009 12:55:16 +0000 (12:55 +0000)]
[Qt] r51577 made fast/frames/sandboxed-iframe-plugins.html crash.

* platform/qt/Skipped:
- fast/frames/sandboxed-iframe-navigation-windowopen.html added. (crasher)

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