<https://webkit.org/b/119912> Fix WebKit build error when SVG is disabled(broken...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-08-16  Arunprasad Rajkumar  <arurajku@cisco.com>
2
3         <https://webkit.org/b/119912> Fix WebKit build error when SVG is disabled(broken since r154174)
4
5         Reviewed by Simon Fraser.
6
7         No new tests required, just a build fix.
8
9         Since r154174 CSS keywords alpha and luminance used by -webkit-mask-source-type. Move those
10         keywords from SVGCSSValueKeywords.in to CSSValueKeywords.in.
11
12         * css/CSSValueKeywords.in:
13         * css/SVGCSSValueKeywords.in:
14
15 2013-08-16  Arunprasad Rajkumar  <arurajku@cisco.com>
16
17         <https://webkit.org/b/119785> Replace currentTime() with monotonicallyIncreasingTime() in WebCore
18
19         Reviewed by Alexey Proskuryakov.
20
21         WTF::currentTime() is prone to DST changes and NTP adjustments, so use
22         WTF::monotonicallyIncreasingTime() to measure elapsed time.
23         
24         * Modules/filesystem/FileWriter.cpp:
25         (WebCore::FileWriter::didWrite):
26         * dom/Document.cpp:
27         (WebCore::Document::Document):
28         (WebCore::Document::elapsedTime):
29         (WebCore::Document::resetLastHandledUserGestureTimestamp):
30         * dom/Element.cpp:
31         (WebCore::Element::setActive):
32         * fileapi/FileReader.cpp:
33         (WebCore::FileReader::didReceiveData):
34         * html/HTMLMediaElement.cpp:
35         (WebCore::HTMLMediaElement::HTMLMediaElement):
36         (WebCore::HTMLMediaElement::startProgressEventTimer):
37         (WebCore::HTMLMediaElement::progressEventTimerFired):
38         (WebCore::HTMLMediaElement::refreshCachedTime):
39         (WebCore::HTMLMediaElement::invalidateCachedTime):
40         (WebCore::HTMLMediaElement::currentTime):
41         (WebCore::HTMLMediaElement::startPlaybackProgressTimer):
42         (WebCore::HTMLMediaElement::scheduleTimeupdateEvent):
43         * html/HTMLMediaElement.h:
44         * html/HTMLPlugInImageElement.cpp:
45         (WebCore::documentHadRecentUserGesture):
46         * html/MediaController.cpp:
47         (MediaController::scheduleTimeupdateEvent):
48         * html/parser/HTMLDocumentParser.cpp:
49         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
50         * html/parser/HTMLParserScheduler.h:
51         (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
52         * inspector/InspectorCSSAgent.cpp:
53         (WebCore::SelectorProfile::SelectorProfile):
54         (WebCore::SelectorProfile::totalMatchingTimeMs):
55         (WebCore::SelectorProfile::startSelector):
56         (WebCore::SelectorProfile::commitSelector):
57         (WebCore::SelectorProfile::commitSelectorTime):
58         * inspector/InspectorProfilerAgent.cpp:
59         (WebCore::InspectorProfilerAgent::willProcessTask):
60         (WebCore::InspectorProfilerAgent::didProcessTask):
61         * inspector/InspectorTimelineAgent.cpp:
62         (WebCore::InspectorTimelineAgent::timestamp):
63         * inspector/TimelineTraceEventProcessor.cpp:
64         (WebCore::TimelineTraceEventProcessor::processEventOnAnyThread):
65         * page/FrameView.cpp:
66         (WebCore::FrameView::adjustedDeferredRepaintDelay):
67         (WebCore::FrameView::paintContents):
68         * platform/ClockGeneric.cpp:
69         (ClockGeneric::now):
70         * platform/ScrollAnimatorNone.cpp:
71         (WebCore::ScrollAnimatorNone::scroll):
72         (WebCore::ScrollAnimatorNone::animationTimerFired):
73         * platform/graphics/cg/ImageBufferCG.cpp:
74         (WebCore::ImageBuffer::ImageBuffer):
75         (WebCore::ImageBuffer::flushContextIfNecessary):
76         (WebCore::ImageBuffer::flushContext):
77         (WebCore::ImageBuffer::copyNativeImage):
78
79 2013-08-16  peavo@outlook.com  <peavo@outlook.com>
80
81         <https://webkit.org/b/119891> [WinCairo] Compile error.
82
83         Reviewed by Brent Fulgham.
84
85         * rendering/FlowThreadController.cpp: Need USE(ACCELERATED_COMPOSITING) guard.
86         * rendering/FlowThreadController.h: Need USE(ACCELERATED_COMPOSITING) guard.
87
88 2013-08-16  Zan Dobersek  <zdobersek@igalia.com>
89
90         <https://webkit.org/b/119887> [Soup] The testing NetworkStorageSession should have a proper SoupSession
91
92         Reviewed by Martin Robinson.
93
94         After r154144, a testing NetworkStorageSession is enforced when running the layout tests
95         through WebKitTestRunner. Ports using the Soup networking backend don't assign any SoupSession
96         objects to such NetworkStorageSession objects as it's usually the case. This is causing problems
97         as the ResourceHandleInternal uses the SoupSession that's provided by the NetworkingContext's
98         NetworkStorageSession, which ends up being null if the testing-specific NetworkStorageSession is used.
99         As a result, all the layout tests are crashing under WKTR.
100
101         * platform/network/NetworkStorageSession.h: Make the SoupSession member a GRefPtr.
102         (WebCore::NetworkStorageSession::soupSession): Return the GRefPtr's pointer.
103         * platform/network/ResourceHandle.h: Declare the new createTestingSession method.
104         * platform/network/soup/CookieJarSoup.cpp: 
105         (WebCore::cookieJarForSession): Instead of returning the default SoupCookieJar when there's no SoupSession
106         provided by the NetworkStorageSession, assert that there now always is one, and return the session's cookie
107         jar. For testing NetworkStorageSession objects, their SoupSession objects will always use the default cookie jar.
108         * platform/network/soup/NetworkStorageSessionSoup.cpp:
109         (WebCore::NetworkStorageSession::NetworkStorageSession): Adopt the given SoupSession reference pointer.
110         (WebCore::NetworkStorageSession::switchToNewTestingSession): Use a newly-created, testing-specific SoupSession.
111         * platform/network/soup/ResourceHandleSoup.cpp:
112         (WebCore::ResourceHandle::createTestingSession): Define the new createTestingSession method. It creates a new
113         SoupSession through createSoupSession, but uses the default SoupCookieJar, as provided by WebCore::soupCookieJar.
114
115 2013-08-16  Pratik Solanki  <psolanki@apple.com>
116
117         <https://webkit.org/b/119852> Frame::scriptController() should return a reference
118
119         Reviewed by Andreas Kling.
120
121         m_script is never NULL so we can just return a reference. Also remove some pointless null
122         checks as a result of doing this.
123
124         * Modules/websockets/WebSocket.cpp:
125         (WebCore::WebSocket::connect):
126         * bindings/js/JSDOMWindowBase.cpp:
127         (WebCore::toJS):
128         (WebCore::toJSDOMWindow):
129         * bindings/js/JSDOMWindowShell.cpp:
130         (WebCore::toJS):
131         (WebCore::toJSDOMWindowShell):
132         * bindings/js/JSEventListener.cpp:
133         (WebCore::JSEventListener::handleEvent):
134         * bindings/js/JSLazyEventListener.cpp:
135         (WebCore::JSLazyEventListener::initializeJSFunction):
136         * bindings/js/PageScriptDebugServer.cpp:
137         (WebCore::PageScriptDebugServer::setJavaScriptPaused):
138         * bindings/js/ScheduledAction.cpp:
139         (WebCore::ScheduledAction::execute):
140         * bindings/js/ScriptCachedFrameData.cpp:
141         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
142         (WebCore::ScriptCachedFrameData::restore):
143         * bindings/js/ScriptEventListener.cpp:
144         (WebCore::createAttributeEventListener):
145         (WebCore::eventListenerHandlerScriptState):
146         * bindings/js/ScriptState.cpp:
147         (WebCore::mainWorldScriptState):
148         (WebCore::scriptStateFromNode):
149         (WebCore::scriptStateFromPage):
150         * bindings/objc/DOM.mm:
151         (-[DOMNode JSC::Bindings::]):
152         * bindings/objc/DOMInternal.mm:
153         (-[WebScriptObject _initializeScriptDOMNodeImp]):
154         * dom/Document.cpp:
155         (WebCore::Document::disableEval):
156         (WebCore::Document::ensurePlugInsInjectedScript):
157         * dom/ScriptElement.cpp:
158         (WebCore::ScriptElement::prepareScript):
159         (WebCore::ScriptElement::executeScript):
160         * history/CachedFrame.cpp:
161         (WebCore::CachedFrameBase::restore):
162         * html/HTMLCanvasElement.cpp:
163         (WebCore::HTMLCanvasElement::createRenderer):
164         * html/HTMLElement.cpp:
165         (WebCore::HTMLElement::rendererIsNeeded):
166         * html/HTMLMediaElement.cpp:
167         (WebCore::HTMLMediaElement::controls):
168         * html/HTMLPlugInElement.cpp:
169         (WebCore::HTMLPlugInElement::getInstance):
170         (WebCore::HTMLPlugInElement::getNPObject):
171         * html/HTMLPlugInImageElement.cpp:
172         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
173         * html/parser/HTMLParserOptions.cpp:
174         (WebCore::HTMLParserOptions::HTMLParserOptions):
175         * inspector/InspectorAgent.cpp:
176         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
177         * inspector/InspectorClient.cpp:
178         (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
179         * inspector/InspectorFrontendClientLocal.cpp:
180         (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
181         (WebCore::InspectorFrontendClientLocal::evaluateOnLoad):
182         * inspector/InspectorOverlay.cpp:
183         (WebCore::InspectorOverlay::evaluateInOverlay):
184         * inspector/InspectorPageAgent.cpp:
185         (WebCore::InspectorPageAgent::getScriptExecutionStatus):
186         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
187         * inspector/PageRuntimeAgent.cpp:
188         (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
189         * loader/DocumentWriter.cpp:
190         (WebCore::DocumentWriter::begin):
191         * loader/FrameLoader.cpp:
192         (WebCore::FrameLoader::urlSelected):
193         (WebCore::FrameLoader::submitForm):
194         (WebCore::FrameLoader::cancelAndClear):
195         (WebCore::FrameLoader::clear):
196         (WebCore::FrameLoader::prepareForCachedPageRestore):
197         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
198         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
199         * loader/SubframeLoader.cpp:
200         (WebCore::SubframeLoader::requestFrame):
201         * loader/cache/CachedResourceLoader.cpp:
202         (WebCore::CachedResourceLoader::canRequest):
203         * page/EventSource.cpp:
204         (WebCore::EventSource::create):
205         * page/Frame.cpp:
206         (WebCore::Frame::willDetachPage):
207         * page/Frame.h:
208         (WebCore::Frame::script):
209         * page/Navigator.cpp:
210         (WebCore::shouldHideFourDot):
211         * page/Page.cpp:
212         (WebCore::Page::setDebugger):
213         * platform/graphics/wince/MediaPlayerProxy.cpp:
214         (WebCore::WebMediaPlayerProxy::pluginInstance):
215         (WebCore::WebMediaPlayerProxy::invokeMethod):
216         * plugins/PluginView.cpp:
217         (WebCore::PluginView::~PluginView):
218         (WebCore::PluginView::performRequest):
219         (WebCore::PluginView::load):
220         (WebCore::PluginView::bindingInstance):
221         (WebCore::PluginView::getValue):
222         * plugins/efl/PluginViewEfl.cpp:
223         (WebCore::PluginView::platformGetValue):
224         * xml/XMLHttpRequest.cpp:
225         (WebCore::XMLHttpRequest::open):
226         * xml/XMLTreeViewer.cpp:
227         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
228
229 2013-08-16  Andreas Kling  <akling@apple.com>
230
231         Attempt to fix the Qt/MountainLion build after r154142.
232
233         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
234         (WebCore::MediaPlayerPrivateQt::commitLoad):
235
236 2013-08-16  Allan Sandfeld Jensen  <allan.jensen@digia.com>
237
238         [Qt] Kerning in fast font path breaks letter-spacing
239         https://bugs.webkit.org/show_bug.cgi?id=119838
240
241         Reviewed by Jocelyn Turcotte.
242
243         Mark fonts with both kerning and letter-spacing as unsupported by the simple font-path.
244
245         Test: fast/text/letter-spacing-kerned.html
246
247         * platform/graphics/WidthIterator.h:
248         (WebCore::WidthIterator::supportsTypesettingFeatures):
249
250 2013-08-16  Andreas Kling  <akling@apple.com>
251
252         <https://webkit.org/b/119893> FrameView::frame() should return a reference.
253
254         Reviewed by Antti Koivisto.
255
256         FrameView::m_frame was only ever null for a brief moment during CachedFrame teardown.
257         Leave it alone instead, and update the assertion that depended on this behavior.
258         This enables us to make FrameView::frame() return a Frame&, exposing a ton of
259         unnecessary null checks.
260
261         * history/CachedFrame.cpp:
262         (WebCore::CachedFrame::destroy):
263
264             Remove call to FrameView::clearFrame() that was the only way to get a null
265             FrameView::m_frame. Immediately followed by a call to CachedFrame::clear() where
266             the FrameView would get destroyed anyway.
267
268         (WebCore::CachedFrame::clear):
269
270             Update an assertion to support the case where the Document's Frame pointer has
271             been cleared out and CachedFrame is still clinging to the FrameView.
272
273         * history/CachedPage.h:
274
275             Made CachedPage::destroy() private as it was only called by ~CachedPage().
276
277         * /:
278
279             Frame* FrameView::frame() => Frame& FrameView::frame()
280
281 2013-08-16  Brady Eidson  <beidson@apple.com>
282
283         (NetworkProcess)  Sync XHRs should load using async ResourceHandles, not ResourceHandle::loadResourceSynchronously
284         https://bugs.webkit.org/show_bug.cgi?id=119493
285
286         Reviewed by Alexey Proskuryakov.
287
288         No new tests (Covered by plenty of existing tests).
289
290         * WebCore.exp.in:
291         * WebCore.xcodeproj/project.pbxproj:
292
293         * platform/network/SynchronousLoaderClient.h: Make platformBadResponseError public
294
295         * platform/network/mac/ResourceHandleMac.mm:
296         (WebCore::ResourceHandle::platformLoadResourceSynchronously): Add comments/FIXMEs spelling out how wrong this code is.
297
298 2013-08-16  peavo@outlook.com  <peavo@outlook.com>
299
300         <https://webkit.org/b/119889> [WinCairo] Compile error.
301
302         Reviewed by Brent Fulgham.
303
304         * platform/network/curl/ResourceHandleManager.cpp:
305         (WebCore::certificatePath): Use correct function name.
306
307 2013-08-16  Brent Fulgham  <bfulgham@apple.com>
308
309         [Windows] Unreviewed build correction after r154165.
310
311         * WebCore.vcxproj/copyForwardingHeaders.cmd: Copy html/shadow header files
312         to WebKit include location.
313
314 2013-08-15  Brent Fulgham  <bfulgham@apple.com>
315
316         [Windows] Prevent dangling CACFLayer when switching to/from Tiled backing.
317         https://bugs.webkit.org/show_bug.cgi?id=119818
318
319         Reviewed by Darin Adler.
320
321         Covered by existing: compositing/tiling/empty-to-tiled.html
322
323         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
324         (PlatformCALayer::~PlatformCALayer): Remove deleted layer from its
325         parent layer 
326
327 2013-08-16  Andreas Kling  <akling@apple.com>
328
329         <https://webkit.org/b/119866> Frame::eventHandler() should return a reference.
330
331         Reviewed by Anders Carlsson.
332
333         Frame::m_eventHandler is never null.
334
335 2013-08-16  Commit Queue  <commit-queue@webkit.org>
336
337         Unreviewed, rolling out r153749.
338         http://trac.webkit.org/changeset/153749
339         https://bugs.webkit.org/show_bug.cgi?id=119892
340
341         The bison generation of the glslang* files has now been fixed. (Requested by zdobersek on #webkit).
342
343         * GNUmakefile.am:
344
345 2013-08-16  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>
346
347         [GTK] fixing localizedString method name
348         https://bugs.webkit.org/show_bug.cgi?id=119884
349
350         The method name defined in LocalizedStringsGtk.cpp doesn't not match
351         the one used in LocalizedStrings.h
352
353         Reviewed by Gustavo Noronha Silva.
354
355         * platform/gtk/LocalizedStringsGtk.cpp:
356         (WebCore::textTrackOffMenuItemText):
357
358 2013-08-16  Andrei Parvu  <parvu@adobe.com>
359
360         [CSS Masking] Add -webkit-mask-source-type property, with auto, alpha and luminance values
361         https://bugs.webkit.org/show_bug.cgi?id=119614
362
363         Added the -webkit-mask-source-type property, which can have a value of auto, alpha or
364         luminance. The default value is auto. This patch contains only the parsing of the property,
365         not the actual implementation of the types of masks. The parsing of mask-source-type in the
366         -webkit-mask property will be handled in a separate patch.
367
368         Reviewed by Dirk Schulze.
369
370         Test: fast/masking/parsing-mask-source-type.html
371
372         * css/CSSComputedStyleDeclaration.cpp: Added case for CSSPropertyWebkitMaskType.
373         (WebCore::ComputedStyleExtractor::propertyValue):
374         * css/CSSParser.cpp: Parsed the values for CSSPropertyWebkitMaskType.
375         (WebCore::CSSParser::parseValue):
376         (WebCore::CSSParser::parseFillProperty):
377         * css/CSSProperty.cpp:
378         (WebCore::CSSProperty::isInheritedProperty):
379         * css/CSSPropertyNames.in: Added -webkit-mask-type property.
380         * css/CSSToStyleMap.cpp: map the provided mask type to the FillLayer class.
381         (WebCore::CSSToStyleMap::mapFillMaskType):
382         * css/CSSToStyleMap.h:
383         * css/DeprecatedStyleBuilder.cpp:
384         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
385         * css/StyleResolver.cpp:
386         (WebCore::StyleResolver::applyProperty):
387         * rendering/style/FillLayer.cpp: Added the m_maskType property to the FillLayer class.
388         (WebCore::FillLayer::FillLayer):
389         (WebCore::FillLayer::operator=):
390         (WebCore::FillLayer::operator==):
391         * rendering/style/FillLayer.h: Added methods for working with m_maskType.
392         (WebCore::FillLayer::maskType):
393         (WebCore::FillLayer::isMaskTypeSet):
394         (WebCore::FillLayer::setMaskType):
395         (WebCore::FillLayer::clearMaskType):
396         (WebCore::FillLayer::initialMaskType):
397         * rendering/style/RenderStyleConstants.h: Added the EMaskSourceType enum.
398
399 2013-08-16  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
400
401         <https://webkit.org/b/119885> [CMake] Always build our generated versions of ANGLE's glslang.cpp and glslang_tab.cpp
402
403         Reviewed by Gyuyoung Kim.
404
405         Now that r154109 has landed, all Bison versions (at least from 2.3 up
406         to the latest 3.0) should be able to generate versions of glslang* that
407         build correctly.
408
409         Since the idea is to remove the prebuilt files from future imports of
410         ANGLE, always building our own versions is a good idea, and allows us
411         to get rid of some very ugly CMake checks.
412
413         * CMakeLists.txt: Always build glslang.cpp and glslang_tab.cpp from
414         DERIVED_SOURCES_WEBCORE_DIR.
415
416 2013-08-16  Julien Brianceau  <jbrianceau@nds.com>
417
418         <https://webkit.org/b/119880> [Qt] Build fix (broken since r154142).
419
420         Reviewed by Gyuyoung Kim.
421
422         Since r154142, Frame::loader() is a reference (and not a pointer anymore).
423
424         * xml/parser/XMLDocumentParserQt.cpp:
425         (WebCore::XMLDocumentParser::parseStartElement):
426
427 2013-08-16  Przemyslaw Szymanski  <p.szymanski3@samsung.com>
428
429         [WebGL] Vertex attribute binding validation method
430         https://bugs.webkit.org/show_bug.cgi?id=119515
431
432         This patch refactors WebGLRenderingContext code by moving the vertex
433         attribute binding validation to a separate method. It is now
434         possible to use that validation in other parts of the code. The
435         code is more clear now. 
436
437         Reviewed by Christophe Dumez.
438
439         No new tests. Covered by existing tests. No behaviour changed.
440         LayoutTests/webgl/resources/webgl_test_files/conformance/rendering/gl-drawelements.html
441         LayoutTests/webgl/resources/webgl_test_files/conformance/rendering/draw-elements-out-of-bounds.html
442         LayoutTests/webgl/resources/webgl_test_files/conformance/rendering/draw-arrays-out-of-bounds.html
443
444         * html/canvas/WebGLRenderingContext.cpp:
445         (WebCore::WebGLRenderingContext::validateVertexAttributes):
446         * html/canvas/WebGLVertexArrayObjectOES.h:
447         (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::isBound):
448         (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::validateBinding):
449
450 2013-08-15  Antti Koivisto  <antti@apple.com>
451
452         <https://webkit.org/b/119865> Parent pointer and shadow root host pointer should not be shared
453
454         Reviewed by Andreas Kling.
455
456         Node::m_parentOrShadowHostNode is currently used both as the parent pointer for regular nodes and as the host
457         pointer for ShadowRoots. This is confusing. It is also slow as it introduces a branch to all code paths that 
458         want to traverse ancestors normally, without leaving the shadow trees. This is much more popular than
459         traversing through.
460         
461         This patch makes the Node have a pure parent pointer only and adds the host element pointer as a separate
462         member in ShadowRoot. This eliminates the ShadowRoot test branch from Node::parentNode() as the pointer is
463         now always null in the root node.
464         
465         ShadowRoot grows by a pointer. This is not significant as there are few ShadowRoots compared to Nodes.
466
467         * css/StyleResolver.cpp:
468         (WebCore::StyleResolver::pushParentShadowRoot):
469         (WebCore::StyleResolver::popParentShadowRoot):
470         * dom/Attr.cpp:
471         (WebCore::Attr::createTextChild):
472         * dom/ComposedShadowTreeWalker.cpp:
473         (WebCore::ComposedShadowTreeWalker::traverseParentBackToShadowRootOrHost):
474         * dom/ContainerNode.cpp:
475         (WebCore::ContainerNode::insertBeforeCommon):
476         (WebCore::ContainerNode::removeBetween):
477         * dom/ContainerNodeAlgorithms.cpp:
478         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
479         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
480         * dom/ContainerNodeAlgorithms.h:
481         (WebCore::appendChildToContainer):
482         (WebCore::Private::addChildNodesToDeletionQueue):
483         * dom/Document.h:
484         (WebCore::Node::Node):
485         * dom/Element.cpp:
486         (WebCore::Element::addShadowRoot):
487         (WebCore::Element::removeShadowRoot):
488         * dom/ElementRareData.h:
489         (WebCore::ElementRareData::releasePseudoElement):
490         * dom/EventPathWalker.cpp:
491         (WebCore::EventPathWalker::moveToParent):
492         * dom/EventRetargeter.cpp:
493         (WebCore::determineDispatchBehavior):
494         * dom/EventRetargeter.h:
495         (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
496         * dom/Node.cpp:
497         (WebCore::Node::shadowHost):
498         (WebCore::Node::deprecatedShadowAncestorNode):
499         (WebCore::Node::parentOrShadowHostElement):
500         * dom/Node.h:
501         (WebCore::Node::hasTreeSharedParent):
502         
503             Shadow host elements refs the ShadowRoot. There is no reason to use TreeShared to keep it alive.
504
505         (WebCore::Node::setParentNode):
506         (WebCore::Node::parentNode):
507         (WebCore::Node::parentNodeGuaranteedHostFree):
508         * dom/PseudoElement.cpp:
509         (WebCore::PseudoElement::PseudoElement):
510         * dom/ShadowRoot.cpp:
511         (WebCore::ShadowRoot::ShadowRoot):
512         (WebCore::ShadowRoot::setInnerHTML):
513         (WebCore::ShadowRoot::setApplyAuthorStyles):
514         (WebCore::ShadowRoot::setResetStyleInheritance):
515         * dom/ShadowRoot.h:
516         
517             Rename host() -> hostElement() for clarity.
518
519         (WebCore::Node::parentOrShadowHostNode):
520         * dom/Text.cpp:
521         (WebCore::isSVGShadowText):
522         * dom/TreeScope.cpp:
523         (WebCore::TreeScope::focusedElement):
524         * html/shadow/ContentDistributor.cpp:
525         (WebCore::ContentDistributor::ensureDistribution):
526         * html/shadow/InsertionPoint.cpp:
527         (WebCore::InsertionPoint::insertedInto):
528         (WebCore::InsertionPoint::removedFrom):
529         (WebCore::InsertionPoint::parseAttribute):
530         * page/DragController.cpp:
531         (WebCore::asFileInput):
532         * page/EventHandler.cpp:
533         (WebCore::EventHandler::handleMousePressEvent):
534         (WebCore::instanceAssociatedWithShadowTreeElement):
535         * page/FocusController.cpp:
536         (WebCore::FocusNavigationScope::owner):
537         * rendering/RenderBlock.cpp:
538         (WebCore::RenderBlock::hasLineIfEmpty):
539         * rendering/RenderLayer.cpp:
540         (WebCore::rendererForScrollbar):
541         * svg/SVGElementInstance.h:
542         (WebCore::SVGElementInstance::setParentNode):
543             
544             Renamed so it works with appendChildToContainer template.
545
546         * svg/SVGStyledElement.cpp:
547         (WebCore::SVGStyledElement::title):
548
549 2013-08-13  Darin Adler  <darin@apple.com>
550
551         [iOS] Get iOS port off legacy clipboard
552         https://bugs.webkit.org/show_bug.cgi?id=116412
553
554         Reviewed by Daniel Bates.
555
556         * dom/Clipboard.h: Turn off legacy style clipboard for iOS.
557         Next patch will be able to remove legacy style entirely!
558
559         * editing/Editor.cpp:
560         (WebCore::Editor::dispatchCPPEvent): Attach the frame to the
561         pasteboard directly explicitly. This is a layering violation, but
562         is needed until we change how iOS pasteboard communicates with the
563         host to use platform strategies instead of the editor client.
564
565         * editing/ios/EditorIOS.mm: Removed Editor::newGeneralClipboard and
566         the include of ClipboardIOS.h.
567
568         * platform/Pasteboard.h: Added the setFrame function (iOS-only) and
569         frame and change count data members.
570
571         * platform/ios/ClipboardIOS.h: Emptied out. Later we can remove this.
572         * platform/ios/ClipboardIOS.mm: Ditto.
573
574         * platform/ios/PasteboardIOS.mm:
575         (WebCore::Pasteboard::Pasteboard): Initialize m_frame to zero.
576         (WebCore::Pasteboard::createForCopyAndPaste): Added.
577         (WebCore::Pasteboard::createPrivate): Added.
578         (WebCore::Pasteboard::writePasteboard): Added. Empty function, like
579         writeClipboard. Eventually need to remove or implement this.
580         (WebCore::Pasteboard::setFrame): Added. Sets frame and change count.
581         (WebCore::Pasteboard::hasData): Moved here from ClipboardIOS.
582         (WebCore::utiTypeFromCocoaType): Ditto.
583         (WebCore::cocoaTypeFromHTMLClipboardType): Ditto.
584         (WebCore::Pasteboard::clear): Ditto.
585         (WebCore::Pasteboard::readString): Ditto.
586         (WebCore::addHTMLClipboardTypesForCocoaType): Ditto.
587         (WebCore::Pasteboard::writeString): Ditto.
588         (WebCore::Pasteboard::types): Ditto.
589         (WebCore::Pasteboard::readFilenames): Ditto.
590
591         * WebCore.exp.in: Move Clipboard destructor from Mac-only section to
592         common section shared by Mac and iOS.
593
594 2013-08-15  Ryuan Choi  <ryuan.choi@samsung.com>
595
596         [EFL] Unreviewed build fix after r154142 and r154144.
597
598         * platform/efl/ErrorsEfl.cpp: Follow the changes of r154142.
599         (WebCore::printError):
600         (WebCore::printerNotFoundError):
601         (WebCore::invalidPageRangeToPrint):
602
603 2013-08-15  Hans Muller  <hmuller@adobe.com>
604
605         [CSS Shapes] Add support for shape-outside image values
606         https://bugs.webkit.org/show_bug.cgi?id=119809
607
608         Added minimal support for shape-outside image values. A new method that computes
609         the excluded intervals for a horizontal line segment was added to the RasterIntervals
610         class. The stub RasterShape getExcludedIntervals() method has been replaced by
611         one that uses the new method.
612
613         Image shapes are represented by a RasterIntervals object, which just encapsulates a
614         Region object. The new getExcludedIntervals() method computes the excluded intervals
615         for a horizontal line segment between y1 and y2. To find the excluded intervals we
616         vertically expand each of the image shape Region's rectangles that fall within the line
617         segment, so that they begin at y1 and have height = y2 - y1. The union of the expanded
618         rectangles produces a new Region whose horizontal projection defines the excluded intervals.
619
620         Reviewed by Alexandru Chiculita.
621
622         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-image-001.html
623                fast/shapes/shape-outside-floats/shape-outside-floats-image-002.html
624
625         * rendering/shapes/RasterShape.cpp:
626         (WebCore::RasterShapeIntervals::getExcludedIntervals): See above.
627         (WebCore::RasterShape::getExcludedIntervals): Stub method has been replaced by one that uses RasterShapeIntervals::getExcludedIntervals().
628         * rendering/shapes/RasterShape.h:
629         * rendering/shapes/ShapeOutsideInfo.cpp:
630         (WebCore::ShapeOutsideInfo::isEnabledFor): Enable Image valued shapes.
631
632 2013-08-15  Simon Fraser  <simon.fraser@apple.com>
633
634         <https://webkit.org/b/119871> Flash of garbage pixels when playing a show on Hulu
635
636         Reviewed by Tim Horton.
637         
638         When starting a show on Hulu, there's a layer that gets marked as
639         opaque because it has a child RenderLayer whose background fills the
640         compositing layer. That child RenderLayer was recently position:fixed
641         but outside the viewport, so its viewportConstrainedNotCompositedReason
642         was set to a non-zero value.
643         
644         However, we failed to clear the viewportConstrainedNotCompositedReason
645         when the layer became non-fixed. This caused painting the opaque
646         layer to bail in RenderLayer::paintLayer(), leaving garbage.
647
648         Test: compositing/contents-opaque/fixed-to-nonfixed.html
649
650         * rendering/RenderLayer.cpp:
651         (WebCore::RenderLayer::paintLayer): Add an assertion to catch this error in future.
652         * rendering/RenderLayerCompositor.cpp:
653         (WebCore::RenderLayerCompositor::updateBacking): Make sure we clear the
654         ViewportConstrainedNotCompositedReason if the layer is no longer fixed.
655
656 2013-08-15  Brent Fulgham  <bfulgham@apple.com>
657
658         [Windows] Consolidate WebKit Bundle Handling
659         https://bugs.webkit.org/show_bug.cgi?id=119869
660
661         Reviewed by Tim Horton.
662
663         * WebCore.vcxproj/WebCore.vcxproj: Add new WebCoreBundleWin files.
664         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
665         * platform/network/curl/ResourceHandleManager.cpp:
666         (WebCore::certificatePath): Use correct bundle handling logic.
667         * platform/win/LocalizedStringsWin.cpp: Move bundle implementation to
668         new WebCoreBundleWin.cpp file.
669         * platform/win/WebCoreBundleWin.cpp: Added.
670         (WebCore::createWebKitBundle):
671         (WebCore::webKitBundle):
672         * platform/win/WebCoreBundleWin.h: Added.
673
674 2013-08-15  Anders Carlsson  <andersca@apple.com>
675
676         <https://webkit.org/b/119859> Frame::loader() should return a reference
677
678         Reviewed by Andreas Kling.
679
680         * Modules/websockets/WebSocketChannel.cpp:
681         (WebCore::WebSocketChannel::willOpenSocketStream):
682         * WebCore.xcodeproj/project.pbxproj:
683         * accessibility/AccessibilityObject.cpp:
684         (WebCore::AccessibilityObject::press):
685         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
686         (-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]):
687         * bindings/ScriptControllerBase.cpp:
688         (WebCore::ScriptController::canExecuteScripts):
689         * bindings/js/ScriptController.cpp:
690         (WebCore::ScriptController::initScript):
691         * css/CSSFontSelector.cpp:
692         (WebCore::CSSFontSelector::beginLoadTimerFired):
693         * dom/DOMImplementation.cpp:
694         (WebCore::DOMImplementation::createDocument):
695         * dom/Document.cpp:
696         (WebCore::Document::Document):
697         (WebCore::Document::setVisualUpdatesAllowed):
698         (WebCore::Document::updateTitle):
699         (WebCore::Document::open):
700         (WebCore::Document::explicitClose):
701         (WebCore::Document::implicitClose):
702         (WebCore::Document::userAgent):
703         (WebCore::Document::canNavigate):
704         (WebCore::Document::processHttpEquiv):
705         (WebCore::Document::referrer):
706         (WebCore::Document::documentDidResumeFromPageCache):
707         (WebCore::Document::openSearchDescriptionURL):
708         (WebCore::Document::finishedParsing):
709         (WebCore::Document::addIconURL):
710         (WebCore::Document::initSecurityContext):
711         (WebCore::Document::updateURLForPushOrReplaceState):
712         (WebCore::Document::loadEventDelayTimerFired):
713         (WebCore::Document::loader):
714         (WebCore::Document::decrementActiveParserCount):
715         * history/CachedFrame.cpp:
716         (WebCore::CachedFrameBase::CachedFrameBase):
717         (WebCore::CachedFrameBase::restore):
718         (WebCore::CachedFrame::CachedFrame):
719         (WebCore::CachedFrame::open):
720         (WebCore::CachedFrame::destroy):
721         * history/PageCache.cpp:
722         (WebCore::logCanCacheFrameDecision):
723         (WebCore::logCanCachePageDecision):
724         (WebCore::PageCache::canCachePageContainingThisFrame):
725         (WebCore::PageCache::canCache):
726         * html/HTMLAnchorElement.cpp:
727         (WebCore::HTMLAnchorElement::handleClick):
728         * html/HTMLAppletElement.cpp:
729         (WebCore::HTMLAppletElement::updateWidget):
730         * html/HTMLElement.cpp:
731         (WebCore::HTMLElement::rendererIsNeeded):
732         * html/HTMLEmbedElement.cpp:
733         (WebCore::HTMLEmbedElement::updateWidget):
734         * html/HTMLFormElement.cpp:
735         (WebCore::HTMLFormElement::prepareForSubmission):
736         (WebCore::HTMLFormElement::submit):
737         * html/HTMLFrameElementBase.cpp:
738         (WebCore::HTMLFrameElementBase::openURL):
739         * html/HTMLFrameOwnerElement.cpp:
740         (WebCore::HTMLFrameOwnerElement::disconnectContentFrame):
741         * html/HTMLFrameSetElement.cpp:
742         (WebCore::HTMLFrameSetElement::insertedInto):
743         (WebCore::HTMLFrameSetElement::removedFrom):
744         * html/HTMLHtmlElement.cpp:
745         (WebCore::HTMLHtmlElement::insertedByParser):
746         * html/HTMLMediaElement.cpp:
747         (WebCore::HTMLMediaElement::createRenderer):
748         (WebCore::HTMLMediaElement::attach):
749         (WebCore::HTMLMediaElement::loadResource):
750         (WebCore::HTMLMediaElement::getPluginProxyParams):
751         (WebCore::HTMLMediaElement::createMediaPlayerProxy):
752         (WebCore::HTMLMediaElement::updateWidget):
753         (WebCore::HTMLMediaElement::mediaPlayerReferrer):
754         (WebCore::HTMLMediaElement::mediaPlayerUserAgent):
755         * html/HTMLObjectElement.cpp:
756         (WebCore::HTMLObjectElement::parametersForPlugin):
757         (WebCore::HTMLObjectElement::updateWidget):
758         * html/HTMLPlugInImageElement.cpp:
759         (WebCore::HTMLPlugInImageElement::isImageType):
760         (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
761         (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns):
762         * html/HTMLVideoElement.cpp:
763         (WebCore::HTMLVideoElement::setDisplayMode):
764         * html/ImageDocument.cpp:
765         (WebCore::ImageDocumentParser::appendBytes):
766         (WebCore::ImageDocumentParser::finish):
767         (WebCore::ImageDocument::createDocumentStructure):
768         * html/MediaDocument.cpp:
769         (WebCore::MediaDocumentParser::createDocumentStructure):
770         * html/PluginDocument.cpp:
771         (WebCore::PluginDocumentParser::createDocumentStructure):
772         (WebCore::PluginDocumentParser::appendBytes):
773         (WebCore::PluginDocument::detach):
774         (WebCore::PluginDocument::cancelManualPluginLoad):
775         * html/canvas/WebGLRenderingContext.cpp:
776         (WebCore::WebGLRenderingContext::create):
777         (WebCore::WebGLRenderingContext::loseContextImpl):
778         (WebCore::WebGLRenderingContext::maybeRestoreContext):
779         * html/parser/HTMLConstructionSite.cpp:
780         (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
781         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
782         * html/parser/HTMLParserOptions.cpp:
783         (WebCore::HTMLParserOptions::HTMLParserOptions):
784         * html/parser/XSSAuditor.cpp:
785         (WebCore::XSSAuditor::init):
786         * html/parser/XSSAuditorDelegate.cpp:
787         (WebCore::XSSAuditorDelegate::generateViolationReport):
788         (WebCore::XSSAuditorDelegate::didBlockScript):
789         * inspector/InspectorApplicationCacheAgent.cpp:
790         (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
791         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
792         * inspector/InspectorFrontendClientLocal.cpp:
793         (WebCore::InspectorFrontendClientLocal::openInNewTab):
794         * inspector/InspectorFrontendHost.cpp:
795         (WebCore::InspectorFrontendHost::loadResourceSynchronously):
796         * inspector/InspectorOverlay.cpp:
797         (WebCore::InspectorOverlay::overlayPage):
798         * inspector/InspectorPageAgent.cpp:
799         (WebCore::InspectorPageAgent::mainResourceContent):
800         (WebCore::InspectorPageAgent::reload):
801         (WebCore::InspectorPageAgent::navigate):
802         (WebCore::allResourcesURLsForFrame):
803         (WebCore::InspectorPageAgent::searchInResource):
804         (WebCore::InspectorPageAgent::assertDocumentLoader):
805         (WebCore::InspectorPageAgent::buildObjectForFrame):
806         * inspector/InspectorResourceAgent.cpp:
807         (WebCore::InspectorResourceAgent::didFailLoading):
808         * loader/CookieJar.cpp:
809         (WebCore::networkingContext):
810         * loader/DocumentLoader.cpp:
811         (WebCore::DocumentLoader::frameLoader):
812         (WebCore::DocumentLoader::document):
813         (WebCore::DocumentLoader::stopLoading):
814         (WebCore::DocumentLoader::removeSubresourceLoader):
815         (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
816         (WebCore::DocumentLoader::iconLoadDecisionAvailable):
817         (WebCore::DocumentLoader::continueIconLoadWithDecision):
818         * loader/DocumentThreadableLoader.cpp:
819         (WebCore::DocumentThreadableLoader::didReceiveResponse):
820         (WebCore::DocumentThreadableLoader::didFinishLoading):
821         (WebCore::DocumentThreadableLoader::didFail):
822         (WebCore::DocumentThreadableLoader::preflightFailure):
823         (WebCore::DocumentThreadableLoader::loadRequest):
824         * loader/DocumentWriter.cpp:
825         (WebCore::DocumentWriter::replaceDocument):
826         (WebCore::DocumentWriter::createDocument):
827         (WebCore::DocumentWriter::begin):
828         * loader/FrameLoader.cpp:
829         (WebCore::FrameLoader::~FrameLoader):
830         (WebCore::FrameLoader::allChildrenAreComplete):
831         (WebCore::FrameLoader::allAncestorsAreComplete):
832         (WebCore::FrameLoader::loadURLIntoChildFrame):
833         (WebCore::FrameLoader::outgoingReferrer):
834         (WebCore::FrameLoader::setOpener):
835         (WebCore::FrameLoader::completed):
836         (WebCore::FrameLoader::started):
837         (WebCore::FrameLoader::loadFrameRequest):
838         (WebCore::FrameLoader::loadURL):
839         (WebCore::FrameLoader::load):
840         (WebCore::FrameLoader::loadWithDocumentLoader):
841         (WebCore::FrameLoader::stopAllLoaders):
842         (WebCore::FrameLoader::closeOldDataSources):
843         (WebCore::FrameLoader::subframeIsLoading):
844         (WebCore::FrameLoader::subresourceCachePolicy):
845         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
846         (WebCore::FrameLoader::detachChildren):
847         (WebCore::FrameLoader::checkLoadComplete):
848         (WebCore::FrameLoader::detachFromParent):
849         (WebCore::FrameLoader::loadPostRequest):
850         (WebCore::FrameLoader::loadResourceSynchronously):
851         (WebCore::FrameLoader::shouldClose):
852         (WebCore::FrameLoader::handleBeforeUnloadEvent):
853         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
854         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
855         (WebCore::createWindow):
856         * loader/HistoryController.cpp:
857         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
858         (WebCore::HistoryController::restoreScrollPositionAndViewState):
859         (WebCore::HistoryController::saveDocumentState):
860         (WebCore::HistoryController::saveDocumentAndScrollState):
861         (WebCore::isAssociatedToRequestedHistoryItem):
862         (WebCore::HistoryController::restoreDocumentState):
863         (WebCore::HistoryController::shouldStopLoadingForHistoryItem):
864         (WebCore::HistoryController::goToItem):
865         (WebCore::HistoryController::updateForBackForwardNavigation):
866         (WebCore::HistoryController::updateForReload):
867         (WebCore::HistoryController::updateForStandardLoad):
868         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
869         (WebCore::HistoryController::updateForClientRedirect):
870         (WebCore::HistoryController::updateForCommit):
871         (WebCore::HistoryController::recursiveUpdateForCommit):
872         (WebCore::HistoryController::updateForSameDocumentNavigation):
873         (WebCore::HistoryController::recursiveUpdateForSameDocumentNavigation):
874         (WebCore::HistoryController::initializeItem):
875         (WebCore::HistoryController::createItemTree):
876         (WebCore::HistoryController::recursiveSetProvisionalItem):
877         (WebCore::HistoryController::recursiveGoToItem):
878         (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
879         (WebCore::HistoryController::updateCurrentItem):
880         (WebCore::HistoryController::pushState):
881         (WebCore::HistoryController::replaceState):
882         * loader/ImageLoader.cpp:
883         (WebCore::pageIsBeingDismissed):
884         * loader/MixedContentChecker.cpp:
885         (WebCore::MixedContentChecker::client):
886         * loader/NavigationScheduler.cpp:
887         (WebCore::ScheduledURLNavigation::fire):
888         (WebCore::ScheduledURLNavigation::didStartTimer):
889         (WebCore::ScheduledURLNavigation::didStopTimer):
890         (WebCore::ScheduledRedirect::shouldStartTimer):
891         (WebCore::ScheduledRedirect::fire):
892         (WebCore::ScheduledRefresh::fire):
893         (WebCore::ScheduledHistoryNavigation::fire):
894         (WebCore::ScheduledFormSubmission::fire):
895         (WebCore::ScheduledFormSubmission::didStartTimer):
896         (WebCore::ScheduledFormSubmission::didStopTimer):
897         (WebCore::NavigationScheduler::mustLockBackForwardList):
898         (WebCore::NavigationScheduler::scheduleLocationChange):
899         (WebCore::NavigationScheduler::scheduleFormSubmission):
900         (WebCore::NavigationScheduler::scheduleRefresh):
901         (WebCore::NavigationScheduler::schedule):
902         * loader/PingLoader.cpp:
903         (WebCore::PingLoader::loadImage):
904         (WebCore::PingLoader::sendPing):
905         (WebCore::PingLoader::sendViolationReport):
906         (WebCore::PingLoader::PingLoader):
907         * loader/PolicyChecker.cpp:
908         (WebCore::PolicyChecker::checkNavigationPolicy):
909         (WebCore::PolicyChecker::checkNewWindowPolicy):
910         (WebCore::PolicyChecker::checkContentPolicy):
911         (WebCore::PolicyChecker::cancelCheck):
912         (WebCore::PolicyChecker::stopCheck):
913         (WebCore::PolicyChecker::cannotShowMIMEType):
914         (WebCore::PolicyChecker::continueLoadAfterWillSubmitForm):
915         (WebCore::PolicyChecker::continueAfterNavigationPolicy):
916         (WebCore::PolicyChecker::continueAfterNewWindowPolicy):
917         (WebCore::PolicyChecker::handleUnimplementablePolicy):
918         * loader/ProgressTracker.cpp:
919         (WebCore::ProgressTracker::progressStarted):
920         (WebCore::ProgressTracker::progressCompleted):
921         (WebCore::ProgressTracker::finalProgressComplete):
922         (WebCore::ProgressTracker::incrementProgress):
923         (WebCore::ProgressTracker::progressHeartbeatTimerFired):
924         * loader/ResourceLoadNotifier.cpp:
925         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
926         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
927         (WebCore::ResourceLoadNotifier::willSendRequest):
928         (WebCore::ResourceLoadNotifier::didFailToLoad):
929         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
930         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
931         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
932         (WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
933         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
934         (WebCore::ResourceLoadNotifier::dispatchDidFailLoading):
935         * loader/ResourceLoader.cpp:
936         (WebCore::ResourceLoader::ResourceLoader):
937         (WebCore::ResourceLoader::start):
938         (WebCore::ResourceLoader::frameLoader):
939         (WebCore::ResourceLoader::willSendRequest):
940         * loader/SubframeLoader.cpp:
941         (WebCore::SubframeLoader::pluginIsLoadable):
942         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
943         (WebCore::SubframeLoader::createJavaAppletWidget):
944         (WebCore::SubframeLoader::loadOrRedirectSubframe):
945         (WebCore::SubframeLoader::loadSubframe):
946         (WebCore::SubframeLoader::allowPlugins):
947         (WebCore::SubframeLoader::shouldUsePlugin):
948         (WebCore::SubframeLoader::loadPlugin):
949         * loader/appcache/ApplicationCacheGroup.cpp:
950         (WebCore::ApplicationCacheGroup::selectCache):
951         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
952         (WebCore::ApplicationCacheGroup::update):
953         (WebCore::ApplicationCacheGroup::createResourceHandle):
954         (WebCore::ApplicationCacheGroup::didReceiveResponse):
955         (WebCore::ApplicationCacheGroup::didFinishLoading):
956         (WebCore::ApplicationCacheGroup::didFail):
957         (WebCore::ApplicationCacheGroup::addEntry):
958         (WebCore::CallCacheListenerTask::performTask):
959         (WebCore::ApplicationCacheGroup::postListenerTask):
960         * loader/appcache/DOMApplicationCache.cpp:
961         (WebCore::DOMApplicationCache::applicationCacheHost):
962         * loader/archive/cf/LegacyWebArchive.cpp:
963         (WebCore::LegacyWebArchive::create):
964         (WebCore::LegacyWebArchive::createFromSelection):
965         * loader/cache/CachedResource.cpp:
966         (WebCore::CachedResource::addAdditionalRequestHeaders):
967         (WebCore::CachedResource::load):
968         * loader/cache/CachedResourceLoader.cpp:
969         (WebCore::CachedResourceLoader::requestImage):
970         (WebCore::CachedResourceLoader::checkInsecureContent):
971         (WebCore::CachedResourceLoader::canRequest):
972         (WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):
973         (WebCore::CachedResourceLoader::requestResource):
974         (WebCore::CachedResourceLoader::clientDefersImage):
975         (WebCore::CachedResourceLoader::cachePolicy):
976         (WebCore::CachedResourceLoader::loadDone):
977         * loader/icon/IconController.cpp:
978         (WebCore::IconController::commitToDatabase):
979         (WebCore::IconController::startLoader):
980         (WebCore::IconController::continueLoadWithDecision):
981         * loader/icon/IconLoader.cpp:
982         (WebCore::IconLoader::startLoading):
983         (WebCore::IconLoader::notifyFinished):
984         * page/Chrome.cpp:
985         (WebCore::canRunModalIfDuringPageDismissal):
986         * page/ContextMenuController.cpp:
987         (WebCore::openNewWindow):
988         (WebCore::ContextMenuController::contextMenuItemSelected):
989         (WebCore::ContextMenuController::populate):
990         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
991         * page/DOMWindow.cpp:
992         (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
993         (WebCore::DOMWindow::postMessageTimerFired):
994         (WebCore::DOMWindow::close):
995         (WebCore::DOMWindow::print):
996         (WebCore::DOMWindow::stop):
997         (WebCore::DOMWindow::setName):
998         (WebCore::DOMWindow::opener):
999         (WebCore::DOMWindow::dispatchLoadEvent):
1000         (WebCore::DOMWindow::setLocation):
1001         (WebCore::DOMWindow::createWindow):
1002         (WebCore::DOMWindow::open):
1003         * page/DOMWindowExtension.cpp:
1004         (WebCore::DOMWindowExtension::disconnectFrameForPageCache):
1005         (WebCore::DOMWindowExtension::reconnectFrameFromPageCache):
1006         (WebCore::DOMWindowExtension::willDestroyGlobalObjectInCachedFrame):
1007         (WebCore::DOMWindowExtension::willDestroyGlobalObjectInFrame):
1008         (WebCore::DOMWindowExtension::willDetachGlobalObjectFromFrame):
1009         * page/DragController.cpp:
1010         (WebCore::DragController::performDrag):
1011         * page/EventHandler.cpp:
1012         (WebCore::EventHandler::handleMousePressEvent):
1013         (WebCore::EventHandler::keyEvent):
1014         * page/Frame.cpp:
1015         (WebCore::Frame::~Frame):
1016         (WebCore::Frame::setView):
1017         (WebCore::Frame::injectUserScripts):
1018         (WebCore::Frame::willDetachPage):
1019         * page/Frame.h:
1020         (WebCore::Frame::loader):
1021         * page/FrameView.cpp:
1022         (WebCore::FrameView::mediaType):
1023         (WebCore::FrameView::setFixedVisibleContentRect):
1024         (WebCore::FrameView::shouldUseLoadTimeDeferredRepaintDelay):
1025         (WebCore::FrameView::performPostLayoutTasks):
1026         (WebCore::FrameView::autoSizeIfEnabled):
1027         (WebCore::FrameView::scrollTo):
1028         (WebCore::FrameView::shouldSuspendScrollAnimations):
1029         (WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
1030         (WebCore::FrameView::wheelEvent):
1031         (WebCore::FrameView::firePaintRelatedMilestones):
1032         * page/History.cpp:
1033         (WebCore::History::stateInternal):
1034         (WebCore::History::stateObjectAdded):
1035         * page/Location.cpp:
1036         (WebCore::Location::setLocation):
1037         * page/Navigator.cpp:
1038         (WebCore::Navigator::userAgent):
1039         * page/Page.cpp:
1040         (WebCore::Page::goToItem):
1041         (WebCore::Page::refreshPlugins):
1042         (WebCore::Page::setDefersLoading):
1043         (WebCore::Page::setMemoryCacheClientCallsEnabled):
1044         (WebCore::Page::addRelevantRepaintedObject):
1045         * page/Performance.cpp:
1046         (WebCore::Performance::now):
1047         * page/PerformanceNavigation.cpp:
1048         (WebCore::PerformanceNavigation::type):
1049         (WebCore::PerformanceNavigation::redirectCount):
1050         * page/PerformanceResourceTiming.cpp:
1051         (WebCore::monotonicTimeToDocumentMilliseconds):
1052         * page/mac/PageMac.cpp:
1053         (WebCore::Page::addSchedulePair):
1054         (WebCore::Page::removeSchedulePair):
1055         * platform/ios/PasteboardIOS.mm:
1056         (WebCore::documentFragmentWithImageResource):
1057         (WebCore::documentFragmentWithRTF):
1058         (WebCore::Pasteboard::documentFragmentForPasteboardItemAtIndex):
1059         * platform/mac/HTMLConverter.mm:
1060         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
1061         (-[WebHTMLConverter _loadFromDOMRange]):
1062         * platform/mac/PasteboardMac.mm:
1063         (WebCore::documentFragmentWithImageResource):
1064         (WebCore::documentFragmentWithRTF):
1065         (WebCore::fragmentFromWebArchive):
1066         * plugins/DOMMimeType.cpp:
1067         (WebCore::DOMMimeType::enabledPlugin):
1068         * rendering/RenderLayer.cpp:
1069         (WebCore::RenderLayer::scrollTo):
1070         * svg/SVGAElement.cpp:
1071         (WebCore::SVGAElement::defaultEventHandler):
1072         * svg/graphics/SVGImage.cpp:
1073         (WebCore::SVGImage::~SVGImage):
1074         (WebCore::SVGImage::dataChanged):
1075         * testing/Internals.cpp:
1076         (WebCore::Internals::formControlStateOfPreviousHistoryItem):
1077         (WebCore::Internals::setFormControlStateOfPreviousHistoryItem):
1078         (WebCore::Internals::getReferencedFilePaths):
1079         (WebCore::Internals::forceReload):
1080         * xml/XSLTProcessorLibxslt.cpp:
1081         (WebCore::docLoaderFunc):
1082         * xml/parser/XMLDocumentParserLibxml2.cpp:
1083         (WebCore::openFunc):
1084         (WebCore::XMLDocumentParser::startElementNs):
1085
1086 2013-08-15  Daniel Bates  <dabates@apple.com>
1087
1088         <https://webkit.org/b/119863> [iOS] Upstream WebCore/editing/ios
1089
1090         Reviewed by David Kilzer.
1091
1092         Use the same UUIDs for EditorIOS.mm and the group ios as in the iOS tree
1093         so as to make it straightforward to merge changes to the WebCore Xcode
1094         project file on WebKit.org with changes to the same file in the iOS tree.
1095
1096         * WebCore.xcodeproj/project.pbxproj:
1097
1098 2013-08-15  Brent Fulgham  <bfulgham@apple.com>
1099
1100         [Windows] Unreviewed build fix after r15417.
1101
1102         * DerivedSources.cpp: Remove classes that now live in JSC.
1103         * WebCore.vcxproj/WebCore.vcxproj: Remove classes no longer included in WebCore.
1104         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1105         * bindings/js/WebCoreTypedArrayController.cpp: Add explicit namespace to avoid conflict
1106         with Windows 'Unknown' type.
1107         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots):
1108         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):
1109
1110 2013-08-15  Daniel Bates  <dabates@apple.com>
1111
1112         <https://webkit.org/b/119863> [iOS] Upstream WebCore/editing/ios
1113
1114         Reviewed by David Kilzer.
1115
1116         * WebCore.xcodeproj/project.pbxproj:
1117         * editing/ios/EditorIOS.mm: Added.
1118         (WebCore::Editor::newGeneralClipboard):
1119         (WebCore::Editor::showFontPanel):
1120         (WebCore::Editor::showStylesPanel):
1121         (WebCore::Editor::showColorPanel):
1122         (WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
1123         (WebCore::Editor::insertParagraphSeparatorInQuotedContent):
1124         (WebCore::styleForSelectionStart):
1125         (WebCore::Editor::fontForSelection):
1126         (WebCore::Editor::fontAttributesForSelectionStart):
1127         (WebCore::Editor::removeUnchangeableStyles):
1128
1129 2013-08-15  Dirk Schulze  <krit@webkit.org>
1130
1131         Implement CSS Image filter() function
1132         https://bugs.webkit.org/show_bug.cgi?id=119845
1133
1134         Reviewed by Dean Jackson.
1135
1136         The Filter Effects specification defines a new CSS Image function called
1137         filter(). This function takes another CSS Image as well as a filter function
1138         list as input and can be used by various CSS properties.
1139
1140         Example:
1141
1142             background-image: -webkit-filter(url(image.png), brightness(0.5))
1143
1144         This patch implements the current definition of filter() based on other
1145         image generation classes like CSSCrossfadeValue.
1146         A new class called CSSFilterImageValue was added together with an
1147         image observer.
1148
1149         The function is implemented prefixed and behind the compiler flag CSS_FILTERS.
1150
1151         Tests: fast/filter-image/filter-image.html
1152                fast/filter-image/parse-filter-image.html
1153
1154         * CMakeLists.txt: Added new files to build systems.
1155         * GNUmakefile.list.am:
1156         * Target.pri:
1157         * WebCore.vcxproj/WebCore.vcxproj:
1158         * WebCore.xcodeproj/project.pbxproj:
1159         * css/CSSAllInOne.cpp:
1160         * css/CSSCrossfadeValue.cpp: Share code together with CSSFilterImageValue
1161             in CSSImageGeneratorValue.cpp.
1162         (WebCore::CSSCrossfadeValue::isPending):
1163         (WebCore::CSSCrossfadeValue::loadSubimages):
1164         * css/CSSFilterImageValue.cpp: Added.
1165         (WebCore::CSSFilterImageValue::~CSSFilterImageValue):
1166         (WebCore::CSSFilterImageValue::customCssText):
1167         (WebCore::CSSFilterImageValue::fixedSize):
1168         (WebCore::CSSFilterImageValue::isPending):
1169         (WebCore::CSSFilterImageValue::knownToBeOpaque):
1170         (WebCore::CSSFilterImageValue::loadSubimages):
1171         (WebCore::CSSFilterImageValue::image):
1172         (WebCore::CSSFilterImageValue::filterImageChanged):
1173         (WebCore::CSSFilterImageValue::createFilterOperations):
1174         (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::imageChanged):
1175         (WebCore::CSSFilterImageValue::hasFailedOrCanceledSubresources):
1176         (WebCore::CSSFilterImageValue::equals):
1177         * css/CSSFilterImageValue.h: Added.
1178         (WebCore::CSSFilterImageValue::create):
1179         (WebCore::CSSFilterImageValue::isFixedSize):
1180         (WebCore::CSSFilterImageValue::CSSFilterImageValue):
1181         (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::FilterSubimageObserverProxy):
1182         (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::~FilterSubimageObserverProxy):
1183         (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::setReady):
1184         * css/CSSImageGeneratorValue.cpp: Shared code between CSSCrossfadeValue and
1185             CSSFilterImageValue.
1186         (WebCore::CSSImageGeneratorValue::image):
1187         (WebCore::CSSImageGeneratorValue::isFixedSize):
1188         (WebCore::CSSImageGeneratorValue::fixedSize):
1189         (WebCore::CSSImageGeneratorValue::isPending):
1190         (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
1191         (WebCore::CSSImageGeneratorValue::loadSubimages):
1192         (WebCore::CSSImageGeneratorValue::subimageIsPending):
1193         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
1194         * css/CSSImageGeneratorValue.h:
1195         * css/CSSParser.cpp: Added parsing information for new image function.
1196         (WebCore::CSSParser::parseValue):
1197         (WebCore::CSSParser::isGeneratedImageValue):
1198         (WebCore::CSSParser::parseGeneratedImage):
1199         (WebCore::CSSParser::parseFilterImage):
1200         (WebCore::CSSParser::parseFilter):
1201         * css/CSSParser.h:
1202         * css/CSSValue.cpp:
1203         (WebCore::CSSValue::hasFailedOrCanceledSubresources):
1204         (WebCore::CSSValue::equals):
1205         (WebCore::CSSValue::cssText):
1206         (WebCore::CSSValue::destroy):
1207         * css/CSSValue.h:
1208         (WebCore::CSSValue::isFilterImageValue):
1209         * css/StyleResolver.cpp:
1210         (WebCore::StyleResolver::applyProperty):
1211         (WebCore::StyleResolver::generatedOrPendingFromValue):
1212         (WebCore::StyleResolver::createFilterOperations):
1213         * css/StyleResolver.h: StyleResolver needs to be passed to
1214             CSSFilterImageValue in order to resolve blur() and
1215             drop-shadow() function. Both needs to be resolved together
1216             with all other properties and can't be done earlier or later.
1217         * rendering/FilterEffectRenderer.cpp:
1218         (WebCore::FilterEffectRenderer::build): Pass an argument whether the
1219             intermediate filter results should be clipped or not. The filter
1220             property for instance doesn't clip but scales the intermediate
1221             image sizes.
1222         * rendering/FilterEffectRenderer.h:
1223
1224 2013-08-15  Filip Pizlo  <fpizlo@apple.com>
1225
1226         Unreviewed, fix bindings tests after http://trac.webkit.org/changeset/154127
1227
1228         * bindings/scripts/test/JS/JSTestCallback.cpp:
1229         (WebCore::JSTestCallback::callbackWithArrayParam):
1230         * bindings/scripts/test/JS/JSTestCallback.h:
1231         * bindings/scripts/test/JS/JSTestObj.cpp:
1232         (WebCore::setJSTestObjTypedArrayAttr):
1233         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1234         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors2):
1235         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1236         (WebCore::jsTestTypedefsPrototypeFunctionFunc):
1237         * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
1238         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
1239         * bindings/scripts/test/TestTypedArray.idl: Removed.
1240
1241 2013-08-15  Ryosuke Niwa  <rniwa@webkit.org>
1242
1243         Qt minimum build fix after r154116.
1244
1245         * page/FrameView.cpp:
1246         (WebCore::FrameView::sendResizeEventIfNeeded):
1247
1248 2013-08-14  Filip Pizlo  <fpizlo@apple.com>
1249
1250         Typed arrays should be rewritten
1251         https://bugs.webkit.org/show_bug.cgi?id=119064
1252
1253         Reviewed by Oliver Hunt.
1254
1255         Typed arrays are now implemented in JavaScriptCore, and WebCore is merely a
1256         client of them. There is only one layering violation: WebCore installs a
1257         WebCoreTypedArrayController on VM, which makes the
1258         ArrayBuffer<->JSArrayBuffer relationship resemble DOM wrappers. By default,
1259         JSC makes the ownership go one way; the JSArrayBuffer keeps the ArrayBuffer
1260         alive but if ArrayBuffer is kept alive from native code then the
1261         JSArrayByffer may die. WebCoreTypedArrayController will keep the
1262         JSArrayBuffer alive if the ArrayBuffer is in the opaque root set.
1263         
1264         To make non-JSDOMWrappers behave like DOM wrappers, a bunch of code is
1265         changed to make most references to wrappers refer to JSObject* rather than
1266         JSDOMWrapper*.
1267         
1268         Array buffer views are now transient; the JS array buffer view wrappers
1269         don't own them or keep them alive. This required a bunch of changes to make
1270         bindings code use RefPtr<ArrayBufferView> to hold onto their views.
1271         
1272         Also there is a bunch of new code to make JSC-provided array buffers and
1273         views obey the toJS/to<ClassName> idiom for wrapping and unwrapping.
1274         
1275         Finally, the DataView API is now completely different: the JSDataView
1276         provides the same user-visible JS API but using its own internal magic; the
1277         C++ code that uses DataView now uses a rather different API that is not
1278         aware of usual DOM semantics, since it's in JSC and not WebCore. It's
1279         equally useful for all of WebCore's purposes, but some code had to change
1280         to adapt the new conventions.
1281         
1282         Some tests have been changed or rebased due to changes in behavior, that
1283         bring us into conformance with where the standards are going and allow us to
1284         match Firefox behavior.
1285
1286         Automake work and some additional GTK changes courtesy of
1287         Zan Dobersek <zdobersek@igalia.com>.
1288         
1289         Additional Qt changes courtesy of Arunprasad Rajkumar <arurajku@cisco.com>.
1290
1291         * CMakeLists.txt:
1292         * DerivedSources.make:
1293         * ForwardingHeaders/runtime/DataView.h: Added.
1294         * ForwardingHeaders/runtime/JSArrayBuffer.h: Added.
1295         * ForwardingHeaders/runtime/JSArrayBufferView.h: Added.
1296         * ForwardingHeaders/runtime/JSDataView.h: Added.
1297         * ForwardingHeaders/runtime/JSTypedArrays.h: Added.
1298         * ForwardingHeaders/runtime/TypedArrayController.h: Added.
1299         * ForwardingHeaders/runtime/TypedArrayInlines.h: Added.
1300         * ForwardingHeaders/runtime/TypedArrays.h: Added.
1301         * GNUmakefile.list.am:
1302         * Modules/webaudio/RealtimeAnalyser.h:
1303         * Target.pri:
1304         * UseJSC.cmake:
1305         * WebCore.exp.in:
1306         * WebCore.vcxproj/WebCore.vcxproj:
1307         * WebCore.xcodeproj/project.pbxproj:
1308         * bindings/js/DOMWrapperWorld.h:
1309         * bindings/js/JSArrayBufferCustom.cpp: Removed.
1310         * bindings/js/JSArrayBufferViewHelper.h: Removed.
1311         * bindings/js/JSAudioContextCustom.cpp:
1312         * bindings/js/JSBindingsAllInOne.cpp:
1313         * bindings/js/JSBlobCustom.cpp:
1314         * bindings/js/JSCSSRuleCustom.cpp:
1315         (WebCore::toJS):
1316         * bindings/js/JSCSSValueCustom.cpp:
1317         (WebCore::toJS):
1318         * bindings/js/JSCryptoCustom.cpp:
1319         (WebCore::JSCrypto::getRandomValues):
1320         * bindings/js/JSDOMBinding.h:
1321         (WebCore::wrapperOwner):
1322         (WebCore::wrapperContext):
1323         (WebCore::getInlineCachedWrapper):
1324         (WebCore::setInlineCachedWrapper):
1325         (WebCore::clearInlineCachedWrapper):
1326         (WebCore::getCachedWrapper):
1327         (WebCore::cacheWrapper):
1328         (WebCore::uncacheWrapper):
1329         (WebCore::wrap):
1330         (WebCore::toJS):
1331         (WebCore::toArrayBufferView):
1332         (WebCore::toInt8Array):
1333         (WebCore::toInt16Array):
1334         (WebCore::toInt32Array):
1335         (WebCore::toUint8Array):
1336         (WebCore::toUint8ClampedArray):
1337         (WebCore::toUint16Array):
1338         (WebCore::toUint32Array):
1339         (WebCore::toFloat32Array):
1340         (WebCore::toFloat64Array):
1341         (WebCore::toDataView):
1342         * bindings/js/JSDataViewCustom.cpp: Removed.
1343         * bindings/js/JSDictionary.cpp:
1344         * bindings/js/JSDictionary.h:
1345         * bindings/js/JSDocumentCustom.cpp:
1346         (WebCore::JSDocument::location):
1347         (WebCore::toJS):
1348         * bindings/js/JSEventCustom.cpp:
1349         (WebCore::toJS):
1350         * bindings/js/JSFileReaderCustom.cpp:
1351         * bindings/js/JSHTMLCollectionCustom.cpp:
1352         (WebCore::toJS):
1353         * bindings/js/JSHTMLTemplateElementCustom.cpp:
1354         (WebCore::JSHTMLTemplateElement::content):
1355         * bindings/js/JSImageDataCustom.cpp:
1356         (WebCore::toJS):
1357         * bindings/js/JSInjectedScriptHostCustom.cpp:
1358         * bindings/js/JSMessageEventCustom.cpp:
1359         * bindings/js/JSMessagePortCustom.cpp:
1360         * bindings/js/JSSVGPathSegCustom.cpp:
1361         (WebCore::toJS):
1362         * bindings/js/JSStyleSheetCustom.cpp:
1363         (WebCore::toJS):
1364         * bindings/js/JSTrackCustom.cpp:
1365         (WebCore::toJS):
1366         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1367         * bindings/js/JSXMLHttpRequestCustom.cpp:
1368         (WebCore::JSXMLHttpRequest::send):
1369         * bindings/js/SerializedScriptValue.cpp:
1370         (WebCore::SerializedScriptValue::transferArrayBuffers):
1371         * bindings/js/WebCoreJSClientData.h:
1372         (WebCore::initNormalWorldClientData):
1373         * bindings/js/WebCoreTypedArrayController.cpp: Added.
1374         (WebCore::WebCoreTypedArrayController::WebCoreTypedArrayController):
1375         (WebCore::WebCoreTypedArrayController::~WebCoreTypedArrayController):
1376         (WebCore::WebCoreTypedArrayController::toJS):
1377         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots):
1378         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):
1379         * bindings/js/WebCoreTypedArrayController.h: Added.
1380         (WebCore::WebCoreTypedArrayController::wrapperOwner):
1381         * bindings/scripts/CodeGenerator.pm:
1382         (ForAllParents):
1383         (ParseInterface):
1384         (SkipIncludeHeader):
1385         (IsTypedArrayType):
1386         (IsWrapperType):
1387         * bindings/scripts/CodeGeneratorJS.pm:
1388         (AddIncludesForType):
1389         (GenerateHeader):
1390         (GenerateImplementation):
1391         (GenerateParametersCheck):
1392         (GetNativeType):
1393         (JSValueToNative):
1394         (NativeToJSValue):
1395         (GenerateConstructorDefinition):
1396         (GenerateConstructorHelperMethods):
1397         * fileapi/WebKitBlobBuilder.cpp:
1398         (WebCore::BlobBuilder::append):
1399         * fileapi/WebKitBlobBuilder.h:
1400         * html/canvas/ArrayBuffer.idl: Removed.
1401         * html/canvas/ArrayBufferView.idl: Removed.
1402         * html/canvas/DataView.cpp: Removed.
1403         * html/canvas/DataView.h: Removed.
1404         * html/canvas/DataView.idl: Removed.
1405         * html/canvas/Float32Array.idl: Removed.
1406         * html/canvas/Float64Array.idl: Removed.
1407         * html/canvas/Int16Array.idl: Removed.
1408         * html/canvas/Int32Array.idl: Removed.
1409         * html/canvas/Int8Array.idl: Removed.
1410         * html/canvas/Uint16Array.idl: Removed.
1411         * html/canvas/Uint32Array.idl: Removed.
1412         * html/canvas/Uint8Array.idl: Removed.
1413         * html/canvas/Uint8ClampedArray.idl: Removed.
1414         * html/canvas/WebGLRenderingContext.cpp:
1415         (WebCore::WebGLRenderingContext::readPixels):
1416         (WebCore::WebGLRenderingContext::validateTexFuncData):
1417         * page/Crypto.cpp:
1418         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1419         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
1420         (WebCore::MediaPlayerPrivateAVFoundationObjC::extractKeyURIKeyIDAndCertificateFromInitData):
1421         * platform/graphics/filters/FECustomFilter.h:
1422         * platform/graphics/filters/FEGaussianBlur.cpp:
1423         * platform/graphics/filters/FilterEffect.cpp:
1424         * testing/MockCDM.cpp:
1425
1426 2013-08-15  Chris Fleizach  <cfleizach@apple.com>
1427
1428         <https://webkit.org/b/119824> AX: WKView does not become first responder when the voiceover cursor lands on it
1429
1430         Reviewed by Darin Adler.
1431
1432         Incorporate review feedback from Darin.
1433
1434         * accessibility/AccessibilityScrollView.cpp:
1435         (WebCore::AccessibilityScrollView::canSetFocusAttribute):
1436         (WebCore::AccessibilityScrollView::isFocused):
1437         * accessibility/AccessibilityScrollView.h:
1438
1439 2013-08-15  Andreas Kling  <akling@apple.com>
1440
1441         <https://webkit.org/b/119826> Page::focusController() should return a reference.
1442
1443         Reviewed by Anders Carlsson.
1444
1445         Page::focusController() is never null so make it return a reference.
1446         Some unnecessary checks were removed as a result.
1447
1448 2013-08-15  Rob Buis  <rwlbuis@webkit.org>
1449
1450         ASSERTION FAILED: !m_adoptionIsRequired in void WebCore::TreeShared<NodeType>::ref()
1451         https://bugs.webkit.org/show_bug.cgi?id=116979
1452
1453         Reviewed by Alexey Proskuryakov.
1454
1455         Make constructors private since only ::create should use them.
1456
1457         * html/shadow/MeterShadowElement.h:
1458         * html/shadow/ProgressShadowElement.h:
1459
1460 2013-08-15  Tim Horton  <timothy_horton@apple.com>
1461
1462         FrameView should have an isMainFrameView()
1463         https://bugs.webkit.org/show_bug.cgi?id=119435
1464
1465         Reviewed by Simon Fraser.
1466
1467         No new tests, just refactoring.
1468
1469         * page/FrameView.cpp:
1470         (WebCore::FrameView::FrameView):
1471         (WebCore::FrameView::isMainFrameView):
1472         (WebCore::FrameView::setFrameRect):
1473         (WebCore::FrameView::createScrollbar):
1474         (WebCore::FrameView::applyOverflowToViewport):
1475         (WebCore::FrameView::setHeaderHeight):
1476         (WebCore::FrameView::setFooterHeight):
1477         (WebCore::FrameView::minimumScrollPosition):
1478         (WebCore::FrameView::maximumScrollPosition):
1479         (WebCore::FrameView::performPostLayoutTasks):
1480         (WebCore::FrameView::sendResizeEventIfNeeded):
1481         (WebCore::FrameView::pagination):
1482         (WebCore::FrameView::visibleContentScaleFactor):
1483         (WebCore::FrameView::setVisibleScrollerThumbRect):
1484         (WebCore::FrameView::scrollbarStyleChanged):
1485         (WebCore::FrameView::paintScrollCorner):
1486         (WebCore::FrameView::paintScrollbar):
1487         (WebCore::FrameView::paintOverhangAreas):
1488         * page/FrameView.h:
1489         Add isMainFrameView and adopt it wherever we were previously checking if
1490         the FrameView's frame was the same as its page's main frame.
1491
1492 2013-08-15  Andy Estes  <aestes@apple.com>
1493
1494         <https://webkit.org/b/119853> REGRESSION (r139343): WebKit crashes when canceling a load inside webView:resource:didFinishLoadingFromDataSource:
1495
1496         Reviewed by Brady Eidson.
1497
1498         A client implementing webView:resource:didFinishLoadingFromDataSource:
1499         might decide to call stopLoading: for the identifier that just finished
1500         loading. If this happens we re-enter the loader and attempt to cancel a
1501         load that has already finished and been removed from the set of active
1502         loaders. Prevent this by clearing DocumentLoader's
1503         m_identifierForLoadWithoutResourceLoader before calling
1504         dispatchDidFinishLoading().
1505
1506         New API test: WebKit1.StopLoadingFromDidFinishLoading.
1507
1508         * loader/DocumentLoader.cpp:
1509         (WebCore::DocumentLoader::finishedLoading): Set
1510         m_identifierForLoadWithoutResourceLoader to 0 before calling
1511         dispatchDidFinishLoading().
1512
1513 2013-08-15  Eric Carlson  <eric.carlson@apple.com>
1514
1515         [Mac] Remove "legacy" media UI
1516         https://bugs.webkit.org/show_bug.cgi?id=119752
1517
1518         Reviewed by Jer Noble.
1519
1520         * WebCore.exp.in: Remove _wkMediaControllerThemeAvailable.
1521
1522         * platform/mac/WebCoreSystemInterface.h: Update for API change.
1523         * platform/mac/WebCoreSystemInterface.mm: Ditto.
1524
1525         * rendering/RenderThemeMac.h: Don't override hasOwnDisabledStateHandlingFor.
1526         * rendering/RenderThemeMac.mm:
1527         (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Remove code to deal with legacy theme.
1528         (WebCore::getUnzoomedRectAndAdjustCurrentContext): Ditto.
1529         (WebCore::RenderThemeMac::paintMediaFullscreenButton): wkDrawMediaUIPart doesn't need to know
1530             the current theme.
1531         (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto.
1532         (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.
1533         (WebCore::RenderThemeMac::paintMediaSeekBackButton): Ditto.
1534         (WebCore::RenderThemeMac::paintMediaSeekForwardButton): Ditto.
1535         (WebCore::RenderThemeMac::paintMediaSliderTrack): Ditto.
1536         (WebCore::RenderThemeMac::paintMediaSliderThumb): Ditto.
1537         (WebCore::RenderThemeMac::paintMediaRewindButton): Ditto.
1538         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
1539         (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.
1540         (WebCore::RenderThemeMac::paintMediaCurrentTime): Ditto.
1541         (WebCore::RenderThemeMac::paintMediaTimeRemaining): Ditto.
1542         (WebCore::RenderThemeMac::paintMediaVolumeSliderContainer): Ditto.
1543         (WebCore::RenderThemeMac::paintMediaVolumeSliderTrack): Ditto.
1544         (WebCore::RenderThemeMac::paintMediaVolumeSliderThumb): Ditto.
1545         (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderTrack): Ditto.
1546         (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderThumb): Ditto.
1547         (WebCore::RenderThemeMac::extraMediaControlsStyleSheet): We only have one theme.
1548         (WebCore::RenderThemeMac::extraFullScreenStyleSheet): Ditto.
1549         (WebCore::RenderThemeMac::usesMediaControlStatusDisplay): Ditto.
1550
1551 2013-08-15  Antti Koivisto  <antti@apple.com>
1552
1553         <https://webkit.org/b/119834> Remove ElementShadow
1554
1555         Reviewed by Anders Carlsson.
1556
1557         It is 1:1 with ShadowRoot and has virtually no functionality. What little there is can be moved to ShadowRoot or Element.
1558
1559         * CMakeLists.txt:
1560         * GNUmakefile.list.am:
1561         * Target.pri:
1562         * WebCore.exp.in:
1563         * WebCore.xcodeproj/project.pbxproj:
1564         * css/StyleResolver.cpp:
1565         (WebCore::StyleResolver::locateCousinList):
1566         * css/StyleScopeResolver.cpp:
1567         (WebCore::StyleScopeResolver::styleSharingCandidateMatchesHostRules):
1568         (WebCore::StyleScopeResolver::matchHostRules):
1569         * dom/ComposedShadowTreeWalker.cpp:
1570         (WebCore::nodeCanBeDistributed):
1571         (WebCore::ComposedShadowTreeWalker::traverseChild):
1572         * dom/ContainerNode.cpp:
1573         (WebCore::childAttachedAllowedWhenAttachingChildren):
1574         * dom/ContainerNodeAlgorithms.cpp:
1575         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
1576         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
1577         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
1578         (WebCore::assertConnectedSubrameCountIsConsistent):
1579         * dom/ContainerNodeAlgorithms.h:
1580         (WebCore::ChildFrameDisconnector::collectFrameOwners):
1581         * dom/DOMAllInOne.cpp:
1582         * dom/Document.cpp:
1583         * dom/Element.cpp:
1584         (WebCore::Element::~Element):
1585         (WebCore::Element::attach):
1586         (WebCore::Element::detach):
1587         (WebCore::Element::shadowRoot):
1588         (WebCore::Element::didAffectSelector):
1589         (WebCore::Element::addShadowRoot):
1590         (WebCore::Element::removeShadowRoot):
1591         
1592             Move addShadowRoot and removeShadowRoot here from ElementShadow.
1593
1594         (WebCore::Element::createShadowRoot):
1595         (WebCore::Element::authorShadowRoot):
1596         (WebCore::Element::userAgentShadowRoot):
1597         (WebCore::Element::ensureUserAgentShadowRoot):
1598         (WebCore::Element::childrenChanged):
1599         (WebCore::Element::removeAllEventListeners):
1600         * dom/Element.h:
1601         (WebCore::isShadowHost):
1602         * dom/ElementRareData.h:
1603         (WebCore::ElementRareData::clearShadowRoot):
1604         (WebCore::ElementRareData::shadowRoot):
1605         (WebCore::ElementRareData::setShadowRoot):
1606         (WebCore::ElementRareData::~ElementRareData):
1607         * dom/ElementShadow.cpp: Removed.
1608         * dom/ElementShadow.h: Removed.
1609         * dom/EventDispatcher.cpp:
1610         * dom/EventPathWalker.cpp:
1611         (WebCore::EventPathWalker::moveToParent):
1612         * dom/Node.cpp:
1613         (WebCore::Node::needsShadowTreeWalkerSlow):
1614         * dom/NodeRenderingContext.cpp:
1615         * dom/NodeRenderingContext.h:
1616         * dom/ShadowRoot.cpp:
1617         (WebCore::ShadowRoot::attach):
1618         (WebCore::ShadowRoot::detach):
1619         
1620             Move attached() tests from ElementShadow.
1621
1622         (WebCore::ShadowRoot::childrenChanged):
1623         (WebCore::ShadowRoot::removeAllEventListeners):
1624         
1625             Move here from ElementShadow.
1626
1627         * dom/ShadowRoot.h:
1628         (WebCore::Node::shadowRoot):
1629         * dom/TreeScopeAdopter.cpp:
1630         * html/ColorInputType.cpp:
1631         (WebCore::ColorInputType::createShadowSubtree):
1632         * html/FileInputType.cpp:
1633         (WebCore::FileInputType::createShadowSubtree):
1634         (WebCore::FileInputType::disabledAttributeChanged):
1635         (WebCore::FileInputType::multipleAttributeChanged):
1636         * html/HTMLFormControlElement.cpp:
1637         * html/HTMLImageElement.cpp:
1638         (WebCore::HTMLImageElement::canStartSelection):
1639         * html/HTMLInputElement.cpp:
1640         (WebCore::HTMLInputElement::updateType):
1641         * html/HTMLKeygenElement.cpp:
1642         * html/HTMLMediaElement.cpp:
1643         * html/HTMLTextAreaElement.cpp:
1644         * html/InputType.cpp:
1645         * html/RangeInputType.cpp:
1646         (WebCore::RangeInputType::handleMouseDownEvent):
1647         (WebCore::RangeInputType::createShadowSubtree):
1648         * html/TextFieldInputType.cpp:
1649         (WebCore::TextFieldInputType::createShadowSubtree):
1650         * html/ValidationMessage.cpp:
1651         * html/shadow/ContentDistributor.cpp:
1652         (WebCore::ContentDistributor::distribute):
1653         (WebCore::ContentDistributor::ensureDistribution):
1654         * html/shadow/ContentDistributor.h:
1655         (WebCore::ContentDistributor::isValid):
1656         * html/shadow/InsertionPoint.cpp:
1657         (WebCore::InsertionPoint::childrenChanged):
1658         (WebCore::InsertionPoint::insertedInto):
1659         (WebCore::InsertionPoint::removedFrom):
1660         (WebCore::resolveReprojection):
1661         * html/shadow/InsertionPoint.h:
1662         (WebCore::shadowRootOfParentForDistribution):
1663         * html/shadow/SliderThumbElement.cpp:
1664         * inspector/InspectorDOMAgent.cpp:
1665         (WebCore::InspectorDOMAgent::unbind):
1666         (WebCore::InspectorDOMAgent::buildObjectForNode):
1667         * page/FocusController.cpp:
1668         (WebCore::FocusNavigationScope::focusNavigationScopeOwnedByShadowHost):
1669         * rendering/RenderFileUploadControl.cpp:
1670         (WebCore::RenderFileUploadControl::uploadButton):
1671         * rendering/RenderTheme.cpp:
1672         * style/StyleResolveTree.cpp:
1673         (WebCore::Style::resolveTree):
1674         * svg/SVGTRefElement.cpp:
1675         (WebCore::SVGTRefElement::updateReferencedText):
1676         (WebCore::SVGTRefElement::detachTarget):
1677         * svg/SVGUseElement.cpp:
1678         (WebCore::SVGUseElement::clearResourceReferences):
1679         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
1680         (WebCore::SVGUseElement::buildShadowTree):
1681         * testing/Internals.cpp:
1682         (WebCore::Internals::ensureShadowRoot):
1683         (WebCore::Internals::shadowRoot):
1684
1685 2013-08-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1686
1687         [Qt] memory leak in WebCore::FontCache::getLastResortFallbackFont
1688         https://bugs.webkit.org/show_bug.cgi?id=118532
1689
1690         Reviewed by Jocelyn Turcotte.
1691
1692         We don't need to allocate FontPlatformData on the heap
1693         since getCachedFontData makes a deep copy anyway.
1694
1695         * platform/graphics/qt/FontCacheQt.cpp:
1696         (WebCore::FontCache::getLastResortFallbackFont):
1697
1698 2013-08-15  Rob Buis  <rwlbuis@webkit.org>
1699
1700         ASSERTION FAILED: !m_adoptionIsRequired in void WebCore::TreeShared<NodeType>::ref()
1701         https://bugs.webkit.org/show_bug.cgi?id=116979
1702
1703         Reviewed by Antti Koivisto.
1704
1705         Make sure adoptRef is called before calling setPseudo, for all progress shadow elements.
1706
1707         * html/shadow/ProgressShadowElement.cpp:
1708         (WebCore::ProgressInnerElement::ProgressInnerElement):
1709         (WebCore::ProgressBarElement::ProgressBarElement):
1710         (WebCore::ProgressValueElement::ProgressValueElement):
1711         * html/shadow/ProgressShadowElement.h:
1712         (WebCore::ProgressInnerElement::create):
1713         (WebCore::ProgressBarElement::create):
1714         (WebCore::ProgressValueElement::create):
1715
1716 2013-08-14  Ryuan Choi  <ryuan.choi@samsung.com>
1717
1718         <https://webkit.org/b/119786> [EFL] decoration of search type is different from other platforms
1719
1720         Reviewed by Gyuyoung Kim.
1721
1722         Other platforms except EFL port draw a magnifying icon for
1723         -webkit-search-results-button and -webkit-search-results-decoration in search field,
1724         but Efl port draws it for -webkit-search-decoration.
1725
1726         This patch makes Efl port draw icon in first two cases like other ports.
1727
1728         Tests: fast/css/input-search-padding.html
1729            fast/css/text-input-with-webkit-border-radius.html
1730            fast/css/text-overflow-input.html
1731            fast/forms/box-shadow-override.html
1732            fast/forms/control-restrict-line-height.html
1733            fast/forms/input-appearance-height.html
1734            fast/forms/placeholder-position.html
1735            fast/forms/placeholder-pseudo-style.html
1736            fast/forms/search-cancel-button-style-sharing.html
1737            fast/forms/search-display-none-cancel-button.html
1738            fast/forms/search-rtl.html
1739            fast/forms/search-vertical-alignment.html
1740            fast/forms/searchfield-heights.html
1741            fast/repaint/search-field-cancel.html
1742
1743         * platform/efl/DefaultTheme/widget/search/cancel/search_cancel.edc:
1744         Moved results_button alias to search_decoration.edc
1745         * platform/efl/DefaultTheme/widget/search/decoration/search_decoration.edc:
1746         * platform/efl/RenderThemeEfl.cpp:
1747         Updated size of ResultsButtonStyle and ResultsDecorationStyle to show icon.
1748         In addition, removed adjustSearchFieldResultsButtonStyle and paintSearchFieldDecoration.
1749         (WebCore::toEdjeGroup): Removed decoration group.
1750         (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
1751         (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
1752         * platform/efl/RenderThemeEfl.h:
1753
1754 2013-08-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1755
1756         [CSS] Introduce new structure to pass image orientation values.
1757         https://bugs.webkit.org/show_bug.cgi?id=119418
1758
1759         Reviewed by Beth Dakin.
1760
1761         Add a ImageOrientationDescription struct in order to reduce count of argument for
1762         image orientation.
1763
1764         No new tests, no behavior change.
1765
1766         * html/HTMLCanvasElement.cpp:
1767         (WebCore::HTMLCanvasElement::paint):
1768         * page/DragController.cpp:
1769         (WebCore::DragController::doImageDrag):
1770         * page/Frame.cpp:
1771         (WebCore::Frame::nodeImage):
1772         (WebCore::Frame::dragImageForSelection):
1773         * platform/DragImage.h:
1774         * platform/blackberry/DragImageBlackBerry.cpp:
1775         (WebCore::createDragImageFromImage):
1776         * platform/efl/DragImageEfl.cpp:
1777         (WebCore::createDragImageFromImage):
1778         * platform/graphics/BitmapImage.cpp:
1779         (WebCore::BitmapImage::updateSize):
1780         * platform/graphics/BitmapImage.h:
1781         * platform/graphics/GraphicsContext.cpp:
1782         (WebCore::GraphicsContext::drawImage):
1783         * platform/graphics/GraphicsContext.h:
1784         * platform/graphics/Image.cpp:
1785         (WebCore::Image::draw):
1786         * platform/graphics/Image.h:
1787         * platform/graphics/ImageOrientation.h:
1788         (WebCore::ImageOrientationDescription::ImageOrientationDescription):
1789         (WebCore::ImageOrientationDescription::respectImageOrientation):
1790         (WebCore::ImageOrientationDescription::imageOrientation):
1791         * platform/graphics/ImageSource.cpp:
1792         (WebCore::ImageSource::size):
1793         (WebCore::ImageSource::frameSizeAtIndex):
1794         * platform/graphics/ImageSource.h:
1795         * platform/graphics/blackberry/ImageBlackBerry.cpp:
1796         (WebCore::BitmapImage::draw):
1797         * platform/graphics/cairo/BitmapImageCairo.cpp:
1798         (WebCore::BitmapImage::draw):
1799         * platform/graphics/cairo/ImageBufferCairo.cpp:
1800         (WebCore::ImageBuffer::draw):
1801         * platform/graphics/cg/BitmapImageCG.cpp:
1802         (WebCore::BitmapImage::draw):
1803         * platform/graphics/cg/ImageSourceCG.cpp:
1804         (WebCore::ImageSource::frameSizeAtIndex):
1805         (WebCore::ImageSource::size):
1806         (WebCore::ImageSource::frameBytesAtIndex):
1807         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1808         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
1809         * platform/graphics/qt/ImageBufferQt.cpp:
1810         (WebCore::ImageBuffer::draw):
1811         * platform/graphics/wince/ImageBufferWinCE.cpp:
1812         (WebCore::ImageBuffer::draw):
1813         * platform/gtk/ClipboardGtk.cpp:
1814         (WebCore::Clipboard::createDragImage):
1815         * platform/gtk/DragImageGtk.cpp:
1816         (WebCore::createDragImageFromImage):
1817         * platform/mac/DragImageMac.mm:
1818         (WebCore::createDragImageFromImage):
1819         * platform/qt/ClipboardQt.cpp:
1820         (WebCore::Clipboard::createDragImage):
1821         * platform/qt/DragImageQt.cpp:
1822         (WebCore::createDragImageFromImage):
1823         * platform/win/ClipboardWin.cpp:
1824         (WebCore::Clipboard::createDragImage):
1825         * platform/win/DragImageCGWin.cpp:
1826         (WebCore::createDragImageFromImage):
1827         * platform/win/DragImageCairoWin.cpp:
1828         (WebCore::createDragImageFromImage):
1829         * rendering/RenderEmbeddedObject.cpp:
1830         (WebCore::RenderEmbeddedObject::paintSnapshotImage):
1831         * rendering/RenderImage.cpp:
1832         (WebCore::RenderImage::paintReplaced):
1833         (WebCore::RenderImage::paintIntoRect):
1834         * rendering/RenderSnapshottedPlugIn.cpp:
1835         (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
1836
1837 2013-08-14  Sam Weinig  <sam@webkit.org>
1838
1839         Update binding test results.  Follow up fix for <https://webkit.org/b/119664>
1840
1841         * bindings/scripts/test/JS/JSTestCallback.cpp:
1842         (WebCore::JSTestCallback::JSTestCallback):
1843         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1844         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
1845
1846 2013-08-14  Joseph Pecoraro  <pecoraro@apple.com>
1847
1848         <https://webkit.org/b/119810> [Mac] No AutoreleasePool leaks when dragging image out of WebView
1849
1850         Reviewed by Dan Bernstein.
1851
1852         This code was just running a block of code asynchronously using a
1853         pthread. Convert this to use a dispatch block, which does provide
1854         an autorelease pool so there are no leaks and ends up much simpler.
1855
1856         * platform/mac/FileSystemMac.mm:
1857         (WebCore::setMetadataURL):
1858
1859 2013-08-14  Tim Horton  <timothy_horton@apple.com>
1860
1861         Un-inline dataLog dumpers for IntSize and IntPoint
1862         https://bugs.webkit.org/show_bug.cgi?id=119697
1863
1864         Reviewed by Sam Weinig.
1865
1866         Avoid regressing build performance by moving IntSize::dump and IntPoint::dump elsewhere.
1867
1868         * CMakeLists.txt:
1869         * GNUmakefile.list.am:
1870         * Target.pri:
1871         * WebCore.vcxproj/WebCore.vcxproj:
1872         * WebCore.vcxproj/WebCore.vcxproj.filters:
1873         * WebCore.xcodeproj/project.pbxproj:
1874         * platform/graphics/IntPoint.cpp: Added.
1875         (WebCore::IntPoint::dump):
1876         * platform/graphics/IntPoint.h:
1877         * platform/graphics/IntSize.cpp: Added.
1878         (WebCore::IntSize::dump):
1879         * platform/graphics/IntSize.h:
1880
1881 2013-08-14  Chris Fleizach  <cfleizach@apple.com>
1882
1883         <https://webkit.org/b/119824> AX: WKView does not become first responder when the voiceover cursor lands on it
1884
1885         Reviewed by Tim Horton.
1886
1887         VoiceOver lands on Scroll views by default. It expects that the scroll view will be able to handle the focus calls. 
1888         We should forward scroll view focus requests to the web area to handle, which will trigger a becomeFirstResponder on WKView.
1889
1890         There's not a great way to test this unfortunately, since it requires having focus comes from outside the webview into the webview.
1891
1892         * accessibility/AccessibilityScrollView.cpp:
1893         (WebCore::AccessibilityScrollView::canSetFocusAttribute):
1894         (WebCore::AccessibilityScrollView::isFocused):
1895         (WebCore::AccessibilityScrollView::setFocused):
1896         * accessibility/AccessibilityScrollView.h:
1897
1898 2013-08-14  Hans Muller  <hmuller@adobe.com>
1899
1900         [CSS Exclusions] Minimal support for using an image to define a shape
1901         https://bugs.webkit.org/show_bug.cgi?id=116643
1902
1903         Reviewed by Alexandru Chiculita.
1904
1905         This is a first small step towards supporting CSS shapes defined by an
1906         image URL and a alpha channel threshold. To keep the patch as small as
1907         possible, there are many limitations and remaining work items. For
1908         example images are currently restricted to same-origin, although CORS
1909         should be supported. See https://bugs.webkit.org/show_bug.cgi?id=116348
1910         for the current list.
1911
1912         Test: fast/exclusions/shape-inside/shape-inside-image-001.html
1913         Test: fast/exclusions/shape-inside/shape-inside-image-002.html
1914
1915         * CMakeLists.txt:
1916         * GNUmakefile.list.am:
1917         * Target.pri:
1918         * WebCore.vcxproj/WebCore.vcxproj:
1919         * WebCore.xcodeproj/project.pbxproj:
1920         * rendering/RenderBlock.cpp:
1921         (WebCore::RenderBlock::imageChanged): When the image has finished loading, request a layout.
1922         * rendering/RenderBlock.h:
1923         * rendering/RenderObject.cpp:
1924         (WebCore::RenderObject::setStyle): Add notify clients for shape images.
1925         (WebCore::RenderObject::updateShapeImage):
1926         (WebCore::removeShapeImageClient):
1927         (WebCore::RenderObject::arenaDelete): Remove notify clients for shape images.
1928         * rendering/RenderObject.h:
1929         * rendering/shapes/RasterShape.cpp: Added. A Shape defined by thresholding an image's alpha channel.
1930         (WebCore::RasterShapeIntervals::bounds):
1931         (WebCore::RasterShapeIntervals::addInterval): Add a single run to the shape.
1932         (WebCore::alignedRect):
1933         (WebCore::RasterShapeIntervals::getIntervals): Return the shape's runs that fall within a horizonal box.
1934         (WebCore::RasterShape::marginIntervals): Internal representation of the shape with shape-margin factored in.  Currently only a stub.
1935         (WebCore::RasterShape::paddingIntervals): Internal representation of the shape with shape-padding factored in.  Currently only a stub.
1936         (WebCore::RasterShape::getExcludedIntervals):
1937         (WebCore::RasterShape::getIncludedIntervals):
1938         (WebCore::RasterShape::firstIncludedIntervalLogicalTop):
1939         * rendering/shapes/RasterShape.h:
1940         (WebCore::RasterShapeIntervals::RasterShapeIntervals): Internal run length encoded representation of a RasterShape.
1941         (WebCore::RasterShapeIntervals::isEmpty):
1942         (WebCore::RasterShape::RasterShape):
1943         * rendering/shapes/Shape.cpp:
1944         (WebCore::Shape::createShape): Support for creating a Shape based on a RasterShapeIntervals object.
1945         * rendering/shapes/Shape.h:
1946         * rendering/shapes/ShapeInfo.cpp:
1947         (WebCore::::computedShape): Added support for the Image ShapeValue type.
1948         * rendering/shapes/ShapeInsideInfo.cpp:
1949         (WebCore::ShapeInsideInfo::isEnabledFor): Added support for the Image ShapeValue type.
1950         * rendering/shapes/ShapeOutsideInfo.cpp:
1951         (WebCore::ShapeOutsideInfo::isEnabledFor): Added support for the Image ShapeValue type.
1952         * rendering/style/ShapeValue.h:
1953         (WebCore::ShapeValue::isImageValid): True if the shape's image is ready to be be processed.
1954
1955 2013-08-14  Alexandru Chiculita  <achicu@adobe.com>
1956
1957         [CSS Regions] RenderRegions should have a RenderLayer+Backing when they contain a Composited RenderLayer
1958         https://bugs.webkit.org/show_bug.cgi?id=117365
1959
1960         Reviewed by David Hyatt.
1961
1962         After the RenderFlowThread has a new layout we need to check if any of the children layers
1963         had been moved to a new render region. We are only checking for the first level of layers,
1964         as they are the only ones supported right now. Also, added code to make Regions require a layer
1965         based on the layers that fit in their clipping area.
1966
1967         Tests: fast/regions/layers/dynamic-layer-added-with-no-layout.html
1968                fast/regions/layers/dynamic-layer-removed-with-no-layout.html
1969                fast/regions/layers/float-region-promoted-to-layer.html
1970                fast/regions/layers/regions-promoted-to-layers-horizontal-bt.html
1971                fast/regions/layers/regions-promoted-to-layers-vertical-lr.html
1972                fast/regions/layers/regions-promoted-to-layers-vertical-rl.html
1973                fast/regions/layers/regions-promoted-to-layers.html
1974
1975         * rendering/FlowThreadController.cpp:
1976         (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded): Iterate on all the flow threads and updateLayerToRegionMappings if needed. 
1977         * rendering/FlowThreadController.h:
1978         * rendering/RenderBlock.cpp:
1979         (WebCore::RenderBlock::updateLocalFloatingObjectsForPaintingContainer): Checks if the FloatingObject
1980         needs to be painted by the current block or not.
1981         (WebCore::RenderBlock::updateFloatingObjectsPaintingContainer): Helper function to lookup what is the right
1982         container that would need to paint a FloatingObject.
1983         (WebCore::RenderBlock::updateAllDescendantsFloatingObjectsPaintingContainer):
1984         * rendering/RenderBlock.h:
1985         * rendering/RenderBox.cpp:
1986         (WebCore::RenderBox::outermostBlockContainingFloatingObject): Looks up the ancestor RenderBlock that contains all
1987         the FloatingObjects of a float.
1988         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists): Extracted the code for outermostBlockContainingFloatingObject
1989         into its own method.
1990         (WebCore::RenderBox::updatePaintingContainerForFloatingObject): Helper method to update the "m_shouldPaint" flag
1991         of all the FloatingObjects created for a floating RenderObject. Normally, that flag is maintained during layout,
1992         but we need to patch it for the floating RenderRegions after the layout is already finished.
1993         (WebCore::RenderBox::updateLayerIfNeeded): Overwrite of the RenderLayerModelObject::updateLayerIfNeeded that is also
1994         calling updatePaintingContainerForFloatingObject if a new layer was created or destroyed.
1995         * rendering/RenderBox.h:
1996         * rendering/RenderFlowThread.cpp:
1997         (WebCore::RenderFlowThread::layout): Added code to call updateLayerToRegionMappings when needed.
1998         (WebCore::RenderFlowThread::regionForCompositedLayer): Looks up the first RenderRegion to display a specific layer.
1999         It only cares about the top most point of the element and ignores transforms.
2000         (WebCore::RenderFlowThread::updateRegionForRenderLayer): Helper method to update the mapped region of a layer.
2001         (WebCore::RenderFlowThread::updateLayerToRegionMappings): Iterates all the first level layers of the flow thread
2002         and updates the region. Will return true if there was any change.
2003         * rendering/RenderFlowThread.h:
2004         * rendering/RenderLayer.cpp:
2005         (WebCore::RenderLayer::dirtyZOrderLists): When new layers are added or removed we need to update the layer map in the flow thread.
2006         (WebCore::RenderLayer::dirtyNormalFlowList):
2007         (WebCore::RenderLayer::shouldBeNormalFlowOnly): CSS Regions might become layers because they contain RenderLayers,
2008         but they should not become stacking contexts for that reason. This will prevent the RenderRegions from rendering
2009         in front of other layers.
2010         (WebCore::RenderLayer::shouldBeSelfPaintingLayer):
2011         * rendering/RenderLayerCompositor.cpp:
2012         (WebCore::RenderLayerCompositor::updateCompositingLayers): Call updateRenderFlowThreadLayersIfNeeded when there's a layer hierarchy update.
2013         (WebCore::RenderLayerCompositor::updateRenderFlowThreadLayersIfNeeded): Update the render flow thread layer maps when they are dirty.
2014         * rendering/RenderLayerCompositor.h:
2015         * rendering/RenderLayer.h:
2016         (WebCore::RenderLayer::isDirtyRenderFlowThread): Used to check if the RenderLayers had changed their order,
2017         so that we can update the list of layers associated with a region. In a following patch we will need to 
2018         rebuild the composited layers.
2019         * rendering/RenderLayerModelObject.cpp:
2020         (WebCore::RenderLayerModelObject::updateLayerIfNeeded): Adds or removes a layer when the "requiresLayer" changes
2021         after the styleDidChange already happened. This is needed for Regions as we only know if they still require a layer,
2022         only after the content of the flow thread is computed.
2023         * rendering/RenderLayerModelObject.h:
2024         * rendering/RenderRegion.cpp:
2025         (WebCore::RenderRegion::RenderRegion):
2026         (WebCore::RenderRegion::setRequiresLayerForCompositing):
2027         * rendering/RenderRegion.h:
2028         (WebCore::RenderRegion::requiresLayer):
2029         * rendering/RenderTreeAsText.cpp:
2030         (WebCore::writeRenderRegionList): Updated the output to print the fact that the layer has a layer.
2031
2032 2013-08-14  Bem Jones-Bey  <bjonesbe@adobe.com>
2033
2034         Finish making FloatingObject a real class with private members
2035         https://bugs.webkit.org/show_bug.cgi?id=119807
2036
2037         This is a port from Blink of
2038         http://src.chromium.org/viewvc/blink?view=revision&revision=155964
2039         Original patch by Eric Seidel.
2040
2041         From his comments on the Blink change:
2042
2043         Previously FloatingObject was in a half-done state where it had
2044         accessors for many members, but also many members were public.
2045
2046         This CL makes all members private and adds the necessary remaining
2047         accessors.
2048
2049         Reviewed by David Hyatt.
2050
2051         No new tests, no behavior change.
2052
2053         * rendering/RenderBlock.cpp:
2054         (WebCore::RenderBlock::deleteLineBoxTree):
2055         (WebCore::RenderBlock::addOverflowFromFloats):
2056         (WebCore::RenderBlock::repaintOverhangingFloats):
2057         (WebCore::RenderBlock::paintFloats):
2058         (WebCore::RenderBlock::selectionGaps):
2059         (WebCore::RenderBlock::insertFloatingObject):
2060         (WebCore::RenderBlock::removeFloatingObject):
2061         (WebCore::RenderBlock::removeFloatingObjectsBelow):
2062         (WebCore::RenderBlock::positionNewFloats):
2063         (WebCore::RenderBlock::clearFloats):
2064         (WebCore::RenderBlock::addOverhangingFloats):
2065         (WebCore::RenderBlock::addIntrudingFloats):
2066         (WebCore::RenderBlock::hitTestFloats):
2067         (WebCore::RenderBlock::adjustForBorderFit):
2068         * rendering/RenderBlock.h:
2069         (WebCore::RenderBlock::FloatingObject::paginationStrut):
2070         (WebCore::RenderBlock::FloatingObject::setPaginationStrut):
2071         (WebCore::RenderBlock::FloatingObject::setRenderer):
2072         (WebCore::RenderBlock::FloatingObject::originatingLine):
2073         (WebCore::RenderBlock::FloatingObject::setOriginatingLine):
2074         (WebCore::RenderBlock::FloatingObjectHashFunctions::hash):
2075         (WebCore::RenderBlock::FloatingObjectHashFunctions::equal):
2076         (WebCore::RenderBlock::FloatingObjectHashTranslator::equal):
2077         * rendering/RenderBlockLineLayout.cpp:
2078         (WebCore::RenderBlock::appendFloatingObjectToLastLine):
2079         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
2080         (WebCore::RenderBlock::linkToEndLineIfNeeded):
2081         (WebCore::RenderBlock::determineStartPosition):
2082         (WebCore::RenderBlock::positionNewFloatOnLine):
2083
2084 2013-08-14  Rob Buis  <rwlbuis@webkit.org>
2085
2086         Assertion failure in RenderObject::drawLineForBoxSide
2087         https://bugs.webkit.org/show_bug.cgi?id=108187
2088
2089         Reviewed by David Hyatt.
2090
2091         Don't draw the outline if the rectangle to draw is empty.
2092
2093         Test: fast/css/outline-negative.html
2094
2095         * rendering/RenderInline.cpp:
2096         (WebCore::RenderInline::paintOutlineForLine):
2097
2098 2013-08-13  Chris Fleizach  <cfleizach@apple.com>
2099
2100         AX: Headings not longer have an AXTitle if they have a link as the only child
2101         https://bugs.webkit.org/show_bug.cgi?id=119699
2102
2103         Reviewed by Anders Carlsson.
2104
2105         Normally, focusable content is not incuded when looking at the visible text of an element.
2106         One case where we need an exception is with headings, where there is usually link content inside the heading
2107         that we want to be used as the visible text.
2108
2109         Test: accessibility/heading-title-includes-links.html
2110
2111         * accessibility/AccessibilityNodeObject.cpp:
2112         (WebCore::AccessibilityNodeObject::visibleText):
2113         (WebCore::shouldUseAccessiblityObjectInnerText):
2114         (WebCore::AccessibilityNodeObject::title):
2115         * accessibility/AccessibilityNodeObject.h:
2116         * accessibility/AccessibilityObject.h:
2117         (WebCore::AccessibilityTextUnderElementMode::AccessibilityTextUnderElementMode):
2118         (WebCore::AccessibilityObject::textUnderElement):
2119         * accessibility/AccessibilityRenderObject.cpp:
2120         (WebCore::AccessibilityRenderObject::textUnderElement):
2121         * accessibility/AccessibilityRenderObject.h:
2122
2123 2013-08-14  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2124
2125         Move id attribute to parent Element interface
2126         https://bugs.webkit.org/show_bug.cgi?id=119706
2127
2128         Reviewed by Ryosuke Niwa.
2129
2130         Move id attribute from SVGElement / HTMLElement to their Element parent
2131         interface to match the latest DOM specification and avoid duplication:
2132         http://dom.spec.whatwg.org/#dom-element-id
2133
2134         There is no web-exposed behavior change because we haven't moved
2135         properties from instances to their prototype, as per the Web IDL
2136         specification (http://dev.w3.org/2006/webapi/WebIDL/#es-attributes).
2137
2138         Firefox already exposes the id property of Element's prototype.
2139
2140         This patch also drops the comment about returning the empty string when
2141         no id is present (introduced in http://trac.webkit.org/changeset/4417).
2142         This comment is redundant since the id property is already marked to
2143         "reflect" the id attribute. Returning the empty string when the
2144         attribute is not present is the normal behavior when reflecting:
2145         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#reflect
2146
2147         No new test, no web-exposed behavior change.
2148
2149         * dom/Element.idl:
2150         * html/HTMLElement.idl:
2151         * svg/SVGElement.idl:
2152
2153 2013-08-14  Arpita Bahuguna  <a.bah@samsung.com>
2154
2155         createAttribute/setAttributeNode does not properly normalize case
2156         https://bugs.webkit.org/show_bug.cgi?id=90341
2157
2158         Reviewed by Darin Adler.
2159
2160         setAttributeNode() verifies for existing attributes in a case sensitive
2161         manner. Thus, it would add another attribute if specified in a case
2162         different from the existing one. Instead, like setAttribute(), it too
2163         should modify the existing attribute's value.
2164
2165         Tests: fast/dom/Element/setAttributeNode-case-insensitivity-xhtml.xhtml
2166                fast/dom/Element/setAttributeNode-case-insensitivity.html
2167
2168         * dom/Element.cpp:
2169         (WebCore::Element::setAttributeNode):
2170         Passing the second param (shouldIgnoreAttributeCase) to
2171         findAttributeIndexByNameForAttributeNode() method. We are now letting
2172         findAttributeIndexByNameForAttributeNode() handle the case-sensitive/insensitive
2173         checking.
2174
2175         (WebCore::ElementData::findAttributeIndexByNameForAttributeNode):
2176         * dom/Element.h:
2177         Added shouldIgnoreAttributeCase boolean param to the method. It passes
2178         this on to QualifiedName::matchesIgnoringCaseForLocalName() method.
2179
2180         * dom/QualifiedName.h:
2181         (WebCore::QualifiedName::matchesIgnoringCaseForLocalName):
2182         New method added for doing a case-insensitive comparison based on the
2183         shouldIgnoreCase param passed to this method.
2184
2185 2013-08-14  Gabor Abraham  <abrhm@inf.u-szeged.hu>
2186
2187         [CMake] Fix building with bison-3.0.
2188         https://bugs.webkit.org/show_bug.cgi?id=119788
2189
2190         Reviewed by Zoltan Herczeg.
2191
2192         No new tests, just build fix.
2193
2194         * CMakeLists.txt:
2195
2196 2013-08-14  Rob Buis  <rwlbuis@webkit.org>
2197
2198         ASSERTION FAILED: resultAnimationElement->m_animatedType in WebCore::SVGAnimateElement::calculateAnimatedValue
2199         https://bugs.webkit.org/show_bug.cgi?id=119748
2200
2201         Reviewed by Dirk Schulze.
2202
2203         Avoid animation when attributeType="CSS" is used on an animateTransform.
2204
2205         Tests: svg/animations/animateTransform-translate-attributetype-auto.html
2206                svg/animations/animateTransform-translate-invalid-attributetype.html
2207
2208         * svg/SVGAnimateTransformElement.cpp:
2209         (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
2210
2211 2013-08-14  Antti Koivisto  <antti@apple.com>
2212
2213         Try to fix Qt build.
2214         
2215         Not reviewed.
2216
2217         * xml/parser/XMLDocumentParserQt.cpp:
2218         (WebCore::XMLDocumentParser::parseProcessingInstruction):
2219         (WebCore::XMLDocumentParser::parseCdata):
2220         (WebCore::XMLDocumentParser::parseComment):
2221
2222 2013-08-13  Antti Koivisto  <antti@apple.com>
2223
2224         Remove Node::attach() and ContainerNode::attach()
2225         https://bugs.webkit.org/show_bug.cgi?id=119698
2226
2227         Reviewed by Andreas Kling.
2228
2229         Currently attach() is a virtual function on Node. However only Elements have style and so a corresponding 
2230         independent render object. Attaching should be made Element level concept.
2231         
2232         This patch merges Node::attach() and ContainerNode::attach() to Element::attach(). Other related functions
2233         (detach(), reattach(), etc) move similarly.
2234         
2235         Next step here is to make attach non-virtual in common case and move it out from the DOM tree.
2236
2237         * dom/ContainerNode.cpp:
2238         (WebCore::attachChild):
2239         (WebCore::detachChild):
2240         
2241             Temporary helpers. Further refactoring should get rid of these.
2242
2243         (WebCore::ContainerNode::takeAllChildrenFrom):
2244         (WebCore::ContainerNode::removeBetween):
2245         (WebCore::updateTreeAfterInsertion):
2246         * dom/ContainerNode.h:
2247         * dom/Document.cpp:
2248         (WebCore::Document::attach):
2249         (WebCore::Document::detach):
2250         
2251             Copy the relevant parts of the code from base class attach/detach here. It is not much.
2252
2253         * dom/Document.h:
2254         * dom/Element.cpp:
2255         (WebCore::Element::~Element):
2256         
2257             Node destructor no longer detaches.
2258
2259         (WebCore::Element::attachChildren):
2260         (WebCore::Element::attach):
2261         
2262             Combine Node::attach(), ContainerNode::attach() and Element::attach().
2263
2264         (WebCore::Element::detachChildren):
2265         (WebCore::Element::detach):
2266         
2267             Combine Node::detach(), ContainerNode::detach() and Element::detach().
2268
2269         (WebCore::Element::reattach):
2270         (WebCore::Element::reattachIfAttached):
2271         (WebCore::Element::lazyReattach):
2272         (WebCore::Element::lazyAttach):
2273         
2274             This stuff moves from ContainerNode/Node.
2275
2276         * dom/Element.h:
2277         (WebCore::Element::AttachContext::AttachContext):
2278         * dom/ElementShadow.cpp:
2279         (WebCore::ElementShadow::removeShadowRoot):
2280         (WebCore::ElementShadow::attach):
2281         (WebCore::ElementShadow::detach):
2282         * dom/ElementShadow.h:
2283         * dom/Node.cpp:
2284         (WebCore::Node::~Node):
2285         
2286             Assert that we are not attached at this point.
2287
2288         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
2289         * dom/Node.h:
2290         (WebCore::Node::setAttached):
2291         (WebCore::Node::setStyleChange):
2292         
2293             Make available.
2294
2295         * dom/NodeRenderingContext.cpp:
2296         (WebCore::NodeRenderingContext::NodeRenderingContext):
2297         * dom/NodeRenderingContext.h:
2298         * dom/ShadowRoot.cpp:
2299         (WebCore::ShadowRoot::attach):
2300         (WebCore::ShadowRoot::detach):
2301         * dom/ShadowRoot.h:
2302         * dom/Text.cpp:
2303         (WebCore::Text::~Text):
2304         
2305             Node destructor no longer detaches. Add destructor.
2306
2307         (WebCore::Text::createTextRenderersForSiblingsAfterAttachIfNeeded):
2308         
2309             Factor the code that updates sibling text renderers after attach into a function.
2310
2311         (WebCore::Text::attachText):
2312         (WebCore::Text::detachText):
2313         
2314             Text::attachText/detachText replace virtual Node::attach/detach. They do the part of the work text nodes actually ended up doing.
2315
2316         (WebCore::Text::updateTextRenderer):
2317         * dom/Text.h:
2318         * html/HTMLViewSourceDocument.cpp:
2319         (WebCore::HTMLViewSourceDocument::addText):
2320         * html/PluginDocument.cpp:
2321         (WebCore::PluginDocument::detach):
2322         * html/PluginDocument.h:
2323         * html/parser/HTMLConstructionSite.cpp:
2324         (WebCore::executeTask):
2325         * html/shadow/ContentDistributor.cpp:
2326         (WebCore::ContentDistributor::invalidateDistribution):
2327         * html/shadow/InsertionPoint.cpp:
2328         (WebCore::InsertionPoint::attach):
2329         (WebCore::InsertionPoint::detach):
2330         * loader/PlaceholderDocument.cpp:
2331         (WebCore::PlaceholderDocument::attach):
2332         * loader/PlaceholderDocument.h:
2333         * style/StyleResolveTree.cpp:
2334         (WebCore::Style::resolveLocal):
2335         (WebCore::Style::updateTextStyle):
2336         * xml/parser/XMLDocumentParser.cpp:
2337         (WebCore::XMLDocumentParser::exitText):
2338         * xml/parser/XMLDocumentParserLibxml2.cpp:
2339         (WebCore::XMLDocumentParser::processingInstruction):
2340         (WebCore::XMLDocumentParser::cdataBlock):
2341         (WebCore::XMLDocumentParser::comment):
2342         
2343             No need to attach non-rendered nodes.
2344
2345 2013-08-14  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2346
2347         ASSERT(m_frame->view() == this) fails
2348         https://bugs.webkit.org/show_bug.cgi?id=119015
2349
2350         Reviewed by Simon Fraser.
2351
2352         Introduced the method fixedLayoutSizeChanged and made it chack if the view
2353         is attached to the frame before issuing contentsResized.
2354
2355         * page/FrameView.cpp:
2356         (WebCore::FrameView::fixedLayoutSizeChanged):
2357         * page/FrameView.h:
2358         * platform/ScrollView.cpp:
2359         (WebCore::ScrollView::setFixedLayoutSize):
2360         (WebCore::ScrollView::setUseFixedLayout):
2361         (WebCore::ScrollView::fixedLayoutSizeChanged):
2362         * platform/ScrollView.h:
2363
2364 2013-08-13  Sergio Villar Senin  <svillar@igalia.com>
2365
2366         [CSS Grid Layout] Align our grid-line handling with the updated specification
2367         https://bugs.webkit.org/show_bug.cgi?id=113546
2368
2369         Reviewed by Andreas Kling.
2370
2371         From Blink r148091 by <jchaffraix@chromium.org>
2372
2373         This change makes us match the updated specification by making
2374         grid line numbers to always resolve against the
2375         grid-{column|row}-start edge (the previous code would resolve
2376         grid-{column|row}-end grid lines against the grid-{column|row}-end
2377         edge).
2378
2379         To keep feature parity, negative numbers resolve against the
2380         grid-{column|row}-end edge of the 'explicit grid'.
2381
2382         Test: fast/css-grid-layout/grid-item-negative-integer-explicit-grid-resolution.html
2383
2384         * rendering/RenderGrid.cpp:
2385         (WebCore::estimatedGridSizeForPosition):
2386         (WebCore::RenderGrid::explicitGridColumnCount): New utility function.
2387         (WebCore::RenderGrid::explicitGridRowCount): Ditto.
2388         (WebCore::RenderGrid::maximumIndexInDirection): Use explicitGridXXXCount().
2389         (WebCore::RenderGrid::resolveGridPositionsFromStyle): Check that row-end > row-start.
2390         (WebCore::RenderGrid::resolveGridPositionFromStyle): Clamp negative values to the first line.
2391         * rendering/RenderGrid.h:
2392         * rendering/style/GridPosition.h:
2393
2394 2013-08-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2395
2396         Add toSVGTextPathElement(), and use it
2397         https://bugs.webkit.org/show_bug.cgi?id=119783
2398
2399         Reviewed by Ryosuke Niwa.
2400
2401         As a step to clean-up static_cast<SVGXXX>, static_cast<SVGTextPathElement*> can
2402         be changed with toSVGTextPathElement().
2403
2404         * rendering/svg/RenderSVGTextPath.cpp:
2405         (WebCore::RenderSVGTextPath::layoutPath):
2406         (WebCore::RenderSVGTextPath::startOffset):
2407         (WebCore::RenderSVGTextPath::exactAlignment):
2408         (WebCore::RenderSVGTextPath::stretchMethod):
2409         * svg/SVGTextPathElement.h:
2410         (WebCore::toSVGTextPathElement):
2411
2412 2013-08-14  Jinwoo Jeong  <jw00.jeong@samsung.com>
2413
2414         FEComponentTransfer could be faster.
2415         https://bugs.webkit.org/show_bug.cgi?id=119671
2416
2417         Reviewed by Christophe Dumez.
2418
2419         Use direct writing to target data instead of calling Uint8ClampedArray::set() function.
2420         This change reduces at least 80% time in the loop of that function.
2421
2422         The Uint8ClampedArray::set() function has index checking code, value checking code and value casting code.
2423         But the index is managed by for loop condition, the value is generated by transferFunction.
2424         And the value is already defined as unsigned char.
2425         Thus all works in Uint8ClampedArray::set() function is redundant.
2426         Removing the call to Uint8ClampedArray::set() function does not reduce stability but improves performance.
2427
2428         * platform/graphics/filters/FEComponentTransfer.cpp:
2429         (WebCore::FEComponentTransfer::platformApplySoftware):
2430
2431 2013-08-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2432
2433         The length of scheme is at least five characters even when the scheme has 'web+' prefix
2434         https://bugs.webkit.org/show_bug.cgi?id=119779
2435
2436         Reviewed by Ryosuke Niwa.
2437
2438         The content-scheme handler specification requires that it is SecurityError if the length of
2439         scheme isn't five characters at least, including 'web+' prefix. Thus, we need to check the length
2440         of scheme on the 'web+' scheme.
2441
2442         Spec: http://www.whatwg.org/specs/web-apps/current-work/#custom-handlers
2443
2444         No new tests, just modify existing tests.
2445
2446         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
2447         (WebCore::verifyProtocolHandlerScheme):
2448
2449 2013-08-13  Filip Pizlo  <fpizlo@apple.com>
2450
2451         Foo::s_info should be Foo::info(), so that you can change how the s_info is actually linked
2452         https://bugs.webkit.org/show_bug.cgi?id=119770
2453
2454         Reviewed by Mark Hahnenberg.
2455
2456         No new tests because no new behavior.
2457
2458         * bindings/js/IDBBindingUtilities.cpp:
2459         (WebCore::createIDBKeyFromValue):
2460         * bindings/js/JSAttrCustom.cpp:
2461         (WebCore::JSAttr::visitChildren):
2462         * bindings/js/JSAudioTrackCustom.cpp:
2463         (WebCore::JSAudioTrack::visitChildren):
2464         * bindings/js/JSAudioTrackListCustom.cpp:
2465         (WebCore::JSAudioTrackList::visitChildren):
2466         * bindings/js/JSBlobCustom.cpp:
2467         (WebCore::JSBlobConstructor::constructJSBlob):
2468         * bindings/js/JSCSSRuleCustom.cpp:
2469         (WebCore::JSCSSRule::visitChildren):
2470         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2471         (WebCore::JSCSSStyleDeclaration::visitChildren):
2472         (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):
2473         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2474         (WebCore::toHTMLCanvasStyle):
2475         * bindings/js/JSCanvasRenderingContextCustom.cpp:
2476         (WebCore::JSCanvasRenderingContext::visitChildren):
2477         * bindings/js/JSDOMBinding.cpp:
2478         (WebCore::valueToDate):
2479         * bindings/js/JSDOMBinding.h:
2480         (WebCore::DOMConstructorObject::createStructure):
2481         (WebCore::getDOMStructure):
2482         (WebCore::toRefPtrNativeArray):
2483         (WebCore::getStaticValueSlotEntryWithoutCaching):
2484         * bindings/js/JSDOMFormDataCustom.cpp:
2485         (WebCore::toHTMLFormElement):
2486         (WebCore::JSDOMFormData::append):
2487         * bindings/js/JSDOMGlobalObject.cpp:
2488         (WebCore::JSDOMGlobalObject::finishCreation):
2489         (WebCore::JSDOMGlobalObject::scriptExecutionContext):
2490         (WebCore::JSDOMGlobalObject::visitChildren):
2491         * bindings/js/JSDOMGlobalObject.h:
2492         (WebCore::JSDOMGlobalObject::info):
2493         (WebCore::JSDOMGlobalObject::createStructure):
2494         (WebCore::getDOMConstructor):
2495         * bindings/js/JSDOMStringListCustom.cpp:
2496         (WebCore::toDOMStringList):
2497         * bindings/js/JSDOMWindowBase.cpp:
2498         (WebCore::JSDOMWindowBase::finishCreation):
2499         (WebCore::toJSDOMWindow):
2500         * bindings/js/JSDOMWindowBase.h:
2501         (WebCore::JSDOMWindowBase::createStructure):
2502         * bindings/js/JSDOMWindowCustom.cpp:
2503         (WebCore::JSDOMWindow::visitChildren):
2504         (WebCore::JSDOMWindow::getOwnPropertySlot):
2505         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
2506         (WebCore::toDOMWindow):
2507         * bindings/js/JSDOMWindowShell.cpp:
2508         (WebCore::JSDOMWindowShell::finishCreation):
2509         * bindings/js/JSDOMWindowShell.h:
2510         (WebCore::JSDOMWindowShell::createStructure):
2511         * bindings/js/JSEventTargetCustom.cpp:
2512         (WebCore::toEventTarget):
2513         * bindings/js/JSHistoryCustom.cpp:
2514         (WebCore::JSHistory::getOwnPropertySlotDelegate):
2515         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
2516         * bindings/js/JSImageConstructor.cpp:
2517         (WebCore::JSImageConstructor::finishCreation):
2518         * bindings/js/JSImageConstructor.h:
2519         (WebCore::JSImageConstructor::createStructure):
2520         * bindings/js/JSInjectedScriptHostCustom.cpp:
2521         (WebCore::JSInjectedScriptHost::isHTMLAllCollection):
2522         (WebCore::JSInjectedScriptHost::type):
2523         (WebCore::JSInjectedScriptHost::functionDetails):
2524         * bindings/js/JSInspectorFrontendHostCustom.cpp:
2525         (WebCore::populateContextMenuItems):
2526         * bindings/js/JSLocationCustom.cpp:
2527         (WebCore::JSLocation::getOwnPropertySlotDelegate):
2528         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
2529         (WebCore::JSLocation::putDelegate):
2530         * bindings/js/JSMessageChannelCustom.cpp:
2531         (WebCore::JSMessageChannel::visitChildren):
2532         * bindings/js/JSMessagePortCustom.cpp:
2533         (WebCore::JSMessagePort::visitChildren):
2534         * bindings/js/JSNodeCustom.cpp:
2535         (WebCore::JSNode::pushEventHandlerScope):
2536         (WebCore::JSNode::visitChildren):
2537         * bindings/js/JSNodeFilterCustom.cpp:
2538         (WebCore::JSNodeFilter::visitChildren):
2539         (WebCore::toNodeFilter):
2540         * bindings/js/JSNodeIteratorCustom.cpp:
2541         (WebCore::JSNodeIterator::visitChildren):
2542         * bindings/js/JSPluginElementFunctions.h:
2543         (WebCore::pluginElementCustomGetOwnPropertySlot):
2544         (WebCore::pluginElementCustomGetOwnPropertyDescriptor):
2545         * bindings/js/JSSVGElementInstanceCustom.cpp:
2546         (WebCore::JSSVGElementInstance::visitChildren):
2547         * bindings/js/JSSharedWorkerCustom.cpp:
2548         (WebCore::JSSharedWorker::visitChildren):
2549         * bindings/js/JSStyleSheetCustom.cpp:
2550         (WebCore::JSStyleSheet::visitChildren):
2551         * bindings/js/JSTextTrackCueCustom.cpp:
2552         (WebCore::JSTextTrackCue::visitChildren):
2553         * bindings/js/JSTextTrackCustom.cpp:
2554         (WebCore::JSTextTrack::visitChildren):
2555         * bindings/js/JSTextTrackListCustom.cpp:
2556         (WebCore::JSTextTrackList::visitChildren):
2557         * bindings/js/JSTrackCustom.cpp:
2558         (WebCore::toTrack):
2559         * bindings/js/JSTreeWalkerCustom.cpp:
2560         (WebCore::JSTreeWalker::visitChildren):
2561         * bindings/js/JSVideoTrackCustom.cpp:
2562         (WebCore::JSVideoTrack::visitChildren):
2563         * bindings/js/JSVideoTrackListCustom.cpp:
2564         (WebCore::JSVideoTrackList::visitChildren):
2565         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2566         (WebCore::JSWebGLRenderingContext::visitChildren):
2567         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
2568         (WebCore::JSWebGLRenderingContext::getProgramParameter):
2569         (WebCore::JSWebGLRenderingContext::getShaderParameter):
2570         (WebCore::JSWebGLRenderingContext::getUniform):
2571         (WebCore::dataFunctionf):
2572         (WebCore::dataFunctioni):
2573         (WebCore::dataFunctionMatrix):
2574         * bindings/js/JSWorkerGlobalScopeBase.cpp:
2575         (WebCore::JSWorkerGlobalScopeBase::finishCreation):
2576         (WebCore::toJSDedicatedWorkerGlobalScope):
2577         (WebCore::toJSSharedWorkerGlobalScope):
2578         * bindings/js/JSWorkerGlobalScopeBase.h:
2579         (WebCore::JSWorkerGlobalScopeBase::createStructure):
2580         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
2581         (WebCore::JSWorkerGlobalScope::visitChildren):
2582         * bindings/js/JSXMLHttpRequestCustom.cpp:
2583         (WebCore::JSXMLHttpRequest::visitChildren):
2584         (WebCore::JSXMLHttpRequest::send):
2585         * bindings/js/JSXPathResultCustom.cpp:
2586         (WebCore::JSXPathResult::visitChildren):
2587         * bindings/js/ScriptDebugServer.cpp:
2588         (WebCore::ScriptDebugServer::dispatchDidPause):
2589         * bindings/js/ScriptState.cpp:
2590         (WebCore::domWindowFromScriptState):
2591         (WebCore::scriptExecutionContextFromScriptState):
2592         * bindings/js/SerializedScriptValue.cpp:
2593         (WebCore::CloneSerializer::isArray):
2594         (WebCore::CloneSerializer::dumpArrayBufferView):
2595         (WebCore::CloneSerializer::dumpIfTerminal):
2596         (WebCore::CloneSerializer::serialize):
2597         (WebCore::CloneDeserializer::CloneDeserializer):
2598         (WebCore::CloneDeserializer::readArrayBufferView):
2599         * bindings/objc/DOM.mm:
2600         (+[DOMNode _nodeFromJSWrapper:]):
2601         * bindings/objc/DOMUtility.mm:
2602         (JSC::createDOMWrapper):
2603         * bindings/objc/WebScriptObject.mm:
2604         (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
2605         * bindings/scripts/CodeGeneratorJS.pm:
2606         (GenerateGetOwnPropertySlotBody):
2607         (GenerateGetOwnPropertyDescriptorBody):
2608         (GenerateHeader):
2609         (GenerateParametersCheckExpression):
2610         (GenerateImplementation):
2611         (GenerateParametersCheck):
2612         (GenerateConstructorDeclaration):
2613         (GenerateConstructorHelperMethods):
2614         * bindings/scripts/test/JS/JSFloat64Array.cpp:
2615         (WebCore::JSFloat64ArrayConstructor::finishCreation):
2616         (WebCore::JSFloat64Array::finishCreation):
2617         (WebCore::JSFloat64Array::getOwnPropertySlot):
2618         (WebCore::JSFloat64Array::getOwnPropertyDescriptor):
2619         (WebCore::JSFloat64Array::getOwnPropertySlotByIndex):
2620         (WebCore::JSFloat64Array::put):
2621         (WebCore::JSFloat64Array::putByIndex):
2622         (WebCore::JSFloat64Array::getOwnPropertyNames):
2623         (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
2624         (WebCore::jsFloat64ArrayPrototypeFunctionSet):
2625         (WebCore::JSFloat64Array::getByIndex):
2626         (WebCore::toFloat64Array):
2627         * bindings/scripts/test/JS/JSFloat64Array.h:
2628         (WebCore::JSFloat64Array::createStructure):
2629         (WebCore::JSFloat64ArrayPrototype::createStructure):
2630         (WebCore::JSFloat64ArrayConstructor::createStructure):
2631         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2632         (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
2633         (WebCore::JSTestActiveDOMObject::finishCreation):
2634         (WebCore::JSTestActiveDOMObject::getOwnPropertySlot):
2635         (WebCore::JSTestActiveDOMObject::getOwnPropertyDescriptor):
2636         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
2637         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
2638         (WebCore::toTestActiveDOMObject):
2639         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
2640         (WebCore::JSTestActiveDOMObject::createStructure):
2641         (WebCore::JSTestActiveDOMObjectPrototype::createStructure):
2642         (WebCore::JSTestActiveDOMObjectConstructor::createStructure):
2643         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2644         (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
2645         (WebCore::JSTestCustomNamedGetter::finishCreation):
2646         (WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
2647         (WebCore::JSTestCustomNamedGetter::getOwnPropertyDescriptor):
2648         (WebCore::JSTestCustomNamedGetter::getOwnPropertySlotByIndex):
2649         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
2650         (WebCore::toTestCustomNamedGetter):
2651         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
2652         (WebCore::JSTestCustomNamedGetter::createStructure):
2653         (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
2654         (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
2655         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2656         (WebCore::JSTestEventConstructorConstructor::finishCreation):
2657         (WebCore::JSTestEventConstructor::finishCreation):
2658         (WebCore::JSTestEventConstructor::getOwnPropertySlot):
2659         (WebCore::JSTestEventConstructor::getOwnPropertyDescriptor):
2660         (WebCore::toTestEventConstructor):
2661         * bindings/scripts/test/JS/JSTestEventConstructor.h:
2662         (WebCore::JSTestEventConstructor::createStructure):
2663         (WebCore::JSTestEventConstructorPrototype::createStructure):
2664         (WebCore::JSTestEventConstructorConstructor::createStructure):
2665         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2666         (WebCore::JSTestEventTargetConstructor::finishCreation):
2667         (WebCore::JSTestEventTarget::finishCreation):
2668         (WebCore::JSTestEventTarget::getOwnPropertySlot):
2669         (WebCore::JSTestEventTarget::getOwnPropertyDescriptor):
2670         (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
2671         (WebCore::JSTestEventTarget::getOwnPropertyNames):
2672         (WebCore::jsTestEventTargetPrototypeFunctionItem):
2673         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
2674         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
2675         (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
2676         (WebCore::JSTestEventTarget::visitChildren):
2677         (WebCore::JSTestEventTarget::indexGetter):
2678         (WebCore::toTestEventTarget):
2679         * bindings/scripts/test/JS/JSTestEventTarget.h:
2680         (WebCore::JSTestEventTarget::createStructure):
2681         (WebCore::JSTestEventTargetPrototype::createStructure):
2682         (WebCore::JSTestEventTargetConstructor::createStructure):
2683         * bindings/scripts/test/JS/JSTestException.cpp:
2684         (WebCore::JSTestExceptionConstructor::finishCreation):
2685         (WebCore::JSTestException::finishCreation):
2686         (WebCore::JSTestException::getOwnPropertySlot):
2687         (WebCore::JSTestException::getOwnPropertyDescriptor):
2688         (WebCore::toTestException):
2689         * bindings/scripts/test/JS/JSTestException.h:
2690         (WebCore::JSTestException::createStructure):
2691         (WebCore::JSTestExceptionPrototype::createStructure):
2692         (WebCore::JSTestExceptionConstructor::createStructure):
2693         * bindings/scripts/test/JS/JSTestInterface.cpp:
2694         (WebCore::JSTestInterfaceConstructor::finishCreation):
2695         (WebCore::JSTestInterface::finishCreation):
2696         (WebCore::JSTestInterface::getOwnPropertySlot):
2697         (WebCore::JSTestInterface::getOwnPropertyDescriptor):
2698         (WebCore::JSTestInterface::put):
2699         (WebCore::JSTestInterface::putByIndex):
2700         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
2701         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
2702         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
2703         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
2704         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
2705         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
2706         (WebCore::toTestInterface):
2707         * bindings/scripts/test/JS/JSTestInterface.h:
2708         (WebCore::JSTestInterface::createStructure):
2709         (WebCore::JSTestInterfacePrototype::createStructure):
2710         (WebCore::JSTestInterfaceConstructor::createStructure):
2711         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2712         (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
2713         (WebCore::JSTestMediaQueryListListener::finishCreation):
2714         (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
2715         (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
2716         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
2717         (WebCore::toTestMediaQueryListListener):
2718         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2719         (WebCore::JSTestMediaQueryListListener::createStructure):
2720         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
2721         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
2722         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2723         (WebCore::JSTestNamedConstructorConstructor::finishCreation):
2724         (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
2725         (WebCore::JSTestNamedConstructor::finishCreation):
2726         (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
2727         (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
2728         (WebCore::toTestNamedConstructor):
2729         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
2730         (WebCore::JSTestNamedConstructor::createStructure):
2731         (WebCore::JSTestNamedConstructorPrototype::createStructure):
2732         (WebCore::JSTestNamedConstructorConstructor::createStructure):
2733         (WebCore::JSTestNamedConstructorNamedConstructor::createStructure):
2734         * bindings/scripts/test/JS/JSTestNode.cpp:
2735         (WebCore::JSTestNodeConstructor::finishCreation):
2736         (WebCore::JSTestNode::finishCreation):
2737         (WebCore::JSTestNode::getOwnPropertySlot):
2738         (WebCore::JSTestNode::getOwnPropertyDescriptor):
2739         (WebCore::JSTestNode::visitChildren):
2740         * bindings/scripts/test/JS/JSTestNode.h:
2741         (WebCore::JSTestNode::createStructure):
2742         (WebCore::JSTestNodePrototype::createStructure):
2743         (WebCore::JSTestNodeConstructor::createStructure):
2744         * bindings/scripts/test/JS/JSTestObj.cpp:
2745         (WebCore::JSTestObjConstructor::finishCreation):
2746         (WebCore::JSTestObj::finishCreation):
2747         (WebCore::JSTestObj::getOwnPropertySlot):
2748         (WebCore::JSTestObj::getOwnPropertyDescriptor):
2749         (WebCore::JSTestObj::put):
2750         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
2751         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
2752         (WebCore::jsTestObjPrototypeFunctionByteMethod):
2753         (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
2754         (WebCore::jsTestObjPrototypeFunctionOctetMethod):
2755         (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
2756         (WebCore::jsTestObjPrototypeFunctionLongMethod):
2757         (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
2758         (WebCore::jsTestObjPrototypeFunctionObjMethod):
2759         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
2760         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
2761         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
2762         (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
2763         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
2764         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
2765         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
2766         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
2767         (WebCore::jsTestObjPrototypeFunctionCustomMethod):
2768         (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
2769         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
2770         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
2771         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
2772         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
2773         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
2774         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
2775         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
2776         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
2777         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
2778         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
2779         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
2780         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
2781         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
2782         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
2783         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
2784         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
2785         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
2786         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
2787         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
2788         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
2789         (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
2790         (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
2791         (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
2792         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
2793         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
2794         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
2795         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
2796         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
2797         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
2798         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
2799         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
2800         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
2801         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
2802         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
2803         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
2804         (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
2805         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
2806         (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
2807         (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
2808         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
2809         (WebCore::jsTestObjPrototypeFunctionConvert1):
2810         (WebCore::jsTestObjPrototypeFunctionConvert2):
2811         (WebCore::jsTestObjPrototypeFunctionConvert4):
2812         (WebCore::jsTestObjPrototypeFunctionConvert5):
2813         (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
2814         (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
2815         (WebCore::jsTestObjPrototypeFunctionOrange):
2816         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
2817         (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
2818         (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
2819         (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
2820         (WebCore::JSTestObj::visitChildren):
2821         (WebCore::toTestObj):
2822         * bindings/scripts/test/JS/JSTestObj.h:
2823         (WebCore::JSTestObj::createStructure):
2824         (WebCore::JSTestObjPrototype::createStructure):
2825         (WebCore::JSTestObjConstructor::createStructure):
2826         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2827         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors):
2828         (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
2829         (WebCore::JSTestOverloadedConstructors::finishCreation):
2830         (WebCore::JSTestOverloadedConstructors::getOwnPropertySlot):
2831         (WebCore::JSTestOverloadedConstructors::getOwnPropertyDescriptor):
2832         (WebCore::toTestOverloadedConstructors):
2833         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
2834         (WebCore::JSTestOverloadedConstructors::createStructure):
2835         (WebCore::JSTestOverloadedConstructorsPrototype::createStructure):
2836         (WebCore::JSTestOverloadedConstructorsConstructor::createStructure):
2837         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2838         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
2839         (WebCore::JSTestSerializedScriptValueInterface::finishCreation):
2840         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
2841         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
2842         (WebCore::JSTestSerializedScriptValueInterface::put):
2843         (WebCore::JSTestSerializedScriptValueInterface::visitChildren):
2844         (WebCore::toTestSerializedScriptValueInterface):
2845         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2846         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
2847         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
2848         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
2849         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2850         (WebCore::JSTestTypedefsConstructor::finishCreation):
2851         (WebCore::JSTestTypedefs::finishCreation):
2852         (WebCore::JSTestTypedefs::getOwnPropertySlot):
2853         (WebCore::JSTestTypedefs::getOwnPropertyDescriptor):
2854         (WebCore::JSTestTypedefs::put):
2855         (WebCore::jsTestTypedefsPrototypeFunctionFunc):
2856         (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
2857         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
2858         (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
2859         (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
2860         (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
2861         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
2862         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
2863         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
2864         (WebCore::toTestTypedefs):
2865         * bindings/scripts/test/JS/JSTestTypedefs.h:
2866         (WebCore::JSTestTypedefs::createStructure):
2867         (WebCore::JSTestTypedefsPrototype::createStructure):
2868         (WebCore::JSTestTypedefsConstructor::createStructure):
2869         * bridge/c/CRuntimeObject.cpp:
2870         (JSC::Bindings::CRuntimeObject::finishCreation):
2871         * bridge/c/CRuntimeObject.h:
2872         (JSC::Bindings::CRuntimeObject::createStructure):
2873         * bridge/c/c_instance.cpp:
2874         (JSC::Bindings::CRuntimeMethod::createStructure):
2875         (JSC::Bindings::CRuntimeMethod::finishCreation):
2876         (JSC::Bindings::CInstance::invokeMethod):
2877         * bridge/c/c_utility.cpp:
2878         (JSC::Bindings::convertValueToNPVariant):
2879         * bridge/objc/ObjCRuntimeObject.h:
2880         (JSC::Bindings::ObjCRuntimeObject::createStructure):
2881         * bridge/objc/objc_instance.mm:
2882         (ObjCRuntimeMethod::finishCreation):
2883         (ObjcInstance::invokeMethod):
2884         * bridge/objc/objc_runtime.h:
2885         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
2886         * bridge/objc/objc_runtime.mm:
2887         (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
2888         (JSC::Bindings::callObjCFallbackObject):
2889         * bridge/qt/qt_instance.cpp:
2890         (JSC::Bindings::QtRuntimeObject::createStructure):
2891         (JSC::Bindings::QtInstance::getInstance):
2892         * bridge/qt/qt_pixmapruntime.cpp:
2893         (JSC::Bindings::assignToHTMLImageElement):
2894         (JSC::Bindings::QtPixmapRuntime::toQt):
2895         * bridge/qt/qt_runtime.cpp:
2896         (JSC::Bindings::isJSUint8Array):
2897         (JSC::Bindings::isJSArray):
2898         (JSC::Bindings::isJSDate):
2899         (JSC::Bindings::isQtObject):
2900         (JSC::Bindings::unwrapBoxedPrimitive):
2901         (JSC::Bindings::convertQVariantToValue):
2902         * bridge/runtime_array.cpp:
2903         (JSC::RuntimeArray::finishCreation):
2904         * bridge/runtime_array.h:
2905         (JSC::RuntimeArray::createStructure):
2906         * bridge/runtime_method.cpp:
2907         (JSC::RuntimeMethod::finishCreation):
2908         (JSC::callRuntimeMethod):
2909         * bridge/runtime_method.h:
2910         (JSC::RuntimeMethod::createStructure):
2911         * bridge/runtime_object.cpp:
2912         (JSC::Bindings::RuntimeObject::finishCreation):
2913         (JSC::Bindings::callRuntimeObject):
2914         (JSC::Bindings::callRuntimeConstructor):
2915         * bridge/runtime_object.h:
2916         (JSC::Bindings::RuntimeObject::createStructure):
2917
2918 2013-08-13  Ryosuke Niwa  <rniwa@webkit.org>
2919
2920         REGRESSION(r150187): Safari fails to render allrecipe.com comment popups
2921         https://bugs.webkit.org/show_bug.cgi?id=119780
2922
2923         Reviewed by Benjamin Poulain.
2924
2925         The bug was caused by SelectorDataList::executeFastPathForIdSelector not verifying that
2926         elements found by getAllElementsById are descendents of rootNode when there are multiple
2927         elements of the same id. This resulted in querySelector and querySelectorAll of an element
2928         returning nodes outside of the element.
2929
2930         Fixed the bug by checking this condition when we have multiple elements of the same id.
2931
2932         Test: fast/selectors/querySelector-id-with-multiple-elements-with-same-id.html
2933
2934         * dom/SelectorQuery.cpp:
2935         (WebCore::SelectorDataList::executeFastPathForIdSelector):
2936
2937 2013-08-12  Ryosuke Niwa  <rniwa@webkit.org>
2938
2939         Fix orphan needsLayout state in RenderTextControlSingleLine
2940         https://bugs.webkit.org/show_bug.cgi?id=119726
2941
2942         Reviewed by Kent Tamura.
2943
2944         Merge https://chromium.googlesource.com/chromium/blink/+/c0aec52ef348b2be0c882f8646fe3cf537831f59
2945
2946         We should mark the renderer for containerElement, which wraps innerTextElement and innerBlockElement
2947         in cases of input[type=search] and input[type=number], dirty.
2948
2949         * rendering/RenderTextControlSingleLine.cpp:
2950         (WebCore::setNeedsLayoutOnAncestors):
2951         (WebCore::RenderTextControlSingleLine::layout):
2952
2953 2013-08-13  Sam Weinig  <sam@webkit.org>
2954
2955         [Re-land] Cleanup MediaQueryListListener
2956         https://bugs.webkit.org/show_bug.cgi?id=119664
2957
2958         Reviewed by Andreas Kling.
2959
2960         Make MediaQueryListListener a proper WebIDL callback.
2961
2962         * CMakeLists.txt:
2963         * DerivedSources.cpp:
2964         * DerivedSources.make:
2965         * DerivedSources.pri:
2966         * GNUmakefile.list.am:
2967         * Target.pri:
2968         * WebCore.vcxproj/WebCore.vcxproj:
2969         * WebCore.vcxproj/WebCore.vcxproj.filters:
2970         * WebCore.xcodeproj/project.pbxproj:
2971         Update project files.
2972
2973         * bindings/scripts/CodeGeneratorJS.pm:
2974         (GenerateCallbackHeader):
2975         (GenerateCallbackImplementation):
2976         (JSValueToNative):
2977         * bindings/scripts/IDLAttributes.txt:
2978         Add support for CallbackNeedsOperatorEqual, which adds an operator==.
2979
2980         * css/MediaAllInOne.cpp:
2981         Remove MediaQueryListListener.cpp.
2982
2983         * css/MediaQueryListListener.cpp:
2984         Removed.
2985
2986         * css/MediaQueryListListener.h:
2987         (WebCore::MediaQueryListListener::~MediaQueryListListener):
2988         (WebCore::MediaQueryListListener::MediaQueryListListener):
2989         * css/MediaQueryListListener.idl:
2990         Convert to a proper WebIDL callback.
2991
2992         * css/MediaQueryMatcher.cpp:
2993         (WebCore::MediaQueryMatcher::Listener::evaluate):
2994         (WebCore::MediaQueryMatcher::styleResolverChanged):
2995         * css/MediaQueryMatcher.h:
2996         Remove all traces of the ScriptState.
2997
2998 2013-08-13  Dean Jackson  <dino@apple.com>
2999
3000         <https://webkit.org/b/119776> Don't use ScriptProfiler to find canvases for instrumentation
3001
3002         Reviewed by Joseph Pecoraro.
3003
3004         InspectorCanvasAgent::findFramesWithUninstrumentedCanvases uses a ScriptProfiler to walk the tree
3005         looking for canvas elements. This is currently not implemented in JSC, but we can do this directly
3006         with DOM methods. We're only looking for Canvas elements that have a context, so there isn't a need
3007         for this abstract walking object.
3008
3009         * html/HTMLCanvasElement.h: Add new helpers to cast to <canvas>.
3010         (WebCore::isHTMLCanvasElement):
3011         (WebCore::toHTMLCanvasElement):
3012         * inspector/InspectorCanvasAgent.cpp:
3013         (WebCore::InspectorCanvasAgent::findFramesWithUninstrumentedCanvases): Simply walk
3014         the frame tree and use getElementsByTagName to find canvas elements.
3015         * bindings/js/bindings/js/ScriptProfiler.h: Removed unused method.
3016
3017 2013-08-13  Brent Fulgham  <bfulgham@apple.com>
3018
3019         [Windows] Windows is incorrectly using a LayerTypeTiledBackingLayer
3020         https://bugs.webkit.org/show_bug.cgi?id=119772
3021
3022         Reviewed by Simon Fraser.
3023
3024         * platform/graphics/ca/GraphicsLayerCA.cpp:
3025         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Ensure that we use
3026         the correct (supported) tiled layer type for Windows.
3027         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3028         (PlatformCALayer::PlatformCALayer): Add an assertion to notify us if
3029         we introduce this mistake again in the future.
3030
3031 2013-08-13  Anders Carlsson  <andersca@apple.com>
3032
3033         <https://webkit.org/b/119771> Use NeverDestroyed for smart pointer slot static locals
3034
3035         Reviewed by Andreas Kling.
3036
3037         This is preparation for making it a hard error to use DEFINE_STATIC_LOCAL with smart pointer types.
3038
3039         * dom/UserTypingGestureIndicator.cpp:
3040         (WebCore::focusedNode):
3041         * page/mac/EventHandlerMac.mm:
3042         (WebCore::currentNSEventSlot):
3043         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
3044         (WebCore::defaultNetworkStorageSession):
3045         (WebCore::cookieStorageOverride):
3046
3047 2013-08-13  Anders Carlsson  <andersca@apple.com>
3048
3049         Stop using DEFINE_STATIC_LOCAL with RefPtr
3050         https://bugs.webkit.org/show_bug.cgi?id=119769
3051
3052         Reviewed by Andreas Kling.
3053
3054         No need to waste heap memory allocating RefPtr, just store the raw pointers directly.
3055
3056         * dom/ContextFeatures.cpp:
3057         (WebCore::ContextFeatures::defaultSwitch):
3058         * dom/DocumentMarker.cpp:
3059         (WebCore::DocumentMarkerTextMatch::instanceFor):
3060         * editing/EditingStyle.cpp:
3061         (WebCore::StyleChange::extractTextStyles):
3062         * html/FTPDirectoryDocument.cpp:
3063         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
3064         * html/HTMLPlugInImageElement.cpp:
3065         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
3066         * html/track/TextTrack.cpp:
3067         (WebCore::TextTrack::captionMenuOffItem):
3068         (WebCore::TextTrack::captionMenuAutomaticItem):
3069         * loader/icon/IconDatabase.cpp:
3070         (WebCore::loadDefaultIconRecord):
3071         * platform/graphics/Image.cpp:
3072         (WebCore::Image::nullImage):
3073         * platform/graphics/PlatformTextTrack.h:
3074         (WebCore::PlatformTextTrack::captionMenuOffItem):
3075         (WebCore::PlatformTextTrack::captionMenuAutomaticItem):
3076         * rendering/style/RenderStyle.cpp:
3077         (WebCore::RenderStyle::initialShapeInside):
3078         * testing/MockCDM.cpp:
3079         (WebCore::initDataPrefix):
3080         (WebCore::keyPrefix):
3081         (WebCore::keyRequest):
3082
3083 2013-08-13  Anders Carlsson  <andersca@apple.com>
3084
3085         Stop using DEFINE_STATIC_LOCAL with RetainPtr
3086         https://bugs.webkit.org/show_bug.cgi?id=119765
3087
3088         Reviewed by Jessie Berlin.
3089
3090         No need to waste heap memory allocating RetainPtrs, just store the raw pointers directly.
3091
3092         * platform/graphics/mac/ColorMac.mm:
3093         (WebCore::nsColor):
3094         * platform/graphics/mac/GraphicsContextMac.mm:
3095         (WebCore::makePatternColor):
3096         (WebCore::GraphicsContext::drawLineForDocumentMarker):
3097         * platform/graphics/mac/SimpleFontDataMac.mm:
3098         (WebCore::webFallbackFontFamily):
3099
3100 2013-08-13  Commit Queue  <commit-queue@webkit.org>
3101
3102         Unreviewed, rolling out r153925.
3103         http://trac.webkit.org/changeset/153925
3104         https://bugs.webkit.org/show_bug.cgi?id=119768
3105
3106         broke fast/media/media-query-list-07.html (Requested by kling
3107         on #webkit).
3108
3109         * CMakeLists.txt:
3110         * DerivedSources.cpp:
3111         * DerivedSources.make:
3112         * DerivedSources.pri:
3113         * GNUmakefile.list.am:
3114         * Target.pri:
3115         * WebCore.vcxproj/WebCore.vcxproj:
3116         * WebCore.vcxproj/WebCore.vcxproj.filters:
3117         * WebCore.xcodeproj/project.pbxproj:
3118         * bindings/scripts/CodeGeneratorJS.pm:
3119         (GenerateCallbackHeader):
3120         (GenerateCallbackImplementation):
3121         (JSValueToNative):
3122         * bindings/scripts/IDLAttributes.txt:
3123         * bindings/scripts/test/JS/JSTestCallback.cpp:
3124         (WebCore::JSTestCallback::JSTestCallback):
3125         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3126         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
3127         * css/MediaAllInOne.cpp:
3128         * css/MediaQueryListListener.cpp: Copied from Source/WebCore/css/MediaQueryListListener.idl.
3129         (WebCore::MediaQueryListListener::queryChanged):
3130         * css/MediaQueryListListener.h:
3131         (WebCore::MediaQueryListListener::create):
3132         (WebCore::MediaQueryListListener::operator==):
3133         (WebCore::MediaQueryListListener::MediaQueryListListener):
3134         * css/MediaQueryListListener.idl:
3135         * css/MediaQueryMatcher.cpp:
3136         (WebCore::MediaQueryMatcher::Listener::evaluate):
3137         (WebCore::MediaQueryMatcher::styleResolverChanged):
3138         * css/MediaQueryMatcher.h:
3139
3140 2013-08-13  Simon Fraser  <simon.fraser@apple.com>
3141
3142         Every scroll causes additional layer tree work because of flatteningLayer->removeFromParent();
3143         https://bugs.webkit.org/show_bug.cgi?id=119551
3144
3145         Reviewed by Dean Jackson.
3146
3147         Only re-parent the flattening layer if we had to update our
3148         layer configuration (reparenting is necessary then to get
3149         the correct sibling ordering), or if it was parented in some
3150         other layer.
3151         
3152         This avoid unnecessary flushing of state to CA.
3153
3154         * rendering/RenderLayerBacking.cpp:
3155         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
3156
3157 2013-08-13  Robert Hogan  <robert@webkit.org>
3158
3159         Section's collapsed borders painted in wrong place in rtl tables
3160         https://bugs.webkit.org/show_bug.cgi?id=119691
3161
3162         Reviewed by Darin Adler.
3163
3164         Table row-groups can be RTL too, so look to the section rather than the
3165         table when deciding the direction of a row. The section will inherit the
3166         table's direction if it doesn't override it.
3167
3168         Test: fast/table/paint-collapsed-borders-rtl-section.html
3169
3170         * rendering/RenderTableCell.cpp:
3171         (WebCore::RenderTableCell::hasStartBorderAdjoiningTable):
3172         (WebCore::RenderTableCell::hasEndBorderAdjoiningTable):
3173
3174 2013-08-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3175
3176         NodeList.item() does not behave according to specification
3177         https://bugs.webkit.org/show_bug.cgi?id=119722
3178
3179         Reviewed by Darin Adler.
3180
3181         Make NodeList.item() indexed getter behave according to specification:
3182         http://dom.spec.whatwg.org/#nodelist
3183
3184         Namely, we no longer throw if the index is negative (meaning the
3185         [IsIndex] extended attribute is dropped) and the argument is now
3186         mandatory.
3187
3188         This behavior is consistent with both IE10 and Firefox and since
3189         recently Blink.
3190
3191         Test: fast/dom/nodelist-item-parameter.html
3192
3193         * dom/NodeList.idl:
3194
3195 2013-08-13  Anders Carlsson  <andersca@apple.com>
3196
3197         Fix build.
3198
3199         * WebCore.exp.in:
3200
3201 2013-08-13  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3202
3203         REGRESSION(SUBPIXEL_LAYOUT) Composited layers can cause one pixel shifts
3204         https://bugs.webkit.org/show_bug.cgi?id=115304
3205
3206         Reviewed by David Hyatt.
3207
3208         Accelerated layers can cause blocks at subpixel offsets to shift because
3209         accumulated subpixel offsets are lost between each layers.
3210
3211         To solve this layer bounds are now calculated in LayoutUnits, and their
3212         subpixel offset saved so it can be used to ensure correct pixel-snapping
3213         during painting.
3214
3215         Test: fast/sub-pixel/sub-pixel-composited-layers.html
3216
3217         * WebCore.exp.in:
3218         * inspector/InspectorLayerTreeAgent.cpp:
3219         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
3220         * platform/graphics/LayoutPoint.h:
3221         (WebCore::LayoutPoint::fraction):
3222         * rendering/RenderLayer.cpp:
3223         (WebCore::RenderLayer::setupClipPath):
3224         (WebCore::RenderLayer::setupFilters):
3225         (WebCore::RenderLayer::paintLayerContents):
3226         (WebCore::RenderLayer::calculateLayerBounds):
3227         * rendering/RenderLayer.h:
3228         * rendering/RenderLayerBacking.cpp:
3229         (WebCore::RenderLayerBacking::updateCompositedBounds):
3230         (WebCore::RenderLayerBacking::updateAfterWidgetResize):
3231         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3232         (WebCore::RenderLayerBacking::resetContentsRect):
3233         (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
3234         (WebCore::RenderLayerBacking::contentsBox):
3235         (WebCore::RenderLayerBacking::backgroundBox):
3236         (WebCore::RenderLayerBacking::paintIntoLayer):
3237         (WebCore::RenderLayerBacking::paintContents):
3238         (WebCore::RenderLayerBacking::compositedBounds):
3239         (WebCore::RenderLayerBacking::setCompositedBounds):
3240         * rendering/RenderLayerBacking.h:
3241         * rendering/RenderLayerCompositor.cpp:
3242         (WebCore::RenderLayerCompositor::logLayerInfo):
3243         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
3244         * rendering/RenderLayerCompositor.h:
3245         * rendering/RenderTreeAsText.cpp:
3246         (WebCore::operator<<):
3247         * rendering/RenderTreeAsText.h:
3248
3249 2013-08-13  peavo@outlook.com  <peavo@outlook.com>
3250
3251         [Curl] Possible infinite loop while downloading.
3252         https://bugs.webkit.org/show_bug.cgi?id=119744
3253
3254         Reviewed by Darin Adler.
3255
3256         If adding/removing curl handles fails, the download thread
3257         can end up in an endless loop trying to update the curl handle list.
3258
3259         * platform/network/curl/CurlDownload.cpp:
3260         (WebCore::CurlDownloadManager::updateHandleList): Avoid infinite loop by ignoring return value.
3261
3262 2013-08-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3263
3264         HTMLSelectElement.item() does not behave according to specification
3265         https://bugs.webkit.org/show_bug.cgi?id=119738
3266
3267         Reviewed by Darin Adler.
3268
3269         Make HTMLSelectElement.item() behave according to specification:
3270         http://www.w3.org/TR/html51/forms.html#dom-select-item
3271         http://dom.spec.whatwg.org/#dom-htmlcollection-item
3272
3273         Namely, we no longer throw if the offset argument is negative. Also,
3274         the argument is now mandatory.
3275
3276         IE10, Firefox and Blink do not throw when HTMLSelectElement.item() is
3277         called with a negative value (as per the specification).
3278
3279         The argument is mandatory in Firefox and Blink, but optional in IE10
3280         (it returns null when called without argument). This looks like a bug
3281         in IE because other item() getters' argument is usually mandatory in IE
3282         (e.g. NodeList.item()).
3283
3284         Test: fast/dom/HTMLSelectElement/select-element-item-argument.html
3285
3286         * html/HTMLSelectElement.idl:
3287
3288 2013-08-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3289
3290         On request error, always fire events on the XMLHttpRequestUpload before the XMLHttpRequest
3291         https://bugs.webkit.org/show_bug.cgi?id=119714
3292
3293         Reviewed by Alexey Proskuryakov.
3294
3295         On request error, fire events on the XMLHttpRequestUpload object before the XMLHttpRequest
3296         object as per the latest specification:
3297         http://xhr.spec.whatwg.org/#request-error
3298
3299         This specification change was made in Sept 2010:
3300         http://dev.w3.org/cvsweb/2006/webapi/XMLHttpRequest-2/Overview.src.html.diff?r1=1.138;r2=1.139;f=h
3301
3302         It addresses the following comment:
3303         http://lists.w3.org/Archives/Public/public-webapps/2010JulSep/0777.html
3304
3305         IE10 and since recently Blink behave according to specification but WebKit was firing the
3306         events on the XMLHttpRequest object BEFORE the XMLHttpRequestUpload object in case of
3307         'network error' or 'abort error'. WebKit was however behaving according to specification
3308         in case of 'timeout error', which was inconsistent.
3309
3310         Test: http/tests/xmlhttprequest/upload-request-error-event-order.html
3311
3312         * xml/XMLHttpRequest.cpp:
3313         (WebCore::XMLHttpRequest::networkError):
3314         (WebCore::XMLHttpRequest::abortError):
3315
3316 2013-08-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3317
3318         Simplify RadioNodeList's anonymous indexed getter
3319         https://bugs.webkit.org/show_bug.cgi?id=119725
3320
3321         Reviewed by Darin Adler.
3322
3323         Simplify RadioNodeList's anonymous indexed getter by dropping [IsIndex]
3324         IDL extended attribute from its parameter and making it mandatory.
3325
3326         This change has strictly no impact on the generated bindings code
3327         but it simplifies the IDL.
3328
3329         No new test, no behavior change.
3330
3331         * html/RadioNodeList.idl:
3332
3333 2013-08-13  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>
3334
3335         [GTK] close the volume slider when the media control panel is hidden
3336         https://bugs.webkit.org/show_bug.cgi?id=119062
3337
3338         Reviewed by Gustavo Noronha Silva.
3339
3340         It's not obvious how to close the volume slider on webkitGtk.
3341         The volume slider should close if the control panel is hidden.
3342
3343         * html/shadow/MediaControlsGtk.cpp:
3344         (WebCore::MediaControlsGtk::makeTransparent):
3345         * html/shadow/MediaControlsGtk.h:
3346
3347 2013-08-13  Commit Queue  <commit-queue@webkit.org>
3348
3349         Unreviewed, rolling out r152563.
3350         http://trac.webkit.org/changeset/152563
3351         https://bugs.webkit.org/show_bug.cgi?id=119740
3352
3353         causes random crashes (Requested by carewolf on #webkit).
3354
3355         * platform/graphics/qt/FontCacheQt.cpp:
3356         (WebCore::FontCache::getLastResortFallbackFont):
3357
3358 2013-08-13  Andrei Bucur  <abucur@adobe.com>
3359
3360         Unreviewed.
3361
3362         Fix the build after http://trac.webkit.org/changeset/153990.
3363
3364         * rendering/RenderBlock.cpp:
3365         (WebCore::RenderBlock::updateShapesBeforeBlockLayout): Add the default return value if CSS Shapes are disabled.
3366
3367 2013-08-13  Andrei Bucur  <abucur@adobe.com>
3368
3369         [CSS Regions] Compute correct region ranges for boxes
3370         https://bugs.webkit.org/show_bug.cgi?id=116296
3371
3372         Reviewed by David Hyatt.
3373
3374         The patch extends the region ranges implementation with the following behavior:
3375         - the range of a box is always included in the range of its containing block (even for floats); this will simplify how overflow
3376         is propagated to the regions and it should later change on a case by case basis.
3377         - if the range of a box is not correctly estimated before the layout it will be marked for relayout; this is necessary to correctly
3378         position boxes that overflow naturally, like floats.
3379         - all the boxes have a range now, not only the blocks.
3380         - regionAtBlockOffset can clamp to a box.
3381         - an unsplittable box has a region range of a single region, the one where the box top falls into.
3382
3383         When the layout of a child box starts it tries to give an estimate based on the maximal height of the box. After the layout,
3384         if the estimation was wrong, the box is relaid out. For example, if a block with a float is laid out in a region but the float
3385         overflows in the next region a relayout is needed for the float so it can be positioned relative to the containing block
3386         region (this step can be optimized by making a layout pass only for the children that don't have the region range enclosed in the
3387         containing block range).
3388
3389         Tests: fast/regions/bottom-overflow-out-of-first-region-absolute.html
3390                fast/regions/float-pushed-width-change-2.html
3391                fast/regions/scrollable-paragraph-unsplittable.html
3392
3393         * rendering/RenderBlock.cpp:
3394         (WebCore::RenderBlock::updateShapesBeforeBlockLayout): Doesn't do anything for regions now.
3395         (WebCore::RenderBlock::updateShapesAfterBlockLayout): Doesn't do anything for regions now.
3396         (WebCore::RenderBlock::relayoutToAvoidWidows): The layout to avoid widows. Widows use the line index to determine the break point,
3397         not the RootLineBox pointer as before. This is necessary to prevent stale pointers in further layouts.
3398         (WebCore::RenderBlock::layoutBlock):
3399         (WebCore::RenderBlock::layoutBlockChild):
3400         (WebCore::RenderBlock::layoutPositionedObjects):
3401         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): Relayout for widows during layoutBlock(). Don't wait to exit the block layout.
3402         (WebCore::RenderBlock::positionNewFloats):
3403         (WebCore::RenderBlock::hasNextPage):
3404         (WebCore::RenderBlock::applyBeforeBreak):
3405         (WebCore::RenderBlock::applyAfterBreak):
3406         (WebCore::RenderBlock::setPageBreak):
3407         (WebCore::RenderBlock::updateMinimumPageHeight):
3408         (WebCore::RenderBlock::regionAtBlockOffset): This function can now clamp at a box.
3409         (WebCore::RenderBlock::computeRegionRangeForBoxChild): Calculate the box region range using the box height.
3410         (WebCore::RenderBlock::estimateRegionRangeForBoxChild): Estimate the box region range using a huge height for the box.
3411         (WebCore::RenderBlock::updateRegionRangeForBoxChild): Determine the final region range of a box.
3412         * rendering/RenderBlock.h:
3413         (WebCore::RenderBlock::logicalWidthForChild):
3414         (WebCore::RenderBlock::logicalHeightForChild):
3415         (WebCore::RenderBlock::logicalTopForChild):
3416         * rendering/RenderBlockLineLayout.cpp:
3417         (WebCore::RenderBlock::layoutInlineChildren):
3418         * rendering/RenderBox.cpp:
3419         (WebCore::RenderBox::clampToStartAndEndRegions):
3420         (WebCore::RenderBox::borderBoxRectInRegion):
3421         * rendering/RenderBox.h:
3422         * rendering/RenderDeprecatedFlexibleBox.cpp:
3423         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):