6% regression in intl1 page cycler on chromium-mac
https://bugs.webkit.org/show_bug.cgi?id=110784

Reviewed by Eric Seidel.

This patch reverts http://trac.webkit.org/changeset/143014 to see if
that's the cause of the PLT regression. If it's not the cause, I'll
roll it back in.

* dom/Element.cpp:
(WebCore::Element::addAttributeInternal):
(WebCore::ShareableElementData::ShareableElementData):
(WebCore::UniqueElementData::makeShareableCopy):
(WebCore::ElementData::addAttribute):
(WebCore::ElementData::removeAttribute):
(WebCore::ElementData::reportMemoryUsage):
* dom/Element.h:
(ElementData):
(UniqueElementData):
(WebCore::ElementData::mutableAttributeVector):
(WebCore):
(WebCore::ElementData::immutableAttributeArray):
(WebCore::ElementData::length):
(WebCore::ElementData::getAttributeItem):
(WebCore::ElementData::attributeItem):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143983 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Normalize ENABLE_ENCRYPTED_MEDIA definitions across all FeatureDefines files.
https://bugs.webkit.org/show_bug.cgi?id=110806

Source/WebCore:

Reviewed by Alexey Proskuryakov.

Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.

* Configurations/FeatureDefines.xcconfig:

Fix some build errors which occurred when both ENCRYPTED_MEDIA and
ENCRYPTED_MEDIA_V2 were enabled:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::webkitGenerateKeyRequest):
(WebCore::HTMLMediaElement::webkitAddKey):
* page/DOMWindow.idl:

Source/WebKit/mac:

Reviewed by Alexey Proskuryakov.

Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.

Reviewed by Alexey Proskuryakov.

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

Reviewed by Alexey Proskuryakov.

Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.

* wtf/FeatureDefines.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143984 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Plumb WebViewImpl's compositor scheduling suppression out to WebWidgetClient
https://bugs.webkit.org/show_bug.cgi?id=110640

Patch by James Robinson <jamesr@chromium.org> on 2013-02-25
Reviewed by Adrienne Walker.

This plumbs the WebViewImpl::m_suppressInvalidations logic out to the WebWidgetClient so
it can be implemented by the embedder. The existing logic is left in place for now,
once the embedder side has landed WebViewImpl will be purely a pass-through.

* public/WebWidgetClient.h:
(WebWidgetClient):
(WebKit::WebWidgetClient::suppressCompositorScheduling):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::suppressInvalidations):
(WebKit::WebViewImpl::setRootGraphicsLayer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143985 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Optionally partition cache to prevent using cache for tracking
https://bugs.webkit.org/show_bug.cgi?id=110269

Reviewed by Maciej Stachowiak.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Add defines for cache partitioning and public suffix list usage

Source/WebCore:

Implement memory cache partitioning by passing the cache name through
resource requests into a new version of resourceForURL.

Test: http/tests/cache/partitioned-cache.html

* Configurations/FeatureDefines.xcconfig: Add defines for cache partitioning and public suffix list usage
* WebCore.exp.in: Export new functions for WKSI and test suite
* WebCore.xcodeproj/project.pbxproj:
* html/DOMURL.cpp:
(WebCore::DOMURL::revokeObjectURL): Retrofit for new resourceForRequest function
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::cachedResource): Retrofit for new resourceForRequest function
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::replayXHR): Retrofit for new resourceForRequest function
* loader/DocumentLoader.h:
(DocumentLoader):
(WebCore::DocumentLoader::recordMemoryCacheLoadForFutureClientNotification): Retrofit for new resourceForRequest function
(WebCore::DocumentLoader::takeMemoryCacheLoadsForClientNotification): Retrofit for new resourceForRequest function
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadedResourceFromMemoryCache): Retrofit for new resourceForRequest function
(WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): Retrofit for new resourceForRequest function
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create): Retrofit for new resourceForRequest function
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::~CachedResource):
* loader/cache/CachedResource.h: Retrofit for new resourceForRequest function
(CachedResource):
(WebCore::CachedResource::cachePartition):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestUserCSSStyleSheet): Retrofit for new resourceForRequest function
(WebCore::CachedResourceLoader::requestResource): Retrofit for new resourceForRequest function
(WebCore::CachedResourceLoader::loadResource): Retrofit for new resourceForRequest function
* loader/cache/MemoryCache.cpp:
(WebCore):
(WebCore::partitionName): Add function for determining absolute partition name
(WebCore::MemoryCache::add): Retrofit for partition mapping
(WebCore::MemoryCache::revalidationSucceeded): Retrofit for partition mapping
(WebCore::MemoryCache::resourceForURL): Call into new resourceForRequest
(WebCore::MemoryCache::resourceForRequest): Retrofit for partition mapping
(WebCore::MemoryCache::evict): Retrofit for partition mapping
(WebCore::MemoryCache::removeResourcesWithOrigin): Retrofit for partition mapping
(WebCore::MemoryCache::getOriginsWithCache): Retrofit for partition mapping
(WebCore::MemoryCache::removeUrlFromCache): Retrofit for partition mapping
(WebCore::MemoryCache::removeRequestFromCache): Retrofit for partition mapping
(WebCore::MemoryCache::removeRequestFromCacheImpl): Retrofit for partition mapping
(WebCore::MemoryCache::crossThreadRemoveRequestFromCache): Add function for calling removeRequestFromCacheImpl that takes a CrossThreadResourceRequestData
(WebCore::MemoryCache::getStatistics): Retrofit for partition mapping
(WebCore::MemoryCache::setDisabled): Retrofit for partition mapping
* loader/cache/MemoryCache.h:
(MemoryCache):
* page/SecurityOrigin.cpp:
(WebCore):
(WebCore::SecurityOrigin::cachePartition): Add function for determining the cache partition name
* page/SecurityOrigin.h:
(SecurityOrigin):
* platform/PublicSuffix.h: Added.
(WebCore):
* platform/mac/PublicSuffixMac.mm: Added.
(WebCore):
(WebCore::isPublicSuffix):
(WebCore::topPrivatelyControlledDomain):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
* platform/network/cf/ResourceRequest.h:
(ResourceRequest):
(WebCore::ResourceRequest::cachePartition):
(WebCore::ResourceRequest::setCachePartition):
(CrossThreadResourceRequestData):
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::doPlatformCopyData): Pass through cache partition name
(WebCore):
(WebCore::ResourceRequest::doPlatformAdopt): Pass through cache partition name
* platform/network/mac/ResourceRequestMac.mm:
(WebCore::ResourceRequest::doUpdateResourceRequest): Pass through cache partition name
(WebCore::ResourceRequest::doUpdatePlatformRequest): Pass through cache partition name

Source/WebKit/mac:

Update WKSI bindings and add feature defines.

* Configurations/FeatureDefines.xcconfig: Add defines for cache partitioning and public suffix list usage
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

Source/WebKit2:

Update WKSI bindings and add feature defines.

* Configurations/FeatureDefines.xcconfig: Add defines for cache partitioning and public suffix list usage
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

Tools:

Add test suite for public suffix functions on Mac.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/PublicSuffix.mm: Added.
(TestWebKitAPI):
(TestWebKitAPI::TEST_F):

WebKitLibraries:

Update WKSI bindings.

* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceMountainLion.a:

LayoutTests:

Added tests for ensuring the cache partitioning functions

* http/tests/cache/partitioned-cache-expected.txt: Added.
* http/tests/cache/partitioned-cache.html: Added.
* http/tests/cache/resources/echo-cookie.cgi: Added.
* http/tests/cache/resources/partitioned-cache-loader.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143986 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove browser patching mechanism for handling javascript dialogs in chromium port
https://bugs.webkit.org/show_bug.cgi?id=110531

Patch by Ken Kania <kkania@chromium.org> on 2013-02-25
Reviewed by Pavel Feldman.

* public/WebDevToolsAgent.h:
* src/WebDevToolsAgentImpl.cpp:
(WebKit::WebDevToolsAgentImpl::handleJavaScriptDialog):
(WebKit::browserHintToString):
(WebKit::browserHintFromString):
(WebKit::WebDevToolsAgent::patchWithBrowserData):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143987 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebKit2: Add a new unavailablePluginButtonClicked callback that takes a WKDictionary of plug-in information
https://bugs.webkit.org/show_bug.cgi?id=110821

Reviewed by Beth Dakin.

* UIProcess/API/C/WKPage.cpp:
(WKPageGetPluginInformationPluginspageAttributeURLKey):
(WKPageGetPluginInformationPluginURLKey):
Add two new API key getters.

* UIProcess/API/C/WKPage.h:
Add a new callback and deprecate the old callback.

* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::didFailToInitializePlugin):
(WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
(WebKit::WebLoaderClient::pluginLoadPolicy):
Make the pluginInformationDictionary a static member function of WebPageProxy so it
can be called from WebUIClient as well.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getPluginPath):
Pass the bundle version as well.

(WebKit::WebPageProxy::pluginInformationPluginspageAttributeURLKey):
(WebKit::WebPageProxy::pluginInformationPluginURLKey):
Add two new keys.

(WebKit::WebPageProxy::pluginInformationDictionary):
Handle more keys.

(WebKit::WebPageProxy::unavailablePluginButtonClicked):
Get the plug-in bundle identifier and version.

* UIProcess/WebPageProxy.messages.in:
Pass along more information; the frame and page URLs.

* UIProcess/WebUIClient.cpp:
(WebKit::WebUIClient::unavailablePluginButtonClicked):
Call the new callback if it's supported.

* UIProcess/WebUIClient.h:
(WebUIClient):
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
Update for API changes.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::unavailablePluginButtonClicked):
Ensure that the pluginspage attribute is a valid URL.

Tools: Add a new unavailablePluginButtonClicked callback that takes a WKDictionary of plug-in information
https://bugs.webkit.org/show_bug.cgi?id=110821
<rdar://problem/13265303>

Reviewed by Beth Dakin.

Update for WebKit2 changes.

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::unavailablePluginButtonClicked):
* WebKitTestRunner/TestController.h:
(TestController):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143988 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Resource Timing] Update test suite so it can be exported to the W3C
https://bugs.webkit.org/show_bug.cgi?id=107343

Reviewed by Tony Gentilcore.

Tools:

* Scripts/export-w3c-performance-wg-tests: Clean up output.
* Scripts/import-w3c-performance-wg-tests:

LayoutTests:

* http/tests/w3c/webperf/resources/webperftestharness.js: Removed unneeded functions and moved new ones to extension.
* http/tests/w3c/webperf/resources/webperftestharnessextension.js:
(test_resource_entries):
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_attribute_order-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_attribute_order-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_attribute_order.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_attribute_order.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_cached-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_cached-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_cached.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_cached.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_connection_reuse-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_connection_reuse-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_connection_reuse.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_connection_reuse.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_dynamic_insertion-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_dynamic_insertion-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_dynamic_insertion.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_dynamic_insertion.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_frame_initiator_type-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_frame_initiator_type-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_frame_initiator_type.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_frame_initiator_type.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_ignore_data_url-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_data_url-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_ignore_data_url.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_data_url.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_ignore_failures-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_failures-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_ignore_failures.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_failures.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_initiator_types-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_initiator_types-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_initiator_types.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_initiator_types.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_redirects-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_redirects-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_redirects.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_redirects.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_reparenting-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_reparenting-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_reparenting.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_reparenting.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_script_types-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_script_types-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_script_types.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_script_types.html.
* platform/chromium/TestExpectations: Moved directories...
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/qt/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143989 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Lots of unnecessary DidLayout notifications when scrolling zoomed page with iframes
https://bugs.webkit.org/show_bug.cgi?id=110824

Reviewed by Tim Horton.

RenderWidget::setWidgetGeometry() compares the old and new frame rects to decide
if the geometry changed. However, it use implicit IntRect->LayoutRect promotion in
the comparison, and then roundedIntRect() in setting. Thus the code would think
that the geometry changed, even when the final assigned frame did not.

Fix by computing the new frame using roundedIntRect(), and using that to determine
whether the geometry changed.

No way to test DidLayout notifications in DRT/WTR.

* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::setWidgetGeometry):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143990 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix. run-perf-tests was reporting with revision numbers ending with \r.
Don't include \r at the end of svn info lines on Windows.

This is similar to r143839.

* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.value_from_svn_info):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143991 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Flexbox should ignore firstLetter pseudo element.
https://bugs.webkit.org/show_bug.cgi?id=105126

Patch by Xueqing Huang <huangxueqing@baidu.com> on 2013-02-25
Reviewed by Tony Chang.

Source/WebCore:

The CSS WG decided that first-line and first-letter should not
apply to flex containers.
http://dev.w3.org/csswg/css3-flexbox/issue-cr-2012#issue-13

tests:
css3/flexbox/flexbox-ignore-firstLetter.html
css3/flexbox/flexbox-ignore-container-firstLetter.html

* rendering/RenderBlock.cpp:
(WebCore::findFirstLetterBlock):

LayoutTests:

The CSS WG decided that first-line and first-letter should not
apply to flex containers.
http://dev.w3.org/csswg/css3-flexbox/issues-cr-2012#issue-13

* css3/flexbox/flexbox-ignore-container-firstLetter-expected.txt: Added.
* css3/flexbox/flexbox-ignore-container-firstLetter.html: Added.
* css3/flexbox/flexbox-ignore-firstLetter-expected.txt: Added.
* css3/flexbox/flexbox-ignore-firstLetter.html: Added.
* css3/flexbox/inline-flex-crash-expected.txt:
* css3/flexbox/inline-flex-crash2-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
For JSVALUE32_64, maxOffsetRelativeToPatchedStorage() doesn't compute the maximum negative offset
https://bugs.webkit.org/show_bug.cgi?id=110828

Reviewed by Oliver Hunt.

* runtime/JSObject.h:
(JSC::maxOffsetRelativeToPatchedStorage): Only add the OBJECT_OFFSETOF(tag) for positive offsets.
That way this function will return the offset farthest from 0 needed to access either the payload
or tag.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Forgot to delete a no-longer-needed unit test after r143980.

Unreviewed, build fix.

* Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
(ChromiumWinTest.test_path_to_image_diff):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143995 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add cookies to FastMalloc spans
https://bugs.webkit.org/show_bug.cgi?id=110827

Reviewed by Michael Saboff.

Add a cookie to spans, and move some of the hardening around so
that it's more useful.

* wtf/FastMalloc.cpp:
(WTF::internalEntropyValue):
(WTF::spanInitializerCookie):
(WTF::Span::initCookie):
(WTF::Span::clearCookie):
(WTF::Span::isValid):
(Span):
(WTF::NewSpan):
(WTF::DeleteSpan):
(WTF::TCMalloc_ThreadCache_FreeList::Validate):
(WTF::TCMalloc_Central_FreeList::Populate):
(WTF::TCMalloc_ThreadCache::Deallocate):
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143996 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Fix script to use WEBKIT_SOURCE for VS2010 property sheets instead of WEBKIT_LIBRARIES.

* WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143997 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] WebViewImpl::m_client can be null in some unit tests, check it before calling
https://bugs.webkit.org/show_bug.cgi?id=110834

Reviewed by Adrienne Walker.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::suppressInvalidations):
(WebKit::WebViewImpl::setRootGraphicsLayer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143998 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update the localizable strings file.

Rubber-stamped by Anders Carlsson.

* English.lproj/Localizable.strings:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143999 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Threaded HTML parser should pass fast/parser/iframe-sets-parent-to-javascript-url.html
https://bugs.webkit.org/show_bug.cgi?id=110637

Reviewed by Eric Seidel.

With the main thread parser, we always parse the first chunk of content
returned as the result of evaluating a JavaScript URL synchronously. In
particular, if the first chunk has an inline script, we'll execute it
synchronously.

Previous to this patch, the threaded parser would always parse this
content asynchronously. It's conceivable that there could be some
content relying on the synchronous behavior, so this patch introduces
the notion of "pinning" a parser to the main thread and uses that
concept to force the result of JavaScript URLs to be parsed on the main
thread (which is probably desirable anyway because they're likely to be
quite short).

This patch fixes fast/parser/iframe-sets-parent-to-javascript-url.html
and fast/dom/javascript-url-crash-function.html with the threaded
parser with --enable-threaded-html-parser.

* dom/DocumentParser.h:
(WebCore::DocumentParser::pinToMainThread):
(DocumentParser):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore):
(WebCore::HTMLDocumentParser::pinToMainThread):
* html/parser/HTMLDocumentParser.h:
(HTMLDocumentParser):
(WebCore::HTMLDocumentParser::shouldUseThreading):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::replaceDocument):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144000 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix attempt after r143996.

* wtf/FastMalloc.cpp:
(WTF):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144001 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add expandedToParagraph() method to WebRange
https://bugs.webkit.org/show_bug.cgi?id=110618

Patch by Rouslan Solomakhin <rouslan@chromium.org> on 2013-02-25
Reviewed by Adam Barth.

Add a method expandedToParagraph() to WebRange to return a copy of the
range expanded to paragraph boundaries. This method is to be used to
query the spelling context around the misspelled word under cursor.

* public/WebRange.h:
(WebRange): Added expandedToParagraph() method declaration.
* src/WebRange.cpp:
(WebKit::WebRange::expandedToParagraph): Added method to copy range, expand the copied range to paragraph boundaries, and return the resulting range.
(WebKit): Added expandedToParagraph() method definition.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144002 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[texmap] Rename TextureMapperGL::ClipStack::init to reset
https://bugs.webkit.org/show_bug.cgi?id=110783

Reviewed by Noam Rosenthal.

Functions named init() are usually called inside ctor's to initialize
member variables that were unable to be assigned on an initialization
list, which is not the case, and also because reset() better reflects
the behavior (clears the clip stack and assigns a value to the initial
clip state).

No behavior changes, thus covered by existing tests.

* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::ClipStack::reset):
(WebCore::TextureMapperGL::beginPainting):
(WebCore::BitmapTextureGL::initializeDepthBuffer):
* platform/graphics/texmap/TextureMapperGL.h:
(ClipStack):


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