REGRESSION(WebKit2): execCommand('undo') doesn't work (Windows).
https://bugs.webkit.org/show_bug.cgi?id=58056
<rdar://problem/8862023>
        
Reviewed by Oliver Hunt.

Adding support for execCommand('undo') and execCommand('redo')
in WebKit2 for Windows.

* UIProcess/API/C/win/WKView.h:
* UIProcess/win/WebUndoClient.cpp:
(WebKit::WebUndoClient::canUndoRedo):
(WebKit::WebUndoClient::executeUndoRedo):
* UIProcess/win/WebUndoClient.h:
* UIProcess/win/WebView.cpp:
(WebKit::WebView::canUndoRedo):
(WebKit::WebView::executeUndoRedo):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Mapping booleans the same way as integers
https://bugs.webkit.org/show_bug.cgi?id=56913

Patch by Zoltan Herczeg <zherczeg@webkit.org> on 2011-04-07
Reviewed by Gavin Barraclough.

Instead of having a seperate tag field for booleans,
the logical values are stored in the payload field
(for JSValue32_64 representation).

1.007x speedup on SunSpider.

* jit/JIT.h:
* jit/JITInlineMethods.h:
(JSC::JIT::emitStoreBool):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_instanceof):
(JSC::JIT::emit_op_not):
(JSC::JIT::emit_op_jfalse):
(JSC::JIT::emitSlow_op_jfalse):
(JSC::JIT::emit_op_jtrue):
(JSC::JIT::emitSlow_op_jtrue):
(JSC::JIT::emit_op_jeq_null):
(JSC::JIT::emit_op_jneq_null):
(JSC::JIT::emit_op_eq):
(JSC::JIT::emitSlow_op_eq):
(JSC::JIT::emit_op_neq):
(JSC::JIT::emitSlow_op_neq):
(JSC::JIT::compileOpStrictEq):
(JSC::JIT::emit_op_eq_null):
(JSC::JIT::emit_op_neq_null):
* jit/JSInterfaceJIT.h:
* runtime/JSValue.h:
(JSC::JSValue::JSValue):
(JSC::JSValue::isTrue):
(JSC::JSValue::isFalse):
(JSC::JSValue::getBoolean):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKit2: Implement TextChecker on Windows
https://bugs.webkit.org/show_bug.cgi?id=57862

Reviewed by Brian Weinstein.

Part 4: Implement checkGrammarOfString.

* Scripts/webkit2/messages.py:
The generated files should include TextCheckerClient.h for WebCore::GrammarDetail.

* Shared/API/c/win/WKBaseWin.h:
* Shared/APIObject.h:
* UIProcess/API/C/win/WKAPICastWin.h:

* UIProcess/API/C/win/WKGrammarDetail.cpp: Added.
(WKGrammarDetailGetTypeID):
(WKGrammarDetailCreate):
* UIProcess/API/C/win/WKGrammarDetail.h: Added.

* UIProcess/API/C/win/WKTextChecker.h:
Add the checkGrammarOfString WKTextCheckerClient function.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::checkGrammarOfString):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:

* UIProcess/TextChecker.h:
* UIProcess/win/TextCheckerWin.cpp:
(WebKit::TextChecker::checkGrammarOfString):
Call the TextCheckerClient.
* UIProcess/mac/TextCheckerMac.mm:
(WebKit::TextChecker::checkSpellingOfString):
Add a comment about this not being used on Mac.
(WebKit::TextChecker::checkGrammarOfString):
Ditto, and call notImplemented.
* UIProcess/gtk/TextCheckerGtk.cpp:
(WebKit::TextChecker::checkGrammarOfString):
Call notImplemented.
* UIProcess/qt/TextCheckerQt.cpp:
(WebKit::TextChecker::checkGrammarOfString):
Ditto.

* UIProcess/win/WebGrammarDetail.cpp: Added.
(WebKit::WebGrammarDetail::create):
(WebKit::WebGrammarDetail::WebGrammarDetail):
Initialize the underlying WebCore::GrammarDetail.
* UIProcess/win/WebGrammarDetail.h: Added.
(WebKit::WebGrammarDetail::grammarDetail):
(WebKit::WebGrammarDetail::type):

* UIProcess/win/WebTextCheckerClient.cpp:
(WebKit::WebTextCheckerClient::checkGrammarOfString):
Populate the Vector of WebCore::GrammarDetails with the WebGrammarDetails.
* UIProcess/win/WebTextCheckerClient.h:

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::checkSpellingOfString):
Use WTF::notFound as the initial value for resultLocation.
(WebKit::WebEditorClient::checkGrammarOfString):
Send a sync message to the UI Process (similar to checkSpellingOfString and checkTextOfParagraph).

* win/WebKit2.vcproj:
Add WKGrammarDetail.h/.cpp and WebGrammarDetail.h/.cpp.
* win/WebKit2Generated.make:
Copy over WKGrammarDetail.h.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Updated comment in skipped list to
include the bug that tracks the changes required
in WebKitTestRunner.

* platform/win-wk2/Skipped:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make IconSnapshot and PageURLRecord member variables private.
https://bugs.webkit.org/show_bug.cgi?id=58080

Reviewed by Darin Adler.

No change in functionality so no new tests.

* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::writeToDatabase): Changed to used the accessor functions.
(WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): Ditto.
* loader/icon/IconRecord.h:
(WebCore::IconSnapshot::IconSnapshot): Changed to use the new member variable names.
(WebCore::IconSnapshot::iconURL): Expose the property.
(WebCore::IconSnapshot::timestamp): Ditto.
(WebCore::IconSnapshot::data): Ditto.
* loader/icon/PageURLRecord.h:
(WebCore::PageURLSnapshot::PageURLSnapshot): Changed to use the new member variable names.
(WebCore::PageURLSnapshot::pageURL): Expose the property.
(WebCore::PageURLSnapshot::iconURL): Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83234 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-04-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement img-src style-src and font-src
        https://bugs.webkit.org/show_bug.cgi?id=58018

        Test a bunch of allow/block tests for these new directives.

        * http/tests/security/contentSecurityPolicy/image-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/image-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/image-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/image-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/resources/blue.css: Added.
        * http/tests/security/contentSecurityPolicy/resources/style.xsl: Added.
        * http/tests/security/contentSecurityPolicy/style-allowed-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/style-allowed.html: Added.
        * http/tests/security/contentSecurityPolicy/style-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/style-blocked.html: Added.
        * http/tests/security/contentSecurityPolicy/xsl-allowed.php: Added.
        * http/tests/security/contentSecurityPolicy/xsl-blocked-expected.txt: Added.
        * http/tests/security/contentSecurityPolicy/xsl-blocked.php: Added.
2011-04-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement img-src style-src and font-src
        https://bugs.webkit.org/show_bug.cgi?id=58018

        These are pretty straight forward given the rest of the infrastructure
        we've built so far.

        Tests: http/tests/security/contentSecurityPolicy/image-allowed.html
               http/tests/security/contentSecurityPolicy/image-blocked.html
               http/tests/security/contentSecurityPolicy/style-allowed.html
               http/tests/security/contentSecurityPolicy/style-blocked.html
               http/tests/security/contentSecurityPolicy/xsl-allowed.php
               http/tests/security/contentSecurityPolicy/xsl-blocked.php

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::canRequest):
        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::allowImageFromSource):
        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
        (WebCore::ContentSecurityPolicy::allowFontFromSource):
        (WebCore::ContentSecurityPolicy::addDirective):
        * page/ContentSecurityPolicy.h:

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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-04-07  Naoki Takano  <takano.naoki@gmail.com>

        Reviewed by Adam Barth.

        [Chromium] Fix relocation problem of popup window which introduces autofill popup sometimes moves to screen's top left corner.
        https://bugs.webkit.org/show_bug.cgi?id=57911
        http://code.google.com/p/chromium/issues/detail?id=78073

        Manual test added: manual-tests/autofill-popup-location.html

        Originally only height is checked so that it introduces the bug.
        So I changed it to check both width and height as size.

        * manual-tests/autofill-popup-location.html: Added.
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::refresh): Check window size between original and new before calling setFrameRect().

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83237 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Max build fix.

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::checkSpellingOfString):
Do not risk an overflow.
(WebKit::WebEditorClient::checkGrammarOfString):
Ditto.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-04-07  Adrienne Walker  <enne@google.com>

        [chromium] Unreviewed, add baseline pixel images for decorations-transformed.

        * platform/chromium-mac/fast/text/decorations-transformed-expected.png: Added.
        * platform/chromium-win/fast/text/decorations-transformed-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-04-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Ryosuke Niwa.

        Split run storage out from BidiResolver into a new BidiRunList class
        https://bugs.webkit.org/show_bug.cgi?id=57764

        Part of what makes BidiResolver and InlineIterator so difficult to understand
        (and bug 50912 so difficult to fix) is that BidiResolver is both a state machine
        for the Unicode Bidi Algorithm (UBA) as well as storage for the resulting
        BidiRuns from the algorithm.  This patch breaks the storage aspect off
        into its own class BidiRunList.

        This patch is only a start.  It does not actually fix the problematic ownership
        relationship, but it does make it possible to fix such in a second patch.

        The run pointers and addRun/prependRun, etc. were already a tightly coupled
        logical subset of the BidiResolver class, so moving them into their own class
        was both obvious and easy.  The only piece of logic I had to move was that
        deleteRuns() had a side-effect of setting the m_emptyRun bit on the resolver.

        I believe this deleteRuns side-effect was only ever used for one place
        (right after findNextLineBreak) and that it's only needed because
        findNextLineBreak can sometimes create bidi runs.  Run creation appears to be
        an unintentional side-effect of how InlineIterator calls through to BidiResolver
        as part of bidiNext and not a desired effect of the code.  I have added the call
        to markCurrentRunEmpty to both places deleteRuns was called (where the resolver
        could get re-used) as a safety precaution.  We could replace both with ASSERTs
        in a later patch.

        I suspect there may be a small performance win from further refactoring so that
        findNextLineBreak does not need to create BidiRuns.

        As I commented in the code, callers should own their own BidiRunList which they
        pass to BidiResolver::createBidiRunsForLine.  I attempted to implement that in
        an earlier version of this patch, but it was too complicated with the current
        twisted dependencies between InlineIterator/bidiNext and InlineBidiResolver.
        raise/lowerExplicitEmbeddingLevel are called unconditionally
        from commitExplicitEmbedding (which is called by bidiNext) and expect to have
        access to a runs list even in cases where we don't want any runs (findNextLineBreak).

        I also cleaned up some of the callers to pass around BidiRunList objects instead
        of InlineBidiResolvers now that they're separate objects.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawBidiText):
        * platform/text/BidiResolver.h:
        (WebCore::BidiResolver::BidiResolver):
        (WebCore::BidiResolver::runs):
        (WebCore::BidiResolver::markCurrentRunEmpty):
        (WebCore::::appendRun):
        (WebCore::::lowerExplicitEmbeddingLevel):
        (WebCore::::raiseExplicitEmbeddingLevel):
        (WebCore::::reorderRunsFromLevels):
        (WebCore::::createBidiRunsForLine):
        * rendering/InlineIterator.h:
        (WebCore::InlineBidiResolver::appendRun):
        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::createRun):
        (WebCore::RenderBlock::appendRunsForObject):
        (WebCore::reachedEndOfTextRenderer):
        (WebCore::RenderBlock::handleTrailingSpaces):
        (WebCore::RenderBlock::layoutInlineChildren):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83240 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-04-07  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Dimitri Glazkov.

        Implement Backgroun and Mask properties in CSSStyleApplyProperty
        https://bugs.webkit.org/show_bug.cgi?id=57922

        No tests added as no behavioral changes.

        * css/CSSStyleApplyProperty.cpp:
        Added ApplyPropertyFillLayer test to handle Background and Mask CSS Properties.
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        Added constructor calls to set up:
          CSSPropertyBackgroundAttachment
          CSSPropertyBackgroundClip
          CSSPropertyWebkitBackgroundClip
          CSSPropertyWebkitBackgroundComposite
          CSSPropertyBackgroundOrigin
          CSSPropertyWebkitBackgroundOrigin
          CSSPropertyBackgroundSize
          CSSPropertyWebkitBackgroundSize
          CSSPropertyWebkitMaskAttachment
          CSSPropertyWebkitMaskClip
          CSSPropertyWebkitMaskComposite
          CSSPropertyWebkitMaskOrigin
          CSSPropertyWebkitMaskSize
        * css/CSSStyleApplyProperty.h:
        (WebCore::CSSStyleApplyProperty::setPropertyValue):
        Add function to specify an equivalent property value in the lookup table.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Remove sections now implemented by CSSStyleApplyProperty.
        * css/CSSStyleSelector.h:
        Make CSSStyleApplyProperty a friend class so that the mapFill* functions are accessible.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83241 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-04-07  John Bauman  <jbauman@chromium.org>

        Reviewed by Kenneth Russell.

        clearIfComposited call is really slow
        https://bugs.webkit.org/show_bug.cgi?id=57999

        Move getContextAttributes call after the if, so it isn't called nearly as often.

        No new tests.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::clearIfComposited):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83242 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-04-07  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric Seidel.

        Test for Bug 51465 - chrome.dll!WebCore::RenderLayer::currentTransform
        ReadAV@NULL (8968fc97874fa23b6799ff8f09c142e4)

        Forgot to add them to the original patch.

        * fast/css/webkit-empty-transform-preserve3d-crash-expected.txt: Added.
        * fast/css/webkit-empty-transform-preserve3d-crash.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83243 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-04-07  Kent Tamura  <tkent@chromium.org>

        [Chromium] Update expectations for r83216 and r83235.

        * platform/chromium-linux/svg/custom/foreign-object-skew-expected.png: Added.
        * platform/chromium-linux/svg/custom/foreign-object-skew-expected.txt: Copied from LayoutTests/platform/chromium-win/svg/custom/foreign-object-skew-expected.txt.
        * platform/chromium-mac-leopard/svg/custom/foreign-object-skew-expected.checksum: Removed.
        * platform/chromium-mac-leopard/svg/custom/foreign-object-skew-expected.png:
        * platform/chromium-mac/svg/custom/foreign-object-skew-expected.checksum: Removed.
        * platform/chromium-mac/svg/custom/foreign-object-skew-expected.png:
        * platform/chromium-mac/svg/zoom/text/zoom-foreignObject-expected.png: Copied from LayoutTests/platform/chromium-mac/svg/custom/foreign-object-skew-expected.png.
        * platform/chromium-win-vista/svg/custom/foreign-object-skew-expected.checksum: Removed.
        * platform/chromium-win-vista/svg/custom/foreign-object-skew-expected.png:
        * platform/chromium-win/svg/custom/foreign-object-skew-expected.checksum: Removed.
        * platform/chromium-win/svg/custom/foreign-object-skew-expected.png:
        * platform/chromium-win/svg/custom/foreign-object-skew-expected.txt:
        * platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-04-07  Jia Pu  <jpu@apple.com>

        Reviewed by Darin Adler.

        [Mac] Editor::setComposition() should not trigger correction panel timer.
        https://bugs.webkit.org/show_bug.cgi?id=58049
         <rdar://problem/9226305>

        On Mac OS X that supports autocorrection panel, typing unconfirmed composition (i.e. unconfirmed Japanese or Chinese input)
        should not start autocorrection timer. We added a member variable, m_shouldPreventSpellChecking, to TypingCommand.
        When this value is true, markMisspellingsAfterTyping() will not be called in TypingCommand::typingAddedToOpenCommand().
        m_shouldPreventSpellChecking is set to true in the TypingCommand objects created by Editor::setComposition().

        No new tests. No deterministically reproducible test case. Patch is based on static code analysis. Testing this also requires firing
        autocorrection panel timer, which can not be easily done in automated fashion.

        * editing/Editor.cpp:
        (WebCore::Editor::deleteWithDirection):
        (WebCore::Editor::insertTextWithoutSendingTextEvent):
        (WebCore::Editor::confirmComposition):
        (WebCore::Editor::setComposition):
        * editing/EditorCommand.cpp:
        (WebCore::executeDelete):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::TypingCommand):
        (WebCore::TypingCommand::deleteSelection):
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        (WebCore::TypingCommand::insertText):
        (WebCore::TypingCommand::insertLineBreak):
        (WebCore::TypingCommand::insertParagraphSeparator):
        (WebCore::TypingCommand::typingAddedToOpenCommand):
        * editing/TypingCommand.h:
        (WebCore::TypingCommand::create):
        (WebCore::TypingCommand::setShouldPreventSpellChecking):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-04-07  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        dump-as-markup conversion: editing/pasteboard/paste-text-001.html and paste-text-011.html
        https://bugs.webkit.org/show_bug.cgi?id=58078

        Converted the tests.

        * editing/pasteboard/paste-text-001-expected.txt: Added.
        * editing/pasteboard/paste-text-001.html:
        * editing/pasteboard/paste-text-011-expected.txt: Added.
        * editing/pasteboard/paste-text-011.html:
        * platform/chromium-linux/editing/pasteboard/paste-text-001-expected.checksum: Removed.
        * platform/chromium-linux/editing/pasteboard/paste-text-001-expected.png: Removed.
        * platform/chromium-linux/editing/pasteboard/paste-text-011-expected.checksum: Removed.
        * platform/chromium-linux/editing/pasteboard/paste-text-011-expected.png: Removed.
        * platform/chromium-win/editing/pasteboard/paste-text-001-expected.checksum: Removed.
        * platform/chromium-win/editing/pasteboard/paste-text-001-expected.png: Removed.
        * platform/chromium-win/editing/pasteboard/paste-text-001-expected.txt: Removed.
        * platform/chromium-win/editing/pasteboard/paste-text-011-expected.checksum: Removed.
        * platform/chromium-win/editing/pasteboard/paste-text-011-expected.png: Removed.
        * platform/chromium-win/editing/pasteboard/paste-text-011-expected.txt: Removed.
        * platform/gtk/editing/pasteboard/paste-text-001-expected.txt: Removed.
        * platform/gtk/editing/pasteboard/paste-text-011-expected.checksum: Removed.
        * platform/gtk/editing/pasteboard/paste-text-011-expected.png: Removed.
        * platform/gtk/editing/pasteboard/paste-text-011-expected.txt: Removed.
        * platform/mac-leopard/editing/pasteboard/paste-text-011-expected.checksum: Removed.
        * platform/mac-leopard/editing/pasteboard/paste-text-011-expected.png: Removed.
        * platform/mac/editing/pasteboard/paste-text-001-expected.checksum: Removed.
        * platform/mac/editing/pasteboard/paste-text-001-expected.png: Removed.
        * platform/mac/editing/pasteboard/paste-text-001-expected.txt: Removed.
        * platform/mac/editing/pasteboard/paste-text-011-expected.checksum: Removed.
        * platform/mac/editing/pasteboard/paste-text-011-expected.png: Removed.
        * platform/mac/editing/pasteboard/paste-text-011-expected.txt: Removed.
        * platform/qt/editing/pasteboard/paste-text-011-expected.checksum: Removed.
        * platform/qt/editing/pasteboard/paste-text-011-expected.png: Removed.
        * platform/qt/editing/pasteboard/paste-text-011-expected.txt: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83246 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-04-07  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
        https://bugs.webkit.org/show_bug.cgi?id=57872

        Added tests to ensure WebKit inserts a paragraph separator properly around tab span.

        * editing/inserting/insert-div-021-expected.txt: No longer duplicates span[id="test"] incorrectly.
        * editing/inserting/insert-paragraph-after-tab-span-and-text-expected.txt: Added.
        * editing/inserting/insert-paragraph-after-tab-span-and-text.html: Added.
        * editing/inserting/insert-paragraph-separator-tab-span-expected.txt: Added.
        * editing/inserting/insert-paragraph-separator-tab-span.html: Added.
        * editing/inserting/insert-paragraph-at-end-of-line-expected.txt: No longer duplicates a[id="anchor"] incorrectly.
2011-04-07  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
        https://bugs.webkit.org/show_bug.cgi?id=57872

        r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition
        because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition.

        r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without
        avoiding the tab span.

        Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy.
        Also reverted r46914 for the general code path because re-creating node hierarchy duplicates nodes when
        we're moving nodes after the paragraph separator. Instead, we now split the tree up until the start block
        before moving the nodes.

        Tests: editing/inserting/insert-paragraph-after-tab-span-and-text.html
               editing/inserting/insert-paragraph-separator-tab-span.html

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Since EditingStyle's constructor avoids a tab span,
        no longer calls positionBeforeTabSpan on the position passed to EditingStyle's constructor.
        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph
        separator into a paragraph separator.
        * editing/htmlediting.cpp:
        (WebCore::positionOutsideTabSpan): Renamed from positionBeforeTabSpan. Also returns the position in the parent
        node after the tab span if the position was at the end of the tab span.
        * editing/htmlediting.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83247 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-04-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Martin Robinson.

        Refactor Gtk build system to separate list of files
        https://bugs.webkit.org/show_bug.cgi?id=58090

        This is the first step towards generating part of the GTK build system
        using GYP.  In the first iteration, our plan is to just generate the
        list of files.  This patch is the first step, which is to separate out
        the part of JavaScriptCore build system that we intend to generate from
        the rest of the build system.

        * GNUmakefile.am:
        * GNUmakefile.list.am: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83248 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-04-07  Nat Duca  <nduca@chromium.org>

        Reviewed by David Levin.

        [chromium] Compositor thread infrastructure
        https://bugs.webkit.org/show_bug.cgi?id=56131

        Introduce chrome compositor thread and related
        infrastructure.

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCMainThread.cpp: Added.
        (WebCore::CCMainThread::performTask):
        (WebCore::CCMainThread::postTask):
        * platform/graphics/chromium/cc/CCMainThread.h: Added.
        (WebCore::CCMainThread::Task::~Task):
        (WebCore::CCMainThread::Task::instance):
        (WebCore::CCMainThread::Task::Task):
        * platform/graphics/chromium/cc/CCMainThreadTask.h: Added.
        (WebCore::MainThreadTask0::create):
        (WebCore::MainThreadTask0::MainThreadTask0):
        (WebCore::MainThreadTask0::performTask):
        (WebCore::MainThreadTask1::create):
        (WebCore::MainThreadTask1::MainThreadTask1):
        (WebCore::MainThreadTask1::performTask):
        (WebCore::MainThreadTask2::create):
        (WebCore::MainThreadTask2::MainThreadTask2):
        (WebCore::MainThreadTask2::performTask):
        (WebCore::MainThreadTask3::create):
        (WebCore::MainThreadTask3::MainThreadTask3):
        (WebCore::MainThreadTask3::performTask):
        (WebCore::createMainThreadTask):
        * platform/graphics/chromium/cc/CCThread.cpp: Added.
        (WebCore::CCThread::create):
        (WebCore::CCThread::CCThread):
        (WebCore::CCThread::~CCThread):
        (WebCore::CCThread::postTask):
        (WebCore::CCThread::compositorThreadStart):
        (WebCore::CCThread::runLoop):
        * platform/graphics/chromium/cc/CCThread.h: Added.
        (WebCore::CCThread::Task::~Task):
        (WebCore::CCThread::Task::instance):
        (WebCore::CCThread::Task::Task):
        (WebCore::CCThread::threadID):
        (WebCore::CCCompletionEvent::CCCompletionEvent):
        (WebCore::CCCompletionEvent::~CCCompletionEvent):
        (WebCore::CCCompletionEvent::wait):
        (WebCore::CCCompletionEvent::signal):
        * platform/graphics/chromium/cc/CCThreadTask.h: Added.
        (WebCore::CCThreadTask0::create):
        (WebCore::CCThreadTask0::CCThreadTask0):
        (WebCore::CCThreadTask0::performTask):
        (WebCore::CCThreadTask1::create):
        (WebCore::CCThreadTask1::CCThreadTask1):
        (WebCore::CCThreadTask1::performTask):
        (WebCore::CCThreadTask2::create):
        (WebCore::CCThreadTask2::CCThreadTask2):
        (WebCore::CCThreadTask2::performTask):
        (WebCore::CCThreadTask3::create):
        (WebCore::CCThreadTask3::CCThreadTask3):
        (WebCore::CCThreadTask3::performTask):
        (WebCore::createCCThreadTask):
2011-04-07  Nat Duca  <nduca@chromium.org>

        Reviewed by David Levin.

        [chromium] Compositor thread infrastructure
        https://bugs.webkit.org/show_bug.cgi?id=56131

        Tests for chrome compositor thread and related infrastructure.

        * WebKit.gyp:
        * WebKit.gypi:
        * tests/CCThreadTaskTest.cpp: Added.
        (WebCore::TEST):
        * tests/CCThreadTest.cpp: Added.
        (WebCore::TEST):
        (WebCore::PingPongUsingCondition::ping):
        (WebCore::PingPongTestUsingTasks::ping):
        (WebCore::PingPongTestUsingTasks::pong):
        * tests/RunAllTests.cpp:
        (main):

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