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