<rdar://problem/12592716> REGRESSION (r132545): With full-page accelerated drawing, a
reproducible hang occurs at <http://www.cbsnews.com/stories/2010/01/24/ftn/main6136386.shtml>.

Reviewed by Anders Carlsson.

Work around <rdar://problem/12584492> by limiting the scope of the fix for <http://webkit.org/b/100413>.

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::clipOut): Reverted to using CGContextGetClipBoundingBox() rather
than CGRectInfinite when the context is accelerated and has a transform that is not just
a translation or a scale.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132852 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Non-special escape character sequences cause JSC::Lexer::parseString to create 16 bit strings
https://bugs.webkit.org/show_bug.cgi?id=100576

Reviewed by Darin Adler.

Source/JavaScriptCore: 

Changed singleEscape() processing to be based on a lookup of a static table.  The table
covers ASCII characters SPACE through DEL.  If a character can be a single character escape,
then the table provides the non-zero result of that escape.  Updated the result of
singleEscape to be an LChar to make the table as small as possible.
Added a new test fast/js/normal-character-escapes-in-string-literals.html to validated
the behavior.

* parser/Lexer.cpp:
(JSC::singleEscape):
(JSC::Lexer::parseString):
(JSC::Lexer::parseStringSlowCase):

LayoutTests: 

Added a new test to validated the behavior of the corresponding changes to string processing
in the Lexer.

* fast/js/normal-character-escapes-in-string-literals-expected.txt: Added.
* fast/js/normal-character-escapes-in-string-literals.html: Added.
* fast/js/script-tests/normal-character-escapes-in-string-literals.js: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132853 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Correct my previous patch to disable external SVG
references only on PLATFORM(CHROMIUM).

* wtf/Platform.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132854 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed.  Rolled DEPS.

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132855 268f45cc-cd09-0410-ab3c-d52691b4dbfc
feImage should not be allowed to self reference
https://bugs.webkit.org/show_bug.cgi?id=94652

Reviewed by Eric Seidel.

Source/WebCore: 

Add cycle detection for SVG filter application, and also fix a problem
with graphics context restore when filters are applied. This also
converts the flags in FilterData to a state tracking system, as the
number of flags was getting messy and only one flag is valid at any given time.

Test: svg/filters/feImage-self-and-other-referencing.html

* rendering/svg/RenderSVGResourceFilter.cpp: Convert to new FilterData
state management and enable cycle detection.
(WebCore):
(WebCore::RenderSVGResourceFilter::removeClientFromCache): Change isBuilt and markedForRemoval flags to state enums.
(WebCore::RenderSVGResourceFilter::applyResource): Change flags to state enums and detect cycles.
(WebCore::RenderSVGResourceFilter::postApplyResource): Change flags to state and add handling
for the various states.
(WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): Change isBuilt flag to state enums.
* rendering/svg/RenderSVGResourceFilter.h:
(WebCore::FilterData::FilterData):
(FilterData): Convert to a state tracking system.
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paintReplaced): Add a block around the
SVGRenderingContext so that it applies the filter and reverts the
context before the calling method restores the context.

LayoutTests: 

Additional test case for situations when the filter is applied to multiple objects that it also references.

* svg/filters/feImage-self-and-other-referencing-expected.html: Added.
* svg/filters/feImage-self-and-other-referencing.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132856 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        [WK2] Add a NetworkingContext for NetworkProcess
        https://bugs.webkit.org/show_bug.cgi?id=100708

        Reviewed by Anders Carlsson.

        Each request will have a context, because these are so lightweight on Mac, and
        other platforms will need ResourceHandle refactored anyway to use NetworkProcess.

        * NetworkProcess/mac/RemoteNetworkingContext.h: Added.
        * NetworkProcess/mac/RemoteNetworkingContext.mm: Added.
        These go mac/ subdirectory, because NetworkingContext interface is different on
        each platform, as ResourceHandle needs dictate.

        * WebKit2.xcodeproj/project.pbxproj:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132857 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AtomicString(CFStringRef) shouldn't unconditionally create a StringImpl
https://bugs.webkit.org/show_bug.cgi?id=100701

Reviewed by Dan Bernstein.

Source/WebCore:

* WebCore.exp.in:
Export AtomicString::add(CFStringRef).

* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Add AtomicStringCF.cpp

* platform/text/cf/AtomicStringCF.cpp: Added.
(WTF::AtomicString::add):
When trying to add the atomic string to the table, first try to get a Latin-1 pointer
from the string. Second, try to get a Unicode pointer from the string.
If that also fails, copy the string to a temporary unicode buffer and add it from there.

* platform/text/cf/HyphenationCF.cpp:
(WebCore::::createValueForKey):
Update for AtomicString::createCFString being removed.

Source/WTF:

* wtf/text/AtomicString.h:
(WTF::AtomicString::AtomicString):
Change the constructors that take a CFStringRef and an NSString * to call AtomicString::add(CFStringRef)
and remove AtomicString::createCFString.

(WTF::AtomicString::add):
Add new member function declaration. The definition is in a new file in WebCore, AtomicStringCF.cpp.
Also, fix the overload of add that takes a const char* to call the right other overload instead of itself.

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