JSFunction and its descendants should be destructible
https://bugs.webkit.org/show_bug.cgi?id=102062

Reviewed by Mark Hahnenberg.

This will make it easy to place an InlineWatchpointSet inside JSFunction. In the
future, we could make JSFunction non-destructible again by making a version of
WatchpointSet that is entirely GC'd, but this seems like overkill for now.
        
This is performance-neutral.

* runtime/JSBoundFunction.cpp:
(JSC::JSBoundFunction::destroy):
(JSC):
* runtime/JSBoundFunction.h:
(JSBoundFunction):
* runtime/JSFunction.cpp:
(JSC):
(JSC::JSFunction::destroy):
* runtime/JSFunction.h:
(JSFunction):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134460 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed test expectations for animation tests.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Store layer positions and sizes in the transaction
https://bugs.webkit.org/show_bug.cgi?id=102115

Reviewed by Andreas Kling.

* Shared/mac/RemoteLayerTreeTransaction.h:
(LayerProperties):
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
(WebKit::dumpChangedLayers):
* WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
(RemoteGraphicsLayer):
* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
(WebKit::RemoteGraphicsLayer::setPosition):
(WebKit::RemoteGraphicsLayer::setSize):

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

Update run-bindings-tests results.

* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::V8Float64Array::dispatchWrapCustom):
(WebCore::V8Float64Array::wrapSlow):
* bindings/scripts/test/V8/V8Float64Array.h:
(WebCore::V8Float64Array::toNative):
(V8Float64Array):
(WebCore):
(WebCore::dispatchWrap):
(WebCore::toV8Object):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::V8TestActiveDOMObject::wrapSlow):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(WebCore::V8TestActiveDOMObject::toNative):
(V8TestActiveDOMObject):
(WebCore):
(WebCore::dispatchWrap):
(WebCore::toV8Object):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore::V8TestCustomNamedGetter::wrapSlow):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(WebCore::V8TestCustomNamedGetter::toNative):
(V8TestCustomNamedGetter):
(WebCore):
(WebCore::dispatchWrap):
(WebCore::toV8Object):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(WebCore::V8TestEventConstructor::toNative):
(V8TestEventConstructor):
(WebCore):
(WebCore::dispatchWrap):
(WebCore::toV8Object):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::V8TestEventTarget::wrapSlow):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(WebCore::V8TestEventTarget::toNative):
(V8TestEventTarget):
(WebCore):
(WebCore::dispatchWrap):
(WebCore::toV8Object):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestException.cpp:
(WebCore::V8TestException::wrapSlow):
* bindings/scripts/test/V8/V8TestException.h:
(WebCore::V8TestException::toNative):
(V8TestException):
(WebCore):
(WebCore::dispatchWrap):
(WebCore::toV8Object):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::V8TestInterface::wrapSlow):
* bindings/scripts/test/V8/V8TestInterface.h:
(WebCore::V8TestInterface::toNative):
(V8TestInterface):
(WebCore):
(WebCore::dispatchWrap):
(WebCore::toV8Object):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::V8TestMediaQueryListListener::wrapSlow):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(WebCore::V8TestMediaQueryListListener::toNative):
(V8TestMediaQueryListListener):
(WebCore):
(WebCore::dispatchWrap):
(WebCore::toV8Object):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(WebCore::V8TestNamedConstructor::toNative):
(V8TestNamedConstructor):
(WebCore):
(WebCore::dispatchWrap):
(WebCore::toV8Object):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::V8TestNode::wrapSlow):
* bindings/scripts/test/V8/V8TestNode.h:
(WebCore::V8TestNode::toNative):
(V8TestNode):
(WebCore):
(WebCore::dispatchWrap):
(WebCore::toV8Object):
(WebCore::toV8):
(WebCore::toV8Fast):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::V8TestObj::wrapSlow):
* bindings/scripts/test/V8/V8TestObj.h:
(WebCore::V8TestObj::toNative):
(V8TestObj):
(WebCore):
(WebCore::dispatchWrap):
(WebCore::toV8Object):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
(WebCore::V8TestOverloadedConstructors::wrapSlow):
* bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
(WebCore::V8TestOverloadedConstructors::toNative):
(V8TestOverloadedConstructors):
(WebCore):
(WebCore::dispatchWrap):
(WebCore::toV8Object):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(WebCore::V8TestSerializedScriptValueInterface::toNative):
(V8TestSerializedScriptValueInterface):
(WebCore):
(WebCore::dispatchWrap):
(WebCore::toV8Object):
(WebCore::toV8):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r133944.
http://trac.webkit.org/changeset/133944
https://bugs.webkit.org/show_bug.cgi?id=102118

Only JS bindings support NATIVE_TYPE_ERR (Requested by arv on
#webkit).

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

Source/WebCore:

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateFunctionCallback):
(GenerateParametersCheck):
(GenerateSingleConstructorCallback):
(GenerateNamedConstructorCallback):
(TypeCanFailConversion):
* dom/Element.cpp:
(WebCore::Element::setAttributeNode):
(WebCore::Element::removeAttributeNode):
* dom/Element.idl:

LayoutTests:

* fast/dom/Element/attr-param-typechecking-expected.txt:
* fast/dom/Element/script-tests/attr-param-typechecking.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: file upload input text value is not exposed through accessibility
https://bugs.webkit.org/show_bug.cgi?id=100583

Reviewed by Beth Dakin.

Source/WebCore:

This is a hard problem to solve on the Mac because there are three pieces of information
     1) The type of button 2) The text on the button 3) The text for the value.
I think the best compromise is to label this as a file upload button type in the role description,
and then expose the file path text as the AXTitle.
This will give the more relevant information and should be clear what is happening.

Test: platform/mac/accessibility/file-upload-button-subrole.html

* English.lproj/Localizable.strings:
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(-[WebAccessibilityObjectWrapper subrole]):
(-[WebAccessibilityObjectWrapper roleDescription]):
(-[WebAccessibilityObjectWrapper accessibilityTitle]):
* platform/LocalizedStrings.cpp:
(WebCore::AXFileUploadButtonText):
* platform/LocalizedStrings.h:

LayoutTests:

* platform/mac/accessibility/file-upload-button-subrole-expected.txt: Added.
* platform/mac/accessibility/file-upload-button-subrole.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134465 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r134442.
http://trac.webkit.org/changeset/134442
https://bugs.webkit.org/show_bug.cgi?id=102111

Does not compile on apple-mac (Requested by abarth on
#webkit).

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

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::cachedImage):
* css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::cachedFont):
* css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::cachedImageSet):
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::cachedImage):
* css/CSSImageValue.h:
(WebCore):
(CSSImageValue):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingImage):
* css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::requestStyleSheet):
* css/WebKitCSSSVGDocumentValue.cpp:
(WebCore::WebKitCSSSVGDocumentValue::load):
* css/WebKitCSSShaderValue.cpp:
(WebCore::WebKitCSSShaderValue::cachedShader):
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::requestScript):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
* html/parser/CSSPreloadScanner.cpp:
(WebCore::CSSPreloadScanner::emitRule):
* html/parser/CSSPreloadScanner.h:
(CSSPreloadScanner):
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::PreloadTask::preload):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
(WebCore):
(WebCore::CachedResourceLoader::preload):
* loader/cache/CachedResourceLoader.h:
(WebCore):
(CachedResourceLoader):
* loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::CachedResourceRequest):
* loader/cache/CachedResourceRequest.h:
(CachedResourceRequest):
(WebCore::CachedResourceRequest::defer):
(WebCore::CachedResourceRequest::setDefer):
* loader/cache/CachedResourceRequestInitiators.cpp: Removed.
* loader/cache/CachedResourceRequestInitiators.h: Removed.
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading):
* platform/ThreadGlobalData.cpp:
(WebCore::ThreadGlobalData::ThreadGlobalData):
* platform/ThreadGlobalData.h:
(ThreadGlobalData):
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::requestImageResource):
* svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::loadFont):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::svgAttributeChanged):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134466 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Fix SkImageFilter DAG path to pass all css3/filters tests
https://bugs.webkit.org/show_bug.cgi?id=101952

Reviewed by James Robinson.

With these changes, all of the css3/filters tests pass when the
if-test in GraphicsLayerChromium::setFilters() is forced true (for
now, it remains true only if there's a reference filter in the chain).

Covered by the css3/filters tests (when the switch is thrown in
GraphicsLayerChromium::setFilters()).

* WebCore.gypi:
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
Drop to software rendering if there's a custom filter in the chain.
This is the same as the WebFilterOperations path is doing.
* platform/graphics/filters/skia/DropShadowImageFilter.cpp: Added.
* platform/graphics/filters/skia/DropShadowImageFilter.h: Added.
New implementation of drop-shadow filter; equivalent to
the path in cc/render_surface_filters.cc.
* platform/graphics/filters/skia/SkiaImageFilterBuilder.cpp:
Fix the sepia and grayscale filters (value was inverted).


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134467 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Unreviewed gardening.

Skip a few tests, update expectations when some colors varied
slightly from the existing expectation and add a few new ones.

* platform/efl-wk1/TestExpectations:
* platform/efl/fast/forms/input-placeholder-visibility-3-expected.png:
* platform/efl/fast/forms/menulist-no-overflow-expected.png:
* platform/efl/fast/forms/menulist-separator-painting-expected.png:
* platform/efl/fast/forms/select-background-none-expected.png:
* platform/efl/fast/forms/select-listbox-multiple-no-focusring-expected.png:
* platform/efl/fast/forms/select-selected-expected.png:
* platform/efl/fast/forms/select-visual-hebrew-expected.png:
* platform/efl/fast/forms/selectlist-minsize-expected.png:
* platform/efl/fast/forms/stuff-on-my-optgroup-expected.png:
* platform/efl/fast/html/keygen-expected.png:
* platform/efl/fast/images/png-suite/test-expected.png:
* platform/efl/fast/replaced/image-sizing-expected.png:
* platform/efl/fast/replaced/three-selects-break-expected.png:
* platform/efl/fast/replaced/width100percent-menulist-expected.png:
* platform/efl/fast/ruby/overhang-horizontal-expected.png: Added.
* platform/efl/fast/runin/runin-generated-before-content-expected.png: Added.
* platform/efl/fast/text/updateNewFont-expected.png:
* platform/efl/fast/writing-mode/box-shadow-horizontal-bt-expected.png:
* platform/efl/fast/writing-mode/box-shadow-vertical-lr-expected.png:
* platform/efl/fast/writing-mode/english-lr-text-expected.png:
* platform/efl/fast/writing-mode/horizontal-bt-replaced-selection-expected.png:
* platform/efl/fast/writing-mode/vertical-lr-replaced-selection-expected.png:
* platform/efl/fast/writing-mode/vertical-rl-replaced-selection-expected.png:
* platform/efl/svg/filters/feColorMatrix-offset-expected.png: Added.
* platform/efl/svg/filters/feDropShadow-subregion-expected.png: Added.
* platform/efl/svg/filters/feGaussianBlur-subregion-expected.png: Added.
* platform/efl/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.png:
* platform/efl/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.png:
* platform/efl/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.png:
* platform/efl/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.png:
* platform/efl/svg/filters/feImage-preserveAspectratio-expected.png:
* platform/efl/svg/filters/feImage-subregions-expected.png:
* platform/efl/svg/filters/feImage-subregions-preseveAspectRatio-none-expected.png:
* platform/efl/svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox-expected.png:
* platform/efl/svg/filters/feLighting-crash-expected.png:
* platform/efl/svg/filters/feOffset-expected.png:
* platform/efl/svg/filters/feTile-expected.png:
* platform/efl/svg/filters/filter-on-tspan-expected.png:
* platform/efl/svg/filters/filter-placement-issue-expected.png:
* platform/efl/svg/filters/filter-rounding-issues-expected.png:
* platform/efl/svg/filters/filter-source-position-expected.png: Added.
* platform/efl/svg/filters/filteredImage-expected.png: Added.
* platform/efl/svg/filters/parent-children-with-same-filter-expected.png:
* platform/efl/svg/filters/shadow-on-filter-expected.png:
* platform/efl/svg/filters/subRegion-one-effect-expected.png:
* platform/efl/svg/filters/subRegion-two-effects-expected.png:
* platform/efl/svg/foreignObject/filter-expected.png: Added.
* platform/efl/svg/text/selection-doubleclick-expected.png:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134468 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Adjust the Web Inspector window title frame if needed to prevent it from intersecting the dock button.

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

Reviewed by Joseph Pecoraro.

Source/WebKit/mac:

* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindow _customTitleFrame]): Added. Adjust the title frame.

Source/WebKit2:

* UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorWindow _customTitleFrame]): Added. Adjust the title frame.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134471 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r130643): Assertion failure when running DRT in debug mode
https://bugs.webkit.org/show_bug.cgi?id=101791

Reviewed by Darin Adler.

When running DRT in debug mode, we hit an assertion failure in initializing the WebKit instance.
This failure started occuring in r130643 and this work around follows the work around in r132302.

* WebKitCOMAPI.cpp:
(CLSIDHashTraits):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134472 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove a few old no-longer-failing tests and update one baseline.

Unreviewed, gardening.

* platform/chromium-linux/fast/text/zero-font-size-2-expected.png: Added.
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134474 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKit exposes ARIA rowheader role as AXUnknown when not contained in table/grid
https://bugs.webkit.org/show_bug.cgi?id=101616

Reviewed by Beth Dakin.

Source/WebCore:

If the rowheader role is exposed because the element is not within a table, the mac platform
should map that to a generic group.

Test: platform/mac/accessibility/rowheader-outside-table-role.html

* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(createAccessibilityRoleMap):

LayoutTests:

* platform/mac/accessibility/rowheader-outside-table-role-expected.txt: Added.
* platform/mac/accessibility/rowheader-outside-table-role.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134475 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] QNX build fails due to signature change in gl2.h header (glShaderSource)
https://bugs.webkit.org/show_bug.cgi?id=98038

Patch by Milian Wolff <milian.wolff@kdab.com> on 2012-11-13
Reviewed by Simon Hausmann.

Cast the function to the expected type, just like it is done on non-Qt/OpenGL2 ES platforms.

* platform/graphics/OpenGLShims.cpp:
(WebCore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134476 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Marked fast/workers/worker-exception-during-navigation.html as a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=102131

* platform/chromium/TestExpectations: Added a flaky crash expectation.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134477 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Store destroyed layers in the remote layer tree transaction
https://bugs.webkit.org/show_bug.cgi?id=102127

Reviewed by Andreas Kling.

* Shared/mac/RemoteLayerTreeTransaction.h:
(RemoteLayerTreeTransaction):
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):
(WebKit::RemoteLayerTreeTransaction::setDestroyedLayerIDs):
(WebKit):
(WebKit::RemoteLayerTreeTransaction::dump):
* WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
(RemoteGraphicsLayer):
* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
(WebKit::RemoteGraphicsLayer::~RemoteGraphicsLayer):
(WebKit::RemoteGraphicsLayer::removeFromParent):
* WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
(RemoteLayerTreeContext):
* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
(WebKit::RemoteLayerTreeContext::flushLayers):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134478 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FastMalloc.cpp needs to be reordered before padding bug can be fixed
https://bugs.webkit.org/show_bug.cgi?id=89366

Note: This file violates Style rules.  This change only moves
the TCMalloc_Central_FreeList class declaration and the various
FastMallocZone methods earlier in the file.

Patch by Brent Fulgham <bfulgham@webkit.org> and Alex Christensen <alex.christensen@flexsim.com> on 2012-11-13
Reviewed by Ryosuke Niwa.

* wtf/FastMalloc.cpp:
Reordered definitions to prepare for adding specialized template
(WTF):
(TCMalloc_Central_FreeList):
(WTF::TCMalloc_Central_FreeList::length):
(WTF::TCMalloc_Central_FreeList::tc_length):
(WTF::TCMalloc_Central_FreeList::enumerateFreeObjects):
(TCMalloc_Central_FreeListPadded):
(FastMallocZone):
(WTF::FastMallocZone::goodSize):
(WTF::FastMallocZone::check):
(WTF::FastMallocZone::print):
(WTF::FastMallocZone::log):
(WTF::FastMallocZone::forceLock):
(WTF::FastMallocZone::forceUnlock):
(WTF::FastMallocZone::statistics):
(WTF::FastMallocZone::zoneValloc):
(WTF::FastMallocZone::zoneDestroy):
(WTF::KernelSupportsTLS):
(WTF::CheckIfKernelSupportsTLS):
(TCMalloc_ThreadCache):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134479 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Split NetworkRequest up into a request class and a loading class.
https://bugs.webkit.org/show_bug.cgi?id=102049

Reviewed by Alexey Proskuryakov.

NetworkRequest unintentionally grew into a class that managed actual loading.

This patch splits it into "NetworkResourceLoadParameters" for all request-related data
and "NetworkResourceLoader" for handling the actual load itself.

Change HostRecord to manage NetworkResourceLoaders instead of NetworkRequests:
* NetworkProcess/HostRecord.cpp:
(WebKit::HostRecord::~HostRecord):
(WebKit::HostRecord::schedule):
(WebKit::HostRecord::addLoadInProgress):
(WebKit::HostRecord::remove):
(WebKit::HostRecord::hasRequests):
(WebKit::HostRecord::limitRequests):
* NetworkProcess/HostRecord.h:
(WebKit::HostRecord::loadersPending):

A new class to be a container for all the data required to start a network load:
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):
* Shared/Network/NetworkResourceLoadParameters.h:
(WebKit::NetworkResourceLoadParameters::request):
(WebKit::NetworkResourceLoadParameters::priority):
(WebKit::NetworkResourceLoadParameters::contentSniffingPolicy):

Pass a single NetworkResourceLoadParameters around instead of multiple bits of data:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
(WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost):
* NetworkProcess/NetworkResourceLoadScheduler.h:

The actual ResourceHandleClient that does the actual loading:
* NetworkProcess/NetworkResourceLoader.cpp: Renamed from Source/WebKit2/NetworkProcess/NetworkRequest.cpp.
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::priority):
(WebKit::NetworkResourceLoader::start):
(WebKit::requestsToStopMutex):
(WebKit::requestsToStop):
(WebKit::NetworkResourceLoader::scheduleStopOnMainThread):
(WebKit::NetworkResourceLoader::performStops):
(WebKit::NetworkResourceLoader::stop):
(WebKit::NetworkResourceLoader::connectionToWebProcessDidClose):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didReceiveData):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFail):
(WebKit::responseMap):
(WebKit::generateWillSendRequestID):
(WebKit::didReceiveWillSendRequestHandled):
(WebKit::NetworkResourceLoader::willSendRequest):
(WebKit::NetworkResourceLoader::didSendData):
(WebKit::NetworkResourceLoader::didReceiveCachedMetadata):
(WebKit::NetworkResourceLoader::wasBlocked):
(WebKit::NetworkResourceLoader::cannotShowURL):
(WebKit::NetworkResourceLoader::willCacheResponse):
(WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
(WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
(WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge):
(WebKit::NetworkResourceLoader::receivedCancellation):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
(WebKit::NetworkResourceLoader::supportsDataArray):
(WebKit::NetworkResourceLoader::didReceiveDataArray):
(WebKit::NetworkResourceLoader::willStopBufferingData):
(WebKit::NetworkResourceLoader::createAsyncFileStream):
* NetworkProcess/NetworkResourceLoader.h:
(WebKit::NetworkResourceLoader::create):
(WebKit::NetworkResourceLoader::identifier):
(WebKit::NetworkResourceLoader::connectionToWebProcess):

* WebKit2.xcodeproj/project.pbxproj:

* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134481 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Regions] Add Region info for RootLineBoxes and pack the pagination data
https://bugs.webkit.org/show_bug.cgi?id=101332

Patch by Andrei Bucur <abucur@adobe.com> on 2012-11-13
Reviewed by David Hyatt.

Currently the pagination information for lines is spread between the RootInlineBox and InlineFlowBox classes, consuming memory even though
the boxes were not the result of an pagination layout. To overcome this, a new struct (LineFragmentationData) is created that wraps all the data,
including a new member, the containing Region for the line.
The containing Region is used to detect if a line changed the Region where it resides. This will be helpful especially when implementing region
styling for layout properties (e.g. the font-size property https://bugs.webkit.org/show_bug.cgi?id=95559 ).
A line can change the region when it is shifted inside the containing block or if the entire block moves. This means it's better to delegate
the task of updating the containing Region to the block.

Tests: No new tests because there is no functional change.

* rendering/InlineFlowBox.cpp:
(SameSizeAsInlineFlowBox):
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::InlineFlowBox):
(InlineFlowBox):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutRunsAndFloatsInRange):
(WebCore::RenderBlock::linkToEndLineIfNeeded):
(WebCore::RenderBlock::determineStartPosition):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::RootInlineBox):
(WebCore::RootInlineBox::setContainingRegion):
(WebCore):
* rendering/RootInlineBox.h:
(WebCore):
(WebCore::RootInlineBox::paginationStrut):
(WebCore::RootInlineBox::setPaginationStrut):
(WebCore::RootInlineBox::isFirstAfterPageBreak):
(WebCore::RootInlineBox::setIsFirstAfterPageBreak):
(WebCore::RootInlineBox::paginatedLineWidth):
(WebCore::RootInlineBox::setPaginatedLineWidth):
(RootInlineBox):
(WebCore::RootInlineBox::containingRegion):
(WebCore::RootInlineBox::ensureLineFragmentationData):
(LineFragmentationData):
(WebCore::RootInlineBox::LineFragmentationData::LineFragmentationData):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134482 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CSSParser::setStyleSheet() should be inline
https://bugs.webkit.org/show_bug.cgi?id=101829

Reviewed by Andreas Kling.

* css/CSSParser.cpp:
* css/CSSParser.h:
(WebCore::CSSParser::setStyleSheet):
CSSParser::setStyleSheet() just assign a pointer, it does not even
change a ref-count. The function should probably be in the header.


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