Make renderer construction less generic
https://bugs.webkit.org/show_bug.cgi?id=103175

Reviewed by Ojan Vafai.

The renderer construction code currently operates on Nodes and is very generic. In reality
only Element and Text nodes can have renderers and the Text case is much simpler.

This patch separates the Text and Element renderer construction paths and makes it statically
known that other Node types can't have renderers. Less generic code is less branchy and enables
further optimizations.

* dom/CharacterData.cpp:
(WebCore::CharacterData::parserAppendData):
(WebCore::CharacterData::setDataAndUpdate):
(WebCore):
(WebCore::CharacterData::rendererIsNeeded):
(WebCore::CharacterData::createRenderer):
        
    Only Text subclass of CharacterData can have renderers.

* dom/CharacterData.h:
(CharacterData):
* dom/ContainerNode.h:
(WebCore::ContainerNode::childShouldCreateRenderer):
        
    Move childShouldCreateRenderer from Node to ContainerNode.

(ContainerNode):
* dom/Element.cpp:
(WebCore::Element::rendererIsNeeded):
(WebCore):
(WebCore::Element::attach):
(WebCore::Element::childShouldCreateRenderer):
* dom/Element.h:
        
    Move rendererIsNeeded and createRenderer from Node to Element.

(Element):
* dom/Node.cpp:
(WebCore::Node::attach):
(WebCore):
* dom/Node.h:
(Node):
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
(WebCore::NodeRenderingContext::createRendererForTextIfNeeded):
        
    Separate the Element and Text renderer creation paths. Both are less branchy.
    The Text path is much simpler and avoids a bunch of virtual calls.

(WebCore):
* dom/NodeRenderingContext.h:
(NodeRenderingContext):
* dom/Text.cpp:
(WebCore::Text::textRendererIsNeeded):
(WebCore::Text::createTextRendererIfNeeded):
(WebCore):
(WebCore::Text::createTextRenderer):
(WebCore::Text::attach):
(WebCore::Text::updateTextRenderer):
* dom/Text.h:
        
        Add non-virtual Text specific functions.

(WebCore):
(Text):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::clone):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135668 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] TiledBackingStore: page contents is scaled wrongly
https://bugs.webkit.org/show_bug.cgi?id=103090

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-25
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Before this change the page contents scaling in PageViewportController was
defined all the times by m_rawAttributes.initialScale. If initial scale had not
been specified in the viewport meta tag it was set to m_minimumScaleToFit inside
PageViewportController::didChangeViewportAttributes().

The problem was that m_minimumScaleToFit could have wrong value as contents size
might have not be updated by the time PageViewportController::didChangeViewportAttributes()
was invoked.

The solution is to use m_minimumScaleToFit for contents scaling if initial scale
is not specified in the viewport meta tag, as it is updated all the time.
Also a flag m_initiallyFitToViewport is added to PageViewportController to detect
whether m_minimumScaleToFit should be used for scaling.

* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::didChangeContentsSize):
(WebKit::PageViewportController::pageTransitionViewportReady):
(WebKit::PageViewportController::didChangeViewportAttributes):
* UIProcess/PageViewportController.h:
(PageViewportController):

LayoutTests:

Added new layout test to verify that viewport 'width' descriptor does not
affect contents width of next loaded page.

* css3/device-adapt/resources/check-contents-width.html: Added.
* css3/device-adapt/viewport-width-not-affecting-next-page-expected.txt: Added.
* css3/device-adapt/viewport-width-not-affecting-next-page.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135669 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Changing position:relative to position:static results in mis-positioned div
https://bugs.webkit.org/show_bug.cgi?id=26397

Reviewed by Ojan Vafai.

Source/WebCore:

When a block changes position from relative to static it is no longer the containing block for any
positioned objects it may have. If any of those positioned objects actually have a position specified
they are going to need a layout as their new containing block will likely have a different location they
need to offset from. Positioned objects without a specified position always get a layout anyway
in layoutPositionedObjects() so no need to worry about them in this situation.

Test: fast/block/abspos-child-container-changes-from-relative-to-static-expected.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleWillChange):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::removePositionedObjects):
* rendering/RenderBlock.h:
(RenderBlock):

LayoutTests:

* fast/block/abspos-child-container-changes-from-relative-to-static-expected.html: Added
* fast/block/abspos-child-container-changes-from-relative-to-static.html: Added

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135670 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rename DynamicNodeList to LiveNodeList
https://bugs.webkit.org/show_bug.cgi?id=103197

Reviewed by Ojan Vafai.

Rename DynamicNodeList to LiveNodeList to match the terminology used in DOM4 working draft:
http://www.w3.org/TR/2012/WD-dom-20120405/#concept-collection-live
"A collection (either NodeList or HTMLCollection) can be either live or static".

Also rename DynamicNodeListCacheBase to LiveNodeListBase, and merge DynamicSubtreeNodeList
into LiveNodeList (old DynamicNodeList) now that the only difference between those two classes
is the former calling registerNodeListCache and unregisterNodeListCache on Document.

This patch completes the series of simplification of NodeList/HTMLCollection classes.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore::getNamedItems):
* bindings/js/JSNodeListCustom.cpp:
(WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
* bindings/v8/custom/V8NodeListCustom.cpp:
(WebCore::V8NodeList::opaqueRootForGC):
* dom/ChildNodeList.cpp:
(WebCore::ChildNodeList::ChildNodeList):
(WebCore::ChildNodeList::nodeMatches):
* dom/ChildNodeList.h:
* dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::ClassNodeList):
* dom/ClassNodeList.h:
* dom/DOMAllInOne.cpp:
* dom/Document.cpp:
(WebCore::Document::registerNodeListCache):
(WebCore::Document::unregisterNodeListCache):
(WebCore):
* dom/Document.h:
(WebCore):
(Document):
* dom/DynamicNodeList.cpp: Removed.
* dom/DynamicNodeList.h: Removed.
* dom/LiveNodeList.cpp: Copied from Source/WebCore/dom/DynamicNodeList.cpp.
(WebCore::LiveNodeListBase::rootNode):
(WebCore::LiveNodeListBase::invalidateCache):
(WebCore::LiveNodeListBase::invalidateIdNameCacheMaps):
(WebCore::LiveNodeListBase::reportMemoryUsage):
(WebCore::LiveNodeList::namedItem):
* dom/LiveNodeList.h: Copied from Source/WebCore/dom/DynamicNodeList.h.
(WebCore::LiveNodeListBase::LiveNodeListBase):
(WebCore::LiveNodeListBase::shouldInvalidateTypeOnAttributeChange):
(WebCore::LiveNodeList::LiveNodeList):
(WebCore::LiveNodeList::~LiveNodeList):
(LiveNodeList):
* dom/MicroDataItemList.cpp:
(WebCore::MicroDataItemList::MicroDataItemList):
* dom/MicroDataItemList.h:
* dom/NameNodeList.cpp:
(WebCore::NameNodeList::NameNodeList):
* dom/NameNodeList.h:
* dom/Node.cpp:
(WebCore::shouldInvalidateNodeListCachesForAttr):
(WebCore::Document::invalidateNodeListCaches):
* dom/Node.h:
(WebCore):
* dom/NodeList.h:
(WebCore::NodeList::isLiveNodeList):
* dom/NodeRareData.h:
(NodeListsNodeData):
(WebCore::NodeListsNodeData::removeCacheWithAtomicName):
(WebCore::NodeListsNodeData::removeCacheWithName):
(WebCore::NodeListsNodeData::removeCacheWithQualifiedName):
(WebCore::NodeListsNodeData::adoptTreeScope):
* dom/PropertyNodeList.cpp:
(WebCore::PropertyNodeList::PropertyNodeList):
* dom/PropertyNodeList.h:
* dom/TagNodeList.cpp:
(WebCore::TagNodeList::TagNodeList):
* dom/TagNodeList.h:
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::HTMLCollection):
(WebCore::LiveNodeListBase::iterateForNextNode):
(WebCore::LiveNodeListBase::itemBeforeOrAfter):
(WebCore::LiveNodeListBase::itemBefore):
(WebCore::LiveNodeListBase::itemAfter):
(WebCore::LiveNodeListBase::isLastItemCloserThanLastOrCachedItem):
(WebCore::LiveNodeListBase::isFirstItemCloserThanCachedItem):
(WebCore::LiveNodeListBase::setItemCache):
(WebCore::LiveNodeListBase::length):
(WebCore::LiveNodeListBase::item):
(WebCore::LiveNodeListBase::itemBeforeOrAfterCachedItem):
* html/HTMLCollection.h:
* html/LabelsNodeList.cpp:
(WebCore::LabelsNodeList::LabelsNodeList):
* html/LabelsNodeList.h:
* html/RadioNodeList.cpp:
(WebCore::RadioNodeList::RadioNodeList):
* html/RadioNodeList.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135671 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Get rid of resetBitmapZoomScale()
https://bugs.webkit.org/show_bug.cgi?id=103200

Patch by Jacky Jiang  <zhajiang@rim.com>.
Reviewed by Rob Buis.
Internally reviewed by Gen Mak.

PR: 235707
Right now, resetBitmapZoomScale() takes an unused paramter and
dispatches a message to end the bitmap zooming. However, the
interaction has its own state machine to start bitmap zooming when it
is active and end bitmap zooming when it is inactive. This is
expecially for pinch zoom and scroll. From WebKit side, block zoom
which will call zoomBlock when the bitmap zoom finished doesn't even
need to dispatch the useless ending message to ZoomHandler.
resetBitmapZoomScale() is basically a noop for block zoom. And likewise
that is useless for zoomToInitialScaleOnLoad(). It can also potentially
cause problem if it is used somewhere else in the future and
incidentally breaks the interaction's own state machine. So just remove
this completely.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
(BlackBerry::WebKit::WebPagePrivate::zoomBlock):
* Api/WebPageClient.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135672 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Refactor RenderThemeEfl::ThemePartCacheEntry::reuse()
https://bugs.webkit.org/show_bug.cgi?id=103189

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-11-25
Reviewed by Kenneth Rohde Christiansen.

Check if the entry size and type changed in
RenderThemeEfl::ThemePartCacheEntry::reuse() to avoid
useless processing if one of them did not change.

Remove useless call to cairo_surface_finish() since
we are using a smart pointer for the surface.

Resize the edge object *after* loading its content
from the theme file as it seems more logical this
way.

No new tests, no behavior change for layout tests.

* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::ThemePartCacheEntry::reuse):
* platform/efl/RenderThemeEfl.h:
(ThemePartCacheEntry):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135673 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Move WorkerExecutionContextProxy::initializeIfNeeded() to V8Initializer
https://bugs.webkit.org/show_bug.cgi?id=103061

Reviewed by Adam Barth.

This is an incremental step to remove WorkerExecutionContextProxy.
This patch moves WorkerExecutionContextProxy::initializeIfNeeded() to V8Initializer.
This patch also renames methods so that the names become consistent
between the main thread and workers.

No tests. No change in behavior.

* bindings/v8/V8Initializer.cpp:
(WebCore::reportFatalErrorInMainThread):
(WebCore::messageHandlerInMainThread):
(WebCore::failedAccessCheckCallbackInMainThread):
(WebCore::V8Initializer::initializeMainThreadIfNeeded):
(WebCore::reportFatalErrorInWorker):
(WebCore):
(WebCore::messageHandlerInWorker):
(WebCore::V8Initializer::initializeWorkerIfNeeded):
* bindings/v8/V8Initializer.h:
(V8Initializer):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
* bindings/v8/WorkerContextExecutionProxy.h:
(WorkerContextExecutionProxy):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135674 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Refactoring: Move the content of HTMLInputElement::subtreeHasChanged to TextFieldInputType
https://bugs.webkit.org/show_bug.cgi?id=103195

Reviewed by Kentaro Hara.

HTMLInputElement::subtreeHasChanged is called only if the input is
a text field. The code should be moved to TextFieldInputType.

No new tests. This should not change any behavior.

* html/HTMLInputElement.cpp:
- Remove unnecessary NumberInputType.h inclusion.
- Remove convertFromVisibleValue. It was used only by subtreeHasChanged.
(WebCore::HTMLInputElement::subtreeHasChanged):
Move the code to TextFieldInputType::subtreeHasChanged except
calculateAndAdjustDirectionality, which is a protected member of
HTMLElement.
* html/HTMLInputElement.h:
(HTMLInputElement): Remove convertFromVisibleValue.

* html/InputType.cpp:
Move convertFromVisibleValue to TextFieldInputType.
(WebCore::InputType::subtreeHasChanged):
Add ASSERT_NOT_REACHED.
* html/InputType.h:
(InputType): Remove convertFromVisibleValue.

* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::convertFromVisibleValue):
Moved from InputType.
(WebCore::TextFieldInputType::subtreeHasChanged):
Moved from HTMLInputElement. A latter part is moved to
didSetValueByUserEdit to be hooked by SearchInputType.
(WebCore::TextFieldInputType::didSetValueByUserEdit):
Moved from HTMLInputElement::subtreeHasChanged, and clean up the code.
* html/TextFieldInputType.h:
(TextFieldInputType):
- Move convertFromVisibleValue from InputType.
- Add didSetValueByUserEdit and subtreeHasChanged.

* html/SearchInputType.cpp:
(WebCore::SearchInputType::didSetValueByUserEdit):
Renamed from subtreeHasChanged, and calls TextFieldInputType::didSetValueByUserEdit.
* html/SearchInputType.h:
(SearchInputType): Rename subtreeHasChanged to didSetValueByUserEdit.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135675 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Add tests for datetime/datetime-local suggestion picker
https://bugs.webkit.org/show_bug.cgi?id=102888

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2012-11-25
Reviewed by Kent Tamura.

Adding tests for <input type=datetime> and <input type=datetime-local> with datalist.

* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-key-operations-expected.txt: Added.
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-key-operations-expected.txt: Added.
* platform/chromium/TestExpectations:
* platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.txt: Added.
* platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.txt: Added.
* platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl.html: Added.
* platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.txt: Added.
* platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar.html: Added.
* platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance.html: Added.
* platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-key-operations-expected.txt: Added.
* platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-key-operations.html: Added.
* platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-min-max-attribute-expected.txt: Added.
* platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-min-max-attribute.html: Added.
* platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-mouse-operations-expected.txt: Added.
* platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-mouse-operations.html: Added.
* platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-reset-value-after-reload-expected.txt: Added.
* platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-reset-value-after-reload.html: Added.
* platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-step-attribute-expected.txt: Added.
* platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-step-attribute.html: Added.
* platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.txt: Added.
* platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.txt: Added.
* platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl.html: Added.
* platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.txt: Added.
* platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar.html: Added.
* platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance.html: Added.
* platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-key-operations-expected.txt: Added.
* platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-key-operations.html: Added.
* platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-min-max-attribute-expected.txt: Added.
* platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-min-max-attribute.html: Added.
* platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-mouse-operations-expected.txt: Added.
* platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-mouse-operations.html: Added.
* platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-reset-value-after-reload-expected.txt: Added.
* platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-reset-value-after-reload.html: Added.
* platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-step-attribute-expected.txt: Added.
* platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-step-attribute.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135676 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-11-25  Kent Tamura  <tkent@chromium.org>

        [Chromium] Fix svn:mime-type for images

        * platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added property svn:mime-type.
        * platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added property svn:mime-type.
        * platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added property svn:mime-type.
        * platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added property svn:mime-type.
        * platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added property svn:mime-type.
        * platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added property svn:mime-type.
        * platform/chromium-win-xp/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.png: Modified property svn:mime-type.
        * platform/chromium-win-xp/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.png: Modified property svn:mime-type.
        * platform/chromium-win-xp/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.png: Modified property svn:mime-type.
        * platform/chromium-win-xp/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.png: Modified property svn:mime-type.
        * platform/chromium-win-xp/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.png: Modified property svn:mime-type.
        * platform/chromium-win-xp/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.png: Modified property svn:mime-type.
        * platform/chromium-win-xp/fast/text/drawBidiText-expected.png: Modified property svn:mime-type.
        * platform/chromium-win-xp/fast/text/international/001-expected.png: Modified property svn:mime-type.
        * platform/chromium-win-xp/fast/text/international/002-expected.png: Modified property svn:mime-type.
        * platform/chromium-win-xp/fast/text/international/bidi-mirror-he-ar-expected.png: Modified property svn:mime-type.
        * platform/chromium-win-xp/fast/text/international/wrap-CJK-001-expected.png: Modified property svn:mime-type.
        * platform/chromium-win-xp/fast/text/justify-ideograph-leading-expansion-expected.png: Modified property svn:mime-type.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135677 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove deprecated load-done signal
https://bugs.webkit.org/show_bug.cgi?id=72712

Reviewed by Brent Fulgham.

Remove deprecated load-done signal and migrate to load-status.

* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit):
(WebKit::FrameLoaderClient::dispatchDidFinishLoad):
* webkit/webkitwebframe.cpp:
(webkit_web_frame_class_init):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135678 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: dispatch an event upon heap snapshot filter change
https://bugs.webkit.org/show_bug.cgi?id=103201

Patch by Nikita Vasilyev <me@elv1s.ru> on 2012-11-25
Reviewed by Pavel Feldman.

Dispatch heapSnapshotFilterChanged event so it can be received by third parties.

* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapSnapshotView.prototype._changeFilter):
* inspector/front-end/UserMetrics.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135679 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: file upload input cannot be activated with VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=100343

Reviewed by Sam Weinig.

Source/WebCore: 

Simulated events were not allowed to be processed in the file input type in the DOMActivate handler.
This was a problem for accessibility clients which rely on simulated events.

The solution is to mark the UserGestureIndicator as definitely processing an event.

Test: accessibility/file-upload-button-with-axpress.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::press):

LayoutTests: 

* accessibility/file-upload-button-with-axpress-expected.txt: Added.
* accessibility/file-upload-button-with-axpress.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135680 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Remove unused Array.convert method
https://bugs.webkit.org/show_bug.cgi?id=103202

Patch by Nikita Vasilyev <me@elv1s.ru> on 2012-11-25
Reviewed by Daniel Bates.

* inspector/front-end/utilities.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135681 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: remove unused DOM methods
https://bugs.webkit.org/show_bug.cgi?id=103204

Patch by Nikita Vasilyev <me@elv1s.ru> on 2012-11-25
Reviewed by Pavel Feldman.

* inspector/front-end/DOMExtension.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: use native Element.prototype.normalize instead of custom defined Element.prototype.pruneEmptyTextNodes
https://bugs.webkit.org/show_bug.cgi?id=103205

Patch by Nikita Vasilyev <me@elv1s.ru> on 2012-11-25
Reviewed by Pavel Feldman.

* inspector/front-end/DOMExtension.js:
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.clearAutoComplete):
(WebInspector.TextPrompt.prototype._completionsReady):
(WebInspector.TextPrompt.prototype.applySuggestion):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135683 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore::RenderBlock::determineStartPosition crash
https://bugs.webkit.org/show_bug.cgi?id=98993

Reviewed by Brent Fulgham.

Source/WebCore:

If we move some node and the node has some text,
InlineFlowBox::removeChild() is invoked. The method invokes
RootInlineBox::childRemoved(). childRemoved() checks whether the
removed inlinebox has the renderer of its parent's line break object.
If so, use setLineBreakInfo to make the parent's line break info to
be 0. However in RenderBlock::determineStartPosition(), the code
assume that all line break info is solved, i.e.
prevRootBox->lineBreakObj()->isText(). Since lineBreakObj() returns 0
because of removeChild(), determineStartPosition crash occurs.

Test: fast/inline/inline-box-append-child-crash.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::determineStartPosition):
Checks whether lineBreakObj() is 0 or not before using lineBreakObj().

LayoutTests:

* fast/inline/inline-box-append-child-crash-expected.txt: Added.
* fast/inline/inline-box-append-child-crash.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r135656.
http://trac.webkit.org/changeset/135656
https://bugs.webkit.org/show_bug.cgi?id=103218

Made a few SVG tests crash on all platforms (Requested by
apavlov on #webkit).

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

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForFamily):
* css/CSSValuePool.cpp:
(WebCore::CSSValuePool::createFontFamilyValue):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135685 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening.
Unskip the fixed regressions from r135662

* platform/efl-wk1/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Give isolated shells a lifecycle like that of main shells
https://bugs.webkit.org/show_bug.cgi?id=96522

Patch by Dan Carney <dcarney@google.com> on 2012-11-26
Reviewed by Adam Barth.

Refactored the isolated shells in ScriptController
to be cleaned up the same way the main shell is.

No new tests. No change in functionality.

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::~ScriptController):
(WebCore::ScriptController::clearForOutOfMemory):
(WebCore::ScriptController::clearForClose):
(WebCore::ScriptController::clearWindowShell):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::destroyIsolatedShell):
(WebCore::V8DOMWindowShell::clearForClose):
* bindings/v8/V8DOMWindowShell.h:
(V8DOMWindowShell):

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