Unreviewed, rolling out r135295.
http://trac.webkit.org/changeset/135295
https://bugs.webkit.org/show_bug.cgi?id=102834

This patch causes assertion to some layout tests on chromium
(Requested by jianli on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-20

Source/WebCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* loader/FrameLoadRequest.cpp: Removed.
* loader/FrameLoadRequest.h:
(WebCore::FrameLoadRequest::FrameLoadRequest):
(FrameLoadRequest):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::load):
* loader/FrameLoader.h:
(FrameLoader):
* page/DragController.cpp:
(WebCore::DragController::performDrag):
* plugins/PluginView.cpp:
(WebCore::PluginView::performRequest):

Source/WebKit/blackberry:

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::load):
(BlackBerry::WebKit::WebPagePrivate::loadString):
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):

Source/WebKit/chromium:

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::loadRequest):
(WebKit::WebFrameImpl::loadData):
* src/WebSharedWorkerImpl.cpp:
(WebKit::WebSharedWorkerImpl::initializeLoader):

Source/WebKit/efl:

* ewk/ewk_frame.cpp:
(ewk_frame_uri_set):
(_ewk_frame_contents_set_internal):

Source/WebKit/gtk:

* webkit/webkitwebframe.cpp:
(webkit_web_frame_load_uri):
(webkit_web_frame_load_data):
(webkit_web_frame_load_request):

Source/WebKit/mac:

* Plugins/WebPluginController.mm:
* WebView/WebFrame.mm:
(-[WebFrame loadRequest:]):
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):

Source/WebKit/qt:

* Api/qwebframe.cpp:
(QWebFrame::QWebFrame):
(QWebFrame::load):
(QWebFrame::setHtml):
(QWebFrame::setContent):
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::setAlternateHtml):
* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::callErrorPageExtension):

Source/WebKit/win:

* WebFrame.cpp:
(WebFrame::loadRequest):
(WebFrame::loadData):

Source/WebKit/wince:

* WebView.cpp:
(WebView::load):

Source/WebKit/wx:

* WebFrame.cpp:
(WebKit::WebFrame::SetPageSource):

Source/WebKit2:

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::performFrameLoadURLRequest):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadURLRequest):
(WebKit::WebPage::loadData):
(WebKit::WebPage::linkClicked):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135310 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Updated chromium test expectations.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135311 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Build fix after r135217.
https://bugs.webkit.org/show_bug.cgi?id=102787

* platform/win/WindowsExtras.h: Add #undef of NOSHLWAPI to
allow include of <ObjBase.h> needed by Qt build.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135312 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Make lazy image decoding thread-safe
https://bugs.webkit.org/show_bug.cgi?id=102721

Reviewed by Stephen White.

Source/WebCore:

Added mutex to LazyDecodingPixelRef such that there is no parallel
onLockPixels() running on multiple threads.

Added mutex to ImageFrameGenerator to protect the use of raw image
data.

The result is that we can decode on threads other than the main
thread while data is being supplied on the main thread.

New unit test:
DeferredImageDecoderTest.decodeOnOtherThread

* platform/graphics/chromium/ImageFrameGenerator.cpp:
(WebCore::ImageFrameGenerator::setData):
(WebCore::ImageFrameGenerator::decodeAndScale):
* platform/graphics/chromium/ImageFrameGenerator.h:
(ImageFrameGenerator):
* platform/graphics/chromium/LazyDecodingPixelRef.cpp:
(WebCore::LazyDecodingPixelRef::onLockPixels):
(WebCore::LazyDecodingPixelRef::onUnlockPixels):
* platform/graphics/chromium/LazyDecodingPixelRef.h:
(LazyDecodingPixelRef):

Source/WebKit/chromium:

Added a new unit test to verify that lazy image decoding operates
correctly on non-main threads.

* tests/DeferredImageDecoderTest.cpp:
(Rasterizer):
(WebCore):
(WebCore::rasterizeMain):
(WebCore::TEST_F):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135313 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Exclusions] Support outside-shape value on shape-inside
https://bugs.webkit.org/show_bug.cgi?id=101108

Patch by Bear Travis <betravis@adobe.com> on 2012-11-20
Reviewed by Dirk Schulze.

Source/WebCore:

Shape-inside can potentially be: 'auto' | 'outside-shape' | <shape> | <url>.
Webkit currently supports the value 'auto' (null) and <shape> (a BasicShape*).
This patch adds support for the value 'outside-shape.' It adds the ExclusionShapeValue
class, which may be any of the three values: 'auto', 'outside-shape', or <shape>.
Bug 102738 tracks adding <url> support.

Modifying existing tests:
LayoutTests/fast/exclusions/parsing-wrap-shape-inside.html
LayoutTests/fast/exclusions/parsing-wrap-shape-outside.html

* GNUmakefile.list.am: Adding ExclusionShapeValue.h to the build files.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
(WebCore):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Modifying code to use
ExclusionShapeValue* rather than the previous BasicShape* values.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Handle the outside-shape value.
* css/CSSValueKeywords.in: Adding outside-shape value.
* css/StyleBuilder.cpp:
(WebCore):
(WebCore::ApplyPropertyExclusionShape::setValue): Modify code to use
ExclusionShapeValue* rather than BasicShape*.
(WebCore::ApplyPropertyExclusionShape::applyValue): Ditto.
(WebCore::ApplyPropertyExclusionShape::createHandler): Ditto.
* page/animation/CSSPropertyAnimation.cpp: Ditto.
(WebCore::blendFunc): Ditto.
(WebCore::PropertyWrapperExclusionShape::PropertyWrapperExclusionShape): Ditto.
(WebCore::CSSPropertyAnimation::ensurePropertyMap): Ditto.
* rendering/ExclusionShapeInsideInfo.cpp:
(WebCore::ExclusionShapeInsideInfo::isExclusionShapeInsideInfoEnabledForRenderBlock):
Ditto.
(WebCore::ExclusionShapeInsideInfo::computeShapeSize): Ditto.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Ditto.
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/style/ExclusionShapeValue.h: Added.
(WebCore):
(ExclusionShapeValue): New type to represent the possible values of shape-inside
and shape-outside. Only shape-inside can have a value of 'outside-shape.'
(WebCore::ExclusionShapeValue::~ExclusionShapeValue):
(WebCore::ExclusionShapeValue::type): Returns the value type.
(WebCore::ExclusionShapeValue::shape): Returns <shape> value's BasicShape*.
(WebCore::ExclusionShapeValue::operator==):
(WebCore::ExclusionShapeInfo::createShapeValue):
(WebCore::ExclusionShapeInfo::createOutsideValue):
(WebCore::ExclusionShapeValue::ExclusionShapeValue):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.h:
(StyleRareNonInheritedData):

LayoutTests:

Adding tests to make sure the 'outside-shape' value properly applies only to the
shape-inside property.

* fast/exclusions/parsing-wrap-shape-inside-expected.txt:
* fast/exclusions/parsing-wrap-shape-outside-expected.txt:
* fast/exclusions/script-tests/parsing-wrap-shape-inside.js:
* fast/exclusions/script-tests/parsing-wrap-shape-outside.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135314 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Provide page/window coordinates to plugin's local coordinates translation in WebPluginContainer.
https://bugs.webkit.org/show_bug.cgi?id=102339

Patch by Istiaque Ahmed <lazyboy@chromium.org> on 2012-11-20
Reviewed by Adam Barth.

This change will allow converting a page's window coordinates to plugins's local coordinates,
taking CSS transformations into account. Embedder page of the plugin can use this information
for targetting elements inside the plugin (e.g. devtools can inspect a specific element at the
local coordinate position inside plugin).

* WebKit.gyp:
* WebKit.gypi:
* public/WebNode.h:
(WebKit):
* public/WebPluginContainer.h:
(WebKit):
(WebPluginContainer):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::executeCommand):
(WebKit::WebFrameImpl::printBegin):
(WebKit::WebFrameImpl::isPrintScalingDisabledForPlugin):
* src/WebNode.cpp:
(WebKit::WebNode::pluginContainer):
(WebKit):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::windowToLocalPoint):
(WebKit):
* src/WebPluginContainerImpl.h:
(WebPluginContainerImpl):
* tests/FakeWebPlugin.cpp: Added.
(WebKit):
(WebKit::FakeWebPlugin::FakeWebPlugin):
(WebKit::FakeWebPlugin::~FakeWebPlugin):
(WebKit::FakeWebPlugin::initialize):
(WebKit::FakeWebPlugin::destroy):
* tests/FakeWebPlugin.h: Added.
(WebKit):
(FakeWebPlugin):
* tests/WebPluginContainerTest.cpp: Added.
(WebKit):
(WebPluginContainerTest):
(WebKit::WebPluginContainerTest::WebPluginContainerTest):
(WebKit::WebPluginContainerTest::TearDown):
(WebKit::getWebPluginContainer):
(WebKit::TEST_F):
* tests/data/plugin_container.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135315 268f45cc-cd09-0410-ab3c-d52691b4dbfc
When calling DocumentStyleSheetCollection::addUserSheet, pass in a user sheet
https://bugs.webkit.org/show_bug.cgi?id=102835

Reviewed by Ojan Vafai.

After r135082, Chromium browser_tests were triggering the ASSERT in
StyleResolver::collectRulesFromUserStyleSheets. Add an ASSERT that will
trigger earlier and make it clear in the Chromium code that we're always
inserting user level styles.

Source/WebCore:

No new tests, no behavior change except no longer triggering the StyleResolver ASSERT
in Chromium browser_tests.

* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::addUserSheet):

Source/WebKit/chromium:

* src/WebDocument.cpp:
(WebKit::WebDocument::insertUserStyleSheet):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135316 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WinCairo] Build fix after r135316

* platform/network/curl/AuthenticationChallenge.h: Update stub
  implementations to match Apple Windows port.
(WebCore::AuthenticationChallenge::AuthenticationChallenge): Add
  missing identifier argument.
(WebCore::AuthenticationChallenge::setAuthenticationClient): Supply
  missing set method.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135317 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Use embedder-supported gesture curves
https://bugs.webkit.org/show_bug.cgi?id=100884

Reviewed by James Robinson.

Use embedder-provided gesture animation curves via WebKit api interfaces.
Tested by existing tests.

* src/WebCompositorInputHandlerImpl.cpp:
(WebKit::WebCompositorInputHandlerImpl::handleGestureFling):
(WebKit::WebCompositorInputHandlerImpl::scrollBy):
* src/WebCompositorInputHandlerImpl.h:
(WebCompositorInputHandlerImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::scrollBy):
(WebKit::WebViewImpl::handleGestureEvent):
(WebKit::WebViewImpl::transferActiveWheelFlingAnimation):
* src/WebViewImpl.h:
(WebCore):
(WebKit):
(WebViewImpl):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Animated gifs pause on scroll or zoom and sometimes don't resume after scroll or zoom completes
https://bugs.webkit.org/show_bug.cgi?id=102838

Patch by Andrew Lo <anlo@rim.com> on 2012-11-20
Reviewed by Rob Buis.

Internally reviewed by Adam Treat.
Internal PR244646
When entering scrolling & zooming, we suspend regular render jobs
in order to pause animations. When finishing scrolling or zooming,
dispatch a render job in order to resume those animations.

If an animation requests a repaint while the backing store is suspended,
add the regular render job to the render queue so that it can be
processed later.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::repaint):
(BlackBerry::WebKit::BackingStorePrivate::setScrollingOrZooming):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135319 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[v8] Avoid unnecessary call to ToObject() in Callback constructors
https://bugs.webkit.org/show_bug.cgi?id=102831

Reviewed by Adam Barth.

The code already asserted that the argument was an object, so calling
ToObject() is unnecessary: a simple Cast() suffices.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateCallbackHeader):
* bindings/scripts/test/V8/V8TestCallback.h:
(WebCore::V8TestCallback::create):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
HTMLCollection's cache should not be invalidated when id or name attributes are changed
https://bugs.webkit.org/show_bug.cgi?id=102843

Reviewed by Eric Seidel.

When an id or name attribute changes, only invaliate id and name cache maps when the collection
doesn't depend on id and name attributes (e.g. document.images).

Unfortunately, I could not create a reliable test for this performance problem.

* dom/DynamicNodeList.cpp:
(WebCore::DynamicNodeListCacheBase::invalidateIdNameCacheMaps):
* dom/DynamicNodeList.h:
(WebCore::DynamicNodeListCacheBase::invalidateCache):
(DynamicNodeListCacheBase):
* dom/ElementRareData.h:
(WebCore::ElementRareData::clearHTMLCollectionCaches):
* html/HTMLCollection.cpp:
(WebCore::invalidationTypeExcludingIdAndNameAttributes):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Introduce GenerateConstructorHeader() to CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102806

Reviewed by Adam Barth.

This is an incremental step for introducing constructorCallbackCustom().
(See bug 102763.) This patch adds GenerateConstructorHeader()
that generates a common code for constructors.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateOverloadedConstructorCallback):
(GenerateSingleConstructorCallback):
(GenerateEventConstructorCallback):
(GenerateNamedConstructorCallback):
(GenerateConstructorHeader):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135322 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix typos. Apparently XCode failed to text-replace earlier when it was busy making a snapshot :(

* dom/DynamicNodeList.cpp:
(WebCore::DynamicNodeListCacheBase::invalidateIdNameCacheMaps):
* dom/DynamicNodeList.h:
(WebCore::DynamicNodeListCacheBase::invalidateCache):
(DynamicNodeListCacheBase):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135323 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Build fix after r135217.
https://bugs.webkit.org/show_bug.cgi?id=102787

* platform/win/WindowsExtras.h: Switch to direct include of
  <ObjBase.h>, as is done in other <shlwapi.h> includes.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135324 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Pass ScriptState::current() to functions marked with CallWith=ScriptState
https://bugs.webkit.org/show_bug.cgi?id=102739

Patch by Michael Pruett <michael@68k.org> on 2012-11-20
Reviewed by Kentaro Hara.

Previously EmptyScriptState rather than ScriptState::current()
was passed to functions marked with [CallWith=ScriptState].
Since the EmptyScriptState has a null v8::Context, any functions
which depended upon a valid v8::Context would fail.

No new tests. Covered by existing tests.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateCallWith):
(GenerateFunctionCallString):
* bindings/v8/ScriptState.h:
(WebCore::ScriptState::clearException): Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135325 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove special case for layout tests when builders fail to load
https://bugs.webkit.org/show_bug.cgi?id=102842

Reviewed by Tony Chang.

Now that we load only builders that actually run the given test
type, we can reliably show errors to the users because it
represents a broken bot.
* TestResultServer/static-dashboards/loader.js:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135326 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix another typo. I need to checking that type() != NodeListCollectionType,
not that type() >= FirstNodeCollectionType.

* dom/DynamicNodeList.cpp:
(WebCore::DynamicNodeListCacheBase::invalidateIdNameCacheMaps):
* dom/DynamicNodeList.h:
(WebCore::DynamicNodeListCacheBase::invalidateCache):


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

Removed unnecessary mutex unlock that triggered crash on Linux debug build.

Chromium Linux Debug layout tests should be green:
platform/chromium/virtual/deferred/fast/images/image-in-map.html

* platform/graphics/chromium/LazyDecodingPixelRef.cpp:
(WebCore::LazyDecodingPixelRef::onLockPixels):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135328 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Rebaselined run-bindings-tests results.

* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::constructorCallback):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructorCallback):
* bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
(WebCore::V8TestOverloadedConstructors::constructorCallback):

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