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