WebKit-https.git
6 years ago Fix Qt build.
darin@apple.com [Sun, 15 Sep 2013 08:18:12 +0000 (08:18 +0000)]
    Fix Qt build.

        * css/CSSSelector.cpp:
        (WebCore::populatePseudoTypeByNameMap): Removed stray line that was breaking
        the build for any platform with !ENABLE(VIDEO_TRACK).

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

6 years agoRestore two-pass mechanism for FrameView::updateEmbeddedObjects().
akling@apple.com [Sun, 15 Sep 2013 08:15:17 +0000 (08:15 +0000)]
Restore two-pass mechanism for FrameView::updateEmbeddedObjects().
<https://webkit.org/b/121380>

Reviewed by Darin Adler.

Restore the code to make a second pass over the embedded objects needing
an update in case more objects were added to the set during the first pass.

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

6 years agoImplement the mmultiscripts tag
commit-queue@webkit.org [Sun, 15 Sep 2013 08:08:08 +0000 (08:08 +0000)]
Implement the mmultiscripts tag
https://bugs.webkit.org/show_bug.cgi?id=99618

Patch by Frédéric Wang <fred.wang@free.fr> on 2013-09-15
Reviewed by Chris Fleizach.

Source/WebCore:

Tests: mathml/invalid-scripts-crash.html
       mathml/presentation/multiscripts-equivalence.html
       mathml/presentation/multiscripts-noscripts.html
       mathml/presentation/multiscripts-positions.html
       mathml/presentation/scripts-base-alignment.html
       mathml/presentation/scripts-horizontal-alignment.html
       mathml/presentation/scripts-vertical-alignment.html
       mathml/scripts-addChild.html
       mathml/scripts-removeChild.html

This relies on the existing msub/msup/msubsup code to implement the mmultiscripts tag. This also improves dynamic addition/removal of children for these MathML elements and adds a specific style for invalid children, so that they render like an merror tag. Finally, this fixes a bad memory access in the Accessibility render object of msubsup.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isMathSubscriptSuperscript):
(WebCore::AccessibilityRenderObject::mathSuperscriptObject):
* css/mathml.css:
(mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot):
(mover > :last-child, munderover > :last-child):
(msub > * + *, msup > * + *, msubsup > * + *, mmultiscripts > * + *, munder > * + *, mover > * + *, munderover > * + *):
(merror, msub > * + * + *, msup > * + * + *, msubsup > * + * + * + *, msub > mprescripts, msup > mprescripts, msubsup > mprescripts, msub > none, msup > none, msubsup > none, mmultiscripts > mprescripts ~ mprescripts, mmultiscripts > mprescripts ~ mprescripts ~ *):
* mathml/MathMLInlineContainerElement.cpp:
(WebCore::MathMLInlineContainerElement::createRenderer):
* mathml/mathtags.in:
* rendering/mathml/RenderMathMLBlock.h:
(WebCore::RenderMathMLBlock::isRenderMathMLScripts):
(WebCore::RenderMathMLBlock::isRenderMathMLScriptsWrapper):
* rendering/mathml/RenderMathMLScripts.cpp: Added.
(WebCore::isMPrescripts):
(WebCore::RenderMathMLScripts::RenderMathMLScripts):
(WebCore::RenderMathMLScripts::base):
(WebCore::RenderMathMLScripts::fixAnonymousStyleForSubSupPair):
(WebCore::RenderMathMLScripts::fixAnonymousStyles):
(WebCore::RenderMathMLScripts::addChildInternal):
(WebCore::RenderMathMLScripts::removeChildInternal):
(WebCore::RenderMathMLScripts::addChild):
(WebCore::RenderMathMLScripts::removeChild):
(WebCore::RenderMathMLScripts::styleDidChange):
(WebCore::RenderMathMLScripts::unembellishedOperator):
(WebCore::RenderMathMLScripts::layout):
(WebCore::RenderMathMLScripts::firstLineBoxBaseline):
(WebCore::RenderMathMLScriptsWrapper::createAnonymousWrapper):
(WebCore::RenderMathMLScriptsWrapper::addChildInternal):
(WebCore::RenderMathMLScriptsWrapper::addChild):
(WebCore::RenderMathMLScriptsWrapper::removeChildInternal):
(WebCore::RenderMathMLScriptsWrapper::removeChild):
* rendering/mathml/RenderMathMLScripts.h: Added.
(WebCore::RenderMathMLScriptsWrapper::RenderMathMLScriptsWrapper):
(WebCore::RenderMathMLScriptsWrapper::renderName):
(WebCore::RenderMathMLScriptsWrapper::isRenderMathMLScriptsWrapper):
(WebCore::toRenderMathMLScriptsWrapper):
(WebCore::RenderMathMLScripts::isRenderMathMLScripts):
(WebCore::RenderMathMLScripts::renderName):
(WebCore::toRenderMathMLScripts):
* rendering/mathml/RenderMathMLSubSup.cpp: Removed.
* rendering/mathml/RenderMathMLSubSup.h: Removed.

LayoutTests:

Add many tests for script msub/msup/msubsup/mmultiscripts:
- invalid markup
- equivalence between mmultiscripts without scripts and mrow
- equivalence between mmultiscripts and msub/msup/msubsup
- position of scripts in mmultiscripts
- baseline alignment of msub/msup/msubsup elements
- horizontal/vertical alignment of scripts
- adding/removing children with the DOM

* TestExpectations: Some remaining MathML pixel tests are broken by this patch.
* mathml/invalid-scripts-crash-expected.txt: Added.
* mathml/invalid-scripts-crash.html: Added.
* mathml/presentation/multiscripts-equivalence-expected.html: Added.
* mathml/presentation/multiscripts-equivalence.html: Added.
* mathml/presentation/multiscripts-noscripts-expected.html: Added.
* mathml/presentation/multiscripts-noscripts.html: Added.
* mathml/presentation/multiscripts-positions-expected.html: Added.
* mathml/presentation/multiscripts-positions.html: Added.
* mathml/presentation/scripts-base-alignment-expected.html: Added.
* mathml/presentation/scripts-base-alignment.html: Added.
* mathml/presentation/scripts-horizontal-alignment-expected.html: Added.
* mathml/presentation/scripts-horizontal-alignment.html: Added.
* mathml/presentation/scripts-vertical-alignment-expected.html: Added.
* mathml/presentation/scripts-vertical-alignment.html: Added.
* mathml/scripts-addChild-expected.html: Added.
* mathml/scripts-addChild.html: Added.
* mathml/scripts-removeChild-expected.html: Added.
* mathml/scripts-removeChild.html: Added.
* platform/mac/accessibility/mathml-multiscript-expected.txt: Reference updated.

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

6 years agoGet rid of ref-counting on RenderWidget.
akling@apple.com [Sun, 15 Sep 2013 07:27:52 +0000 (07:27 +0000)]
Get rid of ref-counting on RenderWidget.
<https://webkit.org/b/121357>

Reviewed by Darin Adler.

Source/WebCore:

Instead of RenderView tracking RenderWidgets, have FrameView track Widgets
that are currently in the render tree.

To protect ourselves during NPAPI tomfoolery, we now let RenderWidget hand
out weak pointers through a createWeakPtr() method so call sites can monitor
the renderer for deletion without having to take shared ownership.

This works out quite nicely since instead of keeping a limping object alive
for a little longer just so we can call methods on it (to accomplish nothing),
we're forced to check right away if it's gone, and take immediate action.

De-virtualized RenderObject::destroy() since it's no longer needed for
RenderWidget to defer destruction.

* page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::repaintFixedElementsAfterScrolling):

    Call updateWidgetPositions() on FrameView instead of RenderView.

(WebCore::FrameView::updateEmbeddedObject):

    Turn null checking of embedded object's element backpointer into an
    assertion. This will eventually go away completely once that renderer
    can return a HTMLFrameOwnerElement&.

    Use WeakPtr to check for renderer destruction following the call out
    to updateWidget().

(WebCore::FrameView::updateEmbeddedObjects):

    Slap a WidgetHierarchyUpdatesSuspensionScope guard on this function
    to defer Widget updates until all the updateEmbeddedObject calls are
    done. This avoids RenderWidget::setWidget() having to handle 'this'
    disappearing from underneath.

    Also use a ListHashSet with a null sentinel to avoid looping forever.

(WebCore::FrameView::performPostLayoutTasks):

    Only call updateEmbeddedObjects() once since that function no longer
    operates in chunks.

(WebCore::FrameView::notifyWidgetsInAllFrames):

    Call notifyWidgets() on FrameView instead of RenderView.

(WebCore::FrameView::didAddWidgetToRenderTree):
(WebCore::FrameView::willRemoveWidgetFromRenderTree):

    Added. These are called by RenderWidget when a Widget is being
    added or removed from a RenderWidget.

(WebCore::collectWidgets):

    Helper to collect raw Widget pointers into a Vector and ref them.

(WebCore::FrameView::updateWidgetPositions):

    Moved here from RenderView. This function holds a ref on all the
    attached Widgets and calls RenderWidget::updateWidgetPosition() on
    their corresponding renderers.

(WebCore::FrameView::notifyWidgets):

    Moved here from RenderView. Holds a ref on all the widgets while
    calling Widget::notifyWidget() on each one.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo):

    Call updateWidgetPositions() on FrameView instead of RenderView.

* rendering/RenderObject.h:

    De-virtualized destroy().

* rendering/RenderView.cpp:
* rendering/RenderView.h:

    Moved a bunch of things to FrameView. Made protected section private
    since nothing inherits from RenderView.

* rendering/RenderWidget.h:
(WebCore::RenderWidget::createWeakPtr):

    Added a WeakPtr factory for clients that want to monitor this object
    for destruction.

* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::RenderWidget):
(WebCore::RenderWidget::willBeDestroyed):
(WebCore::RenderWidget::~RenderWidget):

    Removed ref counting.
    Removed registration with RenderView in ctor/willBeDestroyed.

(WebCore::RenderWidget::setWidgetGeometry):

    Monitor the RenderWidget itself through a WeakPtr and check on it
    after each step that we're still alive. In that case just bail out.

(WebCore::RenderWidget::setWidget):

    Register the incoming/outgoing Widget with the FrameView.
    Use a WeakPtr to check on 'this' after updateWidgetGeometry().

(WebCore::RenderWidget::updateWidgetPosition):

    Use a WeakPtr to check on 'this' after updateWidgetGeometry().

* GNUmakefile.list.am:
* rendering/RenderWidgetProtector.h:

    Removed.

Source/WTF:

* wtf/WeakPtr.h:
(WTF::WeakPtr::operator!):

    Add operator! to WeakPtr.

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

6 years ago[CTTE] Node subclasses should take a Document by reference in their constructor ...
weinig@apple.com [Sun, 15 Sep 2013 05:23:01 +0000 (05:23 +0000)]
[CTTE] Node subclasses should take a Document by reference in their constructor (Part 5)
https://bugs.webkit.org/show_bug.cgi?id=121375

Reviewed by Andreas Kling.

* dom/make_names.pl:
Add support for a top level 'constructorTakesDocumentReference' property to
force using a Document reference for the whole factory.

* html/HTMLTagNames.in:
Replace per-tag 'constructorTakesDocumentReference' with a top level declaration
now that all of the HTML tag names are supported.

Converts the following to take a Document reference:
    - HTMLContentElement
    - HTMLElement
    - HTMLFrameElementBase
    - HTMLFrameOwnerElement
    - HTMLPlugInElement
    - HTMLPlugInImageElement
    - HTMLUnknownElement
    - InsertionPoint
    - StyledElement
    - TextTrackCueBox
    - TextTrackCueGenericBoxElement

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

6 years agoMediaStream API: Update RTCDataChannel
eric.carlson@apple.com [Sun, 15 Sep 2013 02:25:14 +0000 (02:25 +0000)]
MediaStream API: Update RTCDataChannel
https://bugs.webkit.org/show_bug.cgi?id=121102

Reviewed by Sam Weinig.

Source/WebCore:

Based on https://chromium.googlesource.com/chromium/blink/+/c6975c41956acded7cf0363012d7d6b69d0c6d96,
and https://chromium.googlesource.com/chromium/blink/+/214dab0bd6385f573c918ba5ce58a5aa206ce186.

No new tests, existing tests updated.

* Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::create): Take an options Dictionary.
(WebCore::RTCDataChannel::didChangeReadyState): String -> AtomicString. Early return if the
    state hasn't changed.
(WebCore::RTCDataChannel::binaryType): String -> AtomicString.
(WebCore::RTCDataChannel::setBinaryType): String -> AtomicString.
* Modules/mediastream/RTCDataChannel.h:
* Modules/mediastream/RTCDataChannel.idl:

* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::createDataChannel): Take an options struct.
* platform/mediastream/RTCDataChannelHandler.h:

* platform/mediastream/RTCPeerConnectionHandler.h:
(WebCore::RTCDataChannelInit::RTCDataChannelInit): Take an options struct.

LayoutTests:

* fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
* fast/mediastream/RTCPeerConnection-datachannel.html:

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

6 years agoIt should be easy to add new nodes that do OSR forward rewiring in both DFG and FTL
fpizlo@apple.com [Sun, 15 Sep 2013 00:57:42 +0000 (00:57 +0000)]
It should be easy to add new nodes that do OSR forward rewiring in both DFG and FTL
https://bugs.webkit.org/show_bug.cgi?id=121371

Reviewed by Sam Weinig.

Forward rewiring is a tricky part of OSR that handles the following:

    a: Something(...)
       SetLocal(@a, locX)
    b: Int32ToDouble(@a)
    c: SomethingThatExits(@b)
       <no further uses of @a or @b>

Note that at @c, OSR will think that locX->@a, but @a will be dead. So it must be
smart enough to find @b, which contains an equivalent value. It must do this for
any identity functions we support. Currently we support four such functions.

Currently the code for doing this is basically duplicated between the DFG and the
FTL. Also both versions of the code have some really weirdly written logic for
picking the "best" identity function to use.

We should fix this by simply having a way to ask "is this node an identity
function, and if so, then how good is it?"  Then both the DFG and FTL could use
this and have no hard-wired knowledge of those identity functions.

While we're at it, this also changes some terminology because I found the use of
the word "needs" confusing. Note that this retains the somewhat confusing behavior
that we don't search all possible forward/backward uses. We only search one step
in each direction. This is because we only need to handle cases that FixupPhase
and the parser insert. All other code that tries to insert intermediate conversion
nodes should ensure to Phantom the original node. For example, the following
transformation is illegal:

Before:
    x: SomethingThatExits(@a)

After:
    w: Conversion(@a)
    x: SomethingThatExits(@w)

The correct form of that transformation is one of these:

Correct #1:

    v: DoAllChecks(@a) // exit here
    w: Conversion(@a)
    x: Something(@w) // no exit

Correct #2:

    w: Conversion(@a)
    x: SomethingThatExits(@w)
    y: Phantom(@a)

Correct #3:

    w: Conversion(@a)
    x: SomethingThatExits(@w, @a)

Note that we use #3 for some heap accesses, but of course it requires that the
node you're using has an extra slot for a "dummy" use child.

Broadly speaking though, such transformations should be relegated to something
below DFG IR, like LLVM IR.

* dfg/DFGNodeType.h:
(JSC::DFG::forwardRewiringSelectionScore):
(JSC::DFG::needsOSRForwardRewiring):
* dfg/DFGVariableEventStream.cpp:
(JSC::DFG::VariableEventStream::reconstruct):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::addExitArgumentForNode):

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

6 years agoMediaStream API: Update RTCDataChannel to match the specification
eric.carlson@apple.com [Sun, 15 Sep 2013 00:50:17 +0000 (00:50 +0000)]
MediaStream API: Update RTCDataChannel to match the specification
https://bugs.webkit.org/show_bug.cgi?id=120889

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-09-14
Reviewed by Eric Carlson

Merged from https://chromium.googlesource.com/chromium/blink/+/c3862b0a83e20fc8b1f770c7e4a886a7cceb80d2
by Tommy Widenflycht.

According to WebRTC specification, RTCDataChannel must have the following new attributes:
boolean ordered
unsigned short maxRetransmitTime
unsigned short maxRetransmits
DOMString protocol
boolean negotiated
unsigned short id

and the following one was deprecated:
boolean reliable

Test updates will be landed with https://webkit.org/b/121102.

* Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::ordered):
(WebCore::RTCDataChannel::maxRetransmitTime):
(WebCore::RTCDataChannel::maxRetransmits):
(WebCore::RTCDataChannel::protocol):
(WebCore::RTCDataChannel::negotiated):
(WebCore::RTCDataChannel::id):
* Modules/mediastream/RTCDataChannel.h:
* Modules/mediastream/RTCDataChannel.idl:
* platform/mediastream/RTCDataChannelHandler.h:

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

6 years ago[CTTE] Node subclasses should take a Document by reference in their constructor ...
weinig@apple.com [Sun, 15 Sep 2013 00:39:29 +0000 (00:39 +0000)]
[CTTE] Node subclasses should take a Document by reference in their constructor (Part 4)
https://bugs.webkit.org/show_bug.cgi?id=121372

Reviewed by Eric Carlson.

Converts the following to take a Document reference:
    - HTMLFormControlElement
    - HTMLFormControlElementWithState
    - HTMLMapElement
    - HTMLMarqueeElement
    - HTMLMediaElement
    - HTMLMenuElement
    - HTMLMetaElement
    - HTMLMeterElement
    - HTMLOListElement
    - HTMLObjectElement
    - HTMLOptGroupElement
    - HTMLOptionElement
    - HTMLOutputElement
    - HTMLParagraphElement
    - HTMLParamElement
    - HTMLProgressElement
    - HTMLScriptElement
    - HTMLSelectElement
    - HTMLSourceElement
    - HTMLSpanElement
    - HTMLStyleElement
    - HTMLSummaryElement
    - HTMLTableCellElement
    - HTMLTableElement
    - HTMLTableRowElement
    - HTMLTableSectionElement
    - HTMLTemplateElement
    - HTMLTextAreaElement
    - HTMLTextFormControlElement
    - HTMLTitleElement
    - HTMLTrackElement
    - HTMLUListElement
    - InlineStyleSheetOwner
    - LabelableElement
    - All the MediaControl elements

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

6 years agoXMLViewer_js and XMLViewer_css should be minified
joepeck@webkit.org [Sun, 15 Sep 2013 00:27:43 +0000 (00:27 +0000)]
XMLViewer_js and XMLViewer_css should be minified
https://bugs.webkit.org/show_bug.cgi?id=121334

Reviewed by Timothy Hatcher.

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.am:
* xml/XMLViewer.css:
* xml/XMLViewer.js:

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

6 years ago[MediaStream] remove MediaStream.label
eric.carlson@apple.com [Sun, 15 Sep 2013 00:16:35 +0000 (00:16 +0000)]
[MediaStream] remove MediaStream.label
https://bugs.webkit.org/show_bug.cgi?id=121337

Reviewed by Sam Weinig.

No new tests or modified tests, this attribute was apparently never tested.

* Modules/mediastream/MediaStream.h:
* Modules/mediastream/MediaStream.idl:

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

6 years ago[mac] Check For Framework Include Consistency build phase checks the wrong framework
mitz@apple.com [Sat, 14 Sep 2013 21:35:47 +0000 (21:35 +0000)]
[mac] Check For Framework Include Consistency build phase checks the wrong framework
https://bugs.webkit.org/show_bug.cgi?id=121215

Reviewed by Mark Rowe.

* Scripts/check-for-webkit-framework-include-consistency: Replaced hard-coded paths to
WebKit.framework’s Headers and PrivateHeaders directories with the current target’s
public and private headers folder paths. Also tweaked the error messages’ format to make
Xcode recognize them as errors.

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

6 years agoRemove non-Apple cruft from the installed WKBase.h
mitz@apple.com [Sat, 14 Sep 2013 21:33:53 +0000 (21:33 +0000)]
Remove non-Apple cruft from the installed WKBase.h
https://bugs.webkit.org/show_bug.cgi?id=121370

Reviewed by Darin Adler.

* Configurations/WebKit2.xcconfig: Set INSTALLHDRS_SCRIPT_PHASE to YES.
* WebKit2.xcodeproj/project.pbxproj: Added a script build phase that runs unifdef on
the installed WKBase.h with __APPLE__ defined and various BUILDING_* and WTF_USE_* symbols
undefined.

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

6 years ago[CTTE] Node subclasses should take a Document by reference in their constructor ...
weinig@apple.com [Sat, 14 Sep 2013 21:33:13 +0000 (21:33 +0000)]
[CTTE] Node subclasses should take a Document by reference in their constructor (Part 3)
https://bugs.webkit.org/show_bug.cgi?id=121368

Reviewed by Darin Adler.

Converts the following to take a Document reference:
    - DeleteButton
    - DetailsContentElement
    - DetailsMarkerControl
    - DetailsSummaryElement
    - HTMLBDIElement
    - HTMLBRElement
    - HTMLBaseElement
    - HTMLBaseFontElement
    - HTMLButtonElement
    - HTMLCanvasElement
    - HTMLDListElement
    - HTMLDataListElement
    - HTMLDetailsElement
    - HTMLDirectoryElement
    - HTMLDivElement
    - HTMLEmbedElement
    - HTMLFieldSetElement
    - HTMLFontElement
    - HTMLFormElement
    - HTMLFrameElement
    - HTMLFrameSetElement
    - HTMLHRElement
    - HTMLHeadElement
    - HTMLHeadingElement
    - HTMLHtmlElement
    - HTMLIFrameElement
    - HTMLImageElement
    - HTMLInputElement
    - HTMLKeygenElement
    - HTMLLIElement
    - HTMLLabelElement
    - HTMLLegendElement
    - HTMLLinkElement
    - HTMLModElement
    - HTMLPreElement
    - HTMLQuoteElement
    - HTMLTableCaptionElement
    - HTMLTableColElement
    - ImageDocumentElement
    - KeygenSelectElement
    - SummaryContentElement
    - UploadButtonElement

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

6 years agoREGRESSION(r155228): Call to DragData::asFragment() nullifies PassRefPtr<Range> in...
zandobersek@gmail.com [Sat, 14 Sep 2013 21:11:48 +0000 (21:11 +0000)]
REGRESSION(r155228): Call to DragData::asFragment() nullifies PassRefPtr<Range> in documentFragmentFromDragData
https://bugs.webkit.org/show_bug.cgi?id=121359

Reviewed by Darin Adler.

* page/DragController.cpp:
(WebCore::documentFragmentFromDragData): Pass the naked pointer as the PassRefPtr<Range> argument to the DragData::asFragment()
call. The naked pointer will get wrapped and protected by a new PassRefPtr. Passing the original PassRefPtr will also create
a new PassRefPtr, but will leak the reference of the original one, leaving its pointer nullified.

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

6 years agoUnreviewed GTK build fix after r155774.
zandobersek@gmail.com [Sat, 14 Sep 2013 20:59:01 +0000 (20:59 +0000)]
Unreviewed GTK build fix after r155774.

* bindings/scripts/CodeGeneratorGObject.pm:
(SkipFunction): Temporarily skip generation of bindings for the Console::profile() and Console::profileEnd() methods
as they're not correctly generated for the moment.

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

6 years agoRename IntegerBranch/IntegerCompare to Int32Branch/Int32Compare.
fpizlo@apple.com [Sat, 14 Sep 2013 20:21:18 +0000 (20:21 +0000)]
Rename IntegerBranch/IntegerCompare to Int32Branch/Int32Compare.

Rubber stamped by Mark Hahnenberg.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleInt32Branch):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compileStrictEq):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileInt32Compare):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileInt32Compare):

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

6 years agoShrink the nameToPseudoTypeMap function
darin@apple.com [Sat, 14 Sep 2013 20:15:46 +0000 (20:15 +0000)]
Shrink the nameToPseudoTypeMap function
https://bugs.webkit.org/show_bug.cgi?id=121367

Reviewed by Andreas Kling.

* css/CSSSelector.cpp:
(WebCore::populatePseudoTypeByNameMap): Replaces the old nameToPseudoTypeMap
function. Use a table instead of lots of globals and unrolled code to set up
the map.
(WebCore::CSSSelector::parsePseudoType): Updated to use the code above, and
also use a different style that's tighter.

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

6 years agoShrink the listMarkerText function
darin@apple.com [Sat, 14 Sep 2013 20:11:05 +0000 (20:11 +0000)]
Shrink the listMarkerText function
https://bugs.webkit.org/show_bug.cgi?id=121364

Reviewed by Andreas Kling.

Changed code to use StringBuilder, which is a better fit for what we are
doing here. But mainly, inlining was out of hand, so hit that with the
NEVER_INLINE stick. Might be worth revisiting this to optimize further for
speed by making StringBuilder better at this.

* rendering/RenderListMarker.cpp:
(WebCore::toRoman): NEVER_INLINE and use StringBuilder.
(WebCore::toAlphabeticOrNumeric): Use StringBuilder.
(WebCore::toSymbolic): NEVER_INLINE and use StringBuilder.
(WebCore::toAlphabetic): Ditto.
(WebCore::toNumeric): Ditto.
(WebCore::toHebrewUnder1000): NEVER_INLINE.
(WebCore::toHebrew): NEVER_INLINE and use StringBuilder.
(WebCore::toArmenianUnder10000): NEVER_INLINE.
(WebCore::toArmenian): NEVER_INLINE and use StringBuilder.
(WebCore::toGeorgian): NEVER_INLINE and use StringBuilder.
(WebCore::toCJKIdeographic): NEVER_INLINE and use StringBuilder.
(WebCore::listMarkerText): Use StringBuilder.

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

6 years ago[CTTE] Node subclasses should take a Document by reference in their
weinig@apple.com [Sat, 14 Sep 2013 19:51:53 +0000 (19:51 +0000)]
[CTTE] Node subclasses should take a Document by reference in their
constructor (HTMLAnchorElement, HTMLAppletElement, HTMLAreaElement, HTMLAudioElement)
https://bugs.webkit.org/show_bug.cgi?id=121365

Reviewed by Andreas Kling.

* editing/CreateLinkCommand.cpp:
(WebCore::CreateLinkCommand::doApply):
* editing/UnlinkCommand.cpp:
(WebCore::UnlinkCommand::doApply):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::HTMLAnchorElement):
(WebCore::HTMLAnchorElement::create):
* html/HTMLAnchorElement.h:
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::HTMLAppletElement):
(WebCore::HTMLAppletElement::create):
* html/HTMLAppletElement.h:
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::HTMLAreaElement):
(WebCore::HTMLAreaElement::create):
* html/HTMLAreaElement.h:
* html/HTMLAudioElement.cpp:
(WebCore::HTMLAudioElement::HTMLAudioElement):
(WebCore::HTMLAudioElement::create):
(WebCore::HTMLAudioElement::createForJSConstructor):
* html/HTMLAudioElement.h:
* html/HTMLTagNames.in:
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::addLink):
* page/DragController.cpp:
(WebCore::documentFragmentFromDragData):

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

6 years agoGet INPUT_SPEECH compiling for Nix, EFL and GTK
commit-queue@webkit.org [Sat, 14 Sep 2013 19:48:30 +0000 (19:48 +0000)]
Get INPUT_SPEECH compiling for Nix, EFL and GTK
https://bugs.webkit.org/show_bug.cgi?id=121362

r154257 was not applied completely in HTMLInputElement.cpp and there was a wrong method signature
in TextControlInnerElements.
Also adding the files needed to build INPUT_SPEECH to each build system files.

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-09-14
Reviewed by Andreas Kling.

No new tests needed.

* CMakeLists.txt:
* GNUmakefile.list.am:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseAttribute):
* html/shadow/TextControlInnerElements.h:

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

6 years agoMissing allow-none introspection annotation for DomDocument.evaluate method
berto@igalia.com [Sat, 14 Sep 2013 19:21:01 +0000 (19:21 +0000)]
Missing  allow-none introspection annotation for DomDocument.evaluate method
https://bugs.webkit.org/show_bug.cgi?id=118310

Reviewed by Martin Robinson.

Add (allow-none) introspection annotation to parameters that can
be NULL.

* bindings/scripts/CodeGeneratorGObject.pm:
(GenerateFunction):

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

6 years ago[CTTE] Node subclasses should take a Document by reference in their constructor ...
weinig@apple.com [Sat, 14 Sep 2013 19:16:04 +0000 (19:16 +0000)]
[CTTE] Node subclasses should take a Document by reference in their constructor (HTMLBodyElement)
https://bugs.webkit.org/show_bug.cgi?id=121363

Reviewed by Andreas Kling.

* dom/make_names.pl:
(defaultTagPropertyHash):
(printConstructorInterior):
Add a new property, 'constructorTakesDocumentReference', to indicate that the class
has been converted to take a Document by reference. Once all classes are converted, this
will go away.

* html/HTMLTagNames.in:
Add the 'constructorTakesDocumentReference' property to the <body> tag as an initial
step.

* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::HTMLBodyElement):
(WebCore::HTMLBodyElement::create):
* html/HTMLBodyElement.h:
Modify the constructor and create functions of HTMLBodyElement to take a Document reference.

* editing/markup.cpp:
(WebCore::createFragmentFromMarkup):
(WebCore::createFragmentForTransformToFragment):
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createContainingTable):
Update callers of HTMLBodyElement::create() to pass a Document reference.

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

6 years agostage
darin@apple.com [Sat, 14 Sep 2013 19:14:43 +0000 (19:14 +0000)]
stage

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

6 years agoAdd NeverDestroyed::get
darin@apple.com [Sat, 14 Sep 2013 19:03:27 +0000 (19:03 +0000)]
Add NeverDestroyed::get
https://bugs.webkit.org/show_bug.cgi?id=121358

Reviewed by Anders Carlsson.

Source/WebCore:

* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseAttribute): Use auto and the new get
function to make this code less repetitive.

Source/WTF:

* wtf/NeverDestroyed.h: Removed code to make this non-copyable, since we also
use a macro to accomplish that.
(WTF::NeverDestroyed::get): Added. Useful in conjuction with auto to avoid
having to repeat the type when we want to put one of these into a reference.

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

6 years agoThere is no need for any custom bindings for Console
weinig@apple.com [Sat, 14 Sep 2013 18:29:29 +0000 (18:29 +0000)]
There is no need for any custom bindings for Console
https://bugs.webkit.org/show_bug.cgi?id=121338

Reviewed by Timothy Hatcher.

* GNUmakefile.list.am:
* Target.pri:
* UseJSC.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
Remove JSConsoleCustom.cpp from project files.

* bindings/js/JSConsoleCustom.cpp:
Removed.

* page/Console.cpp:
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
* page/Console.h:
Swap the order of the arguments to appease the bindings generator.

* page/Console.idl:
Add the [CallWith=ScriptState] attribute to pass the ExecState
and [TreatNullAs=NullString, TreatUndefinedAs=NullString] to get
the right stringification.

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

6 years agoBuild fix after r155770.
mitz@apple.com [Sat, 14 Sep 2013 18:07:31 +0000 (18:07 +0000)]
Build fix after r155770.

* UIProcess/API/mac/WKViewPrivate.h: Added WKBase.h import.

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

6 years ago[GTK] Fails to compile if the build directory is in a different partition
berto@igalia.com [Sat, 14 Sep 2013 18:03:40 +0000 (18:03 +0000)]
[GTK] Fails to compile if the build directory is in a different partition
https://bugs.webkit.org/show_bug.cgi?id=121296

Reviewed by Martin Robinson.

Instead of using os.symlink() to install the gtk-doc templates,
use os.link() first and fall back to os.symlink() if it fails.

* gtk/gtkdoc.py:
(GTKDoc._copy_doc_files_to_output_dir.copy_file_replacing_existing):

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

6 years agoAnimationBase::m_animation is never null
andersca@apple.com [Sat, 14 Sep 2013 17:26:49 +0000 (17:26 +0000)]
AnimationBase::m_animation is never null
https://bugs.webkit.org/show_bug.cgi?id=121360

Reviewed by Darin Adler.

Enforce this by using references instead of pointers.

* page/animation/AnimationBase.cpp:
* page/animation/AnimationBase.h:
* page/animation/CompositeAnimation.cpp:
* page/animation/ImplicitAnimation.cpp:
* page/animation/ImplicitAnimation.h:
* page/animation/KeyframeAnimation.cpp:
* page/animation/KeyframeAnimation.h:

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

6 years ago[mac] Public header WKBase.h imports a private header, WKBaseMac.h
mitz@apple.com [Sat, 14 Sep 2013 17:06:43 +0000 (17:06 +0000)]
[mac] Public header WKBase.h imports a private header, WKBaseMac.h
https://bugs.webkit.org/show_bug.cgi?id=121216

Reviewed by Darin Adler.

* Shared/API/c/WKBase.h: Moved definitions of enums and WK_EXPORT and WK_INLINE macros
out of this files.
* Shared/API/c/WKDeclarationSpecifiers.h: Copied from Source/WebKit2/Shared/API/c/WKBase.h.
Contains definitions of WK_EXPORT and WK_INLINE.
* Shared/API/c/WKSharedAPICast.h: Added #includes.
* Shared/API/c/WKUserContentInjectedFrames.h: Copied from Source/WebKit2/Shared/API/c/WKBase.h.
Contains enum definition.
* Shared/API/c/WKUserScriptInjectionTime.h: Copied from Source/WebKit2/Shared/API/c/WKBase.h.
Contains enum definition.
* UIProcess/API/C/WKPageGroup.h: Added #includes.
* UIProcess/API/mac/WKBrowsingContextController.h: Removed WKBase.h import from this public
header, replacing it with WKDeclarationSpecifiers.h import.
* UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Added WKBase.h import.
* UIProcess/API/mac/WKBrowsingContextGroup.h: Removed WKBase.h import from this public
header, added necessary public imports.
* UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Added WKBase.h import.
* UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Removed WKBase.h import from public
header.
* UIProcess/API/mac/WKConnection.h: Ditto. Added WKDeclarationSpecifiers.h import.
* UIProcess/API/mac/WKConnectionInternal.h: Added WKBase.h import.
* UIProcess/API/mac/WKProcessGroup.h: Removed WKBase.h import from public header, added
WKDeclarationSpecifiers.h import.
* UIProcess/API/mac/WKProcessGroupPrivate.h: Added WKBase.h import.
* UIProcess/API/mac/WKView.h: Removed WKBase.h import from public header, added
WKDeclarationSpecifiers.h import.
* WebKit2.xcodeproj/project.pbxproj: Added new public header files, made WKBase.h private.
* WebProcess/InjectedBundle/API/mac/WKDOMNode.h: Removed WKBase.h import from public header,
added WKDeclarationSpecifiers.h import.
* WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h: Added WKBase.h import.
* WebProcess/InjectedBundle/API/mac/WKDOMRange.h: Removed WKBase.h import from public
header, added WKDeclarationSpecifiers.h import.
* WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h: Added WKBase.h import.
* WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h: Removed WKBase.h import from public
header, added WKDeclarationSpecifiers.h import.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h: Ditto.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
Added WKBase.h import.

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

6 years agoShrink the function that builds the event listener attribute name map
darin@apple.com [Sat, 14 Sep 2013 16:19:14 +0000 (16:19 +0000)]
Shrink the function that builds the event listener attribute name map
https://bugs.webkit.org/show_bug.cgi?id=121354

Reviewed by Andreas Kling.

* html/HTMLElement.cpp:
(WebCore::populateEventNameForAttributeLocalNameMap): Added. Uses a
table to populate the map.
(WebCore::eventNameForAttributeLocalNameMap): Added. Uses NeverDestroyed
to allocate a map, but does not initialize it.
(WebCore::HTMLElement::parseAttribute): Put code to use map in here.

* html/HTMLElement.h: Removed eventNameForAttributeName, no longer
a member function.

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

6 years ago[GTK] WebKitGTK+ is linking against libxslt in too many places
berto@igalia.com [Sat, 14 Sep 2013 16:12:31 +0000 (16:12 +0000)]
[GTK] WebKitGTK+ is linking against libxslt in too many places
https://bugs.webkit.org/show_bug.cgi?id=121356

Reviewed by Martin Robinson.

Source/WebCore:

Don't use LIBXSLT_CFLAGS when compiling libWebCorePlatform and
libWebCoreGtk, no source files use libxslt there.

* GNUmakefile.am:

Source/WebKit/gtk:

Don't use LIBXSLT_CFLAGS when compiling libwebkitgtk, no source
files use libxslt there.

The webkit tests don't use libxslt, so we shouldn't link against
it.

* GNUmakefile.am:

Source/WebKit2:

Don't use LIBXSLT_CFLAGS when compiling libWebCoreGtk2, no source
files use libxslt there.

* GNUmakefile.am:

Tools:

TestWebCore, WebKitTestRunner and MiniBrowser don't use libxslt,
so we don't need to link against it.

* MiniBrowser/gtk/GNUmakefile.am:
* TestWebKitAPI/GNUmakefile.am:
* WebKitTestRunner/GNUmakefile.am:

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

6 years agoUnreviewed GTK gardening. Rebaselining after r155324.
zandobersek@gmail.com [Sat, 14 Sep 2013 10:22:41 +0000 (10:22 +0000)]
Unreviewed GTK gardening. Rebaselining after r155324.

* platform/gtk/fast/forms/placeholder-position-expected.png:
* platform/gtk/fast/forms/placeholder-position-expected.txt:

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

6 years agoUnreviewed GTK gardening. Rebaselining after r155408.
zandobersek@gmail.com [Sat, 14 Sep 2013 10:20:07 +0000 (10:20 +0000)]
Unreviewed GTK gardening. Rebaselining after r155408.

* platform/gtk/fast/forms/input-placeholder-visibility-1-expected.txt:
* platform/gtk/fast/forms/input-placeholder-visibility-3-expected.txt:
* platform/gtk/fast/forms/textarea-placeholder-pseudo-style-expected.txt:
* platform/gtk/fast/forms/textarea-placeholder-visibility-1-expected.txt:
* platform/gtk/fast/forms/textarea-placeholder-visibility-2-expected.txt:

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

6 years agoUnreviewed GTK gardening. Rebaselining after r155253.
zandobersek@gmail.com [Sat, 14 Sep 2013 10:11:28 +0000 (10:11 +0000)]
Unreviewed GTK gardening. Rebaselining after r155253.

* platform/gtk/editing/pasteboard/4989774-expected.txt:
* platform/gtk/editing/pasteboard/paste-match-style-001-expected.txt:
* platform/gtk/editing/selection/caret-ltr-2-expected.txt:
* platform/gtk/editing/selection/caret-ltr-2-left-expected.txt:
* platform/gtk/editing/selection/caret-ltr-expected.txt:
* platform/gtk/editing/selection/caret-ltr-right-expected.txt:
* platform/gtk/editing/selection/caret-rtl-2-expected.txt:
* platform/gtk/editing/selection/caret-rtl-2-left-expected.txt:
* platform/gtk/editing/selection/caret-rtl-expected.txt:
* platform/gtk/editing/selection/caret-rtl-right-expected.txt:
* platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt:
* platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt:
* platform/gtk/editing/style/style-boundary-005-expected.txt:
* platform/gtk/fast/forms/formmove3-expected.txt:
* platform/gtk/fast/forms/input-align-image-expected.txt:
* platform/gtk/fast/forms/preserveFormDuringResidualStyle-expected.txt:
* platform/gtk/fast/invalid/003-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug647-expected.txt:

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

6 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Sat, 14 Sep 2013 09:47:28 +0000 (09:47 +0000)]
Unreviewed GTK gardening.

Skip additional inspector tests that are failing after switching to the new Web Inspector.

* platform/gtk-wk1/TestExpectations:
* platform/gtk/TestExpectations:

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

6 years agoWeb Inspector: InjectedScriptSource_js and InjectedScriptCanvasModuleSource_js should...
joepeck@webkit.org [Sat, 14 Sep 2013 09:28:30 +0000 (09:28 +0000)]
Web Inspector: InjectedScriptSource_js and InjectedScriptCanvasModuleSource_js should be minified
https://bugs.webkit.org/show_bug.cgi?id=121183

Reviewed by Timothy Hatcher.

Source/WebCore:

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.am:
Minify files at build time before running xxd.pl.

* WebCore.xcodeproj/project.pbxproj:
* inspector/InjectedScriptCanvasModuleSource.js:
* inspector/InjectedScriptSource.js:
Strip trailing whitespace (touching the files so the derived sources are regenerated).

* inspector/InspectorOverlayPage.css: Added.
* inspector/InspectorOverlayPage.html:
* inspector/InspectorOverlayPage.js: Copied from Source/WebCore/inspector/InspectorOverlayPage.html.
Move JS and CSS to external files. They are inlined and minified at build time.

* inspector/Scripts/cssmin.py: Added.
* inspector/Scripts/jsmin.py: Added.
Copied from WebInspectorUI/Scripts.

* inspector/Scripts/inline-and-minify-stylesheets-and-scripts.py: Added.
Add a script that can inline stylesheets and scripts. For minifying InspectorOverlayPage.html.

LayoutTests:

Now that the file is minified, a line number changed.

* platform/mac/inspector/console/command-line-api-expected.txt:

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

6 years agoUnreviewed, fixing debug GTK builds after r155709.
zandobersek@gmail.com [Sat, 14 Sep 2013 09:26:27 +0000 (09:26 +0000)]
Unreviewed, fixing debug GTK builds after r155709.

* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::write): Assert that the PasteboardURL's URL is not empty.

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

6 years agoCTTE: RenderDetailsMarker is never anonymous.
akling@apple.com [Sat, 14 Sep 2013 09:15:41 +0000 (09:15 +0000)]
CTTE: RenderDetailsMarker is never anonymous.
<https://webkit.org/b/121355>

Reviewed by Darin Adler.

This renderer is never anonymous, and always has a corresponding DetailsMarkerControl.
Couldn't resist cleaning up the class a little bit, adding OVERRIDE and making
toRenderDetailsMarker() into a reference version.

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

6 years agoCTTE: RenderRubyAs{Block,Inline} are never anonymous.
akling@apple.com [Sat, 14 Sep 2013 09:13:42 +0000 (09:13 +0000)]
CTTE: RenderRubyAs{Block,Inline} are never anonymous.
<https://webkit.org/b/121353>

Reviewed by Darin Adler.

Replace element() with existingElement() and spam class with OVERRIDE.
Removed bogus removeLeftoverAnonymousBlock() override in RenderRubyAsInline
since it didn't override anything from a parent class.

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

6 years agoCTTE: RenderRubyText is never anonymous.
akling@apple.com [Sat, 14 Sep 2013 09:11:25 +0000 (09:11 +0000)]
CTTE: RenderRubyText is never anonymous.
<https://webkit.org/b/121352>

Reviewed by Darin Adler.

Replace element() with existingElement() and spam class with OVERRIDE.

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

6 years agoUses gtk-doc tools even when --disable-gtk-doc passed
berto@igalia.com [Sat, 14 Sep 2013 08:38:27 +0000 (08:38 +0000)]
Uses gtk-doc tools even when --disable-gtk-doc passed
https://bugs.webkit.org/show_bug.cgi?id=91239

Patch by Ross Burton <ross.burton@intel.com> on 2013-09-14
Reviewed by Martin Robinson.

Don't run generate-gtkdoc on install if gtk-doc is disabled.

* GNUmakefile.am:

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

6 years ago[GTK] Fails to compile if the build directory is in a different partition
berto@igalia.com [Sat, 14 Sep 2013 08:36:03 +0000 (08:36 +0000)]
[GTK] Fails to compile if the build directory is in a different partition
https://bugs.webkit.org/show_bug.cgi?id=121296

Reviewed by Carlos Garcia Campos.

Use symlinks instead of hard links to support building on a
different file system.

* gtk/gtkdoc.py:
(GTKDoc._copy_doc_files_to_output_dir.copy_file_replacing_existing):

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

6 years agoCTTE: RenderSVGBlock renderers are never anonymous.
akling@apple.com [Sat, 14 Sep 2013 07:46:44 +0000 (07:46 +0000)]
CTTE: RenderSVGBlock renderers are never anonymous.
<https://webkit.org/b/121351>

Reviewed by Antti Koivisto.

RenderSVGBlock inherits from RenderBlockFlow, so needs separate treatment
from RenderSVGModelObject.

But like RSMO, these renderers are never anonymous, so add strongly typed
reference getters and do away with some magical type casts.

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

6 years agoCTTE: RenderSVGModelObject renderers are never anonymous.
akling@apple.com [Sat, 14 Sep 2013 07:28:31 +0000 (07:28 +0000)]
CTTE: RenderSVGModelObject renderers are never anonymous.
<https://webkit.org/b/121350>

Reviewed by Darin Adler.

Flip the switch, turning RenderSVGModelObject::element() into a reference.

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

6 years agoCTTE: RenderSVGResourceClipper always has an SVGClipPathElement.
akling@apple.com [Sat, 14 Sep 2013 06:45:39 +0000 (06:45 +0000)]
CTTE: RenderSVGResourceClipper always has an SVGClipPathElement.
<https://webkit.org/b/121349>

Reviewed by Darin Adler.

This renderer is never anonymous. Tighten things up with a clipPathElement()
reference getter. Removed some unnecessary null checks and type casts.

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

6 years agoCTTE: RenderSVGResourceFilter always has an SVGFilterElement.
akling@apple.com [Sat, 14 Sep 2013 06:37:30 +0000 (06:37 +0000)]
CTTE: RenderSVGResourceFilter always has an SVGFilterElement.
<https://webkit.org/b/121348>

Reviewed by Darin Adler.

This renderer is never anonymous. Tighten things up with a filterElement()
reference getter. Removed some unnecessary null checks and type casts.

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

6 years agoUse a better name than m_invertibleCTM
darin@apple.com [Sat, 14 Sep 2013 06:36:53 +0000 (06:36 +0000)]
Use a better name than m_invertibleCTM
https://bugs.webkit.org/show_bug.cgi?id=121341

Reviewed by Andreas Kling.

Source/WebCore:

Rename isTransformInvertible to hasInvertibleTransform, and
m_invertibleCTM to m_hasInvertibleTransform.

* html/canvas/CanvasPathMethods.cpp:
(WebCore::CanvasPathMethods::moveTo):
(WebCore::CanvasPathMethods::lineTo):
(WebCore::CanvasPathMethods::quadraticCurveTo):
(WebCore::CanvasPathMethods::bezierCurveTo):
(WebCore::CanvasPathMethods::arcTo):
(WebCore::CanvasPathMethods::arc):
(WebCore::CanvasPathMethods::rect):
Updated for name change. Not really sure the name is good here,
because DOMPath doesn't have a transform at all; should switch
to a better name some day.

* html/canvas/CanvasPathMethods.h: Renamed, added a new constructor,
and made the virtual function private.

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::State::State):
(WebCore::CanvasRenderingContext2D::State::operator=):
(WebCore::CanvasRenderingContext2D::scale):
(WebCore::CanvasRenderingContext2D::rotate):
(WebCore::CanvasRenderingContext2D::translate):
(WebCore::CanvasRenderingContext2D::transform):
(WebCore::CanvasRenderingContext2D::setTransform):
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::stroke):
(WebCore::CanvasRenderingContext2D::clip):
(WebCore::CanvasRenderingContext2D::isPointInPath):
(WebCore::CanvasRenderingContext2D::isPointInStroke):
(WebCore::CanvasRenderingContext2D::clearRect):
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::strokeRect):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::didDraw):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
Updated for name change.

* html/canvas/CanvasRenderingContext2D.h: Updated for name change.
Also got rid of unneeded conditional around forward class declaration.

* html/canvas/DOMPath.h: Moved SVG-specific include into a
separate paragraph. Removed unneeded invocation  of WTF_MAKE_NONCOPYABLE,
which is already true since we inherit from RefCounted. Changed create
function argument to be a const*. Eliminated extra constructors that were
unneeded. Made the path-parsing create function SVG-only, rather than
compiling a useless empty one when compiling without SVG.

Tools:

* Scripts/do-webcore-rename: Updated to do this replace as we do.

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

6 years agoCTTE: Tighter element types for RenderSVGResourceGradient and subclasses.
akling@apple.com [Sat, 14 Sep 2013 06:35:30 +0000 (06:35 +0000)]
CTTE: Tighter element types for RenderSVGResourceGradient and subclasses.
<https://webkit.org/b/121346>

Reviewed by Darin Adler

Codify the following:

- RenderSVGResourceGradient always has an SVGGradientElement.
- RenderSVGResourceLinearGradient always has an SVGLinearGradientElement.
- RenderSVGResourceRadialGradient always has an SVGRadialGradientElement.

None of these renderers are ever anonymous, so delete element() and provide
strongly typed reference getters instead.

Also made RenderSVGResourceGradient constructor protected since it should
never be instantiated directly.

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

6 years agoCTTE: RenderSVGResourceMarker always has an SVGMarkerElement.
akling@apple.com [Sat, 14 Sep 2013 06:31:25 +0000 (06:31 +0000)]
CTTE: RenderSVGResourceMarker always has an SVGMarkerElement.
<https://webkit.org/b/121345>

Reviewed by Brent Fulgham.

This renderer is never anonymous. Tighten things up with a maskElement()
reference getter. Removed some unnecessary type casts and assertions.

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

6 years agoCTTE: RenderSVGResourceMasker always has an SVGMaskElement.
akling@apple.com [Sat, 14 Sep 2013 06:29:13 +0000 (06:29 +0000)]
CTTE: RenderSVGResourceMasker always has an SVGMaskElement.
<https://webkit.org/b/121344>

Reviewed by Brent Fulgham.

This renderer is never anonymous. Tighten things up with a maskElement()
reference getter. Removed some unnecessary null checks and assertions.

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

6 years agoPick the correct overload when a const reference is passed to appendSlowCase.
andersca@apple.com [Sat, 14 Sep 2013 06:22:12 +0000 (06:22 +0000)]
Pick the correct overload when a const reference is passed to appendSlowCase.
https://bugs.webkit.org/show_bug.cgi?id=121326

Reviewed by Darin Adler.

Source/WTF:

* wtf/Vector.h:
(WTF::Vector::appendSlowCase):
Make sure that the pointer to the element isn't const so we'll pick the right expandCapacity overload.

Tools:

* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):

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

6 years ago[Windows] Enable Page Visibility API
bfulgham@apple.com [Sat, 14 Sep 2013 05:45:28 +0000 (05:45 +0000)]
[Windows] Enable Page Visibility API
https://bugs.webkit.org/show_bug.cgi?id=121340

Reviewed by Anders Carlsson.

WebKitLibraries:

* win/tools/vsprops/FeatureDefines.props: Activate feature.
* win/tools/vsprops/FeatureDefinesCairo.props: Ditto.

LayoutTests:

* platform/win/TestExpectations: Enable some Page Visibility tests on Windows.

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

6 years agoREGRESSION (r155719?): http/tests/inspector/network/network-size-chunked.html and
ap@apple.com [Sat, 14 Sep 2013 05:02:09 +0000 (05:02 +0000)]
REGRESSION (r155719?): http/tests/inspector/network/network-size-chunked.html and
http/tests/inspector/network/network-size-sync.html fail on bots
https://bugs.webkit.org/show_bug.cgi?id=121343

* platform/mac/TestExpectations: Marking these as failing.

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

6 years agoRename SpeculativeJIT::integerResult() to int32Result().
fpizlo@apple.com [Sat, 14 Sep 2013 04:54:54 +0000 (04:54 +0000)]
Rename SpeculativeJIT::integerResult() to int32Result().

Rubber stamped by Mark Hahnenberg.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetCharCodeAt):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileUInt32ToNumber):
(JSC::DFG::SpeculativeJIT::compileDoubleAsInt32):
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileAdd):
(JSC::DFG::SpeculativeJIT::compileArithSub):
(JSC::DFG::SpeculativeJIT::compileArithNegate):
(JSC::DFG::SpeculativeJIT::compileArithIMul):
(JSC::DFG::SpeculativeJIT::compileArithMul):
(JSC::DFG::SpeculativeJIT::compileArithDiv):
(JSC::DFG::SpeculativeJIT::compileArithMod):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset):
(JSC::DFG::SpeculativeJIT::compileGetArgumentsLength):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::int32Result):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

6 years agoUnreviewed, rolling out r155738.
commit-queue@webkit.org [Sat, 14 Sep 2013 04:46:10 +0000 (04:46 +0000)]
Unreviewed, rolling out r155738.
http://trac.webkit.org/changeset/155738
https://bugs.webkit.org/show_bug.cgi?id=121342

Broke many tests (Requested by ap on #webkit).

* GNUmakefile.list.am:
* Target.pri:
* UseJSC.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSConsoleCustom.cpp: Added.
(WebCore::JSConsole::profile):
(WebCore::JSConsole::profileEnd):
* bindings/js/ScriptState.h:
* page/Console.cpp:
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
* page/Console.h:
* page/Console.idl:

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

6 years agoCSSPropertyAnimation::ensurePropertyMap() is large
rniwa@webkit.org [Sat, 14 Sep 2013 03:58:50 +0000 (03:58 +0000)]
CSSPropertyAnimation::ensurePropertyMap() is large
https://bugs.webkit.org/show_bug.cgi?id=121199

Reviewed by Darin Adler.

The bug was caused by repeated calls to Vector::append. Avoid it by storing pointers in a local array
and then adding them as we traverse them through to fill m_propertyToIdMap. Also reserve the full
initial capacity at once to avoid repeated calls to FastMalloc and FastFree.

* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::instance):
(WebCore::CSSPropertyAnimationWrapperMap::wrapperForProperty):
(WebCore::CSSPropertyAnimationWrapperMap::wrapperForIndex):
(WebCore::CSSPropertyAnimationWrapperMap::indexFromPropertyID):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Renamed from ensurePropertyMap.
Also merged addShorthandProperties into it since they have to access local variables of the other.

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

6 years agoUnreviewed build fix for EFL port.
ryuan.choi@samsung.com [Sat, 14 Sep 2013 03:51:27 +0000 (03:51 +0000)]
Unreviewed build fix for EFL port.

* editing/efl/EditorEfl.cpp:
* platform/efl/PasteboardEfl.cpp:
(WebCore::Pasteboard::read):
(WebCore::Pasteboard::write):

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

6 years agoUnreviewed build fix attempt for WK2 build.
ryuan.choi@samsung.com [Sat, 14 Sep 2013 03:24:14 +0000 (03:24 +0000)]
Unreviewed build fix attempt for WK2 build.

* WebProcess/Plugins/PluginView.cpp: Changed ScriptState to ExecState.
(WebKit::PluginView::performJavaScriptURLRequest):

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

6 years agoFix a few lingering ScriptStates.
weinig@apple.com [Sat, 14 Sep 2013 02:01:26 +0000 (02:01 +0000)]
Fix a few lingering ScriptStates.

Reviewed by Andy Estes.

* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::update):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
* bindings/cpp/WebNativeNodeFilterCondition.cpp:
(WebNativeNodeFilterCondition::acceptNode):
* bindings/cpp/WebNativeNodeFilterCondition.h:
* dom/CustomElementConstructor.cpp:
(WebCore::CustomElementConstructor::create):
* dom/CustomElementConstructor.h:
* dom/CustomElementRegistry.cpp:
(WebCore::CustomElementRegistry::registerElement):
* dom/CustomElementRegistry.h:
* plugins/PluginView.cpp:
(WebCore::PluginView::performRequest):

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

6 years agoRename confusingly named "runtimeObject" functions
darin@apple.com [Sat, 14 Sep 2013 01:57:31 +0000 (01:57 +0000)]
Rename confusingly named "runtimeObject" functions
https://bugs.webkit.org/show_bug.cgi?id=121339

Source/WebCore:

Also CTTE: HTMLElement.

Reviewed by Sam Weinig.

* bindings/js/JSHTMLAppletElementCustom.cpp:
(WebCore::JSHTMLAppletElement::putDelegate): Renamed.
(WebCore::JSHTMLAppletElement::getCallData): Renamed.
* bindings/js/JSHTMLEmbedElementCustom.cpp:
(WebCore::JSHTMLEmbedElement::putDelegate): Renamed.
(WebCore::JSHTMLEmbedElement::getCallData): Renamed.
* bindings/js/JSHTMLObjectElementCustom.cpp:
(WebCore::JSHTMLObjectElement::putDelegate): Renamed.
(WebCore::JSHTMLObjectElement::getCallData): Renamed.

* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::isPluginElement): Changed to take HTMLElement&.
(WebCore::pluginInstance): Ditto.
(WebCore::pluginScriptObjectFromPluginViewBase): Updated for name and type change.
(WebCore::pluginScriptObject): Ditto.
(WebCore::pluginElementPropertyGetter): Ditto.
(WebCore::pluginElementCustomGetOwnPropertySlot): Ditto.
(WebCore::pluginElementCustomPut): Ditto.
(WebCore::pluginElementGetCallData): Ditto.

* bindings/js/JSPluginElementFunctions.h: Updated names and types.

* bindings/objc/WebScriptObject.mm:
(+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
Updated for type change.
* bridge/runtime_method.cpp:
(JSC::callRuntimeMethod): Ditto.

Tools:

Reviewed by Sam Weinig.

* Scripts/do-webcore-rename: Updated to do this replace as usual.

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

6 years agoThere is no need for any custom bindings for Console
weinig@apple.com [Sat, 14 Sep 2013 01:50:48 +0000 (01:50 +0000)]
There is no need for any custom bindings for Console
https://bugs.webkit.org/show_bug.cgi?id=121338

Reviewed by Joseph Pecoraro.

* GNUmakefile.list.am:
* Target.pri:
* UseJSC.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
Remove JSConsoleCustom.cpp from project files.

* bindings/js/JSConsoleCustom.cpp:
Removed.

* page/Console.cpp:
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
* page/Console.h:
Swap the order of the arguments to appease the bindings generator.

* page/Console.idl:
Add the [CallWith=ScriptState] attribute to pass the ExecState
and [TreatNullAs=NullString, TreatUndefinedAs=NullString] to get
the right stringification.

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

6 years agoPart 2 of Replace ScriptState with JSC::ExecState
weinig@apple.com [Sat, 14 Sep 2013 01:37:05 +0000 (01:37 +0000)]
Part 2 of Replace ScriptState with JSC::ExecState
https://bugs.webkit.org/show_bug.cgi?id=121336

* dom/Document.h:
There is no WebCore::JSC namespace!

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

6 years agoReplace ScriptState with JSC::ExecState
weinig@apple.com [Sat, 14 Sep 2013 01:30:06 +0000 (01:30 +0000)]
Replace ScriptState with JSC::ExecState
https://bugs.webkit.org/show_bug.cgi?id=121336

Reviewed by Darin Adler.

* Modules/indexeddb/IDBCursor.h:
* Modules/indexeddb/IDBObjectStore.h:
* bindings/js/JSInjectedScriptHostCustom.cpp:
* bindings/js/JSInjectedScriptManager.cpp:
* bindings/js/JSNodeCustom.cpp:
* bindings/js/JSNodeFilterCondition.h:
* bindings/js/ScriptController.cpp:
* bindings/js/ScriptDebugServer.cpp:
* bindings/js/ScriptDebugServer.h:
* bindings/js/ScriptEventListener.cpp:
* bindings/js/ScriptEventListener.h:
* bindings/js/ScriptFunctionCall.cpp:
* bindings/js/ScriptFunctionCall.h:
* bindings/js/ScriptObject.cpp:
* bindings/js/ScriptObject.h:
* bindings/js/ScriptProfiler.cpp:
* bindings/js/ScriptProfiler.h:
* bindings/js/ScriptState.cpp:
* bindings/js/ScriptState.h:
* bindings/js/ScriptValue.cpp:
* bindings/js/ScriptValue.h:
* bindings/js/SerializedScriptValue.cpp:
* bindings/js/SerializedScriptValue.h:
* dom/Document.cpp:
* dom/Document.h:
* dom/NodeFilter.cpp:
* dom/NodeFilter.h:
* dom/NodeFilterCondition.cpp:
* dom/NodeFilterCondition.h:
* dom/NodeIterator.cpp:
* dom/NodeIterator.h:
* dom/ScriptExecutionContext.cpp:
* dom/ScriptExecutionContext.h:
* dom/Traversal.cpp:
* dom/Traversal.h:
* dom/TreeWalker.cpp:
* dom/TreeWalker.h:
* inspector/ConsoleMessage.cpp:
* inspector/ConsoleMessage.h:
* inspector/InjectedScript.h:
* inspector/InjectedScriptBase.cpp:
* inspector/InjectedScriptBase.h:
* inspector/InjectedScriptCanvasModule.cpp:
* inspector/InjectedScriptCanvasModule.h:
* inspector/InjectedScriptHost.cpp:
* inspector/InjectedScriptHost.h:
* inspector/InjectedScriptManager.cpp:
* inspector/InjectedScriptManager.h:
* inspector/InjectedScriptModule.cpp:
* inspector/InjectedScriptModule.h:
* inspector/InspectorAgent.cpp:
* inspector/InspectorCanvasAgent.cpp:
* inspector/InspectorCanvasAgent.h:
* inspector/InspectorConsoleAgent.cpp:
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorConsoleInstrumentation.h:
* inspector/InspectorDOMAgent.cpp:
* inspector/InspectorDebuggerAgent.cpp:
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorFrontendClientLocal.cpp:
* inspector/InspectorFrontendHost.cpp:
* inspector/InspectorIndexedDBAgent.cpp:
* inspector/InspectorInstrumentation.cpp:
* inspector/InspectorInstrumentation.h:
* inspector/PageConsoleAgent.cpp:
* inspector/PageDebuggerAgent.cpp:
* inspector/PageRuntimeAgent.cpp:
* inspector/PageRuntimeAgent.h:
* inspector/ScriptArguments.cpp:
* inspector/ScriptArguments.h:
* inspector/ScriptDebugListener.h:
* inspector/WorkerDebuggerAgent.cpp:
* inspector/WorkerRuntimeAgent.cpp:
* page/Console.cpp:
* page/Console.h:
* page/ContentSecurityPolicy.cpp:
* page/ContentSecurityPolicy.h:
* page/PageConsole.cpp:
* page/PageConsole.h:
* workers/WorkerGlobalScope.cpp:
* workers/WorkerGlobalScope.h:

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

6 years agoFTL JIT broke after r155711
msaboff@apple.com [Sat, 14 Sep 2013 00:28:57 +0000 (00:28 +0000)]
FTL JIT broke after r155711
https://bugs.webkit.org/show_bug.cgi?id=121332

Reviewed by Geoffrey Garen.

Fixed OSR entry to use the local variable's index instead of its VirtualRegister.
Initialized ExitArgumentForOperand::m_operand to InvalidVirtualRegister instead of -1.
Fixed compileCallOrConstruct() to update locals on callframe going down.
Fixed prepareOSREntry() to grow stack down if needed.

* ftl/FTLExitArgumentForOperand.h:
(JSC::FTL::ExitArgumentForOperand::ExitArgumentForOperand):
* ftl/FTLLink.cpp:
(JSC::FTL::link):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileExtractOSREntryLocal):
(JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):
* ftl/FTLOSREntry.cpp:
(JSC::FTL::prepareOSREntry):

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

6 years agoAvoid a couple of zero-sized fastMalloc calls
andersca@apple.com [Sat, 14 Sep 2013 00:26:13 +0000 (00:26 +0000)]
Avoid a couple of zero-sized fastMalloc calls
https://bugs.webkit.org/show_bug.cgi?id=121333

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* API/JSStringRefCF.cpp:
(JSStringCopyCFString):
Return an empty constant CFStringRef if the JSStringRef is empty.

* runtime/JSPropertyNameIterator.cpp:
(JSC::JSPropertyNameIterator::JSPropertyNameIterator):
Don't allocate an empty m_jsStrings array if m_jsStringsSize is 0.

Source/WTF:

* wtf/text/StringBuffer.h:
(WTF::StringBuffer::StringBuffer):
Initialize m_data to null if m_length is null, and use Checked<size_t> to check for
overflow when multiplying m_length with the character size.

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

6 years agosvg/dom/SVGScriptElement/script-load-and-error-events.svg is flakey
ap@apple.com [Fri, 13 Sep 2013 23:56:20 +0000 (23:56 +0000)]
svg/dom/SVGScriptElement/script-load-and-error-events.svg is flakey
https://bugs.webkit.org/show_bug.cgi?id=25817

Reviewed by Tim Horton.

* svg/dom/SVGScriptElement/script-load-and-error-events.svg: Let test 5 finish
before starting test 6.

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

6 years agohttp/tests/misc/submit-post-keygen.html is extremely slow on bots, often timing out
ap@apple.com [Fri, 13 Sep 2013 23:35:24 +0000 (23:35 +0000)]
http/tests/misc/submit-post-keygen.html is extremely slow on bots, often timing out
https://bugs.webkit.org/show_bug.cgi?id=121331

* platform/mac/TestExpectations: Marked the test as sometimes timing out.

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

6 years agoChrome, DragController and FocusController should hold onto a Page&
weinig@apple.com [Fri, 13 Sep 2013 23:35:13 +0000 (23:35 +0000)]
Chrome, DragController and FocusController should hold onto a Page&
https://bugs.webkit.org/show_bug.cgi?id=121325

Reviewed by Anders Carlsson.

* editing/FrameSelection.cpp:
* editing/FrameSelection.h:
* page/Chrome.cpp:
(WebCore::Chrome::Chrome):
(WebCore::Chrome::scroll):
(WebCore::Chrome::createWindow):
(WebCore::canRunModalIfDuringPageDismissal):
(WebCore::Chrome::runBeforeUnloadConfirmPanel):
(WebCore::Chrome::runJavaScriptAlert):
(WebCore::Chrome::runJavaScriptConfirm):
(WebCore::Chrome::runJavaScriptPrompt):
(WebCore::Chrome::mouseDidMoveOverElement):
(WebCore::Chrome::setToolTip):
(WebCore::Chrome::windowScreenDidChange):
* page/Chrome.h:
* page/DragController.cpp:
* page/DragController.h:
* page/mac/DragControllerMac.mm:
* page/FocusController.cpp:
* page/FocusController.h:
* page/Page.cpp:
(WebCore::Page::Page):
* page/PageGroupLoadDeferrer.cpp:
* page/PageGroupLoadDeferrer.h:
Take references where possible.

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

6 years agoDFG AI assumes that ToThis can never return non-object if it is passed an object...
fpizlo@apple.com [Fri, 13 Sep 2013 23:18:19 +0000 (23:18 +0000)]
DFG AI assumes that ToThis can never return non-object if it is passed an object, and operationToThis will get the wrong value of isStrictMode() if there's inlining
https://bugs.webkit.org/show_bug.cgi?id=121330

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg and Oliver Hunt.

Also print whether a function is strict mode in debug dumps.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpAssumingJITType):
* bytecode/CodeOrigin.cpp:
(JSC::InlineCallFrame::dumpInContext):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

Tools:

Reviewed by Mark Hahnenberg and Oliver Hunt.

We should run tests even if they don't have expected files yet.

* Scripts/run-layout-jsc:

LayoutTests:

Reviewed by Mark Hahnenberg and Oliver Hunt.

* js/dfg-strict-mode-to-this-expected.txt: Added.
* js/dfg-strict-mode-to-this.html: Added.
* js/jsc-test-list:
* js/script-tests/dfg-strict-mode-to-this.js: Added.
(thingy.bar):
(thingy.foo):
(thingy):

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

6 years agoUse nullptr instead of 0 in calls to HashMap::add
andersca@apple.com [Fri, 13 Sep 2013 23:05:52 +0000 (23:05 +0000)]
Use nullptr instead of 0 in calls to HashMap::add
https://bugs.webkit.org/show_bug.cgi?id=121322

Reviewed by Sam Weinig.

Source/JavaScriptCore:

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitLoad):
(JSC::BytecodeGenerator::addStringConstant):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::cellConstant):

Source/WebCore:

* bridge/IdentifierRep.cpp:
(WebCore::IdentifierRep::get):
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::getFontFace):
* css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::getFontData):
* css/CSSValuePool.cpp:
(WebCore::CSSValuePool::createFontFamilyValue):
(WebCore::CSSValuePool::createFontFaceValue):
* dom/ChildListMutationScope.cpp:
(WebCore::ChildListMutationAccumulator::getOrCreate):
* dom/Document.cpp:
(WebCore::Document::getCSSCanvasElement):
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::addCacheWithAtomicName):
(WebCore::NodeListsNodeData::addCacheWithName):
(WebCore::NodeListsNodeData::addCacheWithQualifiedName):
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
* page/PageGroup.cpp:
(WebCore::PageGroup::pageGroup):
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::registerScrollbar):
* storage/StorageNamespaceImpl.cpp:
(WebCore::StorageNamespaceImpl::localStorageNamespace):

Source/WebKit/mac:

* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::hostForPlugin):

Source/WebKit2:

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::SyncMessageState::getOrCreate):
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::createLocalStorageMap):
(WebKit::StorageManager::createSessionStorageMap):
(WebKit::StorageManager::getOrCreateLocalStorageNamespace):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::addBackForwardItem):
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::getOrCreate):
* WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::getOrCreate):
* WebProcess/Storage/StorageNamespaceImpl.cpp:
(WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::createWebPage):
(WebKit::WebProcess::webPageGroup):

Tools:

* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::evaluateScriptInIsolatedWorld):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::evaluateScriptInIsolatedWorld):

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

6 years agosvg/animations/smil-leak-*.svg tests are flaky
ap@apple.com [Fri, 13 Sep 2013 23:00:03 +0000 (23:00 +0000)]
svg/animations/smil-leak-*.svg tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=114280

Approved in person by Geoff Garen.

Increased the number of nodes in the test 10x to see what happens with the number
of leaked nodes.

* svg/animations/smil-leak-dynamically-added-element-instances.svg:
* svg/animations/smil-leak-element-instances-noBaseValRef.svg:
* svg/animations/smil-leak-element-instances.svg:
* svg/animations/smil-leak-elements.svg:

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

6 years agoFlaky Test: svg/dom/SVGScriptElement/script-load-and-error-events.svg
ap@apple.com [Fri, 13 Sep 2013 22:27:32 +0000 (22:27 +0000)]
Flaky Test: svg/dom/SVGScriptElement/script-load-and-error-events.svg
https://bugs.webkit.org/show_bug.cgi?id=25817

Reviewed by Tim Horton.

* svg/dom/SVGScriptElement/script-load-and-error-events.svg: Made test output
a bit more verbose to see what's happening on bots.

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

6 years ago[mac WK1] Introduce WebViewWillCloseNotification
mitz@apple.com [Fri, 13 Sep 2013 21:38:55 +0000 (21:38 +0000)]
[mac WK1] Introduce WebViewWillCloseNotification
https://bugs.webkit.org/show_bug.cgi?id=121321

Reviewed by Sam Weinig.

* WebKit.exp: Exported WebViewWillCloseNotification.
* WebView/WebView.mm:
(-[WebView _close]): Send WebViewWillCloseNotification before closing the WebView.
* WebView/WebViewPrivate.h: Declared WebViewWillCloseNotification.

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

6 years agoLayout Test fast/dom/Window/window-postmessage-clone.html is flaky
ap@apple.com [Fri, 13 Sep 2013 21:32:11 +0000 (21:32 +0000)]
Layout Test fast/dom/Window/window-postmessage-clone.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=111898

Reviewed by Oliver Hunt.

* fast/dom/Window/script-tests/postmessage-clone.js: The test was checking
modification times of non-existent files. When you do this, you get current time,
and current time changes over time, making comparisons non-reliable.

* fast/dom/Window/resources/file1.txt: Added.
* fast/dom/Window/resources/file2.txt: Added.

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

6 years agoTry to kill initialiser expression in for-in statements
oliver@apple.com [Fri, 13 Sep 2013 21:19:38 +0000 (21:19 +0000)]
Try to kill initialiser expression in for-in statements
https://bugs.webkit.org/show_bug.cgi?id=121311

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

We'd like to get rid of this pointless initialiser expression
in for-in statements.  Unfortunately we have to keep the no_in
variant of expression parsing to avoid ambiguity in the grammar.
There's a possibility that this will need to be rolled out, but
we'll need to live on it to see.

* bytecompiler/NodesCodegen.cpp:
(JSC::ForInNode::emitBytecode):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createForInLoop):
* parser/NodeConstructors.h:
(JSC::ForInNode::ForInNode):
* parser/Nodes.h:
* parser/Parser.cpp:
(JSC::::parseForStatement):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createForInLoop):

LayoutTests:

Update test cases to represent the new reality

* js/line-column-numbers-expected.txt:
* js/line-column-numbers.html:
* js/parser-syntax-check-expected.txt:
* js/script-tests/function-declaration-statement.js:
* js/script-tests/line-column-numbers.js:
(try.toFuzz22b):
* js/script-tests/parser-syntax-check.js:
* js/script-tests/toString-for-var-decl.js:
(f1):

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

6 years agoContextMenuController should hold onto a Page&
weinig@apple.com [Fri, 13 Sep 2013 21:12:58 +0000 (21:12 +0000)]
ContextMenuController should hold onto a Page&
https://bugs.webkit.org/show_bug.cgi?id=121320

Reviewed by Anders Carlsson.

* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::ContextMenuController):
(WebCore::ContextMenuController::~ContextMenuController):
(WebCore::ContextMenuController::showContextMenu):
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::checkOrEnableIfNeeded):
(WebCore::ContextMenuController::showContextMenuAt):
* page/ContextMenuController.h:
Store the Page and ContextMenuClient as references.

* page/Page.cpp:
(WebCore::Page::Page):
Pass the Page and ContextMenuClient as references and switch to using createOwned<>().

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

6 years agoUnreviewed; part one of build fix for Windows.
timothy_horton@apple.com [Fri, 13 Sep 2013 21:11:31 +0000 (21:11 +0000)]
Unreviewed; part one of build fix for Windows.
Sorry for the noise, I thought I'd fixed it.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

6 years agoApply OVERRIDE and FINAL to Image subclasses and clean them up
timothy_horton@apple.com [Fri, 13 Sep 2013 20:52:10 +0000 (20:52 +0000)]
Apply OVERRIDE and FINAL to Image subclasses and clean them up
https://bugs.webkit.org/show_bug.cgi?id=121086

Reviewed by Alexey Proskuryakov.

Everything other than the copious application of OVERRIDE and FINAL
is explicitly called out below.

* WebCore.exp.in:
Export the correct version of getCGImageRef for use by WebKit2.

* platform/graphics/BitmapImage.cpp:
* platform/graphics/BitmapImage.h:
Drive-by inline isBitmapImage.
Move create(HBITMAP) to be near the other create() functions.
Move all of the members private.
Devirtualize frameCount().
Move notSolidColor() near the other solid color functions.

* platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
(WebCore::CrossfadeGeneratedImage::drawPattern):
* platform/graphics/GeneratorGeneratedImage.cpp:
(WebCore::GeneratorGeneratedImage::draw):
(WebCore::GeneratorGeneratedImage::drawPattern):
Use size() and setContainerSize() instead of directly accessing a
superclass' (now private, previously protected) members.

* platform/graphics/CrossfadeGeneratedImage.h:
* platform/graphics/GeneratedImage.h:
Make m_size private, I don't think we do protected members.

* platform/graphics/GeneratorGeneratedImage.h:
Make all the members private.

* svg/graphics/SVGImage.h:
* svg/graphics/SVGImageForContainer.h:

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

6 years agoFlaky Test: http/tests/inspector/appcache/appcache-manifest-with-non-existing-file...
ap@apple.com [Fri, 13 Sep 2013 20:41:38 +0000 (20:41 +0000)]
Flaky Test: http/tests/inspector/appcache/appcache-manifest-with-non-existing-file.html
https://bugs.webkit.org/show_bug.cgi?id=114209

Reviewed by Joseph Pecoraro.

* TestExpectations: Marked the test as WontFix. It is hopelessly broken, and
doesn't test anything specific anyway.

* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
Removed from the lists, as the test is now skipped globally.

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

6 years ago[Mac] WebCore Web Inspector files are only copied as part of clean build
ap@apple.com [Fri, 13 Sep 2013 20:40:04 +0000 (20:40 +0000)]
[Mac] WebCore Web Inspector files are only copied as part of clean build
https://bugs.webkit.org/show_bug.cgi?id=121316

Reviewed by Timothy Hatcher.

Removed insufficient dependencies to make the phase run unconditionally.

* WebCore.xcodeproj/project.pbxproj:

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

6 years agoCodeGeneratorJS doesn't generate header includes for sequence<type>
eric.carlson@apple.com [Fri, 13 Sep 2013 20:37:10 +0000 (20:37 +0000)]
CodeGeneratorJS doesn't generate header includes for sequence<type>
https://bugs.webkit.org/show_bug.cgi?id=121314

Reviewed by Dean Jackson.

* bindings/scripts/CodeGeneratorJS.pm:
(SkipIncludeHeader): Don't return false for sequence and array types.
(AddIncludesForType): Do add includes for sequence and array types.
(GenerateCallbackImplementation):
* bindings/scripts/test/JS/JSTestTypedefs.cpp: Regenerated
* bindings/scripts/test/JS/JSTestTypedefs.h: Ditto.
* bindings/scripts/test/TestTypedefs.idl: Add a method that takes a sequence<TestEventTarget>.

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

6 years ago[Windows] Activate FastMalloc hardening
bfulgham@apple.com [Fri, 13 Sep 2013 19:41:19 +0000 (19:41 +0000)]
[Windows] Activate FastMalloc hardening
https://bugs.webkit.org/show_bug.cgi?id=121307

Reviewed by Oliver Hunt.

* wtf/FastMalloc.cpp:
(WTF::SLL_Next): Add workaround for MSVC compiler bug.

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

6 years agoCTTE: RenderSVGResourcePattern always has an SVGPatternElement.
akling@apple.com [Fri, 13 Sep 2013 19:31:27 +0000 (19:31 +0000)]
CTTE: RenderSVGResourcePattern always has an SVGPatternElement.
<https://webkit.org/b/121313>

Reviewed by Anders Carlsson.

This renderer is never anonymous. Tighten things up with a patternElement()
reference getter. Removed some unnecessary null checks and assertions.

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

6 years agoRemove layering-violating Pasteboard::plainText function (for all platforms now)
darin@apple.com [Fri, 13 Sep 2013 19:09:19 +0000 (19:09 +0000)]
Remove layering-violating Pasteboard::plainText function (for all platforms now)
https://bugs.webkit.org/show_bug.cgi?id=121312

Reviewed by Antti Koivisto.

* editing/Editor.cpp:
(WebCore::Editor::pasteAsPlainTextWithPasteboard): Call readPlainTextFromPasteboard
on all platforms, not just Mac and EFL. Also call canSmartReplaceWithPasteboard with
a reference instead of a pointer.
(WebCore::Editor::readPlainTextFromPasteboard): Added. This is a cross-platform
version of what was previously a Mac-only function.
(WebCore::Editor::plainTextFromPasteboard): Added. This is the simple non-Mac version
of this function.
(WebCore::Editor::pasteWithPasteboard): Updated to call canSmartReplaceWithPasteboard
with a reference.
(WebCore::Editor::canSmartReplaceWithPasteboard): Updated to take a reference.

* editing/Editor.h: Make readPlainTextFromPasteboard cross-platform instead of
Mac-only. Also changed argument to canSmartReplaceWithPasteboard to be a reference.
Also added private plainTextFromPasteboard function.

* editing/mac/EditorMac.mm:
(WebCore::Editor::pasteWithPasteboard): Updated to call canSmartReplaceWithPasteboard
with a reference.
(WebCore::Editor::plainTextFromPasteboard): Added. Contains the Mac-specific parts
of the readPlainTextFromPasteboard function.

* platform/Pasteboard.h: Fixed a conditional in the PasteboardPlainText struct to
omit iOS. Removed the layering-voiolating plainText function.

* platform/blackberry/PasteboardBlackBerry.cpp:
(WebCore::Pasteboard::read): Renamed from plainText and updated to new calling
convention.
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::read): Ditto.
* platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::read): Ditto.
* platform/nix/PasteboardNix.cpp:
(WebCore::Pasteboard::read): Ditto.
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::read): Ditto.
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::read): Ditto.

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

6 years ago[GTK] Move to the new web inspector
kov@webkit.org [Fri, 13 Sep 2013 19:06:11 +0000 (19:06 +0000)]
[GTK] Move to the new web inspector
https://bugs.webkit.org/show_bug.cgi?id=120647

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-09-13
Reviewed by Carlos Garcia Campos.

.:

* GNUmakefile.am: include the new WebInspectorUI GNUmakefile.am.

Source/WebCore:

No tests for the new inspector UI as of yet.

* GNUmakefile.am: no longer install the deprecated inspector UI files.
* WebCore.exp.in: add SchemeRegistry symbol that is now used.

Source/WebInspectorUI:

* GNUmakefile.am: Added. Generate the GResource source and link it into libWebCore.

Source/WebKit/gtk:

* WebCoreSupport/InspectorClientGtk.cpp:
(WebKit::InspectorClient::openInspectorFrontend): update paths to the internal resource ones.
(WebKit::InspectorClient::inspectorFilesPath): ditto.
* tests/testwebinspector.c:
(consoleMessageCallback): the new inspector currently emits an error when loading, so add it to
the list of messages which are not considered failures.
* webkit/webkitglobals.cpp:
(webkitInit): register resource as a local scheme; currently used by the inspector.

Source/WebKit2:

* GNUmakefile.am: bundle the remote inspector page list HTML into libwebkit2gtk as a GResource.
* UIProcess/API/gtk/tests/GNUmakefile.am: no need to set WEBKIT_INSPECTOR_PATH anymore.
* UIProcess/API/gtk/tests/InspectorTestServer.cpp:
(main): ditto.
* UIProcess/API/gtk/tests/TestInspector.cpp:
(beforeAll): ditto.
* UIProcess/API/gtk/tests/TestInspectorServer.cpp:
(testInspectorServerPageList): update paths to the internal resource ones.
* UIProcess/InspectorServer/WebInspectorServer.h:
* UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
(WebKit::WebInspectorServer::platformResourceForPath): ditto.
(WebKit::WebInspectorServer::buildPageList): ditto.
* UIProcess/WebInspectorProxy.cpp:
(WebKit::isMainInspectorPage): factor out checking for the inspector main resource, to make
the code more readable.
(WebKit::decidePolicyForNavigationAction): use SchemeRegistry to figure out whether the
request is for a local resource instead of KURL::isLocalFile() to allow using schemes
other than file:// for the inspector resources.
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::inspectorPageURL): use the new internal resource URL; since it's now
static we no longer need to generate and store the string.
(WebKit::WebInspectorProxy::inspectorBaseURL): ditto.
* WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
(WebKit::WebInspector::localizedStringsURL): use the new internal resource URL.
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformInitializeWebProcess): register resource as a local scheme.

Tools:

* GtkLauncher/main.c:
(main): no longer set WEBKIT_INSPECTOR_PATH.
* MiniBrowser/gtk/main.c:
(main): ditto.
* Scripts/old-run-webkit-tests:
(openDumpTool): ditto.
* Scripts/run-gtk-tests: ditto.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server): ditto.

LayoutTests:

* platform/gtk/TestExpectations: the new inspector UI does not support the current
inspector testing harness so keep it skipped, a new one will eventually be landed.

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

6 years ago Try to fix Qt build.
darin@apple.com [Fri, 13 Sep 2013 18:22:58 +0000 (18:22 +0000)]
    Try to fix Qt build.

        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::write): Update variable name at one place I missed.

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

6 years ago[BlackBerry] Scrolling and zooming is slow when Flash plugin visible
anilsson@rim.com [Fri, 13 Sep 2013 18:10:45 +0000 (18:10 +0000)]
[BlackBerry] Scrolling and zooming is slow when Flash plugin visible
https://bugs.webkit.org/show_bug.cgi?id=120618

Reviewed by Anders Carlsson.
Internally reviewed by Jacky Jiang.

JIRA 490823
Compositing Flash plugin content triggered a workaround for a graphics
driver quirk. The workaround was actually related to WebGL, not Flash,
back when we used glCopyTexImage to implement WebGL double buffering
(see PR 148933 and 150228 for more details of the old implementation).

Originally, both WebGL and plugin layers added themselves to the
LayerRenderer::m_layersLockingTextureResources list. Now only plugin
layers use this list.
The glCopyTexImage code was removed long ago, and WebGL now uses the
EGLImage-based double buffering approach implemented in
EGLImageLayerWebKitThread and EGLImageLayerCompositingThreadClient.

Fixed by removing the now obsolete workaround, a call to "glFinish".
This considerably improves the frame rate of zooming and scrolling when
Flash content is visible.

Improvement in frame rate not appropriate to test using layout tests,
could easily result in flaky test.

* platform/graphics/blackberry/LayerRenderer.cpp:
(WebCore::LayerRenderer::compositeLayers):

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

6 years agofourthTier: Change JSStack to grow from high to low addresses
msaboff@apple.com [Fri, 13 Sep 2013 18:03:55 +0000 (18:03 +0000)]
fourthTier: Change JSStack to grow from high to low addresses
https://bugs.webkit.org/show_bug.cgi?id=118758

Reviewed by Oliver Hunt.

Changed the JSC stack to grow down.  Effectively the JSC stack frame is flipped from
what it was.  See JSStack.h for the new offsets.  Changed JSStack begin() and end()
to be getBaseOfStack() and getLimitOfStack().  Most of the changes are address or offset
calculation changes.  Decoupled a local register ordinal (loop variable or array index)
from the offset into the callFrame using localToOperand() and the inverse operandToLocal().

* assembler/MacroAssembler.h:
(JSC::MacroAssembler::trustedImm32ForShift):
(JSC::MacroAssembler::lshiftPtr): Added to create scaled addresses with a negative index
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::lshift64): Added to create scaled addresses with a negative index
* assembler/X86Assembler.h:
(JSC::X86Assembler::shlq_i8r): Added to create scaled addresses with a negative index
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
* bytecode/CodeBlock.h:
(JSC::unmodifiedArgumentsRegister):
(JSC::CodeBlock::isCaptured):
* bytecode/CodeOrigin.h:
(JSC::CodeOrigin::stackOffset):
* bytecode/Operands.h:
(JSC::localToOperand):
(JSC::operandIsLocal):
(JSC::operandToLocal):
(JSC::operandIsArgument):
(JSC::operandToArgument):
(JSC::argumentToOperand):
* bytecode/VirtualRegister.h: Made InvalidVirtualRegister a positive value that fits in
31 bits since it can be placed into the 31 bit field "stackOffset" in struct InlineCallFrame.
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::addVar):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::createLazyRegisterIfNecessary):
(JSC::BytecodeGenerator::newRegister):
(JSC::BytecodeGenerator::emitNewArray):
* bytecompiler/BytecodeGenerator.h:
(JSC::CallArguments::registerOffset):
* bytecompiler/NodesCodegen.cpp:
(JSC::CallArguments::CallArguments):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::findArgumentPositionForLocal):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileFunction):
* dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOperations.cpp:
* dfg/DFGScoreBoard.h:
(JSC::DFG::ScoreBoard::allocate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValOnArguments):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callFrameSlot):
(JSC::DFG::SpeculativeJIT::argumentSlot):
(JSC::DFG::SpeculativeJIT::callFrameTagSlot):
(JSC::DFG::SpeculativeJIT::callFramePayloadSlot):
(JSC::DFG::SpeculativeJIT::argumentTagSlot):
(JSC::DFG::SpeculativeJIT::argumentPayloadSlot):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGValidate.cpp:
(JSC::DFG::Validate::reportValidationContext):
* ftl/FTLLink.cpp:
(JSC::FTL::link):
* heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::genericAddSpan):
* interpreter/CallFrame.cpp:
(JSC::CallFrame::frameExtentInternal):
* interpreter/CallFrame.h:
(JSC::ExecState::init):
(JSC::ExecState::argumentOffset):
(JSC::ExecState::argumentOffsetIncludingThis):
(JSC::ExecState::argIndexForRegister):
* interpreter/Interpreter.cpp:
(JSC::loadVarargs):
(JSC::Interpreter::dumpRegisters):
* interpreter/JSStack.cpp:
(JSC::JSStack::JSStack):
(JSC::JSStack::~JSStack):
(JSC::JSStack::growSlowCase):
(JSC::JSStack::gatherConservativeRoots):
(JSC::JSStack::releaseExcessCapacity):
(JSC::JSStack::disableErrorStackReserve):
* interpreter/JSStack.h:
(JSC::JSStack::getBaseOfStack):
(JSC::JSStack::getLimitOfStack):
(JSC::JSStack::size):
(JSC::JSStack::end):
(JSC::JSStack::containsAddress):
(JSC::JSStack::lowAddress):
(JSC::JSStack::highAddress):
(JSC::JSStack::reservationEnd):
(JSC::JSStack::shrink):
(JSC::JSStack::grow):
* interpreter/JSStackInlines.h:
(JSC::JSStack::getTopOfFrame):
(JSC::JSStack::pushFrame):
(JSC::JSStack::popFrame):
(JSC::JSStack::installTrapsAfterFrame):
* interpreter/StackVisitor.cpp:
(JSC::inlinedFrameOffset):
(JSC::StackVisitor::readInlinedFrame):
* jit/JIT.cpp:
(JSC::JIT::privateCompile):
* jit/JITCall.cpp:
(JSC::JIT::compileLoadVarargs):
(JSC::JIT::compileOpCall):
* jit/JITCall32_64.cpp:
(JSC::JIT::compileLoadVarargs):
(JSC::JIT::compileOpCall):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_create_activation):
(JSC::JIT::emit_op_get_argument_by_val):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_get_argument_by_val):
* jit/JITStubs.cpp:
(JSC::throwExceptionFromOpCall):
(JSC::DEFINE_STUB_FUNCTION):
* jit/ThunkGenerators.cpp:
(JSC::arityFixup):
* llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::genericCall):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/ArgList.cpp:
(JSC::ArgList::getSlice):
(JSC::MarkedArgumentBuffer::slowAppend):
* runtime/ArgList.h:
(JSC::MarkedArgumentBuffer::MarkedArgumentBuffer):
(JSC::MarkedArgumentBuffer::slotFor):
(JSC::MarkedArgumentBuffer::mallocBase):
(JSC::ArgList::at):
* runtime/Arguments.cpp:
(JSC::Arguments::tearOff):
* runtime/ArrayConstructor.cpp:
(JSC::constructArrayWithSizeQuirk):
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/JSActivation.h:
(JSC::JSActivation::registersOffset):
(JSC::JSActivation::tearOff):
(JSC::JSActivation::isValidIndex):
* runtime/JSArray.h:
(JSC::constructArrayNegativeIndexed): New method to create an array from registers that grow down.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::globalExec):
* runtime/JSGlobalObject.h:
(JSC::constructArrayNegativeIndexed):
* runtime/JSString.h:
* runtime/Operations.h:
(JSC::jsStringFromRegisterArray):
* runtime/SymbolTable.h:
(JSC::SharedSymbolTable::captureCount):

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

6 years agoMove LineLayoutState class to LineLayoutState.h
zoltan@webkit.org [Fri, 13 Sep 2013 17:59:12 +0000 (17:59 +0000)]
Move LineLayoutState class to LineLayoutState.h
https://bugs.webkit.org/show_bug.cgi?id=121263

Reviewed by Ryosuke Niwa.

I added bitfields, reordered the members and a functions too.

No new tests, no behavior change.

* rendering/LineLayoutState.h: Added.
(WebCore::LineLayoutState::LineLayoutState):
(WebCore::LineLayoutState::markForFullLayout):
(WebCore::LineLayoutState::isFullLayout):
(WebCore::LineLayoutState::usesRepaintBounds):
(WebCore::LineLayoutState::setRepaintRange):
(WebCore::LineLayoutState::updateRepaintRangeFromBox):
(WebCore::LineLayoutState::endLineMatched):
(WebCore::LineLayoutState::setEndLineMatched):
(WebCore::LineLayoutState::checkForFloatsFromLastLine):
(WebCore::LineLayoutState::setCheckForFloatsFromLastLine):
(WebCore::LineLayoutState::lineInfo):
(WebCore::LineLayoutState::endLineLogicalTop):
(WebCore::LineLayoutState::setEndLineLogicalTop):
(WebCore::LineLayoutState::endLine):
(WebCore::LineLayoutState::setEndLine):
(WebCore::LineLayoutState::lastFloat):
(WebCore::LineLayoutState::setLastFloat):
(WebCore::LineLayoutState::floats):
(WebCore::LineLayoutState::floatIndex):
(WebCore::LineLayoutState::setFloatIndex):
(WebCore::LineLayoutState::adjustedLogicalLineTop):
(WebCore::LineLayoutState::setAdjustedLogicalLineTop):
(WebCore::LineLayoutState::flowThread):
(WebCore::LineLayoutState::setFlowThread):
* rendering/RenderBlockLineLayout.cpp: Remove LineLayoutState.

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

6 years agoRemove layering-violating Pasteboard::writeURL (for all platforms now)
darin@apple.com [Fri, 13 Sep 2013 17:46:12 +0000 (17:46 +0000)]
Remove layering-violating Pasteboard::writeURL (for all platforms now)
https://bugs.webkit.org/show_bug.cgi?id=121306

Reviewed by Antti Koivisto.

* editing/Editor.cpp:
(WebCore::Editor::copyURL): Move the contents of the writeURLToPasteboard function
in here.

* editing/Editor.h: Removed Mac-specific writeURLToPasteboard, added private
Mac-specific fillInUserVisibleForm function for the one Mac-specific part of writing URLs.

* editing/efl/EditorEfl.cpp: Deleted Editor::writeURLToPasteboard.

* editing/mac/EditorMac.mm: Deleted Editor::writeURLToPasteboard, moving the code
into copyURL.
(WebCore::Editor::fillInUserVisibleForm): Added.

* page/DragController.cpp:
(WebCore::DragController::startDrag): Call copyURL instead of writeURL or
writeURLToPasteboard.

* platform/Pasteboard.h: Fixed up the PasteboardURL struct so it's suitable for
cross-platform use. Removed the writeURL function. Removed the Frame* argument from
the Windows-specific writeURLToDataObject function.

* platform/blackberry/PasteboardBlackBerry.cpp:
(WebCore::Pasteboard::write): Renamed/refactored from writeURL.
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::write): Ditto.
* platform/nix/PasteboardNix.cpp:
(WebCore::Pasteboard::write): Ditto.
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::write): Ditto.
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeURLToDataObject): Removed unused Frame* argument.
(WebCore::Pasteboard::write): Renamed/refactored from writeURL.

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

6 years agoAX: AXPress does not work in SVG
cfleizach@apple.com [Fri, 13 Sep 2013 17:32:16 +0000 (17:32 +0000)]
AX: AXPress does not work in SVG
https://bugs.webkit.org/show_bug.cgi?id=121248

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Implement accessKeyAction() on SVGElements, which is what accessibility code
uses in order to activate Elements.

Test: accessibility/svg-element-press.html

* svg/SVGElement.cpp:
(WebCore::SVGElement::accessKeyAction):
* svg/SVGElement.h:

LayoutTests:

* accessibility/svg-element-press-expected.txt: Added.
* accessibility/svg-element-press.html: Added.

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

6 years ago[CTTE] RenderSVGTransformableContainer is never anonymous.
akling@apple.com [Fri, 13 Sep 2013 16:54:00 +0000 (16:54 +0000)]
[CTTE] RenderSVGTransformableContainer is never anonymous.
<https://webkit.org/b/121304>

Reviewed by Anders Carlsson.

This renderer is never anonymous. Tighten things up with a graphicsElement()
reference getter.

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

6 years ago[CTTE] RenderSVGImage always has a SVGImageElement.
akling@apple.com [Fri, 13 Sep 2013 15:56:08 +0000 (15:56 +0000)]
[CTTE] RenderSVGImage always has a SVGImageElement.
<https://webkit.org/b/121301>

Reviewed by Anders Carlsson.

This renderer is never anonymous, and always has a corresponding SVGImageElement.

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

6 years agoARM EABI hardfp buildfix after r155675
ossy@webkit.org [Fri, 13 Sep 2013 15:55:51 +0000 (15:55 +0000)]
ARM EABI hardfp buildfix after r155675
https://bugs.webkit.org/show_bug.cgi?id=121287

Reviewed by Geoffrey Garen.

* dfg/DFGCCallHelpers.h:
(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):

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

6 years ago[CTTE] Tighter element types for RenderSVGShape and subclasses.
akling@apple.com [Fri, 13 Sep 2013 15:54:53 +0000 (15:54 +0000)]
[CTTE] Tighter element types for RenderSVGShape and subclasses.
<https://webkit.org/b/121302>

Reviewed by Antti Koivisto.

Codify the following:

- RenderSVGPath always has an SVGGraphicsElement.
- RenderSVGEllipse always has an SVGGraphicsElement.
- RenderSVGRect always has an SVGRectElement.
- RenderSVGShape always has an SVGGraphicsElement.

None of these renderers are ever anonymous, so delete element() and provide
strongly typed reference getters instead.

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

6 years ago[CTTE] RenderSVGResourceFilterPrimitive always has an SVGFilterPrimitiveStandardAttri...
akling@apple.com [Fri, 13 Sep 2013 15:53:21 +0000 (15:53 +0000)]
[CTTE] RenderSVGResourceFilterPrimitive always has an SVGFilterPrimitiveStandardAttributes.
<https://webkit.org/b/121300>

Reviewed by Anders Carlsson.

This renderer is never anonymous, and always has a corresponding SVGFilterPrimitiveStandardAttributes element.

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

6 years agoFix build with namespaced Qt.
allan.jensen@digia.com [Fri, 13 Sep 2013 15:40:56 +0000 (15:40 +0000)]
Fix build with namespaced Qt.

Unreviewed build fix.

One forward declaration of QUrl was missing proper namespace macros.

* UIProcess/API/qt/qquickurlschemedelegate_p.h:

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

6 years agoOwnArrayPtr: Never allow implicit pointer conversion
mikhail.pozdnyakov@intel.com [Fri, 13 Sep 2013 15:25:54 +0000 (15:25 +0000)]
OwnArrayPtr: Never allow implicit pointer conversion
https://bugs.webkit.org/show_bug.cgi?id=121291

Reviewed by Anders Carlsson.

We should never allow implicit pointer conversion in OwnArrayPtr
and remove its template copy constructor & template assignment operator, as:
- these methods are never used
- these methods are inappropriate to have in OwnArrayPtr as arrays do not
  interact well with polymorphism.

* wtf/OwnArrayPtr.h:

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

6 years agoFinish removing layer-violating code from Pasteboard (just for Mac during this first...
darin@apple.com [Fri, 13 Sep 2013 15:25:08 +0000 (15:25 +0000)]
Finish removing layer-violating code from Pasteboard (just for Mac during this first step)
https://bugs.webkit.org/show_bug.cgi?id=121279

Reviewed by Anders Carlsson.

* editing/Editor.h: Added webContentFromPasteboard member function, private nested class
WebContentReader, private createFragmentForImageResourceAndAddResource and
createFragmentAndAddResources member functions.

* editing/mac/EditorMac.mm: Re-sorted includes and added some.
(WebCore::Editor::pasteWithPasteboard): Call the new webContentFromPasteboard function.
(WebCore::Editor::insertParagraphSeparatorInQuotedContent): Comment tweak.
(WebCore::styleForSelectionStart): Removed an unneeded call to String::impl.
(WebCore::Editor::readPlainTextFromPasteboard): Updated to use an isURL boolean instead
of a separate string named "url".
(WebCore::Editor::WebContentReader::readWebArchive): Added. Contains reworked code that
was originally in Pasteboard::documentFragment.
(WebCore::Editor::WebContentReader::readFilenames): Ditto.
(WebCore::Editor::WebContentReader::readHTML): Ditto.
(WebCore::Editor::WebContentReader::readRTFD): Ditto.
(WebCore::Editor::WebContentReader::readRTF): Ditto.
(WebCore::Editor::WebContentReader::readImage): Ditto.
(WebCore::Editor::WebContentReader::readURL): Ditto.
(WebCore::Editor::WebContentReader::readPlainText): Ditto.
(WebCore::Editor::webContentFromPasteboard): Added. Uses WebContentReader to read the
content from the pasteboard.
(WebCore::Editor::createFragmentForImageResourceAndAddResource): Added. Helper used
by code above.
(WebCore::Editor::createFragmentAndAddResources): Ditto.

* platform/Pasteboard.h: Added new PasteboardWebContentReader abstract class so
client can get the various types of pasteboard content and stop on the kind it
can handle. Improved comments and formatting a bit. Removed documentFragment
when compiling for PLATFORM(MAC).

* platform/mac/DragDataMac.mm:
(WebCore::DragData::asFragment): Changed to use Editor::webContentFromPasteboard.

* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::read): Updated the plain text overload of this for changes
to the struct that holds the result. Added a new web content overload of this,
which retains the pasteboard-reading part of Pasteboard::documentFragment, but
omits the document fragment construction part.

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