[GTK] WebKitGTK+ is linking against libxslt in too many places
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-09-14  Alberto Garcia  <berto@igalia.com>
2
3         [GTK] WebKitGTK+ is linking against libxslt in too many places
4         https://bugs.webkit.org/show_bug.cgi?id=121356
5
6         Reviewed by Martin Robinson.
7
8         Don't use LIBXSLT_CFLAGS when compiling libWebCorePlatform and
9         libWebCoreGtk, no source files use libxslt there.
10
11         * GNUmakefile.am:
12
13 2013-09-14  Joseph Pecoraro  <pecoraro@apple.com>
14
15         Web Inspector: InjectedScriptSource_js and InjectedScriptCanvasModuleSource_js should be minified
16         https://bugs.webkit.org/show_bug.cgi?id=121183
17
18         Reviewed by Timothy Hatcher.
19
20         * CMakeLists.txt:
21         * DerivedSources.make:
22         * DerivedSources.pri:
23         * GNUmakefile.am:
24         Minify files at build time before running xxd.pl.
25
26         * WebCore.xcodeproj/project.pbxproj:
27         * inspector/InjectedScriptCanvasModuleSource.js:
28         * inspector/InjectedScriptSource.js:
29         Strip trailing whitespace (touching the files so the derived sources are regenerated).
30
31         * inspector/InspectorOverlayPage.css: Added.
32         * inspector/InspectorOverlayPage.html:
33         * inspector/InspectorOverlayPage.js: Copied from Source/WebCore/inspector/InspectorOverlayPage.html.
34         Move JS and CSS to external files. They are inlined and minified at build time.
35
36         * inspector/Scripts/cssmin.py: Added.
37         * inspector/Scripts/jsmin.py: Added.
38         Copied from WebInspectorUI/Scripts.
39
40         * inspector/Scripts/inline-and-minify-stylesheets-and-scripts.py: Added.
41         Add a script that can inline stylesheets and scripts. For minifying InspectorOverlayPage.html.
42
43 2013-09-14  Zan Dobersek  <zdobersek@igalia.com>
44
45         Unreviewed, fixing debug GTK builds after r155709.
46
47         * platform/gtk/PasteboardGtk.cpp:
48         (WebCore::Pasteboard::write): Assert that the PasteboardURL's URL is not empty.
49
50 2013-09-14  Andreas Kling  <akling@apple.com>
51
52         CTTE: RenderDetailsMarker is never anonymous.
53         <https://webkit.org/b/121355>
54
55         Reviewed by Darin Adler.
56
57         This renderer is never anonymous, and always has a corresponding DetailsMarkerControl.
58         Couldn't resist cleaning up the class a little bit, adding OVERRIDE and making
59         toRenderDetailsMarker() into a reference version.
60
61 2013-09-14  Andreas Kling  <akling@apple.com>
62
63         CTTE: RenderRubyAs{Block,Inline} are never anonymous.
64         <https://webkit.org/b/121353>
65
66         Reviewed by Darin Adler.
67
68         Replace element() with existingElement() and spam class with OVERRIDE.
69         Removed bogus removeLeftoverAnonymousBlock() override in RenderRubyAsInline
70         since it didn't override anything from a parent class.
71
72 2013-09-14  Andreas Kling  <akling@apple.com>
73
74         CTTE: RenderRubyText is never anonymous.
75         <https://webkit.org/b/121352>
76
77         Reviewed by Darin Adler.
78
79         Replace element() with existingElement() and spam class with OVERRIDE.
80
81 2013-09-14  Andreas Kling  <akling@apple.com>
82
83         CTTE: RenderSVGBlock renderers are never anonymous.
84         <https://webkit.org/b/121351>
85
86         Reviewed by Antti Koivisto.
87
88         RenderSVGBlock inherits from RenderBlockFlow, so needs separate treatment
89         from RenderSVGModelObject.
90
91         But like RSMO, these renderers are never anonymous, so add strongly typed
92         reference getters and do away with some magical type casts.
93
94 2013-09-14  Andreas Kling  <akling@apple.com>
95
96         CTTE: RenderSVGModelObject renderers are never anonymous.
97         <https://webkit.org/b/121350>
98
99         Reviewed by Darin Adler.
100
101         Flip the switch, turning RenderSVGModelObject::element() into a reference.
102
103 2013-09-13  Andreas Kling  <akling@apple.com>
104
105         CTTE: RenderSVGResourceClipper always has an SVGClipPathElement.
106         <https://webkit.org/b/121349>
107
108         Reviewed by Darin Adler.
109
110         This renderer is never anonymous. Tighten things up with a clipPathElement()
111         reference getter. Removed some unnecessary null checks and type casts.
112
113 2013-09-13  Andreas Kling  <akling@apple.com>
114
115         CTTE: RenderSVGResourceFilter always has an SVGFilterElement.
116         <https://webkit.org/b/121348>
117
118         Reviewed by Darin Adler.
119
120         This renderer is never anonymous. Tighten things up with a filterElement()
121         reference getter. Removed some unnecessary null checks and type casts.
122
123 2013-09-13  Darin Adler  <darin@apple.com>
124
125         Use a better name than m_invertibleCTM
126         https://bugs.webkit.org/show_bug.cgi?id=121341
127
128         Reviewed by Andreas Kling.
129
130         Rename isTransformInvertible to hasInvertibleTransform, and
131         m_invertibleCTM to m_hasInvertibleTransform.
132
133         * html/canvas/CanvasPathMethods.cpp:
134         (WebCore::CanvasPathMethods::moveTo):
135         (WebCore::CanvasPathMethods::lineTo):
136         (WebCore::CanvasPathMethods::quadraticCurveTo):
137         (WebCore::CanvasPathMethods::bezierCurveTo):
138         (WebCore::CanvasPathMethods::arcTo):
139         (WebCore::CanvasPathMethods::arc):
140         (WebCore::CanvasPathMethods::rect):
141         Updated for name change. Not really sure the name is good here,
142         because DOMPath doesn't have a transform at all; should switch
143         to a better name some day.
144
145         * html/canvas/CanvasPathMethods.h: Renamed, added a new constructor,
146         and made the virtual function private.
147
148         * html/canvas/CanvasRenderingContext2D.cpp:
149         (WebCore::CanvasRenderingContext2D::State::State):
150         (WebCore::CanvasRenderingContext2D::State::operator=):
151         (WebCore::CanvasRenderingContext2D::scale):
152         (WebCore::CanvasRenderingContext2D::rotate):
153         (WebCore::CanvasRenderingContext2D::translate):
154         (WebCore::CanvasRenderingContext2D::transform):
155         (WebCore::CanvasRenderingContext2D::setTransform):
156         (WebCore::CanvasRenderingContext2D::fill):
157         (WebCore::CanvasRenderingContext2D::stroke):
158         (WebCore::CanvasRenderingContext2D::clip):
159         (WebCore::CanvasRenderingContext2D::isPointInPath):
160         (WebCore::CanvasRenderingContext2D::isPointInStroke):
161         (WebCore::CanvasRenderingContext2D::clearRect):
162         (WebCore::CanvasRenderingContext2D::fillRect):
163         (WebCore::CanvasRenderingContext2D::strokeRect):
164         (WebCore::CanvasRenderingContext2D::drawImage):
165         (WebCore::CanvasRenderingContext2D::didDraw):
166         (WebCore::CanvasRenderingContext2D::drawTextInternal):
167         Updated for name change.
168
169         * html/canvas/CanvasRenderingContext2D.h: Updated for name change.
170         Also got rid of unneeded conditional around forward class declaration.
171
172         * html/canvas/DOMPath.h: Moved SVG-specific include into a
173         separate paragraph. Removed unneeded invocation  of WTF_MAKE_NONCOPYABLE,
174         which is already true since we inherit from RefCounted. Changed create
175         function argument to be a const*. Eliminated extra constructors that were
176         unneeded. Made the path-parsing create function SVG-only, rather than
177         compiling a useless empty one when compiling without SVG.
178
179 2013-09-13  Andreas Kling  <akling@apple.com>
180
181         CTTE: Tighter element types for RenderSVGResourceGradient and subclasses.
182         <https://webkit.org/b/121346>
183
184         Reviewed by Darin Adler
185
186         Codify the following:
187
188         - RenderSVGResourceGradient always has an SVGGradientElement.
189         - RenderSVGResourceLinearGradient always has an SVGLinearGradientElement.
190         - RenderSVGResourceRadialGradient always has an SVGRadialGradientElement.
191
192         None of these renderers are ever anonymous, so delete element() and provide
193         strongly typed reference getters instead.
194
195         Also made RenderSVGResourceGradient constructor protected since it should
196         never be instantiated directly.
197
198 2013-09-13  Andreas Kling  <akling@apple.com>
199
200         CTTE: RenderSVGResourceMarker always has an SVGMarkerElement.
201         <https://webkit.org/b/121345>
202
203         Reviewed by Brent Fulgham.
204
205         This renderer is never anonymous. Tighten things up with a maskElement()
206         reference getter. Removed some unnecessary type casts and assertions.
207
208 2013-09-13  Andreas Kling  <akling@apple.com>
209
210         CTTE: RenderSVGResourceMasker always has an SVGMaskElement.
211         <https://webkit.org/b/121344>
212
213         Reviewed by Brent Fulgham.
214
215         This renderer is never anonymous. Tighten things up with a maskElement()
216         reference getter. Removed some unnecessary null checks and assertions.
217
218 2013-09-13  Commit Queue  <commit-queue@webkit.org>
219
220         Unreviewed, rolling out r155738.
221         http://trac.webkit.org/changeset/155738
222         https://bugs.webkit.org/show_bug.cgi?id=121342
223
224         Broke many tests (Requested by ap on #webkit).
225
226         * GNUmakefile.list.am:
227         * Target.pri:
228         * UseJSC.cmake:
229         * WebCore.vcxproj/WebCore.vcxproj:
230         * WebCore.vcxproj/WebCore.vcxproj.filters:
231         * WebCore.xcodeproj/project.pbxproj:
232         * bindings/js/JSBindingsAllInOne.cpp:
233         * bindings/js/JSConsoleCustom.cpp: Added.
234         (WebCore::JSConsole::profile):
235         (WebCore::JSConsole::profileEnd):
236         * bindings/js/ScriptState.h:
237         * page/Console.cpp:
238         (WebCore::Console::profile):
239         (WebCore::Console::profileEnd):
240         * page/Console.h:
241         * page/Console.idl:
242
243 2013-09-12  Ryosuke Niwa  <rniwa@webkit.org>
244
245         CSSPropertyAnimation::ensurePropertyMap() is large
246         https://bugs.webkit.org/show_bug.cgi?id=121199
247
248         Reviewed by Darin Adler.
249
250         The bug was caused by repeated calls to Vector::append. Avoid it by storing pointers in a local array
251         and then adding them as we traverse them through to fill m_propertyToIdMap. Also reserve the full
252         initial capacity at once to avoid repeated calls to FastMalloc and FastFree.
253
254         * page/animation/CSSPropertyAnimation.cpp:
255         (WebCore::CSSPropertyAnimationWrapperMap::instance):
256         (WebCore::CSSPropertyAnimationWrapperMap::wrapperForProperty):
257         (WebCore::CSSPropertyAnimationWrapperMap::wrapperForIndex):
258         (WebCore::CSSPropertyAnimationWrapperMap::indexFromPropertyID):
259         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Renamed from ensurePropertyMap.
260         Also merged addShorthandProperties into it since they have to access local variables of the other.
261
262 2013-09-13  Ryuan Choi  <ryuan.choi@samsung.com>
263
264         Unreviewed build fix for EFL port.
265
266         * editing/efl/EditorEfl.cpp:
267         * platform/efl/PasteboardEfl.cpp:
268         (WebCore::Pasteboard::read):
269         (WebCore::Pasteboard::write):
270
271 2013-09-13  Sam Weinig  <sam@webkit.org>
272
273         Fix a few lingering ScriptStates.
274
275         Reviewed by Andy Estes.
276
277         * Modules/indexeddb/IDBCursor.cpp:
278         (WebCore::IDBCursor::update):
279         * Modules/indexeddb/IDBObjectStore.cpp:
280         (WebCore::IDBObjectStore::add):
281         (WebCore::IDBObjectStore::put):
282         * bindings/cpp/WebNativeNodeFilterCondition.cpp:
283         (WebNativeNodeFilterCondition::acceptNode):
284         * bindings/cpp/WebNativeNodeFilterCondition.h:
285         * dom/CustomElementConstructor.cpp:
286         (WebCore::CustomElementConstructor::create):
287         * dom/CustomElementConstructor.h:
288         * dom/CustomElementRegistry.cpp:
289         (WebCore::CustomElementRegistry::registerElement):
290         * dom/CustomElementRegistry.h:
291         * plugins/PluginView.cpp:
292         (WebCore::PluginView::performRequest):
293
294 2013-09-13  Darin Adler  <darin@apple.com>
295
296         Rename confusingly named "runtimeObject" functions
297         https://bugs.webkit.org/show_bug.cgi?id=121339
298
299         Also CTTE: HTMLElement.
300
301         Reviewed by Sam Weinig.
302
303         * bindings/js/JSHTMLAppletElementCustom.cpp:
304         (WebCore::JSHTMLAppletElement::putDelegate): Renamed.
305         (WebCore::JSHTMLAppletElement::getCallData): Renamed.
306         * bindings/js/JSHTMLEmbedElementCustom.cpp:
307         (WebCore::JSHTMLEmbedElement::putDelegate): Renamed.
308         (WebCore::JSHTMLEmbedElement::getCallData): Renamed.
309         * bindings/js/JSHTMLObjectElementCustom.cpp:
310         (WebCore::JSHTMLObjectElement::putDelegate): Renamed.
311         (WebCore::JSHTMLObjectElement::getCallData): Renamed.
312
313         * bindings/js/JSPluginElementFunctions.cpp:
314         (WebCore::isPluginElement): Changed to take HTMLElement&.
315         (WebCore::pluginInstance): Ditto.
316         (WebCore::pluginScriptObjectFromPluginViewBase): Updated for name and type change.
317         (WebCore::pluginScriptObject): Ditto.
318         (WebCore::pluginElementPropertyGetter): Ditto.
319         (WebCore::pluginElementCustomGetOwnPropertySlot): Ditto.
320         (WebCore::pluginElementCustomPut): Ditto.
321         (WebCore::pluginElementGetCallData): Ditto.
322
323         * bindings/js/JSPluginElementFunctions.h: Updated names and types.
324
325         * bindings/objc/WebScriptObject.mm:
326         (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
327         Updated for type change.
328         * bridge/runtime_method.cpp:
329         (JSC::callRuntimeMethod): Ditto.
330
331 2013-09-13  Sam Weinig  <sam@webkit.org>
332
333         There is no need for any custom bindings for Console
334         https://bugs.webkit.org/show_bug.cgi?id=121338
335
336         Reviewed by Joseph Pecoraro.
337
338         * GNUmakefile.list.am:
339         * Target.pri:
340         * UseJSC.cmake:
341         * WebCore.vcxproj/WebCore.vcxproj:
342         * WebCore.vcxproj/WebCore.vcxproj.filters:
343         * WebCore.xcodeproj/project.pbxproj:
344         * bindings/js/JSBindingsAllInOne.cpp:
345         Remove JSConsoleCustom.cpp from project files.
346
347         * bindings/js/JSConsoleCustom.cpp:
348         Removed.
349
350         * page/Console.cpp:
351         (WebCore::Console::profile):
352         (WebCore::Console::profileEnd):
353         * page/Console.h:
354         Swap the order of the arguments to appease the bindings generator.
355
356         * page/Console.idl:
357         Add the [CallWith=ScriptState] attribute to pass the ExecState
358         and [TreatNullAs=NullString, TreatUndefinedAs=NullString] to get
359         the right stringification.
360
361 2013-09-13  Sam Weinig  <sam@webkit.org>
362
363         Part 2 of Replace ScriptState with JSC::ExecState
364         https://bugs.webkit.org/show_bug.cgi?id=121336
365
366         * dom/Document.h:
367         There is no WebCore::JSC namespace!
368
369 2013-09-13  Sam Weinig  <sam@webkit.org>
370
371         Replace ScriptState with JSC::ExecState
372         https://bugs.webkit.org/show_bug.cgi?id=121336
373
374         Reviewed by Darin Adler.
375
376         * Modules/indexeddb/IDBCursor.h:
377         * Modules/indexeddb/IDBObjectStore.h:
378         * bindings/js/JSInjectedScriptHostCustom.cpp:
379         * bindings/js/JSInjectedScriptManager.cpp:
380         * bindings/js/JSNodeCustom.cpp:
381         * bindings/js/JSNodeFilterCondition.h:
382         * bindings/js/ScriptController.cpp:
383         * bindings/js/ScriptDebugServer.cpp:
384         * bindings/js/ScriptDebugServer.h:
385         * bindings/js/ScriptEventListener.cpp:
386         * bindings/js/ScriptEventListener.h:
387         * bindings/js/ScriptFunctionCall.cpp:
388         * bindings/js/ScriptFunctionCall.h:
389         * bindings/js/ScriptObject.cpp:
390         * bindings/js/ScriptObject.h:
391         * bindings/js/ScriptProfiler.cpp:
392         * bindings/js/ScriptProfiler.h:
393         * bindings/js/ScriptState.cpp:
394         * bindings/js/ScriptState.h:
395         * bindings/js/ScriptValue.cpp:
396         * bindings/js/ScriptValue.h:
397         * bindings/js/SerializedScriptValue.cpp:
398         * bindings/js/SerializedScriptValue.h:
399         * dom/Document.cpp:
400         * dom/Document.h:
401         * dom/NodeFilter.cpp:
402         * dom/NodeFilter.h:
403         * dom/NodeFilterCondition.cpp:
404         * dom/NodeFilterCondition.h:
405         * dom/NodeIterator.cpp:
406         * dom/NodeIterator.h:
407         * dom/ScriptExecutionContext.cpp:
408         * dom/ScriptExecutionContext.h:
409         * dom/Traversal.cpp:
410         * dom/Traversal.h:
411         * dom/TreeWalker.cpp:
412         * dom/TreeWalker.h:
413         * inspector/ConsoleMessage.cpp:
414         * inspector/ConsoleMessage.h:
415         * inspector/InjectedScript.h:
416         * inspector/InjectedScriptBase.cpp:
417         * inspector/InjectedScriptBase.h:
418         * inspector/InjectedScriptCanvasModule.cpp:
419         * inspector/InjectedScriptCanvasModule.h:
420         * inspector/InjectedScriptHost.cpp:
421         * inspector/InjectedScriptHost.h:
422         * inspector/InjectedScriptManager.cpp:
423         * inspector/InjectedScriptManager.h:
424         * inspector/InjectedScriptModule.cpp:
425         * inspector/InjectedScriptModule.h:
426         * inspector/InspectorAgent.cpp:
427         * inspector/InspectorCanvasAgent.cpp:
428         * inspector/InspectorCanvasAgent.h:
429         * inspector/InspectorConsoleAgent.cpp:
430         * inspector/InspectorConsoleAgent.h:
431         * inspector/InspectorConsoleInstrumentation.h:
432         * inspector/InspectorDOMAgent.cpp:
433         * inspector/InspectorDebuggerAgent.cpp:
434         * inspector/InspectorDebuggerAgent.h:
435         * inspector/InspectorFrontendClientLocal.cpp:
436         * inspector/InspectorFrontendHost.cpp:
437         * inspector/InspectorIndexedDBAgent.cpp:
438         * inspector/InspectorInstrumentation.cpp:
439         * inspector/InspectorInstrumentation.h:
440         * inspector/PageConsoleAgent.cpp:
441         * inspector/PageDebuggerAgent.cpp:
442         * inspector/PageRuntimeAgent.cpp:
443         * inspector/PageRuntimeAgent.h:
444         * inspector/ScriptArguments.cpp:
445         * inspector/ScriptArguments.h:
446         * inspector/ScriptDebugListener.h:
447         * inspector/WorkerDebuggerAgent.cpp:
448         * inspector/WorkerRuntimeAgent.cpp:
449         * page/Console.cpp:
450         * page/Console.h:
451         * page/ContentSecurityPolicy.cpp:
452         * page/ContentSecurityPolicy.h:
453         * page/PageConsole.cpp:
454         * page/PageConsole.h:
455         * workers/WorkerGlobalScope.cpp:
456         * workers/WorkerGlobalScope.h:
457
458 2013-09-13  Sam Weinig  <sam@webkit.org>
459
460         Chrome, DragController and FocusController should hold onto a Page&
461         https://bugs.webkit.org/show_bug.cgi?id=121325
462
463         Reviewed by Anders Carlsson.
464
465         * editing/FrameSelection.cpp:
466         * editing/FrameSelection.h:
467         * page/Chrome.cpp:
468         (WebCore::Chrome::Chrome):
469         (WebCore::Chrome::scroll):
470         (WebCore::Chrome::createWindow):
471         (WebCore::canRunModalIfDuringPageDismissal):
472         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
473         (WebCore::Chrome::runJavaScriptAlert):
474         (WebCore::Chrome::runJavaScriptConfirm):
475         (WebCore::Chrome::runJavaScriptPrompt):
476         (WebCore::Chrome::mouseDidMoveOverElement):
477         (WebCore::Chrome::setToolTip):
478         (WebCore::Chrome::windowScreenDidChange):
479         * page/Chrome.h:
480         * page/DragController.cpp:
481         * page/DragController.h:
482         * page/mac/DragControllerMac.mm:
483         * page/FocusController.cpp:
484         * page/FocusController.h:
485         * page/Page.cpp:
486         (WebCore::Page::Page):
487         * page/PageGroupLoadDeferrer.cpp:
488         * page/PageGroupLoadDeferrer.h:
489         Take references where possible.
490
491 2013-09-13  Anders Carlsson  <andersca@apple.com>
492
493         Use nullptr instead of 0 in calls to HashMap::add
494         https://bugs.webkit.org/show_bug.cgi?id=121322
495
496         Reviewed by Sam Weinig.
497
498         * bridge/IdentifierRep.cpp:
499         (WebCore::IdentifierRep::get):
500         * css/CSSFontFaceSource.cpp:
501         (WebCore::CSSFontFaceSource::getFontData):
502         * css/CSSFontSelector.cpp:
503         (WebCore::CSSFontSelector::getFontFace):
504         * css/CSSSegmentedFontFace.cpp:
505         (WebCore::CSSSegmentedFontFace::getFontData):
506         * css/CSSValuePool.cpp:
507         (WebCore::CSSValuePool::createFontFamilyValue):
508         (WebCore::CSSValuePool::createFontFaceValue):
509         * dom/ChildListMutationScope.cpp:
510         (WebCore::ChildListMutationAccumulator::getOrCreate):
511         * dom/Document.cpp:
512         (WebCore::Document::getCSSCanvasElement):
513         * dom/NodeRareData.h:
514         (WebCore::NodeListsNodeData::addCacheWithAtomicName):
515         (WebCore::NodeListsNodeData::addCacheWithName):
516         (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
517         * loader/appcache/ApplicationCacheStorage.cpp:
518         (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
519         * page/PageGroup.cpp:
520         (WebCore::PageGroup::pageGroup):
521         * page/animation/AnimationController.cpp:
522         (WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
523         * platform/mac/ScrollbarThemeMac.mm:
524         (WebCore::ScrollbarThemeMac::registerScrollbar):
525         * storage/StorageNamespaceImpl.cpp:
526         (WebCore::StorageNamespaceImpl::localStorageNamespace):
527
528 2013-09-13  Sam Weinig  <sam@webkit.org>
529
530         ContextMenuController should hold onto a Page&
531         https://bugs.webkit.org/show_bug.cgi?id=121320
532
533         Reviewed by Anders Carlsson.
534
535         * page/ContextMenuController.cpp:
536         (WebCore::ContextMenuController::ContextMenuController):
537         (WebCore::ContextMenuController::~ContextMenuController):
538         (WebCore::ContextMenuController::showContextMenu):
539         (WebCore::ContextMenuController::contextMenuItemSelected):
540         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
541         (WebCore::ContextMenuController::showContextMenuAt):
542         * page/ContextMenuController.h:
543         Store the Page and ContextMenuClient as references.
544
545         * page/Page.cpp:
546         (WebCore::Page::Page):
547         Pass the Page and ContextMenuClient as references and switch to using createOwned<>().
548
549 2013-09-13  Tim Horton  <timothy_horton@apple.com>
550
551         Apply OVERRIDE and FINAL to Image subclasses and clean them up
552         https://bugs.webkit.org/show_bug.cgi?id=121086
553
554         Reviewed by Alexey Proskuryakov.
555
556         Everything other than the copious application of OVERRIDE and FINAL
557         is explicitly called out below.
558
559         * WebCore.exp.in:
560         Export the correct version of getCGImageRef for use by WebKit2.
561
562         * platform/graphics/BitmapImage.cpp:
563         * platform/graphics/BitmapImage.h:
564         Drive-by inline isBitmapImage.
565         Move create(HBITMAP) to be near the other create() functions.
566         Move all of the members private.
567         Devirtualize frameCount().
568         Move notSolidColor() near the other solid color functions.
569
570         * platform/graphics/CrossfadeGeneratedImage.cpp:
571         (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
572         (WebCore::CrossfadeGeneratedImage::drawPattern):
573         * platform/graphics/GeneratorGeneratedImage.cpp:
574         (WebCore::GeneratorGeneratedImage::draw):
575         (WebCore::GeneratorGeneratedImage::drawPattern):
576         Use size() and setContainerSize() instead of directly accessing a
577         superclass' (now private, previously protected) members.
578
579         * platform/graphics/CrossfadeGeneratedImage.h:
580         * platform/graphics/GeneratedImage.h:
581         Make m_size private, I don't think we do protected members.
582         
583         * platform/graphics/GeneratorGeneratedImage.h:
584         Make all the members private.
585
586         * svg/graphics/SVGImage.h:
587         * svg/graphics/SVGImageForContainer.h:
588
589 2013-09-13  Alexey Proskuryakov  <ap@apple.com>
590
591         [Mac] WebCore Web Inspector files are only copied as part of clean build
592         https://bugs.webkit.org/show_bug.cgi?id=121316
593
594         Reviewed by Timothy Hatcher.
595
596         Removed insufficient dependencies to make the phase run unconditionally.
597
598         * WebCore.xcodeproj/project.pbxproj:
599
600 2013-09-13  Eric Carlson  <eric.carlson@apple.com>
601
602         CodeGeneratorJS doesn't generate header includes for sequence<type>
603         https://bugs.webkit.org/show_bug.cgi?id=121314
604
605         Reviewed by Dean Jackson.
606
607         * bindings/scripts/CodeGeneratorJS.pm:
608         (SkipIncludeHeader): Don't return false for sequence and array types.
609         (AddIncludesForType): Do add includes for sequence and array types.
610         (GenerateCallbackImplementation):
611         * bindings/scripts/test/JS/JSTestTypedefs.cpp: Regenerated
612         * bindings/scripts/test/JS/JSTestTypedefs.h: Ditto.
613         * bindings/scripts/test/TestTypedefs.idl: Add a method that takes a sequence<TestEventTarget>.
614
615 2013-09-13  Andreas Kling  <akling@apple.com>
616
617         CTTE: RenderSVGResourcePattern always has an SVGPatternElement.
618         <https://webkit.org/b/121313>
619
620         Reviewed by Anders Carlsson.
621
622         This renderer is never anonymous. Tighten things up with a patternElement()
623         reference getter. Removed some unnecessary null checks and assertions.
624
625 2013-09-13  Darin Adler  <darin@apple.com>
626
627         Remove layering-violating Pasteboard::plainText function (for all platforms now)
628         https://bugs.webkit.org/show_bug.cgi?id=121312
629
630         Reviewed by Antti Koivisto.
631
632         * editing/Editor.cpp:
633         (WebCore::Editor::pasteAsPlainTextWithPasteboard): Call readPlainTextFromPasteboard
634         on all platforms, not just Mac and EFL. Also call canSmartReplaceWithPasteboard with
635         a reference instead of a pointer.
636         (WebCore::Editor::readPlainTextFromPasteboard): Added. This is a cross-platform
637         version of what was previously a Mac-only function.
638         (WebCore::Editor::plainTextFromPasteboard): Added. This is the simple non-Mac version
639         of this function.
640         (WebCore::Editor::pasteWithPasteboard): Updated to call canSmartReplaceWithPasteboard
641         with a reference.
642         (WebCore::Editor::canSmartReplaceWithPasteboard): Updated to take a reference.
643
644         * editing/Editor.h: Make readPlainTextFromPasteboard cross-platform instead of
645         Mac-only. Also changed argument to canSmartReplaceWithPasteboard to be a reference.
646         Also added private plainTextFromPasteboard function.
647
648         * editing/mac/EditorMac.mm:
649         (WebCore::Editor::pasteWithPasteboard): Updated to call canSmartReplaceWithPasteboard
650         with a reference.
651         (WebCore::Editor::plainTextFromPasteboard): Added. Contains the Mac-specific parts
652         of the readPlainTextFromPasteboard function.
653
654         * platform/Pasteboard.h: Fixed a conditional in the PasteboardPlainText struct to
655         omit iOS. Removed the layering-voiolating plainText function.
656
657         * platform/blackberry/PasteboardBlackBerry.cpp:
658         (WebCore::Pasteboard::read): Renamed from plainText and updated to new calling
659         convention.
660         * platform/gtk/PasteboardGtk.cpp:
661         (WebCore::Pasteboard::read): Ditto.
662         * platform/ios/PasteboardIOS.mm:
663         (WebCore::Pasteboard::read): Ditto.
664         * platform/nix/PasteboardNix.cpp:
665         (WebCore::Pasteboard::read): Ditto.
666         * platform/qt/PasteboardQt.cpp:
667         (WebCore::Pasteboard::read): Ditto.
668         * platform/win/PasteboardWin.cpp:
669         (WebCore::Pasteboard::read): Ditto.
670
671 2013-09-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
672
673         [GTK] Move to the new web inspector
674         https://bugs.webkit.org/show_bug.cgi?id=120647
675
676         Reviewed by Carlos Garcia Campos.
677
678         No tests for the new inspector UI as of yet.
679
680         * GNUmakefile.am: no longer install the deprecated inspector UI files.
681         * WebCore.exp.in: add SchemeRegistry symbol that is now used.
682
683 2013-09-13  Darin Adler  <darin@apple.com>
684
685         Try to fix Qt build.
686
687         * platform/qt/PasteboardQt.cpp:
688         (WebCore::Pasteboard::write): Update variable name at one place I missed.
689
690 2013-09-13  Arvid Nilsson  <anilsson@rim.com>
691
692         [BlackBerry] Scrolling and zooming is slow when Flash plugin visible
693         https://bugs.webkit.org/show_bug.cgi?id=120618
694
695         Reviewed by Anders Carlsson.
696         Internally reviewed by Jacky Jiang.
697
698         JIRA 490823
699         Compositing Flash plugin content triggered a workaround for a graphics
700         driver quirk. The workaround was actually related to WebGL, not Flash,
701         back when we used glCopyTexImage to implement WebGL double buffering
702         (see PR 148933 and 150228 for more details of the old implementation).
703
704         Originally, both WebGL and plugin layers added themselves to the
705         LayerRenderer::m_layersLockingTextureResources list. Now only plugin
706         layers use this list.
707         The glCopyTexImage code was removed long ago, and WebGL now uses the
708         EGLImage-based double buffering approach implemented in
709         EGLImageLayerWebKitThread and EGLImageLayerCompositingThreadClient.
710
711         Fixed by removing the now obsolete workaround, a call to "glFinish".
712         This considerably improves the frame rate of zooming and scrolling when
713         Flash content is visible.
714
715         Improvement in frame rate not appropriate to test using layout tests,
716         could easily result in flaky test.
717
718         * platform/graphics/blackberry/LayerRenderer.cpp:
719         (WebCore::LayerRenderer::compositeLayers):
720
721 2013-09-13  Zoltan Horvath  <zoltan@webkit.org>
722
723         Move LineLayoutState class to LineLayoutState.h
724         https://bugs.webkit.org/show_bug.cgi?id=121263
725
726         Reviewed by Ryosuke Niwa.
727
728         I added bitfields, reordered the members and a functions too.
729
730         No new tests, no behavior change.
731
732         * rendering/LineLayoutState.h: Added.
733         (WebCore::LineLayoutState::LineLayoutState):
734         (WebCore::LineLayoutState::markForFullLayout):
735         (WebCore::LineLayoutState::isFullLayout):
736         (WebCore::LineLayoutState::usesRepaintBounds):
737         (WebCore::LineLayoutState::setRepaintRange):
738         (WebCore::LineLayoutState::updateRepaintRangeFromBox):
739         (WebCore::LineLayoutState::endLineMatched):
740         (WebCore::LineLayoutState::setEndLineMatched):
741         (WebCore::LineLayoutState::checkForFloatsFromLastLine):
742         (WebCore::LineLayoutState::setCheckForFloatsFromLastLine):
743         (WebCore::LineLayoutState::lineInfo):
744         (WebCore::LineLayoutState::endLineLogicalTop):
745         (WebCore::LineLayoutState::setEndLineLogicalTop):
746         (WebCore::LineLayoutState::endLine):
747         (WebCore::LineLayoutState::setEndLine):
748         (WebCore::LineLayoutState::lastFloat):
749         (WebCore::LineLayoutState::setLastFloat):
750         (WebCore::LineLayoutState::floats):
751         (WebCore::LineLayoutState::floatIndex):
752         (WebCore::LineLayoutState::setFloatIndex):
753         (WebCore::LineLayoutState::adjustedLogicalLineTop):
754         (WebCore::LineLayoutState::setAdjustedLogicalLineTop):
755         (WebCore::LineLayoutState::flowThread):
756         (WebCore::LineLayoutState::setFlowThread):
757         * rendering/RenderBlockLineLayout.cpp: Remove LineLayoutState.
758
759 2013-09-13  Darin Adler  <darin@apple.com>
760
761         Remove layering-violating Pasteboard::writeURL (for all platforms now)
762         https://bugs.webkit.org/show_bug.cgi?id=121306
763
764         Reviewed by Antti Koivisto.
765
766         * editing/Editor.cpp:
767         (WebCore::Editor::copyURL): Move the contents of the writeURLToPasteboard function
768         in here.
769
770         * editing/Editor.h: Removed Mac-specific writeURLToPasteboard, added private
771         Mac-specific fillInUserVisibleForm function for the one Mac-specific part of writing URLs.
772
773         * editing/efl/EditorEfl.cpp: Deleted Editor::writeURLToPasteboard.
774
775         * editing/mac/EditorMac.mm: Deleted Editor::writeURLToPasteboard, moving the code
776         into copyURL.
777         (WebCore::Editor::fillInUserVisibleForm): Added.
778
779         * page/DragController.cpp:
780         (WebCore::DragController::startDrag): Call copyURL instead of writeURL or
781         writeURLToPasteboard.
782
783         * platform/Pasteboard.h: Fixed up the PasteboardURL struct so it's suitable for
784         cross-platform use. Removed the writeURL function. Removed the Frame* argument from
785         the Windows-specific writeURLToDataObject function.
786
787         * platform/blackberry/PasteboardBlackBerry.cpp:
788         (WebCore::Pasteboard::write): Renamed/refactored from writeURL.
789         * platform/gtk/PasteboardGtk.cpp:
790         (WebCore::Pasteboard::write): Ditto.
791         * platform/nix/PasteboardNix.cpp:
792         (WebCore::Pasteboard::write): Ditto.
793         * platform/qt/PasteboardQt.cpp:
794         (WebCore::Pasteboard::write): Ditto.
795         * platform/win/PasteboardWin.cpp:
796         (WebCore::Pasteboard::writeURLToDataObject): Removed unused Frame* argument.
797         (WebCore::Pasteboard::write): Renamed/refactored from writeURL.
798
799 2013-09-13  Chris Fleizach  <cfleizach@apple.com>
800
801         AX: AXPress does not work in SVG
802         https://bugs.webkit.org/show_bug.cgi?id=121248
803
804         Reviewed by Mario Sanchez Prada.
805
806         Implement accessKeyAction() on SVGElements, which is what accessibility code
807         uses in order to activate Elements.
808
809         Test: accessibility/svg-element-press.html
810
811         * svg/SVGElement.cpp:
812         (WebCore::SVGElement::accessKeyAction):
813         * svg/SVGElement.h:
814
815 2013-09-13  Andreas Kling  <akling@apple.com>
816
817         [CTTE] RenderSVGTransformableContainer is never anonymous.
818         <https://webkit.org/b/121304>
819
820         Reviewed by Anders Carlsson.
821
822         This renderer is never anonymous. Tighten things up with a graphicsElement()
823         reference getter.
824
825 2013-09-13  Andreas Kling  <akling@apple.com>
826
827         [CTTE] RenderSVGImage always has a SVGImageElement.
828         <https://webkit.org/b/121301>
829
830         Reviewed by Anders Carlsson.
831
832         This renderer is never anonymous, and always has a corresponding SVGImageElement.
833
834 2013-09-13  Andreas Kling  <akling@apple.com>
835
836         [CTTE] Tighter element types for RenderSVGShape and subclasses.
837         <https://webkit.org/b/121302>
838
839         Reviewed by Antti Koivisto.
840
841         Codify the following:
842
843         - RenderSVGPath always has an SVGGraphicsElement.
844         - RenderSVGEllipse always has an SVGGraphicsElement.
845         - RenderSVGRect always has an SVGRectElement.
846         - RenderSVGShape always has an SVGGraphicsElement.
847
848         None of these renderers are ever anonymous, so delete element() and provide
849         strongly typed reference getters instead.
850
851 2013-09-13  Andreas Kling  <akling@apple.com>
852
853         [CTTE] RenderSVGResourceFilterPrimitive always has an SVGFilterPrimitiveStandardAttributes.
854         <https://webkit.org/b/121300>
855
856         Reviewed by Anders Carlsson.
857
858         This renderer is never anonymous, and always has a corresponding SVGFilterPrimitiveStandardAttributes element. 
859
860 2013-09-12  Darin Adler  <darin@apple.com>
861
862         Finish removing layer-violating code from Pasteboard (just for Mac during this first step)
863         https://bugs.webkit.org/show_bug.cgi?id=121279
864
865         Reviewed by Anders Carlsson.
866
867         * editing/Editor.h: Added webContentFromPasteboard member function, private nested class
868         WebContentReader, private createFragmentForImageResourceAndAddResource and
869         createFragmentAndAddResources member functions.
870
871         * editing/mac/EditorMac.mm: Re-sorted includes and added some.
872         (WebCore::Editor::pasteWithPasteboard): Call the new webContentFromPasteboard function.
873         (WebCore::Editor::insertParagraphSeparatorInQuotedContent): Comment tweak.
874         (WebCore::styleForSelectionStart): Removed an unneeded call to String::impl.
875         (WebCore::Editor::readPlainTextFromPasteboard): Updated to use an isURL boolean instead
876         of a separate string named "url".
877         (WebCore::Editor::WebContentReader::readWebArchive): Added. Contains reworked code that
878         was originally in Pasteboard::documentFragment.
879         (WebCore::Editor::WebContentReader::readFilenames): Ditto.
880         (WebCore::Editor::WebContentReader::readHTML): Ditto.
881         (WebCore::Editor::WebContentReader::readRTFD): Ditto.
882         (WebCore::Editor::WebContentReader::readRTF): Ditto.
883         (WebCore::Editor::WebContentReader::readImage): Ditto.
884         (WebCore::Editor::WebContentReader::readURL): Ditto.
885         (WebCore::Editor::WebContentReader::readPlainText): Ditto.
886         (WebCore::Editor::webContentFromPasteboard): Added. Uses WebContentReader to read the
887         content from the pasteboard.
888         (WebCore::Editor::createFragmentForImageResourceAndAddResource): Added. Helper used
889         by code above.
890         (WebCore::Editor::createFragmentAndAddResources): Ditto.
891
892         * platform/Pasteboard.h: Added new PasteboardWebContentReader abstract class so
893         client can get the various types of pasteboard content and stop on the kind it
894         can handle. Improved comments and formatting a bit. Removed documentFragment
895         when compiling for PLATFORM(MAC).
896
897         * platform/mac/DragDataMac.mm:
898         (WebCore::DragData::asFragment): Changed to use Editor::webContentFromPasteboard.
899
900         * platform/mac/PasteboardMac.mm:
901         (WebCore::Pasteboard::read): Updated the plain text overload of this for changes
902         to the struct that holds the result. Added a new web content overload of this,
903         which retains the pasteboard-reading part of Pasteboard::documentFragment, but
904         omits the document fragment construction part.
905
906 2013-09-13  Andreas Kling  <akling@apple.com>
907
908         [CTTE] RenderSVGText always has a SVGTextElement.
909         <https://webkit.org/b/121299>
910
911         Reviewed by Antti Koivisto.
912
913         This renderer is never anonymous, and always has a corresponding <svg> element.
914         Tighten this up and remove some pointless assertions.
915
916 2013-09-13  Allan Sandfeld Jensen  <allan.jensen@digia.com>
917
918         Remove support for QXmlStream as the XML parser.
919         https://bugs.webkit.org/show_bug.cgi?id=121229
920
921         Reviewed by Andreas Kling.
922
923         Remove the implementation and all the #ifdef related to it.
924
925         * Target.pri:
926         * WebCore.pri:
927         * dom/TransformSource.h:
928         * xml/XMLErrors.h:
929         * xml/XSLStyleSheet.h:
930         * xml/XSLTProcessor.h:
931         * xml/parser/XMLDocumentParser.cpp:
932         (WebCore::XMLDocumentParser::enterText):
933         (WebCore::toString):
934         (WebCore::XMLDocumentParser::exitText):
935         (WebCore::XMLDocumentParser::insertErrorMessageBlock):
936         * xml/parser/XMLDocumentParser.h:
937         * xml/parser/XMLDocumentParserQt.cpp: Removed.
938
939 2013-09-13  Andreas Kling  <akling@apple.com>
940
941         [CTTE] RenderSVGViewportContainer always has a SVGSVGElement.
942         <https://webkit.org/b/121297>
943
944         Reviewed by Antti Koivisto.
945
946         This renderer is never anonymous, and always has a corresponding <svg> element.
947         Tighten this up and remove some pointless null checks and type checks.
948
949 2013-09-13  Andreas Kling  <akling@apple.com>
950
951         [CTTE] RenderSVGRoot always has a SVGSVGElement.
952         <https://webkit.org/b/121293>
953
954         Reviewed by Antti Koivisto.
955
956         This renderer is never anonymous, and always has a corresponding <svg> element.
957         Tighten this up and remove some pointless null checks and assertions.
958
959 2013-09-13  Andreas Kling  <akling@apple.com>
960
961         Remove support for anonymous deprecated flexboxes.
962         <https://webkit.org/b/121288>
963
964         Reviewed by Antti Koivisto.
965
966         There are no remaining internal clients of RenderDeprecatedFlexibleBox,
967         Nuke a FIXME from r143643 where the move to basing renderers on new flexbox started.
968
969         This was the only user of anonymous deprecated flexbox, so removed the ability to
970         construct those.
971
972         Also removed some Chrome-related feature observation gunk from constructor.
973
974 2013-09-13  Andreas Kling  <akling@apple.com>
975
976         [CTTE] RenderMultiColumnBlock is never anonymous.
977         <https://webkit.org/b/121292>
978
979         Reviewed by Antti Koivisto.
980
981         Hide element() and provide existingElement() instead, returning an Element&.
982
983 2013-09-13  Andreas Kling  <akling@apple.com>
984
985         [CTTE] RenderGrid is never anonymous.
986         <https://webkit.org/b/121290>
987
988         Reviewed by Antti Koivisto.
989
990         Hide element() and provide existingElement() instead, returning an Element&.
991
992 2013-09-13  Andreas Kling  <akling@apple.com>
993
994         [CTTE] RenderTableCaption is never anonymous.
995         <https://webkit.org/b/121289>
996
997         Reviewed by Antti Koivisto.
998
999         Hide element() and provide existingElement() instead, returning an Element&.
1000
1001 2013-09-13  Andreas Kling  <akling@apple.com>
1002
1003         [CTTE] RenderTableCol is never anonymous.
1004         <https://webkit.org/b/121286>
1005
1006         Reviewed by Antti Koivisto.
1007
1008         Hide element() and provide existingElement() instead, returning an Element&.
1009         Removed one bogus null check that was exposed.
1010
1011 2013-09-13  Andreas Kling  <akling@apple.com>
1012
1013         [CTTE] RenderListItem is never anonymous.
1014         <https://webkit.org/b/121285>
1015
1016         Reviewed by Antti Koivisto.
1017
1018         Hide element() and provide existingElement() instead, returning an Element&.
1019         Removed some bogus assertions that were exposed by this.
1020
1021 2013-09-13  Andreas Kling  <akling@apple.com>
1022
1023         [CTTE] Tighter element types for RenderSVGInline and subclasses.
1024         <https://webkit.org/b/121283>
1025
1026         Reviewed by Antti Koivisto.
1027
1028         Codify the following:
1029
1030         - RenderSVGInline always has an SVGGraphicsElement.
1031         - RenderSVGTextPath always has an SVGTextPathElement.
1032         - RenderSVGTSpan always has an SVGTextPositioningElement.
1033
1034         None of these renderers are ever anonymous, so delete element() and provide
1035         strongly typed reference getters instead.
1036
1037 2013-09-13  Andreas Kling  <akling@apple.com>
1038
1039         [CTTE] RenderFileUploadControl always has a HTMLInputElement.
1040         <https://webkit.org/b/121278>
1041
1042         Reviewed by Darin Adler.
1043
1044         RenderFileUploadControl is never anonymous and always has a corresponding HTMLInputElement.
1045
1046 2013-09-13  Andreas Kling  <akling@apple.com>
1047
1048         [CTTE] RenderFieldset always has a HTMLFieldSetElement.
1049         <https://webkit.org/b/121277>
1050
1051         Reviewed by Darin Adler.
1052
1053         RenderFieldset is never anonymous and always has a corresponding HTMLFieldSetElement.
1054
1055 2013-09-13  Andreas Kling  <akling@apple.com>
1056
1057         [CTTE] RenderButton always has a HTMLFormControlElement.
1058         <https://webkit.org/b/121281>
1059
1060         Reviewed by Antti Koivisto.
1061
1062         RenderButton is never anonymous and has either a <button> or an <input> element,
1063         and their nearest shared ancestor is HTMLFormControlElement.
1064
1065 2013-09-13  Darin Adler  <darin@apple.com>
1066
1067         Give actions in Range class NON_SHOUTING_NAMES
1068         https://bugs.webkit.org/show_bug.cgi?id=121280
1069
1070         Reviewed by Andreas Kling.
1071
1072         * dom/Range.cpp:
1073         (WebCore::Range::deleteContents):
1074         (WebCore::Range::processContents):
1075         (WebCore::Range::processContentsBetweenOffsets):
1076         (WebCore::Range::processNodes):
1077         (WebCore::Range::processAncestorsAndTheirSiblings):
1078         (WebCore::Range::extractContents):
1079         (WebCore::Range::cloneContents):
1080         * dom/Range.h:
1081         Just let do-webcore-rename do its thing.
1082         - DELETE_CONTENTS -> Delete
1083         - EXTRACT_CONTENTS -> Extract
1084         - CLONE_CONTENTS -> Clone
1085
1086 2013-09-12  Santosh Mahto  <santosh.ma@samsung.com>
1087
1088         [EFL]Background Style of element not visible because of  default theme style
1089         https://bugs.webkit.org/show_bug.cgi?id=117405
1090
1091         Reviewed by Gyuyoung Kim.
1092
1093         When select element is styled with css background property(color/image) the styling
1094         gets hidden by Combo box non transparent image. This patch handle the
1095         case and transparent images are used when select image is styled. So
1096         now background-color and background-image are visible across the Combo box
1097         
1098         The code is added to support css styling of other theme control,
1099         Basically an extra signal is emitted to edje which change the state 
1100         of edje object whenever the control is styled.
1101
1102         Covered by existing test case, updated the test expected image.
1103
1104         * platform/efl/DefaultTheme/CMakeLists.txt:
1105         * platform/efl/DefaultTheme/widget/combo/combo.edc:
1106         * platform/efl/DefaultTheme/widget/combo/combo_focus_button_transparent.png: Added.
1107         * platform/efl/DefaultTheme/widget/combo/combo_focus_transparent.png: Added.
1108         * platform/efl/DefaultTheme/widget/combo/combo_hover_button_transparent.png: Added.
1109         * platform/efl/DefaultTheme/widget/combo/combo_hover_transparent.png: Added.
1110         * platform/efl/DefaultTheme/widget/combo/combo_normal_button_transparent.png: Added.
1111         * platform/efl/DefaultTheme/widget/combo/combo_normal_transparent.png: Added.
1112         * platform/efl/DefaultTheme/widget/combo/combo_press_button_transparent.png: Added.
1113         * platform/efl/DefaultTheme/widget/combo/combo_press_transparent.png: Added.
1114         * platform/efl/RenderThemeEfl.cpp:
1115         (WebCore::RenderThemeEfl::applyEdjeStateFromForm):
1116         (WebCore::RenderThemeEfl::isControlStyled):
1117         (WebCore::RenderThemeEfl::paintThemePart):
1118         * platform/efl/RenderThemeEfl.h:
1119
1120 2013-09-12  Andreas Kling  <akling@apple.com>
1121
1122         [CTTE] RenderMenuList always has a HTMLSelectElement.
1123         <https://webkit.org/b/121276>
1124
1125         Reviewed by Anders Carlsson.
1126
1127         This renderer is never anonymous and always has a corresponding HTMLSelectElement.
1128         Deleted element() in favor of HTMLSelectElement& selectElement().
1129
1130 2013-09-12  Andreas Kling  <akling@apple.com>
1131
1132         [CTTE] Tighten RenderTextControl element typing.
1133         <https://webkit.org/b/121275>
1134
1135         Reviewed by Anders Carlsson.
1136
1137         Codify these invariants:
1138
1139         - RenderTextControl always has a HTMLTextFormControl.
1140         - RenderSearchField always has a HTMLInputElement.
1141         - RenderTextControlSingleLine always has a HTMLInputElement.
1142
1143         None of these renderers are ever anonymous. Deleted element() and added
1144         strongly typed reference getters instead.
1145
1146 2013-09-12  Andreas Kling  <akling@apple.com>
1147
1148         [CTTE] RenderListMarker is always anonymous and owned by RenderListItem.
1149         <https://webkit.org/b/121274>
1150
1151         Reviewed by Anders Carlsson.
1152
1153         Store a RenderListItem& instead of a pointer in RenderListMarker.
1154         Deleted the element() function since list markers are always anonymous.
1155
1156 2013-09-12  Andreas Kling  <akling@apple.com>
1157
1158         [CTTE] RenderListBox's element is always a HTMLSelectElement.
1159         <https://webkit.org/b/121273>
1160
1161         Reviewed by Anders Carlsson.
1162
1163         Hide element() on RenderListBox and make selectElement() return a reference
1164         since this renderer cannot be anonymous.
1165
1166 2013-09-12  Andreas Kling  <akling@apple.com>
1167
1168         [CTTE] RenderHTMLCanvas's element is always a HTMLCanvasElement.
1169         <https://webkit.org/b/121272>
1170
1171         Reviewed by Anders Carlsson.
1172
1173         Add RenderHTMLCanvas::canvasElement(), hiding element().
1174         This function also returns a reference since this renderer cannot be anonymous.
1175
1176 2013-09-12  Andreas Kling  <akling@apple.com>
1177
1178         [CTTE] RenderTextControlMultiLine's element is always a HTMLTextAreaElement.
1179         <https://webkit.org/b/121271>
1180
1181         Reviewed by Anders Carlsson.
1182
1183         Add RenderTextControlMultiLine::textAreaElement(), hiding element().
1184         This function also returns a reference since this renderer cannot be anonymous.
1185
1186 2013-09-12  Tim Horton  <timothy_horton@apple.com>
1187
1188         [mac] Cache rendered image in PDFDocumentImage
1189         https://bugs.webkit.org/show_bug.cgi?id=121207
1190
1191         Reviewed by Simon Fraser.
1192
1193         Tests: fast/images/pdf-as-image-too-big.html
1194
1195         * loader/cache/CachedImage.cpp:
1196         (WebCore::CachedImage::createImage):
1197         PDFDocumentImage takes a ImageObserver now so that it can report
1198         decoded data size changes to the memory cache.
1199
1200         * platform/graphics/Image.h:
1201         (WebCore::Image::isPDFDocumentImage): Added.
1202
1203         * platform/graphics/cg/PDFDocumentImage.cpp:
1204         (WebCore::PDFDocumentImage::PDFDocumentImage):
1205         PDFDocumentImage takes a ImageObserver now so that it can report
1206         decoded data size changes to the memory cache.
1207
1208         (WebCore::PDFDocumentImage::applyRotationForPainting):
1209         Fix up some comments, and use GraphicsContext instead of CG API.
1210
1211         (WebCore::PDFDocumentImage::cacheParametersMatch):
1212         Determine whether our cached image is still valid, given the new
1213         destination's size, CTM scale, and source rect.
1214
1215         (WebCore::transformContextForPainting): Added.
1216
1217         (WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
1218         Cache a rendered bitmap of the PDF. Invalidate the cache if cacheParametersMatch
1219         decides that the parameters don't match, unless we're painting in low quality mode,
1220         in which case we'll scale the existing image (and then fully repaint when the
1221         high-quality repaint timer fires).
1222         Inform the memory cache of our new size.
1223
1224         (WebCore::PDFDocumentImage::draw):
1225         Update the cached image if needed.
1226         Paint the cached image into the context if it's available (which it might not be,
1227         if the image is way too big and the allocation fails). Otherwise, paint straight
1228         into the context as we previously did.
1229
1230         (WebCore::PDFDocumentImage::destroyDecodedData):
1231         Throw away the cached image if requested.
1232
1233         (WebCore::PDFDocumentImage::decodedSize):
1234         (WebCore::PDFDocumentImage::drawPDFPage):
1235         Drive-by use GraphicsContext instead of CG directly.
1236
1237         * platform/graphics/cg/PDFDocumentImage.h:
1238         (WebCore::PDFDocumentImage::create):
1239         Override isPDFDocumentImage().
1240         Add storage for the cached image buffer and various cache parameters.
1241
1242         * rendering/ImageQualityController.cpp:
1243         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
1244         PDFDocumentImage is also interested in/capable of low-quality painting now.
1245
1246 2013-09-12  Tim Horton  <timothy_horton@apple.com>
1247
1248         Image doesn't always repaint at high quality in all tiles after a live resize
1249         https://bugs.webkit.org/show_bug.cgi?id=121244
1250
1251         Reviewed by Darin Adler.
1252
1253         Currently, ImageQualityController removes an image from its low-quality-images
1254         list from inside shouldPaintAtLowQuality, if this is the first paint outside
1255         of a live resize, but does not force the renderer to repaint in its entirety.
1256
1257         However, there's no guarantee we've invalidated the whole renderer, so this can
1258         leave some parts of the image painted in low-quality.
1259
1260         This just removes a short-circuit, instead using the ordinary high-quality-repaint
1261         timer to ensure that the entire renderer is repainted.
1262
1263         No new test; all attempts have failed, as this depends on tiled drawing
1264         and a live resize occurring.
1265
1266         * rendering/ImageQualityController.cpp:
1267         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
1268
1269 2013-09-12  Brent Fulgham  <bfulgham@apple.com>
1270
1271         [EFL] Speculative build fix after r155638.
1272
1273         * platform/efl/PasteboardEfl.cpp: Add include for PassRefPtr, which
1274         is no longer implicitly included.
1275
1276 2013-09-12  Simon Fraser  <simon.fraser@apple.com>
1277
1278         Avoid extra scrollbar-related layouts for overlay scrollbars
1279         https://bugs.webkit.org/show_bug.cgi?id=121267
1280
1281         Reviewed by Beth Dakin.
1282
1283         If ScrollView::updateScrollbars() detected that scrollbars were added
1284         and removed, it would call contentsResized(), which calls setNeedsLayout(),
1285         followed by visibleContentsResized() which would trigger layout. There is no
1286         point doing this with overlay scrollbars, so avoid it by having 
1287         setHas*Scrollbar() return true if the addition/removal of a scrollbar changed
1288         the available width.
1289         
1290         No tests: we can't test overlay scrollbars in tests.
1291
1292         * page/FrameView.cpp:
1293         (WebCore::FrameView::setContentsSize): Drive-by assertion that
1294         checks that the unsigned m_deferSetNeedsLayouts doesn't wrap when
1295         decremented.
1296         * platform/ScrollView.cpp:
1297         (WebCore::ScrollView::setHasHorizontalScrollbar): Return true if the addition/removal
1298         changed available space.
1299         (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
1300         (WebCore::ScrollView::updateScrollbars): Only set sendContentResizedNotification
1301         if available space was changed by addition/removal of scrollbars.
1302         * platform/ScrollView.h:
1303
1304 2013-09-12  Zoltan Horvath  <zoltan@webkit.org>
1305
1306         [CSS Shapes] Rename shapeContainingBlockHeight to shapeContainingBlockLogicalHeight
1307         https://bugs.webkit.org/show_bug.cgi?id=121252
1308
1309         Reviewed by Oliver Hunt.
1310
1311         No new tests, no behavior change.
1312
1313         * rendering/RenderBlockLineLayout.cpp:
1314         (WebCore::pushShapeContentOverflowBelowTheContentBox):
1315         * rendering/shapes/ShapeInfo.h:
1316         (WebCore::ShapeInfo::shapeContainingBlockLogicalHeight):
1317
1318 2013-09-12  Samuel White  <samuel_white@apple.com>
1319
1320         <meter> element AXValue is listed as a writable value
1321         https://bugs.webkit.org/show_bug.cgi?id=117650
1322
1323         Reviewed by Chris Fleizach.
1324
1325         No new tests, updated existing accessibility/meter-element.html test
1326         to check writability. Changed meter element value to be unwritable.
1327
1328         * accessibility/AccessibilityRenderObject.cpp:
1329         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
1330
1331 2013-09-12  Renata Hodovan  <reni@webkit.org>
1332
1333         [Qt] SHOULD NEVER BE REACHED is touched WebCore::InputType::createStepRange
1334         https://bugs.webkit.org/show_bug.cgi?id=121148
1335
1336         Reviewed by Kent Tamura.
1337
1338         Non-steppable input types must not rendered as slider even if its webkit-apperance style
1339         property is set to slider-vertical/horizontal.
1340
1341         Test: platform/qt/fast/forms/range/slider-crash-on-input.html
1342
1343         * platform/qt/RenderThemeQStyle.cpp:
1344         (WebCore::RenderThemeQStyle::paintSliderTrack):
1345
1346 2013-09-12  Ryosuke Niwa  <rniwa@webkit.org>
1347
1348         Qt and Windows build fix.
1349
1350         * page/animation/CSSPropertyAnimation.cpp:
1351
1352 2013-09-11  Ryosuke Niwa  <rniwa@webkit.org>
1353
1354         Encapsulate globals in CSSPropertyAnimation.cpp
1355         https://bugs.webkit.org/show_bug.cgi?id=121205
1356
1357         Reviewed by Antti Koivisto.
1358
1359         Encapsulated the globals inside a newly added CSSPropertyAnimationWrapperMap. Also removed the circular
1360         dependency from ShorthandPropertyWrapper's constructor to CSSPropertyAnimationWrapperMap::instance().
1361         The circular dependency still exists in ensurePropertyMap but I'm going to remove it in the bug 121199.
1362
1363         * page/animation/CSSPropertyAnimation.cpp:
1364         (WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper): Takes a Vector of longhand wrappers instead of
1365         calling wrapperForProperty in the middle of constructing the very table. This circular dependency is now
1366         encapsulated in CSSPropertyAnimationWrapperMap::ensurePropertyMap.
1367         (WebCore::CSSPropertyAnimationWrapperMap::instance): Added.
1368         (WebCore::CSSPropertyAnimationWrapperMap::wrapperForProperty): Renamed from WebCore::wrapperForProperty.
1369         (WebCore::CSSPropertyAnimationWrapperMap::wrapperForIndex): Added.
1370         (WebCore::CSSPropertyAnimationWrapperMap::size): Added.
1371         (WebCore::CSSPropertyAnimationWrapperMap::addPropertyWrapper): Renamed from WebCore::addPropertyWrapper. Also
1372         cleaned up boolean logics to use early exits instead of nested ifs.
1373         (WebCore::CSSPropertyAnimationWrapperMap::addShorthandProperties): Renamed from WebCore::addShorthandProperties.
1374         (WebCore::CSSPropertyAnimationWrapperMap::ensurePropertyMap): Renamed from WebCore::ensurePropertyMap.
1375         Added an alias gPropertyWrappers for m_propertyWrappers; this aliasing will be removed in the bug 121199.
1376         (WebCore::CSSPropertyAnimation::blendProperties):
1377         (WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
1378         (WebCore::CSSPropertyAnimation::animatableShorthandsAffectingProperty):
1379         (WebCore::CSSPropertyAnimation::propertiesEqual):
1380         (WebCore::CSSPropertyAnimation::getPropertyAtIndex):
1381         (WebCore::CSSPropertyAnimation::getNumProperties):
1382         * page/animation/CSSPropertyAnimation.h:
1383         * rendering/style/RenderStyle.h:
1384
1385 2013-09-12  Anders Carlsson  <andersca@apple.com>
1386
1387         SharedBuffer::createNSData should return a RetainPtr<NSData>
1388         https://bugs.webkit.org/show_bug.cgi?id=121237
1389
1390         Reviewed by Darin Adler.
1391
1392         This makes memory management cleared and fixes a leak in PDFDocumentImage::createPDFDocument.
1393         We use a RetainPtr subclass as a stopgap measure to prevent code that does [buffer->createNSData() autorelease]
1394         from compiling and crashing due to the NSData object being overreleased.
1395
1396         * loader/ResourceBuffer.h:
1397         * loader/mac/ResourceBuffer.mm:
1398         (WebCore::ResourceBuffer::createNSData):
1399         * platform/SharedBuffer.h:
1400         (WebCore::SharedBuffer::NSDataRetainPtr::NSDataRetainPtr):
1401         * platform/graphics/mac/PDFDocumentImageMac.mm:
1402         (WebCore::PDFDocumentImage::createPDFDocument):
1403         * platform/mac/HTMLConverter.mm:
1404         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
1405         (fileWrapperForURL):
1406         * platform/mac/PasteboardMac.mm:
1407         (WebCore::fileWrapper):
1408         (WebCore::Pasteboard::read):
1409         (WebCore::documentFragmentWithRTF):
1410         (WebCore::fragmentFromWebArchive):
1411         * platform/mac/PlatformPasteboardMac.mm:
1412         (WebCore::PlatformPasteboard::setBufferForType):
1413         * platform/mac/SharedBufferMac.mm:
1414         (WebCore::SharedBuffer::createNSData):
1415
1416 2013-09-12  Timothy Hatcher  <timothy@apple.com>
1417
1418         Remove more Timeline stuff we don't use
1419         https://bugs.webkit.org/show_bug.cgi?id=121246
1420
1421         Reviewed by Joseph Pecoraro.
1422
1423         * inspector/InspectorController.cpp:
1424         * inspector/InspectorController.h:
1425         * inspector/InspectorDOMDebuggerAgent.cpp:
1426         * inspector/InspectorDOMDebuggerAgent.h:
1427         * inspector/InspectorProfilerAgent.cpp:
1428         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
1429         * inspector/InspectorProfilerAgent.h:
1430         * inspector/InspectorTimelineAgent.cpp:
1431         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
1432         * inspector/InspectorTimelineAgent.h:
1433
1434 2013-09-12  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1435
1436         [EFL] Get rid of layering violations in PasteboardEfl.cpp
1437         https://bugs.webkit.org/show_bug.cgi?id=121241
1438
1439         Reviewed by Darin Adler.
1440
1441         Get rid of layering violations in PasteboardEfl.cpp. For now, just mimic
1442         the Mac port to avoid divergences and leave port-specific functions
1443         unimplemented as the EFL port does not support the pasteboard functionality
1444         yet.
1445
1446         No new tests, no behavior change.
1447
1448         * PlatformEfl.cmake:
1449         * editing/Editor.cpp:
1450         (WebCore::Editor::pasteAsPlainTextWithPasteboard):
1451         (WebCore::Editor::cut):
1452         (WebCore::Editor::copy):
1453         (WebCore::Editor::copyURL):
1454         (WebCore::Editor::copyImage):
1455         * editing/Editor.h:
1456         * editing/efl/EditorEfl.cpp: Added.
1457         (WebCore::Editor::writeSelectionToPasteboard):
1458         (WebCore::Editor::writeURLToPasteboard):
1459         (WebCore::Editor::writeImageToPasteboard):
1460         (WebCore::Editor::readPlainTextFromPasteboard):
1461         (WebCore::Editor::pasteWithPasteboard):
1462         * page/DragController.cpp:
1463         (WebCore::DragController::startDrag):
1464         * platform/Pasteboard.h:
1465         * platform/efl/PasteboardEfl.cpp:
1466
1467 2013-09-12  Alberto Garcia  <berto@igalia.com>
1468
1469         [GTK] Unreviewed build fix after r155635.
1470
1471         Include DragData.h
1472
1473         * platform/gtk/PasteboardGtk.cpp:
1474
1475 2013-09-12  Brent Fulgham  <bfulgham@apple.com>
1476
1477         [Windows] Build fix after r155635.
1478
1479         Rubber Stamped by Darin Adler.
1480
1481         * platform/Pasteboard.h: Add missing compile guards for Windows port.
1482
1483 2013-09-12  Darin Adler  <darin@apple.com>
1484
1485         Reorganize Pasteboard.h to make it easier to read, and express plan for future work
1486         https://bugs.webkit.org/show_bug.cgi?id=121234
1487
1488         Reviewed by Anders Carlsson.
1489
1490         * platform/Pasteboard.h: Move Mac/iOS-specific pasteboard names to the bottom of the
1491         file rather than putting them up with forward declarations before the class. Removed
1492         unneeded forward class declarations. Changed #if statements about migration to the
1493         more modern non-layering-violation API to list platforms not yet migrated, rather than
1494         listing platforms that have migrated (Mac). Move conditional code down below the
1495         uncondiditional code so it's easier to see what the class is doing. Move layering-
1496         violation code down to the bottom too, so it's easier to see the future class without
1497         having the design mistakes mixed in. Sort platform-specific sections in alphabetical
1498         order instead of random order. Did the destructor in a cleaner way so the #if is out
1499         of the way after the class rather than in the class. Removed WebSmartPastePboardType,
1500         WebURLPboardType, and WebURLsWithTitlesPboard declarations, since they are only used
1501         inside the PasteboardMac.mm source file.
1502
1503         * platform/ios/PasteboardIOS.mm: Aded a FIXME comment.
1504         * platform/mac/PasteboardMac.mm: Made the constants for pasteboard types be actual
1505         constants, rather than global variables.
1506
1507 2013-09-12  Tamas Czene  <tczene@inf.u-szeged.hu>
1508
1509         [curl] Use utf8 for headers in CurlDownload.
1510         https://bugs.webkit.org/show_bug.cgi?id=120413
1511
1512         Reviewed by Brent Fulgham.
1513
1514         * platform/network/curl/CurlDownload.cpp:
1515         (WebCore::CurlDownload::headerCallback):
1516
1517 2013-09-12  Peter Gal  <galpeter@inf.u-szeged.hu>
1518
1519         [curl] Improve multipart response handling
1520         https://bugs.webkit.org/show_bug.cgi?id=117735
1521
1522         Reviewed by Brent Fulgham.
1523
1524         The multipart/x-mixed-replace mime type in responses are ignored
1525         with the curl network backend. To handle such responses the
1526         MultipartHandle is introduced which will split the content using
1527         the boundary specified by the mime type.
1528
1529         There are already existing tests (http/tests/multipart).
1530
1531         * WebCore.vcxproj/WebCore.vcxproj:
1532         * WebCore.vcxproj/WebCore.vcxproj.filters:
1533         * platform/network/HTTPParsers.cpp:
1534         (WebCore::parseHTTPHeader):
1535         * platform/network/HTTPParsers.h:
1536         * platform/network/ResourceHandleInternal.h:
1537         * platform/network/curl/MultipartHandle.cpp: Added.
1538         (WebCore::MultipartHandle::extractBoundary):
1539         (WebCore::MultipartHandle::matchForBoundary):
1540         (WebCore::MultipartHandle::checkForBoundary):
1541         (WebCore::MultipartHandle::parseHeadersIfPossible):
1542         (WebCore::MultipartHandle::contentReceived):
1543         (WebCore::MultipartHandle::processContent):
1544         (WebCore::MultipartHandle::contentEnded):
1545         (WebCore::MultipartHandle::didReceiveData):
1546         (WebCore::MultipartHandle::didReceiveResponse):
1547         * platform/network/curl/MultipartHandle.h: Added.
1548         (WebCore::MultipartHandle::MultipartHandle):
1549         (WebCore::MultipartHandle::~MultipartHandle):
1550         * platform/network/curl/ResourceHandleManager.cpp:
1551         (WebCore::writeCallback):
1552         (WebCore::headerCallback):
1553         (WebCore::ResourceHandleManager::downloadTimerCallback):
1554
1555 2013-09-12  Andreas Kling  <akling@apple.com>
1556
1557         Remove RenderApplet.
1558         <https://webkit.org/b/121231>
1559
1560         Reviewed by Darin Adler.
1561
1562         Add a RenderEmbeddedObject::createForApplet(HTMLAppletElement&) and nuke
1563         the RenderApplet class from orbit.
1564
1565 2013-09-12  Brent Fulgham  <bfulgham@apple.com>
1566
1567         [Windows] Build fix after r155621
1568
1569         Rubber-stamped by Anders Carlsson.
1570
1571         See also https://bugs.webkit.org/show_bug.cgi?id=121235 for
1572         why this was necessary.
1573
1574         * css/MediaQueryEvaluator.cpp: Work around VS compiler bug.
1575         * dom/make_names.pl: Ditto.
1576         * loader/archive/ArchiveFactory.cpp: Ditto.
1577         * rendering/svg/SVGPathData.cpp: Ditto.
1578
1579 2013-09-12  Anders Carlsson  <andersca@apple.com>
1580
1581         SharedBuffer::createCFData should return RetainPtr<CFDataRef>
1582         https://bugs.webkit.org/show_bug.cgi?id=121230
1583
1584         Reviewed by Darin Adler.
1585
1586         * loader/ResourceBuffer.cpp:
1587         (WebCore::ResourceBuffer::createCFData):
1588         * loader/ResourceBuffer.h:
1589         * loader/archive/cf/LegacyWebArchive.cpp:
1590         (WebCore::LegacyWebArchive::createPropertyListRepresentation):
1591         (WebCore::LegacyWebArchive::create):
1592         * platform/SharedBuffer.h:
1593         * platform/cf/SharedBufferCF.cpp:
1594         (WebCore::SharedBuffer::createCFData):
1595         * platform/graphics/cg/ImageSourceCG.cpp:
1596         (WebCore::ImageSource::setData):
1597         * platform/graphics/cg/PDFDocumentImage.cpp:
1598         (WebCore::PDFDocumentImage::createPDFDocument):
1599         * platform/graphics/mac/FontCustomPlatformData.cpp:
1600         (WebCore::createFontCustomPlatformData):
1601         * platform/mac/SharedBufferMac.mm:
1602         (WebCore::SharedBuffer::createCFData):
1603
1604 2013-09-12  Zoltan Horvath  <zoltan@webkit.org>
1605
1606         Move LineInfo class into LineInfo.h
1607         https://bugs.webkit.org/show_bug.cgi?id=121191
1608
1609         Reviewed by David Hyatt.
1610
1611         No new tests, no behavior change.
1612
1613         * GNUmakefile.list.am:
1614         * Target.pri:
1615         * WebCore.vcxproj/WebCore.vcxproj:
1616         * WebCore.xcodeproj/project.pbxproj:
1617         * rendering/LineInfo.h: Added.
1618         (WebCore::LineInfo::LineInfo):
1619         (WebCore::LineInfo::isFirstLine):
1620         (WebCore::LineInfo::isLastLine):
1621         (WebCore::LineInfo::isEmpty):
1622         (WebCore::LineInfo::previousLineBrokeCleanly):
1623         (WebCore::LineInfo::floatPaginationStrut):
1624         (WebCore::LineInfo::runsFromLeadingWhitespace):
1625         (WebCore::LineInfo::resetRunsFromLeadingWhitespace):
1626         (WebCore::LineInfo::incrementRunsFromLeadingWhitespace):
1627         (WebCore::LineInfo::setFirstLine):
1628         (WebCore::LineInfo::setLastLine):
1629         (WebCore::LineInfo::setEmpty):
1630         (WebCore::LineInfo::setPreviousLineBrokeCleanly):
1631         (WebCore::LineInfo::setFloatPaginationStrut):
1632         * rendering/RenderBlockLineLayout.cpp:
1633
1634 2013-09-12  Bem Jones-Bey  <bjonesbe@adobe.com>
1635
1636         [CSS Shapes] Remove unnecessarily complex template from ShapeInfo classes
1637         https://bugs.webkit.org/show_bug.cgi?id=121213
1638
1639         Reviewed by Darin Adler.
1640
1641         These classes were trying to be way too clever, and as a result were
1642         hard to read and hard to debug. Replace the complex templated method
1643         calls with virtual methods to make these classes much easier to
1644         understand and maintain.
1645
1646         No new tests, no behavior change.
1647
1648         * rendering/shapes/ShapeInfo.cpp:
1649         (WebCore::::computedShape):
1650         (WebCore::::computeSegmentsForLine):
1651         * rendering/shapes/ShapeInfo.h:
1652         * rendering/shapes/ShapeInsideInfo.cpp:
1653         (WebCore::ShapeInsideInfo::getShapeValue):
1654         * rendering/shapes/ShapeInsideInfo.h:
1655         (WebCore::ShapeInsideInfo::computeSegmentsForLine):
1656         (WebCore::ShapeInsideInfo::ShapeInsideInfo):
1657         * rendering/shapes/ShapeOutsideInfo.cpp:
1658         (WebCore::ShapeOutsideInfo::computeSegmentsForLine):
1659         (WebCore::ShapeOutsideInfo::getShapeValue):
1660         * rendering/shapes/ShapeOutsideInfo.h:
1661         (WebCore::ShapeOutsideInfo::ShapeOutsideInfo):
1662
1663 2013-09-12  Zoltan Horvath  <zoltan@webkit.org>
1664
1665         [CSS Shapes] Turn shape's logicalwidth/height into a LayoutSize
1666         https://bugs.webkit.org/show_bug.cgi?id=121187
1667
1668         Reviewed by David Hyatt.
1669
1670         No new tests, no behavior change.
1671
1672         * rendering/shapes/ShapeInfo.cpp:
1673         (WebCore::::computedShape):
1674         * rendering/shapes/ShapeInfo.h:
1675         (WebCore::ShapeInfo::setShapeSize):
1676         (WebCore::ShapeInfo::shapeContainingBlockHeight):
1677
1678 2013-09-12  Darin Adler  <darin@apple.com>
1679
1680         Move layering-violating code from Pasteboard::plainText into Editor (Mac only at first)
1681         https://bugs.webkit.org/show_bug.cgi?id=121075
1682
1683         Reviewed by Anders Carlsson.
1684
1685         * editing/Editor.cpp:
1686         (WebCore::Editor::pasteAsPlainTextBypassingDHTML): Pass pasteboard as a reference.
1687         (WebCore::Editor::pasteAsPlainTextWithPasteboard): Use readPlainTextFromPasteboard
1688         for Mac. Also update to take a reference.
1689         (WebCore::Editor::paste): Pass pasteboard as a reference.
1690         (WebCore::Editor::pasteAsPlainText): Ditto.
1691         * editing/Editor.h: Ditto.
1692
1693         * editing/mac/EditorMac.mm:
1694         (WebCore::Editor::readSelectionFromPasteboard): Pass pasteboard as a reference.
1695         (WebCore::Editor::readPlainTextFromPasteboard): Added. The declaration of this
1696         was added (by mistake) in an earlier patch. This has code that used to be inside
1697         Pasteboard::plainText.
1698
1699         * platform/Pasteboard.h: Added PasteboardPlainText. Reorganized functions in the
1700         Pasteboard class and added some FIXMEs. Sorted platforms alphabetically and grouped
1701         functions together and data members separate from them.
1702
1703         * platform/mac/DragDataMac.mm:
1704         (WebCore::DragData::asPlainText): Updated to call readPlainTextFromPasteboard.
1705         (WebCore::DragData::asURL): Tweaked style of unused parameter.
1706
1707         * platform/mac/PasteboardMac.mm:
1708         (WebCore::Pasteboard::read): Renamed this from plainText, and refactored so that
1709         the data goes out in the PasteboardPlainText structure.
1710
1711 2013-09-12  Gurpreet Kaur  <k.gurpreet@samsung.com>
1712
1713         CSS Unit vw in border-width maps to 0px.
1714         https://bugs.webkit.org/show_bug.cgi?id=109229
1715
1716         Reviewed by Darin Adler.
1717
1718         Border and outline properties were not applied incase
1719         its values were given in vh/vw units.
1720
1721         Tests: fast/css/viewport-height-border.html
1722                fast/css/viewport-height-outline.html
1723                fast/css/viewport-width-border.html
1724                fast/css/viewport-width-outline.html
1725
1726         * css/CSSPrimitiveValue.cpp:
1727         (WebCore::CSSPrimitiveValue::computeLengthDouble):
1728         Added case CSS_VH and CSS_VW. 
1729         * css/CSSPrimitiveValue.h:
1730         (WebCore::CSSPrimitiveValue::isViewportPercentageWidth):
1731         (WebCore::CSSPrimitiveValue::isViewportPercentageHeight):
1732         Added APIs to check the unit type(CSS_VW and CSS_VH). 
1733         * css/DeprecatedStyleBuilder.cpp:
1734         (WebCore::ApplyPropertyComputeLength::applyValue):
1735         Calculating the border values which has been specified
1736         in vh/vw units.The vh/vw units are calcultated as percent
1737         of viewport height and viewport width respectively.
1738
1739 2013-09-12  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1740
1741         [Coordinated Graphics] Fix the build on MacOS 10.9
1742         https://bugs.webkit.org/show_bug.cgi?id=121225
1743
1744         Reviewed by Darin Adler.
1745
1746         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
1747
1748 2013-09-12  Mark Lam  <mark.lam@apple.com>
1749
1750         Change debug hooks to pass sourceID and position info via the DebuggerCallFrame.
1751         https://bugs.webkit.org/show_bug.cgi?id=121214.
1752
1753         Reviewed by Geoffrey Garen.
1754
1755         No new tests.
1756
1757         Also changed the Inspector's JavaScriptCallFrame to get the sourceID and
1758         position info from its DebuggerCallFrame instead of caching those values.
1759
1760         * bindings/js/JavaScriptCallFrame.cpp:
1761         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
1762         * bindings/js/JavaScriptCallFrame.h:
1763         (WebCore::JavaScriptCallFrame::create):
1764         (WebCore::JavaScriptCallFrame::invalidate):
1765         (WebCore::JavaScriptCallFrame::sourceID):
1766         (WebCore::JavaScriptCallFrame::position):
1767         (WebCore::JavaScriptCallFrame::line):
1768         (WebCore::JavaScriptCallFrame::column):
1769         (WebCore::JavaScriptCallFrame::update):
1770         * bindings/js/ScriptDebugServer.cpp:
1771         (WebCore::ScriptDebugServer::createCallFrame):
1772         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
1773         (WebCore::ScriptDebugServer::callEvent):
1774         (WebCore::ScriptDebugServer::atStatement):
1775         (WebCore::ScriptDebugServer::returnEvent):
1776         (WebCore::ScriptDebugServer::exception):
1777         (WebCore::ScriptDebugServer::willExecuteProgram):
1778         (WebCore::ScriptDebugServer::didExecuteProgram):
1779         (WebCore::ScriptDebugServer::didReachBreakpoint):
1780         * bindings/js/ScriptDebugServer.h:
1781         * bindings/js/WorkerScriptDebugServer.cpp:
1782         (WebCore::WorkerScriptDebugServer::willExecuteProgram):
1783         * bindings/js/WorkerScriptDebugServer.h:
1784
1785 2013-09-12  peavo@outlook.com  <peavo@outlook.com>
1786
1787         [WinCairo] Compile errors, missing include.
1788         https://bugs.webkit.org/show_bug.cgi?id=121222
1789
1790         Reviewed by Brent Fulgham.
1791
1792         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: Include required header.
1793         * platform/win/DragImageCairoWin.cpp: Include required header.
1794
1795 2013-09-12  Vivek Galatage  <vivek.vg@samsung.com>
1796
1797         XMLSerializer.serializeToString() should throw exception for invalid node value.
1798         https://bugs.webkit.org/show_bug.cgi?id=121209
1799
1800         Reviewed by Darin Adler.
1801
1802         FF and Opera 12 (pre blink/webkit) throw exception in case the node value is invalid.
1803         Blink sends an empty string as the result of serializeToString operation with invalid node.
1804         We should match with other browsers for throwing it as an exception.
1805
1806         Blink review URL: https://chromiumcodereview.appspot.com/23532055/
1807
1808         Test: fast/dom/xmlserializer-serialize-to-string-exception.html
1809
1810         * xml/XMLSerializer.cpp:
1811         (WebCore::XMLSerializer::serializeToString):
1812
1813 2013-09-12  Zalan Bujtas  <zalan@apple.com>
1814
1815         Crash in ScrollingStateStickyNode::updateConstraints
1816         https://bugs.webkit.org/show_bug.cgi?id=119638
1817
1818         Reviewed by Simon Fraser.
1819
1820         Ensure when a scrolling state node is removed from the state tree,
1821         we remove both the current node and all its children from the
1822         associated m_stateNodeMap lookup table.
1823
1824         Test: fast/css/sticky/multiple-layers-sticky-crash.html
1825
1826         * page/scrolling/ScrollingStateNode.cpp:
1827         (WebCore::ScrollingStateNode::removeChild):
1828         (WebCore::ScrollingStateNode::willBeRemovedFromStateTree):
1829         * page/scrolling/ScrollingStateNode.h:
1830
1831 2013-09-12  Zalan Bujtas  <zalan@apple.com>
1832
1833         REGRESSION (r132516): Javascript menu text incorrectly disappearing and reappearing
1834         https://bugs.webkit.org/show_bug.cgi?id=101047
1835
1836         Reviewed by Simon Fraser.
1837
1838         Compositing layers keep track of ancestors' clipping by constructing the RenderLayerBacking::m_ancestorClippingLayer.
1839         It helps setting up the proper clipping context for the corresponding graphics layer.
1840         When a RenderObject's clipping style changes, it needs to propagate this change not only
1841         to the associated RenderLayer, but also to the descendants', if applicable.
1842         Before r132516, it was mainly covered by initiating full style recalcs, which ensured that
1843         style recalc on the descendant rendering tree took care of creating/destroying
1844         RenderLayerBacking::m_ancestorClippingLayer at every compositing layer node. Without the full
1845         recalc, the clipping of the compositing render layers and the corresponding render subtrees can get out of sync.
1846         This patch updates the clipping context on the descendant subtree, when the clipping behaviour
1847         changes on a render node.
1848
1849         Tests: compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants.html
1850                compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2.html
1851
1852         * rendering/RenderLayer.cpp:
1853         (WebCore::RenderLayer::updateDescendantClippingContext):
1854         (WebCore::RenderLayer::styleChanged):
1855         * rendering/RenderLayer.h:
1856         * rendering/RenderLayerBacking.cpp:
1857         (WebCore::RenderLayerBacking::~RenderLayerBacking):
1858         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
1859         (WebCore::RenderLayerBacking::updateAncestorClippingLayer):
1860         (WebCore::RenderLayerBacking::updateDescendantClippingLayer):
1861         * rendering/RenderLayerBacking.h:
1862
1863 2013-09-12  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1864
1865         Remove home-brewed nullptr
1866         https://bugs.webkit.org/show_bug.cgi?id=119624
1867
1868         Reviewed by Anders Carlsson.
1869
1870         The standard C++11 nullptr and std::nullptr_t type should be used now.
1871
1872         * bindings/js/JSDOMBinding.h:
1873
1874 2013-09-12  Samuel White  <samuel_white@apple.com>
1875
1876         <meter> element text value exposed as AXTitle; should be exposing AXValueDescription
1877         https://bugs.webkit.org/show_bug.cgi?id=117651
1878
1879         Reviewed by Mario Sanchez Prada.
1880
1881         No new tests, updated accessibility/meter-element to handle platform specific output.
1882
1883         * accessibility/AccessibilityObject.cpp:
1884         (WebCore::AccessibilityObject::isMeter):
1885         * accessibility/AccessibilityObject.h:
1886         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1887         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1888
1889 2013-09-12  Santosh Mahto  <santosh.ma@samsung.com>
1890
1891         class WeekInputType invokes wrong constructor
1892         https://bugs.webkit.org/show_bug.cgi?id=120768
1893
1894         Reviewed by Andreas Kling.
1895
1896         Correcting wrong constuctor invocation.
1897
1898         * html/WeekInputType.h:
1899         (WebCore::WeekInputType::WeekInputType):
1900
1901 2013-09-12  Samuel White  <samuel_white@apple.com>
1902
1903         AX: Self-referencing aria-labelledby only uses contents.
1904         https://bugs.webkit.org/show_bug.cgi?id=120814
1905
1906         Reviewed by Mario Sanchez Prada.
1907
1908         Implemented additional 'Text Alternative Computation' steps documented at:
1909         http://www.w3.org/WAI/PF/aria/complete#textalternativecomputation. This allows us to remove
1910         our raw text node iteration that was previously forcing us to do our computation incorrectly.
1911         Element content is now sourced using textUnderElement (step 2C of the computation).
1912
1913         Test: accessibility/self-referencing-aria-labelledby.html
1914
1915         * accessibility/AccessibilityNodeObject.cpp:
1916         (WebCore::accessibleNameForNode):
1917         (WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
1918
1919 2013-09-12  Commit Queue  <commit-queue@webkit.org>
1920
1921         Unreviewed, rolling out r155597.
1922         http://trac.webkit.org/changeset/155597
1923         https://bugs.webkit.org/show_bug.cgi?id=121220
1924
1925         broke windows build because there's no ews :( (Requested by
1926         thorton on #webkit).
1927
1928         * WebCore.exp.in:
1929         * platform/graphics/BitmapImage.cpp:
1930         (WebCore::BitmapImage::isBitmapImage):
1931         * platform/graphics/BitmapImage.h:
1932         (WebCore::BitmapImage::create):
1933         * platform/graphics/CrossfadeGeneratedImage.cpp:
1934         (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
1935         (WebCore::CrossfadeGeneratedImage::drawPattern):
1936         * platform/graphics/CrossfadeGeneratedImage.h:
1937         (WebCore::CrossfadeGeneratedImage::setContainerSize):
1938         (WebCore::CrossfadeGeneratedImage::usesContainerSize):
1939         (WebCore::CrossfadeGeneratedImage::hasRelativeWidth):
1940         (WebCore::CrossfadeGeneratedImage::hasRelativeHeight):
1941         (WebCore::CrossfadeGeneratedImage::size):
1942         * platform/graphics/GeneratedImage.h:
1943         (WebCore::GeneratedImage::hasSingleSecurityOrigin):
1944         (WebCore::GeneratedImage::setContainerSize):
1945         (WebCore::GeneratedImage::usesContainerSize):
1946         (WebCore::GeneratedImage::hasRelativeWidth):
1947         (WebCore::GeneratedImage::hasRelativeHeight):
1948         (WebCore::GeneratedImage::size):
1949         (WebCore::GeneratedImage::destroyDecodedData):
1950         (WebCore::GeneratedImage::decodedSize):
1951         * platform/graphics/GeneratorGeneratedImage.cpp:
1952         (WebCore::GeneratorGeneratedImage::draw):
1953         (WebCore::GeneratorGeneratedImage::drawPattern):
1954         * platform/graphics/GeneratorGeneratedImage.h:
1955         (WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
1956         * svg/graphics/SVGImage.h:
1957         (WebCore::SVGImage::isSVGImage):
1958         (WebCore::SVGImage::usesContainerSize):
1959         (WebCore::SVGImage::destroyDecodedData):
1960         (WebCore::SVGImage::decodedSize):
1961         * svg/graphics/SVGImageForContainer.h:
1962         (WebCore::SVGImageForContainer::destroyDecodedData):
1963         (WebCore::SVGImageForContainer::decodedSize):
1964
1965 2013-09-12  Andreas Kling  <akling@apple.com>
1966
1967         RenderWidget elements are always HTMLFrameOwnerElement subclasses.
1968         <https://webkit.org/b/121217>
1969
1970         Reviewed by Antti Koivisto.
1971
1972         Make RenderWidget constructor take HTMLFrameOwnerElement* and update subclasses
1973         with even tighter types where possible.
1974
1975         Also added RenderWidget::frameOwnerElement() and deleted element().
1976         Removed a handful of unnecessary type checks that were exposed by this.
1977
1978 2013-09-11  Tim Horton  <timothy_horton@apple.com>
1979
1980         Apply OVERRIDE and FINAL to Image subclasses and clean them up
1981         https://bugs.webkit.org/show_bug.cgi?id=121086
1982
1983         Reviewed by Alexey Proskuryakov.
1984
1985         Everything other than the copious application of OVERRIDE and FINAL
1986         is explicitly called out below.
1987
1988         * WebCore.exp.in:
1989         Export the correct version of getCGImageRef for use by WebKit2.
1990
1991         * platform/graphics/BitmapImage.cpp:
1992         * platform/graphics/BitmapImage.h:
1993         Drive-by inline isBitmapImage.
1994         Move create(HBITMAP) to be near the other create() functions.
1995         Move all of the members and quite a few functions from protected to private.
1996         Devirtualize frameCount().
1997         Move notSolidColor() near the other solid color functions.
1998
1999         * platform/graphics/CrossfadeGeneratedImage.cpp:
2000         (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
2001         (WebCore::CrossfadeGeneratedImage::drawPattern):
2002         * platform/graphics/GeneratorGeneratedImage.cpp:
2003         (WebCore::GeneratorGeneratedImage::draw):
2004         (WebCore::GeneratorGeneratedImage::drawPattern):
2005         Use size() and setContainerSize() instead of directly accessing a
2006         superclass' (now private, previously protected) members.
2007
2008         * platform/graphics/CrossfadeGeneratedImage.h:
2009         * platform/graphics/GeneratedImage.h:
2010         Make m_size private, I don't think we do protected members.
2011         
2012         * platform/graphics/GeneratorGeneratedImage.h:
2013         Make all the members private.
2014
2015         * svg/graphics/SVGImage.h:
2016         * svg/graphics/SVGImageForContainer.h:
2017
2018 2013-09-11  Rashmi Shyamasundar  <rashmi.s2@samsung.com>
2019
2020         Canvas fillText and measureText handle ideographic spaces differently
2021         https://bugs.webkit.org/show_bug.cgi?id=108881
2022
2023         Reviewed by Darin Adler.
2024
2025         According to spec for text preparation algorithm
2026         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#text-preparation-algorithm
2027         all the space characters mentioned in the spec
2028         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#space-character
2029         should be replaced by U+0020 space character.
2030         The canvas functions fillText and measureText should run the text preparation algorithm.
2031         This patch modifies the canvas functions drawTextInternal and measureText to conform to the above spec.
2032
2033         Tests: fast/canvas/canvas-measureText-ideographicSpace.html
2034
2035         * html/canvas/CanvasRenderingContext2D.cpp:
2036         (WebCore::shouldSpaceBeReplaced):
2037         (WebCore::replaceCharacterInString):
2038         (WebCore::CanvasRenderingContext2D::measureText):
2039         (WebCore::CanvasRenderingContext2D::drawTextInternal):
2040
2041 2013-09-11  Andreas Kling  <akling@apple.com>
2042
2043         Fix Windows build.
2044
2045         * rendering/RenderingAllInOne.cpp:
2046
2047 2013-09-11  Andreas Kling  <akling@apple.com>
2048
2049         Merge RenderPart into RenderWidget.
2050         <https://webkit.org/b/121200>
2051
2052         Reviewed by Anders Carlsson.
2053
2054         Remove the RenderPart class and move its functionality into RenderWidget.
2055         It was acting as a pointless extra layer between RenderWidget and renderers
2056         for embedded objects, frames and iframes.
2057
2058 2013-09-11  Geoffrey Garen  <ggaren@apple.com>
2059
2060         Removed some unused functions from the debugger interface
2061         https://bugs.webkit.org/show_bug.cgi?id=121194
2062
2063         Reviewed by Joseph Pecoraro.
2064
2065         We plan to use the "evaluate" API and debugger activation property access for all the features we need.
2066
2067         * inspector/JavaScriptCallFrame.idl: These are the interfaces I removed.
2068
2069         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2070         * inspector/InjectedScript.cpp:
2071         * inspector/InjectedScript.h:
2072         * inspector/InjectedScriptSource.js:
2073         * inspector/Inspector.json:
2074         * inspector/InspectorDebuggerAgent.cpp:
2075         (WebCore::InspectorDebuggerAgent::setScriptSource):
2076         * inspector/InspectorDebuggerAgent.h:
2077         * inspector/JavaScriptCallFrame.idl:
2078         * inspector/front-end/RemoteObject.js:
2079         (WebInspector.RemoteObject.prototype.):
2080         (WebInspector.RemoteObject.prototype.setPropertyValue): These files are mechanical removals of code that used
2081         or implemented the interfaces I removed.
2082
2083 2013-09-11  Vivek Galatage  <vivek.vg@samsung.com>
2084
2085         DOMParser.parseFromString() should support creating HTML Document with mime-type text/html
2086         https://bugs.webkit.org/show_bug.cgi?id=120826
2087
2088         Reviewed by Darin Adler.
2089
2090         The specification http://domparsing.spec.whatwg.org/#the-domparser-interface for DOMParser.parseFromString()
2091         allows the document creation if the mimeType is one of the supported types:
2092         ["text/html", "text/xml", "application/xml", "application/xhtml+xml", "image/svg+xml"]
2093
2094         Also script elements get marked unexecutable and the contents of noscript get parsed as markup.
2095
2096         blink review URL: https://codereview.chromium.org/23903014/
2097
2098         Test: fast/dom/domparser-parsefromstring-mimetype-support.html
2099
2100         * xml/DOMParser.cpp:
2101         (WebCore::DOMParser::parseFromString):
2102
2103 2013-09-11  Hans Muller  <hmuller@adobe.com>
2104
2105         [CSS Shapes] Improve the performance of image valued shapes
2106         https://bugs.webkit.org/show_bug.cgi?id=120211
2107
2108         Reviewed by Alexandru Chiculita.
2109
2110         Replaced the implementation of RasterShapeIntervals with one based on the
2111         new ShapeInterval<int> class. This eliminates the dependency the Region class
2112         and delivers a 10X layout speedup for large image valued shapes.
2113
2114         This a just an implementation refactoring, no new tests were needed.
2115
2116         * rendering/shapes/RasterShape.cpp:
2117         (WebCore::RasterShapeIntervals::appendInterval): Renamed this method, it was called addInterval().
2118         (WebCore::shapeIntervalsContain):
2119         (WebCore::RasterShapeIntervals::contains):
2120         (WebCore::RasterShapeIntervals::getIntervalsInLine):
2121         (WebCore::compareX1):
2122         (WebCore::RasterShapeIntervals::firstIncludedIntervalY):
2123         (WebCore::RasterShapeIntervals::getIncludedIntervals):
2124         (WebCore::RasterShapeIntervals::getExcludedIntervals):
2125         (WebCore::RasterShape::getExcludedIntervals):
2126         (WebCore::RasterShape::getIncludedIntervals):
2127         * rendering/shapes/RasterShape.h:
2128         (WebCore::RasterShapeIntervals::RasterShapeIntervals): The constructor now takes a size argument which is used to allocate IntShapeIntervals storage.
2129         (WebCore::RasterShapeIntervals::size):
2130         (WebCore::RasterShapeIntervals::bounds):
2131         (WebCore::RasterShapeIntervals::isEmpty):
2132         (WebCore::RasterShapeIntervals::getIntervals):
2133         * rendering/shapes/Shape.cpp:
2134         (WebCore::Shape::createShape): Use appendInterval() instead of addInterval() (see above) and the new RasterShapeIntervals constructor.
2135
2136 2013-09-11  Eric Carlson  <eric.carlson@apple.com>
2137
2138         [MediaStream API] Updating NavigatorUserMediaError to match the spec
2139         https://bugs.webkit.org/show_bug.cgi?id=120880
2140
2141         Reviewed by Darin Adler.
2142         
2143         Merge https://chromium.googlesource.com/chromium/blink/+/f07305e49ddebaa166f5dee514bcc881a8efd341
2144         by Tommy Widenflycht.
2145
2146         The Blink change did not have any test changes because they don't appear to have any tests 
2147         for NavigatorUserMediaError. I can't add tests now because the MediaStream feature isn't enabled 
2148         yet, so https://bugs.webkit.org/show_bug.cgi?id=121182 tracks adding tests.
2149
2150         * Modules/mediastream/NavigatorUserMediaError.h:
2151         (WebCore::NavigatorUserMediaError::create):
2152         (WebCore::NavigatorUserMediaError::name):
2153         (WebCore::NavigatorUserMediaError::message):
2154         (WebCore::NavigatorUserMediaError::constraintName):
2155         (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
2156         * Modules/mediastream/NavigatorUserMediaError.idl:
2157         * Modules/mediastream/UserMediaRequest.cpp:
2158         (WebCore::UserMediaRequest::fail):
2159         (WebCore::UserMediaRequest::failConstraint):
2160         * Modules/mediastream/UserMediaRequest.h:
2161
2162 2013-09-11  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2163
2164         MediaStream API: Remove LocalMediaStream
2165         https://bugs.webkit.org/show_bug.cgi?id=120875
2166
2167         blink merge: https://chromium.googlesource.com/chromium/blink/+/81643ee3fe048a64fa8931132e1294fa2c8e821a
2168
2169         Reviewed by Eric Carlson.
2170
2171         Existing tests were updated.
2172
2173         * CMakeLists.txt:
2174         * DerivedSources.make:
2175         * GNUmakefile.list.am:
2176         * Modules/mediastream/LocalMediaStream.cpp: Removed.
2177         * Modules/mediastream/LocalMediaStream.h: Removed.
2178         * Modules/mediastream/LocalMediaStream.idl: Removed.
2179         * Modules/mediastream/MediaStream.cpp:
2180         (WebCore::MediaStream::stop):
2181         * Modules/mediastream/MediaStream.h:
2182         * Modules/mediastream/MediaStream.idl:
2183         * Modules/mediastream/NavigatorUserMediaSuccessCallback.h:
2184         * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl:
2185         * Modules/mediastream/UserMediaRequest.cpp:
2186         (WebCore::UserMediaRequest::succeed):
2187         * Modules/mediastream/UserMediaRequest.h:
2188         * Modules/webaudio/AudioContext.cpp:
2189         (WebCore::AudioContext::createMediaStreamSource):
2190         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
2191         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
2192         * WebCore.xcodeproj/project.pbxproj:
2193         * dom/EventTarget.h:
2194         * dom/EventTargetFactory.in:
2195         * platform/mediastream/MediaStreamDescriptor.h:
2196
2197 2013-09-11  Timothy Hatcher  <timothy@apple.com>
2198
2199         Remove PlatformInstrumentation since we don't show decode or resize in the new Web Inspector
2200         https://bugs.webkit.org/show_bug.cgi?id=121181
2201
2202         Reviewed by Joseph Pecoraro.
2203
2204         * CMakeLists.txt:
2205         * GNUmakefile.list.am:
2206         * Target.pri:
2207         * WebCore.order:
2208         * WebCore.vcxproj/WebCore.vcxproj:
2209         * WebCore.vcxproj/WebCore.vcxproj.filters:
2210         * WebCore.xcodeproj/project.pbxproj:
2211         * inspector/InspectorTimelineAgent.cpp:
2212         (WebCore::InspectorTimelineAgent::willPaint):
2213         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
2214         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2215         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
2216         (WebCore::InspectorTimelineAgent::clearRecordStack):
2217         * inspector/InspectorTimelineAgent.h:
2218         * platform/PlatformInstrumentation.cpp: Removed.
2219         * platform/PlatformInstrumentation.h: Removed.
2220         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
2221         (WebCore::BMPImageDecoder::frameBufferAtIndex):
2222         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2223         (WebCore::GIFImageDecoder::frameBufferAtIndex):
2224         * platform/image-decoders/ico/ICOImageDecoder.cpp:
2225         (WebCore::ICOImageDecoder::frameBufferAtIndex):
2226         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2227         (WebCore::JPEGImageDecoder::frameBufferAtIndex):
2228         * platform/image-decoders/png/PNGImageDecoder.cpp:
2229         (WebCore::PNGImageDecoder::frameBufferAtIndex):
2230         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
2231         (WebCore::WEBPImageDecoder::frameBufferAtIndex):
2232
2233 2013-09-11  Brent Fulgham  <bfulgham@apple.com>
2234
2235         [Windows] Avoid converting from IntSize->SIZE->IntSize.
2236         https://bugs.webkit.org/show_bug.cgi?id=121180
2237
2238         Reviewed by Anders Carlsson.
2239
2240         * platform/graphics/BitmapImage.h: Take const IntSize* as
2241         argument, rather than LPSIZE.
2242         * platform/graphics/Image.h: Ditto.
2243         (WebCore::Image::getHBITMAPOfSize):
2244         * platform/graphics/win/ImageCGWin.cpp:
2245         (WebCore::BitmapImage::getHBITMAPOfSize): Use passed-in
2246         IntSize, rather than converting from SIZE.
2247         * platform/graphics/win/ImageCairoWin.cpp:
2248         (WebCore::BitmapImage::getHBITMAPOfSize): Ditto.
2249
2250 2013-09-11  Zoltan Horvath  <zoltan@webkit.org>
2251
2252         Unreviewed debug build fix after r155567.
2253
2254         * rendering/LineWidth.cpp:
2255         (WebCore::LineWidth::LineWidth):
2256
2257 2013-09-11  Zoltan Horvath  <zoltan@webkit.org>
2258
2259         Move LineWidth out of RenderBlockLineLayout
2260         https://bugs.webkit.org/show_bug.cgi?id=121107
2261
2262         Reviewed by David Hyatt.
2263
2264         Move LineWidth class and related code into LineWidth.{h,cpp}.
2265
2266         No new tests, no behavior change.
2267
2268         * CMakeLists.txt:
2269         * GNUmakefile.list.am:
2270         * Target.pri:
2271         * WebCore.vcxproj/WebCore.vcxproj:
2272         * WebCore.xcodeproj/project.pbxproj:
2273         * rendering/LineWidth.cpp: Added.
2274         (WebCore::LineWidth::applyOverhang):
2275         (WebCore::LineWidth::fitBelowFloats):
2276         * rendering/LineWidth.h: Added.
2277         (WebCore::logicalHeightForLine):
2278         (WebCore::LineWidth::LineWidth):
2279         (WebCore::LineWidth::fitsOnLine):
2280         (WebCore::LineWidth::fitsOnLineIncludingExtraWidth):
2281         (WebCore::LineWidth::fitsOnLineExcludingTrailingWhitespace):
2282         (WebCore::LineWidth::currentWidth):
2283         (WebCore::LineWidth::uncommittedWidth):
2284         (WebCore::LineWidth::committedWidth):
2285         (WebCore::LineWidth::availableWidth):
2286         (WebCore::LineWidth::addUncommittedWidth):
2287         (WebCore::LineWidth::commit):
2288         (WebCore::LineWidth::setTrailingWhitespaceWidth):
2289         (WebCore::LineWidth::shouldIndentText):
2290         (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
2291         (WebCore::LineWidth::fitsOnLineExcludingTrailingCollapsedWhitespace):
2292         (WebCore::LineWidth::updateAvailableWidth):
2293         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
2294         * rendering/RenderBlockLineLayout.cpp:
2295
2296 2013-09-11  Ryosuke Niwa  <rniwa@webkit.org>
2297
2298         HTMLEntityTable could use char to reduce binary size
2299         https://bugs.webkit.org/show_bug.cgi?id=121176
2300
2301         Reviewed by Anders Carlsson.
2302
2303         Use LChar instead.
2304
2305         * html/parser/HTMLEntityParser.cpp:
2306         (WebCore::HTMLEntityParser::consumeNamedEntity):
2307         * html/parser/HTMLEntityTable.h:
2308         (WebCore::HTMLEntityTableEntry::lastCharacter):
2309         * html/parser/create-html-entity-table:
2310
2311 2013-09-11  Brent Fulgham  <bfulgham@apple.com>
2312
2313         [Windows] Revise GDI Create Functions to use GDIObject Smart Pointer.
2314         https://bugs.webkit.org/show_bug.cgi?id=121100
2315
2316         Reviewed by Anders Carlsson.
2317
2318         * platform/graphics/FontPlatformData.h: Use GDIObject instead of bare pointer.
2319         * platform/graphics/win/FontCacheWin.cpp:
2320         (WebCore::createGDIFont): No longer need to leak the pointer; use move semantic
2321         to pass ownership to FontPlatformData.
2322         (WebCore::FontCache::createFontPlatformData):
2323         * platform/graphics/win/FontCustomPlatformData.cpp:
2324         (WebCore::FontCustomPlatformData::fontPlatformData): Use move operation.
2325         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
2326         (WebCore::FontCustomPlatformData::fontPlatformData): Ditto.
2327         * platform/graphics/win/FontPlatformDataCGWin.cpp:
2328         (WebCore::FontPlatformData::FontPlatformData): Ditto.
2329         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
2330         (WebCore::FontPlatformData::FontPlatformData): Ditto.
2331         * platform/graphics/win/FontPlatformDataWin.cpp:
2332         (WebCore::FontPlatformData::FontPlatformData): Ditto.
2333         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
2334         (WebCore::GlyphPage::fill): Use HWndDC smart pointer instead of bare HDC.
2335         * platform/graphics/win/SimpleFontDataWin.cpp:
2336         (WebCore::SimpleFontData::platformCreateScaledFontData): Use move operation.
2337         * platform/win/DragImageCGWin.cpp:
2338         (WebCore::allocImage): Change to use GDIObject.
2339         (WebCore::scaleDragImage): Use smart pointers to avoid manual deallocs.
2340         (WebCore::createDragImageFromImage): Ditto.
2341         * platform/win/DragImageCairoWin.cpp:
2342         (WebCore::allocImage): Change to use GDIObject.
2343         (WebCore::scaleDragImage): Use smart pointers to avoid manual deallocs.
2344         (WebCore::createDragImageFromImage): Ditto.
2345         * platform/win/DragImageWin.cpp:
2346         (WebCore::createDragImageForLink): Update for GDIObject.
2347         * platform/win/PopupMenuWin.cpp:
2348         (WebCore::PopupMenuWin::PopupMenuWin): Switch to GDIObject.
2349         (WebCore::PopupMenuWin::~PopupMenuWin): Remove uneeded deallocs.
2350         (WebCore::PopupMenuWin::paint): Update for GDIObject.
2351         * platform/win/PopupMenuWin.h: Use smart pointers instead of bare GDI objects.
2352
2353 2013-09-11  Patrick Gansterer  <paroga@webkit.org>
2354
2355         Fix animations with !USE(ACCELERATED_COMPOSITING) after r147792.
2356         https://bugs.webkit.org/show_bug.cgi?id=121159
2357
2358         Reviewed by Simon Fraser.
2359
2360         CSSPropertyAnimation::blendProperties() is available always
2361         and needs to be called to make the animations work.
2362
2363         * page/animation/ImplicitAnimation.cpp:
2364         (WebCore::ImplicitAnimation::animate):
2365         * page/animation/KeyframeAnimation.cpp:
2366         (WebCore::KeyframeAnimation::animate):
2367
2368 2013-09-11  David Hyatt  <hyatt@apple.com>
2369
2370         Move all collapsing margin code out of RenderBlock and into RenderBlockFlow.
2371         https://bugs.webkit.org/show_bug.cgi?id=121049
2372
2373         Reviewed by Dean Jackson.
2374
2375         This patch begins the migration of the rare data struct of RenderBlock into
2376         RenderBlockFlow. During this process we will temporarily have rare data structs
2377         in both places, but ultimately all of the members are going to move down into
2378         RenderBlockFlow, and if any don't, they will get forced into a hash.
2379         
2380         For this patch, the margin information is being shifted out of RenderBlock and into
2381         RenderBlockFlow. Any functions that refer to MarginValues or to MarginInfo also got
2382         moved down into RenderBlockFlow. Most of block child layout is now in RenderBlockFlow
2383         after this patch.
2384         
2385         Note that in many cases the code didn't simply move. There is some type tightening
2386         that happened as well, i.e., places that look for RenderBlock can now look for
2387         RenderBlockFlow instead and let RenderBlock execute the base RenderBox functions.
2388
2389         * rendering/RenderBlock.cpp:
2390         (WebCore::RenderBlock::RenderBlock):
2391         (WebCore::RenderBlock::setPaginationStrut):
2392         (WebCore::RenderBlock::setPageLogicalOffset):
2393         (WebCore::RenderBlock::setBreakAtLineToAvoidWidow):
2394         * rendering/RenderBlock.h:
2395         (WebCore::RenderBlock::setLineGridBox):
2396         (WebCore::RenderBlock::setShapeInsideInfo):
2397         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
2398         * rendering/RenderBlockFlow.cpp:
2399         (WebCore::RenderBlockFlow::MarginInfo::MarginInfo):
2400         (WebCore::RenderBlockFlow::RenderBlockFlow):
2401         (WebCore::RenderBlockFlow::layoutBlockChild):
2402         (WebCore::RenderBlockFlow::adjustPositionedBlock):
2403         (WebCore::RenderBlockFlow::adjustFloatingBlock):
2404         (WebCore::RenderBlockFlow::marginValuesForChild):
2405         (WebCore::RenderBlockFlow::collapseMargins):
2406         (WebCore::RenderBlockFlow::clearFloatsIfNeeded):
2407         (WebCore::RenderBlockFlow::marginBeforeEstimateForChild):
2408         (WebCore::RenderBlockFlow::estimateLogicalTopPosition):
2409         (WebCore::RenderBlockFlow::setCollapsedBottomMargin):
2410         (WebCore::RenderBlockFlow::handleAfterSideOfBlock):
2411         (WebCore::RenderBlockFlow::setMaxMarginBeforeValues):
2412         (WebCore::RenderBlockFlow::setMaxMarginAfterValues):
2413         (WebCore::RenderBlockFlow::setMustDiscardMarginBefore):
2414         (WebCore::RenderBlockFlow::setMustDiscardMarginAfter):
2415         (WebCore::RenderBlockFlow::mustDiscardMarginBefore):
2416         (WebCore::RenderBlockFlow::mustDiscardMarginAfter):
2417         (WebCore::RenderBlockFlow::mustDiscardMarginBeforeForChild):
2418         (WebCore::RenderBlockFlow::mustDiscardMarginAfterForChild):
2419         (WebCore::RenderBlockFlow::mustSeparateMarginBeforeForChild):
2420         (WebCore::RenderBlockFlow::mustSeparateMarginAfterForChild):
2421         (WebCore::inNormalFlow):
2422         (WebCore::RenderBlockFlow::applyBeforeBreak):
2423         (WebCore::RenderBlockFlow::applyAfterBreak):
2424         (WebCore::RenderBlockFlow::adjustBlockChildForPagination):
2425         * rendering/RenderBlockFlow.h:
2426         (WebCore::RenderBlockFlow::MarginValues::MarginValues):
2427         (WebCore::RenderBlockFlow::MarginValues::positiveMarginBefore):
2428         (WebCore::RenderBlockFlow::MarginValues::negativeMarginBefore):
2429         (WebCore::RenderBlockFlow::MarginValues::positiveMarginAfter):
2430         (WebCore::RenderBlockFlow::MarginValues::negativeMarginAfter):
2431         (WebCore::RenderBlockFlow::MarginValues::setPositiveMarginBefore):
2432         (WebCore::RenderBlockFlow::MarginValues::setNegativeMarginBefore):
2433         (WebCore::RenderBlockFlow::MarginValues::setPositiveMarginAfter):
2434         (WebCore::RenderBlockFlow::MarginValues::setNegativeMarginAfter):
2435         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
2436         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::positiveMarginBeforeDefault):
2437         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::negativeMarginBeforeDefault):
2438         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::positiveMarginAfterDefault):
2439         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::negativeMarginAfterDefault):
2440         (WebCore::RenderBlockFlow::MarginInfo::setAtBeforeSideOfBlock):
2441         (WebCore::RenderBlockFlow::MarginInfo::setAtAfterSideOfBlock):
2442         (WebCore::RenderBlockFlow::MarginInfo::clearMargin):
2443         (WebCore::RenderBlockFlow::MarginInfo::setHasMarginBeforeQuirk):
2444         (WebCore::RenderBlockFlow::MarginInfo::setHasMarginAfterQuirk):
2445         (WebCore::RenderBlockFlow::MarginInfo::setDeterminedMarginBeforeQuirk):
2446         (WebCore::RenderBlockFlow::MarginInfo::setPositiveMargin):
2447         (WebCore::RenderBlockFlow::MarginInfo::setNegativeMargin):
2448         (WebCore::RenderBlockFlow::MarginInfo::setPositiveMarginIfLarger):
2449         (WebCore::RenderBlockFlow::MarginInfo::setNegativeMarginIfLarger):
2450         (WebCore::RenderBlockFlow::MarginInfo::setMargin):
2451         (WebCore::RenderBlockFlow::MarginInfo::setCanCollapseMarginAfterWithChildren):
2452         (WebCore::RenderBlockFlow::MarginInfo::setDiscardMargin):
2453         (WebCore::RenderBlockFlow::MarginInfo::atBeforeSideOfBlock):
2454         (WebCore::RenderBlockFlow::MarginInfo::canCollapseWithMarginBefore):
2455         (WebCore::RenderBlockFlow::MarginInfo::canCollapseWithMarginAfter):
2456         (WebCore::RenderBlockFlow::MarginInfo::canCollapseMarginBeforeWithChildren):
2457         (WebCore::RenderBlockFlow::MarginInfo::canCollapseMarginAfterWithChildren):
2458         (WebCore::RenderBlockFlow::MarginInfo::quirkContainer):
2459         (WebCore::RenderBlockFlow::MarginInfo::determinedMarginBeforeQuirk):
2460         (WebCore::RenderBlockFlow::MarginInfo::hasMarginBeforeQuirk):
2461         (WebCore::RenderBlockFlow::MarginInfo::hasMarginAfterQuirk):
2462         (WebCore::RenderBlockFlow::MarginInfo::positiveMargin):
2463         (WebCore::RenderBlockFlow::MarginInfo::negativeMargin):
2464         (WebCore::RenderBlockFlow::MarginInfo::discardMargin):
2465         (WebCore::RenderBlockFlow::MarginInfo::margin):
2466         (WebCore::RenderBlockFlow::maxPositiveMarginBefore):
2467         (WebCore::RenderBlockFlow::maxNegativeMarginBefore):
2468         (WebCore::RenderBlockFlow::maxPositiveMarginAfter):
2469         (WebCore::RenderBlockFlow::maxNegativeMarginAfter):
2470         (WebCore::RenderBlockFlow::initMaxMarginValues):
2471         * rendering/RenderDeprecatedFlexibleBox.cpp:
2472         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2473         * rendering/RenderTable.cpp:
2474         (WebCore::RenderTable::layout):
2475
2476 2013-09-11  Myles C. Maxfield  <mmaxfield@apple.com>
2477
2478         Fix nested unicode-bidi: isolate
2479         https://bugs.webkit.org/show_bug.cgi?id=120504
2480
2481         Reviewed by Darin Adler.
2482
2483         When we have a nested isolate renderer if the outer isolate has a text
2484         and this text is not the first child, the isolated chain is not
2485         rendered correctly. This happens because constructBidiRunsForSegment
2486         uses always the first inner isolated renderer as isolated inline
2487         container. This patch fixes the behavior described changing
2488         containingIsolate to find the right isolated container.
2489
2490         Merged from Blink: https://chromium.googlesource.com/chromium/blink/+/840a57050eade39dd04dde0c6603e129b783151c
2491
2492         Tests: fast/text/international/unicode-bidi-isolate-nested-first-child-text.html
2493                fast/text/international/unicode-bidi-isolate-nested-simple.html
2494
2495         * rendering/InlineIterator.h:
2496         (WebCore::containingIsolate):
2497         * rendering/RenderBlockLineLayout.cpp:
2498         (WebCore::constructBidiRunsForSegment):
2499
2500 2013-09-11  Alexey Proskuryakov  <ap@apple.com>
2501
2502         https://bugs.webkit.org/show_bug.cgi?id=121169
2503         media/track/track-cue-rendering-vertical.html is flaky on Mac
2504
2505         Reviewed by Eric Carlson.
2506
2507         * html/shadow/MediaControlElements.cpp:
2508         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Added a FIXME.
2509
2510 2013-09-11  Anders Carlsson  <andersca@apple.com>
2511
2512         Stop using deleteAllValues in SVG code
2513         https://bugs.webkit.org/show_bug.cgi?id=121172
2514
2515         Reviewed by Antti Koivisto.
2516
2517         Use OwnPtr for values instead.
2518
2519         * rendering/svg/RenderSVGResourceClipper.cpp:
2520         (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
2521         (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
2522         (WebCore::RenderSVGResourceClipper::removeClientFromCache):
2523         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
2524         * rendering/svg/RenderSVGResourceClipper.h:
2525         * rendering/svg/RenderSVGResourceFilter.cpp:
2526         (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
2527         (WebCore::RenderSVGResourceFilter::removeAllClientsFromCache):
2528         (WebCore::RenderSVGResourceFilter::removeClientFromCache):
2529         (WebCore::RenderSVGResourceFilter::applyResource):
2530         (WebCore::RenderSVGResourceFilter::postApplyResource):
2531         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
2532         * rendering/svg/RenderSVGResourceFilter.h:
2533         * rendering/svg/RenderSVGResourceMasker.cpp:
2534         (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
2535         (WebCore::RenderSVGResourceMasker::removeAllClientsFromCache):
2536         (WebCore::RenderSVGResourceMasker::removeClientFromCache):
2537         (WebCore::RenderSVGResourceMasker::applyResource):
2538         * rendering/svg/RenderSVGResourceMasker.h:
2539
2540 2013-09-11  Ryosuke Niwa  <rniwa@webkit.org>
2541
2542         Make the table static const.
2543
2544         * css/makeprop.pl:
2545
2546 2013-09-11  Timothy Hatcher  <timothy@apple.com>
2547
2548         Remove TimelineTraceEventProcessor since no current ports use it
2549         https://bugs.webkit.org/show_bug.cgi?id=121171
2550
2551         Reviewed by Joseph Pecoraro.
2552
2553         * CMakeLists.txt:
2554         * GNUmakefile.list.am:
2555         * Target.pri:
2556         * WebCore.vcxproj/WebCore.vcxproj:
2557         * WebCore.vcxproj/WebCore.vcxproj.filters:
2558         * WebCore.xcodeproj/project.pbxproj:
2559         * inspector/InspectorAllInOne.cpp:
2560         * inspector/InspectorClient.h:
2561         * inspector/InspectorInstrumentation.cpp:
2562         * inspector/InspectorInstrumentation.h:
2563         * inspector/InspectorTimelineAgent.cpp:
2564         (WebCore::InspectorTimelineAgent::start):
2565         (WebCore::InspectorTimelineAgent::stop):
2566         * inspector/InspectorTimelineAgent.h:
2567         * inspector/TimelineTraceEventProcessor.cpp: Removed.
2568         * inspector/TimelineTraceEventProcessor.h: Removed.
2569
2570 2013-09-11  Commit Queue  <commit-queue@webkit.org>
2571
2572         Unreviewed, rolling out r155519.
2573         http://trac.webkit.org/changeset/155519
2574         https://bugs.webkit.org/show_bug.cgi?id=121174
2575
2576         Included regression test fails, and an existing test started
2577         to crash (Requested by ap on #webkit).
2578
2579         * dom/Document.cpp:
2580         (WebCore::Document::hoveredElementDidDetach):
2581         * page/EventHandler.cpp:
2582         (WebCore::EventHandler::EventHandler):
2583         (WebCore::EventHandler::clear):
2584         (WebCore::EventHandler::handleMouseMoveEvent):
2585         (WebCore::EventHandler::scheduleHoverStateUpdate):
2586         (WebCore::EventHandler::hoverTimerFired):
2587         * page/EventHandler.h:
2588
2589 2013-09-11  Anders Carlsson  <andersca@apple.com>
2590
2591         Stop using deleteAllValues in SVG code
2592         https://bugs.webkit.org/show_bug.cgi?id=121172
2593
2594         Reviewed by Antti Koivisto.
2595
2596         Use OwnPtr for values instead.
2597
2598         * rendering/svg/RenderSVGResourceClipper.cpp:
2599         (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
2600         (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
2601         (WebCore::RenderSVGResourceClipper::removeClientFromCache):
2602         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
2603         * rendering/svg/RenderSVGResourceClipper.h:
2604         * rendering/svg/RenderSVGResourceFilter.cpp:
2605         (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
2606         (WebCore::RenderSVGResourceFilter::removeAllClientsFromCache):
2607         (WebCore::RenderSVGResourceFilter::removeClientFromCache):
2608         (WebCore::RenderSVGResourceFilter::applyResource):
2609         (WebCore::RenderSVGResourceFilter::postApplyResource):
2610         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
2611         * rendering/svg/RenderSVGResourceFilter.h:
2612         * rendering/svg/RenderSVGResourceMasker.cpp:
2613         (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
2614         (WebCore::RenderSVGResourceMasker::removeAllClientsFromCache):
2615         (WebCore::RenderSVGResourceMasker::removeClientFromCache):
2616         (WebCore::RenderSVGResourceMasker::applyResource):
2617         * rendering/svg/RenderSVGResourceMasker.h:
2618
2619 2013-09-10  Simon Fraser  <simon.fraser@apple.com>
2620
2621         REGRESSION (143483): overflow:hidden doesn't quash big repaints from text-indent: -9999px
2622         https://bugs.webkit.org/show_bug.cgi?id=121137
2623
2624         Reviewed by Ryosuke Niwa.
2625         
2626         The change in r143483 made it so that negative text-indent gets added
2627         to visual oveflow even when we have overflow:hidden, which is really bad
2628         because it causes large repaints (and large layers) for a common-on-the-web
2629         pattern.
2630         
2631         Revert the change, and add a new test to make sure it doesn't regress.
2632         
2633         I can't reproduce the bug it was trying to fix with the change reverted.
2634
2635         Tests: compositing/geometry/negative-text-indent-with-overflow-hidden-layer.html
2636                fast/repaint/negative-text-indent-with-overflow-hidden.html
2637
2638         * rendering/RenderBlock.cpp:
2639         (WebCore::RenderBlock::computeOverflow):
2640
2641 2013-09-10  Simon Fraser  <simon.fraser@apple.com>
2642
2643         Optionally show visual and layout overflow rects in layer tree dumps
2644         https://bugs.webkit.org/show_bug.cgi?id=121135
2645
2646         Reviewed by Beth Dakin.
2647
2648         When calling showLayerTree() from the debugger, show overflow rects
2649         (visaul and layout) for renderers.
2650         
2651         Does not affect test output.
2652
2653         * rendering/RenderLayer.cpp:
2654         (showLayerTree): Pass the new flag to show overflow rects.
2655         * rendering/RenderTreeAsText.cpp:
2656         (WebCore::RenderTreeAsText::writeRenderObject): Print the rects.
2657         (WebCore::write): Don't force layout on subframes if the "dont' layout"
2658         flag is set.
2659         * rendering/RenderTreeAsText.h: New flag.
2660
2661 2013-09-11  Chris Fleizach  <cfleizach@apple.com>
2662
2663         AX: WebKit exposes AXTitleUIElement incorrectly on checkboxes and radio buttons
2664         https://bugs.webkit.org/show_bug.cgi?id=121039
2665
2666         Reviewed by Sam Weinig.
2667
2668         Stop hiding <label> elements for radio buttons and checkboxes (and using the text inside them for the AXTitle).
2669         Instead, expose the <label> element as the titleUIElement if appropriate for the input.
2670
2671         This implies:
2672            1) The web will no longer match MacOS behavior exactly (the text and the checkbox control are combined on MacOS into one element)
2673            2) But, the user will now be able to explore the <label> element which may include links or other important controls.
2674         I think sacrificing 1) here is a good tradeoff. The user will likely never know the difference in terms of output.
2675
2676         Test: platform/mac/accessibility/label-elements-exposed-as-title-ui-elements.html
2677
2678         * accessibility/AccessibilityNodeObject.cpp:
2679         (WebCore::AccessibilityNodeObject::titleElementText):
2680         (WebCore::AccessibilityNodeObject::title):
2681         * accessibility/AccessibilityRenderObject.cpp:
2682         (WebCore::AccessibilityRenderObject::hasTextAlternative):
2683         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
2684
2685 2013-09-11  Andreas Kling  <akling@apple.com>
2686
2687         Remove unnecessary Document::frame() null checks in rendererIsNeeded().
2688         <https://webkit.org/b/121166>
2689
2690         Reviewed by Anders Carlsson.
2691
2692         rendererIsNeeded() is only called during style resolve, which only happens
2693         while there's a Frame present.
2694
2695         * html/HTMLEmbedElement.cpp:
2696         (WebCore::HTMLEmbedElement::rendererIsNeeded):
2697         * html/HTMLMediaElement.cpp:
2698         (WebCore::HTMLMediaElement::rendererIsNeeded):
2699         * html/HTMLObjectElement.cpp:
2700         * html/HTMLObjectElement.h:
2701
2702 2013-09-11  Csaba OsztrogonĂ¡c  <ossy@webkit.org>
2703
2704         ARM buildfix after r155491
2705         https://bugs.webkit.org/show_bug.cgi?id=121152
2706
2707         Reviewed by Anders Carlsson.
2708
2709         FELightingNEON.cpp and FELightingNEON.h is inside COMPILER(GCC) guard, so it's safe to use GCC attribute.
2710
2711         * platform/graphics/cpu/arm/filters/FELightingNEON.cpp: Use __aligned__ GCC attribute directly.
2712         * platform/graphics/cpu/arm/filters/FELightingNEON.h: Use __aligned__ GCC attribute instead of ugly template magic.
2713         (WebCore::FELighting::platformApplyNeon):
2714
2715 2013-09-11  peavo@outlook.com  <peavo@outlook.com>
2716
2717         [WinCairo] Compile errors.
2718         https://bugs.webkit.org/show_bug.cgi?id=121153
2719
2720         Reviewed by Brent Fulgham.
2721
2722         * page/win/FrameCairoWin.cpp:
2723         (WebCore::imageFromRect): Return empty GDIObject.
2724         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
2725         (WebCore::FontCustomPlatformData::fontPlatformData): Get actual handle from GDIObject.
2726
2727 2013-09-11  Darin Adler  <darin@apple.com>
2728
2729         Rework CSS parser, eliminating "floating" concept and using %destructor
2730         https://bugs.webkit.org/show_bug.cgi?id=121161
2731
2732         Reviewed by Antti Koivisto.
2733
2734         This is some basic improvement, but there is still room for a lot more
2735         consistent approach and formatting in this file. There is a mix of code that
2736         works by side effects in the CSSParser class and code that works with the
2737         values that bison generates in the union that is more or less random. And
2738         the data structures seem too costly, with too much heap allocation. And the
2739         CSSParser class has grown massive, with a mix of both function for use by
2740         code that wants to trigger parsing, and helper functions called by code in
2741         the grammar file. All of that can benefit from more refinement in the future.
2742
2743         * css/CSSGrammar.y.in: Made some incremental improvements to the structure
2744         of the grammar file, including:
2745         - Breaking up the %union so types are declared next to their use
2746         - Eliminating one shift/reduce conflict caused by two "maybe_space" in a row
2747         - Breaking the conditional sections out into their own sections instead of
2748           scattering them in with the other code.
2749         - Eliminating unused return values in productions such as charset,
2750           ignored_charset, namespace, margin_box, invalid_rule, save_block,
2751           invalid_at, and declarations_and_margins.
2752         - Adding %destructor to productions that return values that need to be deleted
2753           or deref'd. This removes the need for CSSParser to separately track these
2754           as "floating" to clean up in case of errors.
2755         - Removing unneeded productions such as media_feature, region_selector,
2756           attr_name, and medium.
2757         - Removing explicit code blocks that just say "$$ = $1" or empty blocks when
2758           there is no return type, since those are default.
2759         - Formatting many productions on single lines since I find them easier to read.
2760           Later I think we could make many more CSSParser functions and make even
2761           more of the production single lines in the grammar file.
2762         - Using adoptPtr, adoptRef, delete, deref, leakPtr, and leakRef to put
2763           heap allocated values into and out of the union without storage leaks.
2764           
2765         * css/CSSParser.cpp:
2766         (WebCore::CSSParser::~CSSParser): Remove the now-unneeded deleteAllValues for
2767         the various colections of floating things.
2768         (WebCore::CSSParser::createFilterRule): Don't put the rule into m_parsedRules,
2769         just return a PassRefPtr instead.
2770         (WebCore::CSSParser::createImportRule): Ditto.
2771         (WebCore::CSSParser::createMediaRule): Ditto.
2772         (WebCore::CSSParser::createEmptyMediaRule): Ditto.
2773         (WebCore::CSSParser::createSupportsRule): Ditto.
2774         (WebCore::CSSParser::createKeyframesRule): Ditto.
2775         (WebCore::CSSParser::createStyleRule): Ditto.
2776         (WebCore::CSSParser::createFontFaceRule): Ditto.
2777         (WebCore::CSSParser::createHostRule): Ditto.
2778         (WebCore::CSSParser::rewriteSpecifiersWithNamespaceIfNeeded): Got rid of the
2779         unused return value from this function and changed it to to take a reference
2780         instead of a pointer.
2781         (WebCore::CSSParser::rewriteSpecifiersWithElementName): Ditto.
2782         (WebCore::CSSParser::rewriteSpecifiers): Changed this to take and return OwnPtr.
2783         (WebCore::CSSParser::createPageRule): Don't put rule into m_parsedRules, return
2784         PassRefPtr instead.
2785         (WebCore::CSSParser::createSelectorVector): Added. Used to implement the
2786         optimization where we recycle a single selector vector. Not sure we still need
2787         this, or maybe we need more optimizations like it, but for now keep it.
2788         (WebCore::CSSParser::recycleSelectorVector): Ditto.
2789         (WebCore::CSSParser::createRegionRule): Don't put rule into m_parsedRules, return
2790         PassRefPtr instead.
2791         (WebCore::CSSParser::createMarginAtRule): Got rid of unused return value.
2792         When this function is implemented for real, we might add a return value.
2793         (WebCore::CSSParser::createKeyframe): Don't put keyframe into m_parsedKeyframes,
2794         return PassRefPtr instead.
2795         (WebCore::CSSParser::createViewportRule): Don't put rule into m_parsedRules, return
2796         PassRefPtr instead.
2797
2798         * css/CSSParser.h: Removed many now-needed functions to manage floating items.
2799         Changed rule creation functions to return PassRefPtr. Other changes as mentioned above.
2800
2801         * css/CSSParserValues.cpp:
2802         (WebCore::destroy): Added.
2803         (WebCore::CSSParserValueList::~CSSParserValueList): Updated to call destroy.
2804         * css/CSSParserValues.h: Ditto.
2805
2806 2013-09-11  Mario Sanchez Prada  <mario.prada@samsung.com>
2807
2808         [GTK] Remove Gail dependency from build system for GTK3
2809         https://bugs.webkit.org/show_bug.cgi?id=119673
2810
2811         Reviewed by Gustavo Noronha Silva.
2812
2813         * GNUmakefile.am: Removed GAIL_CFLAGS.
2814         * PlatformGTK.cmake: Removed GAIL3_INCLUDE_DIRS and GAIL3_LIBRARIES.
2815
2816 2013-09-11  Andreas Kling  <akling@apple.com>
2817
2818         Remove Widget::widgetPositionsUpdated().
2819         <https://webkit.org/b/121160>
2820
2821         Reviewed by Anders Carlsson.
2822
2823         Remove this no-op virtual that was only used by chromium.
2824
2825 2013-09-11  Andreas Kling  <akling@apple.com>
2826
2827         Page::backForward() should return a reference.
2828         <https://webkit.org/b/121151>
2829
2830         Reviewed by Anders Carlsson.
2831
2832         There is always a BackForwardController, so make backForward() return a reference.
2833         Also made it store a Page& internally since it's tied to the lifetime of Page.
2834
2835 2013-09-11  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2836
2837         WTF::OwnPtr should behave similarly with the rest of WTF smart pointers
2838         https://bugs.webkit.org/show_bug.cgi?id=120773
2839
2840         Reviewed by Anders Carlsson.
2841
2842         Before the change OwnPtr could take either the pointer type or the pointed-to type, which was bad
2843         for the following reasons:
2844         - It distinguished OwnPtr behaviour from other WTF smart pointer classes behaviour (so it was confusing for the Client).
2845         - It was potential error-prone as it actually modified the type given by the Client in opaque way.
2846
2847         * page/animation/CSSPropertyAnimation.cpp:
2848         (WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists):
2849         (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
2850
2851 2013-09-11  Andreas Kling  <akling@apple.com>
2852
2853         FrameView: Tighten widget handling code.
2854         <https://webkit.org/b/121155>
2855
2856         Reviewed by Antti Koivisto.
2857
2858         Harden typing in this code to work with RenderEmbeddedObject& instead of RenderObject*.
2859         Functions and members renamed to reflect that they only deal with embedded objects.
2860
2861         * html/HTMLPlugInImageElement.h:
2862         (WebCore::toHTMLPlugInImageElement):
2863
2864             Add a toHTMLPlugInImageElement that takes an Element&.
2865
2866         * html/HTMLTagNames.in:
2867
2868             Generate type helpers for applet and embed elements.
2869
2870         * page/FrameView.h:
2871         * page/FrameView.cpp:
2872         (WebCore::FrameView::addEmbeddedObjectToUpdate):
2873         (WebCore::FrameView::removeEmbeddedObjectToUpdate):
2874         (WebCore::FrameView::updateEmbeddedObjects):
2875         (WebCore::FrameView::updateEmbeddedObject):
2876
2877             Re-ordered this function in early return style. Change locals into references.
2878
2879         * rendering/RenderEmbeddedObject.cpp:
2880         (WebCore::RenderEmbeddedObject::~RenderEmbeddedObject):
2881         (WebCore::RenderEmbeddedObject::layout):
2882         * rendering/RenderSnapshottedPlugIn.cpp:
2883         (WebCore::RenderSnapshottedPlugIn::layout):
2884
2885             Updated for new FrameView function signatures.
2886
2887 2013-09-11  Patrick Gansterer  <paroga@webkit.org>
2888
2889         [CMake] Split out generic Windows files into its own file
2890         https://bugs.webkit.org/show_bug.cgi?id=119514
2891
2892         Reviewed by Gyuyoung Kim.
2893
2894         This allows us to add smaller CMakeLists.txt files when
2895         adding additional Windows ports.
2896
2897         * PlatformWin.cmake: Copied from Source/WebCore/PlatformWinCE.cmake.
2898         * PlatformWinCE.cmake:
2899
2900 2013-09-11  Mario Sanchez Prada  <mario.prada@samsung.com>
2901
2902         [GTK] Get rid of Pango/Gail dependencies in accessibility for ATK
2903         https://bugs.webkit.org/show_bug.cgi?id=114867
2904
2905         Reviewed by Martin Robinson.
2906
2907         Removed all trace of Gail and Pango specific code from the AtkText
2908         implementation, now everything has been reimplemented.
2909
2910         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
2911         (webkitAccessibleTextGetTextForOffset): Removed fallback code
2912         relying in Gail/Pango, now all the related code has been
2913         removed. Also, replaced the collection of if statements with a
2914         switch, for better readability of the code.
2915
2916 2013-09-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2917
2918         Mouseenter/-leave not triggered when element under cursor is moved/removed
2919         https://bugs.webkit.org/show_bug.cgi?id=120786
2920
2921         Reviewed by Antonio Gomes.
2922
2923         When a hovered element is detached it will now emit a fake mousemove event
2924         similar to what happens when a hovered element has CSS display set to none.
2925
2926         Test: fast/events/mouseenterleave-detached-element.html
2927
2928         * dom/Document.cpp:
2929         (WebCore::Document::hoveredElementDidDetach):
2930         * page/EventHandler.cpp:
2931         (WebCore::EventHandler::EventHandler):
2932         (WebCore::EventHandler::clear):
2933         (WebCore::EventHandler::handleMouseMoveEvent):
2934         * page/EventHandler.h:
2935
2936 2013-09-11  Krzysztof Czech  <k.czech@samsung.com>
2937
2938         [ATK] Adds mapping MenuItemRadioRole to ATK
2939         https://bugs.webkit.org/show_bug.cgi?id=121149
2940
2941         Reviewed by Mario Sanchez Prada.
2942
2943         Adds mapping MenuItemRadioRole to ATK.
2944
2945         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2946         (atkRole):
2947
2948 2013-09-10  Mario Sanchez Prada  <mario.prada@samsung.com>
2949
2950         [GTK] Reimplement atk_text_get_text_*_offset for LINE boundaries
2951         https://bugs.webkit.org/show_bug.cgi?id=114872
2952
2953         Reviewed by Gustavo Noronha Silva.
2954
2955         Re-implement these functions without using GailTextUtil nor Pango.
2956
2957         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
2958         (lineAtPositionForAtkBoundary): New helper function to find the
2959         line at a given position considering values of AtkTextBoundary.
2960         (webkitAccessibleTextLineForBoundary): New function,
2961         implementing atk_text_get_text_*_offset for LINE.
2962         (webkitAccessibleTextGetTextForOffset): Replace usage of Gail for
2963         LINE boundaries with webkitAccessibleTextLineForBoundary().
2964
2965 2013-09-11  Andreas Kling  <akling@apple.com>
2966
2967         Missed one BackForwardListImpl.h in the last commit.
2968
2969         * history/BackForwardList.cpp:
2970
2971 2013-09-11  Andreas Kling  <akling@apple.com>
2972
2973         Rename BackForwardListImpl.{cpp,h} => BackForwardClient.{cpp,h}
2974
2975         Rubber-stamped by Antti Koivisto.
2976
2977 2013-09-10  Ryosuke Niwa  <rniwa@webkit.org>
2978
2979         CSSProperty::isInheritedProperty is large
2980         https://bugs.webkit.org/show_bug.cgi?id=121083
2981
2982         Reviewed by Sam Weinig.
2983
2984         Support [Inherited] option in makeprop.pl and generate CSSProperty::isInheritedProperty in CSSPropertyNames.cpp
2985         using a lookup table. We can pack the table better by using bitfield in the future but I think boolean lookup
2986         table is a good first cut.
2987
2988         Updated CSSPropertyNames.in and SVGCSSPropertyNames.in to use the new option and removed the old code from
2989         CSSProperty.cpp.
2990
2991         * css/CSSProperty.cpp:
2992         * css/CSSPropertyNames.in:
2993         * css/SVGCSSPropertyNames.in:
2994         * css/makeprop.pl:
2995
2996 2013-09-11  Andreas Kling  <akling@apple.com>
2997
2998         Rename BackForwardListImpl => BackForwardList.
2999         <https://webkit.org/b/121146>
3000
3001         Reviewed by Antti Koivisto.
3002
3003         Nuke another old FIXME.
3004
3005 2013-09-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3006
3007         Generate more HTML type checks and casting
3008         https://bugs.webkit.org/show_bug.cgi?id=121080
3009
3010         Reviewed by Andreas Kling.
3011
3012         Clean-up remained functions of HTML elements using auto-generated isFooElement(),
3013         and replace toFooElement() with ELEMENT_TYPE_CASTS() macro.
3014
3015         Besides this patch clean-up unnecessary checks which are being supported by
3016         auto-generated isFooElement().
3017
3018         No new tests, no behavior change.
3019
3020         * accessibility/atk/AXObjectCacheAtk.cpp:
3021         (WebCore::notifyChildrenSelectionChange):
3022         * html/HTMLFrameElementBase.h:
3023         (WebCore::toHTMLFrameElementBase):
3024         * html/HTMLIFrameElement.h:
3025         * html/HTMLImageLoader.cpp:
3026         (WebCore::HTMLImageLoader::dispatchLoadEvent):
3027         (WebCore::HTMLImageLoader::notifyFinished):
3028         * html/HTMLObjectElemenaeh:
3029         * html/HTMLOptionsCollection.cpp:
3030         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
3031         * html/HTMLSelectElement.h:
3032         * html/HTMLTagNames.in:
3033         * html/HTMLVideoElement.h:
3034         * html/shadow/HTMLContentElement.h:
3035         * loader/ImageLoader.cpp:
3036         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
3037         * loader/archive/cf/LegacyWebArchive.cpp:
3038         (WebCore::LegacyWebArchive::create):
3039         * page/PageSerializer.cpp:
3040         (WebCore::frameOwnerURLAttributeName):
3041         * page/SpatialNavigation.cpp:
3042         (WebCore::canScrollInDirection):
3043         * platform/gtk/PasteboardGtk.cpp:
3044         (WebCore::getURLForImageNode):
3045         * plugins/IFrameShimSupport.cpp:
3046         (WebCore::getPluginOcclusions):
3047         * rendering/HitTestResult.cpp:
3048         (WebCore::HitTestResult::mediaSupportsFullscreen):
3049         (WebCore::HitTestResult::mediaElement):
3050         (WebCore::HitTestResult::enterFullscreenForVideo):
3051         (WebCore::HitTestResult::mediaIsVideo):
3052
3053         * rendering/RenderLayerCompositor.cpp:
3054         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
3055         * rendering/RenderListBox.cpp:
3056         (WebCore::RenderListBox::RenderListBox):
3057         * rendering/RenderMenuList.cpp:
3058         (WebCore::RenderMenuList::RenderMenuList):
3059         * testing/Internals.cpp:
3060         (WebCore::Internals::isSelectPopupVisible):
3061
3062 2013-09-11  Chris Fleizach  <cfleizach@apple.com>
3063
3064         AX: Mac platform is not using accessibilityTitle from the Base implementation
3065         https://bugs.webkit.org/show_bug.cgi?id=121109
3066
3067         Reviewed by Sam Weinig.
3068
3069         Remove the Mac platform overrides of accessibilityTitle, Description, HelpText. 
3070         The Base implementation has these and we can share them between iOS and Mac
3071
3072         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
3073         (-[WebAccessibilityObjectWrapperBase accessibilityTitle]):
3074         (-[WebAccessibilityObjectWrapperBase accessibilityDescription]):
3075         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3076
3077 2013-09-11  Andreas Kling  <akling@apple.com>
3078
3079         Rename BackForwardList.h => BackForwardClient.h
3080
3081         Rubber-stamped by Antti Koivisto.
3082
3083 2013-09-11  Andreas Kling  <akling@apple.com>
3084
3085         Rename BackForwardList => BackForwardClient.
3086         <https://webkit.org/b/121143>
3087
3088         Reviewed by Antti Koivisto.
3089
3090         Nuke a 3 year old FIXME about renaming this class.
3091
3092 2013-09-10  Daniel Bates  <dabates@apple.com>
3093
3094         [iOS] Upstream text autosizing
3095         https://bugs.webkit.org/show_bug.cgi?id=121111
3096
3097         Reviewed by Andy Estes and Sam Weinig.
3098
3099         Tests: platform/iphone-simulator/text-autosizing/anonymous-block.html
3100                platform/iphone-simulator/text-autosizing/contenteditable.html
3101                platform/iphone-simulator/text-autosizing/first-letter.html
3102                platform/iphone-simulator/text-autosizing/font-family-case-insensitive.html
3103                platform/iphone-simulator/text-autosizing/lists.html
3104                platform/iphone-simulator/text-autosizing/overflow.html
3105                platform/iphone-simulator/text-autosizing/percent-adjust-length-line-height.html
3106                platform/iphone-simulator/text-autosizing/percent-adjust-number-line-height.html
3107                platform/iphone-simulator/text-autosizing/percent-adjust-percent-line-height.html
3108
3109         * WebCore.exp.in:
3110         * WebCore.xcodeproj/project.pbxproj:
3111         * css/CSSComputedStyleDeclaration.cpp:
3112         (WebCore::ComputedStyleExtractor::propertyValue):
3113         * css/CSSParser.cpp:
3114         (WebCore::isValidKeywordPropertyAndValue):
3115         (WebCore::CSSParser::parseValue):
3116         * css/CSSProperty.cpp:
3117         (WebCore::CSSProperty::isInheritedProperty):
3118         * css/CSSPropertyNames.in: Add property -webkit-text-size-adjust.
3119         * css/DeprecatedStyleBuilder.cpp:
3120         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue): Added.
3121         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyInitialValue): Added.
3122         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyInheritValue): Added.
3123         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::createHandler): Added.
3124         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
3125         * css/StyleResolver.cpp:
3126         (WebCore::StyleResolver::updateFont):
3127         (WebCore::StyleResolver::applyProperties): Add COMPILE_ASSERT to ensure that
3128         all properties that affect font size, including -webkit-text-size-adjust, are
3129         resolved before properties that depend on them; see <rdar://problem/13522835>.
3130         (WebCore::StyleResolver::applyProperty):
3131         (WebCore::StyleResolver::checkForTextSizeAdjust): Added.
3132         * css/StyleResolver.h:
3133         * dom/Document.cpp:
3134         (WebCore::TextAutoSizingTraits::constructDeletedValue): Added.
3135         (WebCore::TextAutoSizingTraits::isDeletedValue): Added.
3136         (WebCore::Document::detach):
3137         (WebCore::Document::addAutoSizingNode): Added.
3138         (WebCore::Document::validateAutoSizingNodes): Added.
3139         (WebCore::Document::resetAutoSizingNodes): Added.
3140         * dom/Document.h:
3141         * editing/EditingStyle.cpp:
3142         * page/Frame.h: Add declarations for setTextAutosizingWidth(), textAutosizingWidth().
3143         * page/FrameView.cpp:
3144         (WebCore::FrameView::layout):
3145         * page/Settings.in: Generate setter and getter for setting minimumZoomFontSize.
3146         * platform/graphics/Font.h:
3147         (WebCore::Font::equalForTextAutoSizing): Added.
3148         * platform/graphics/FontDescription.cpp:
3149         (WebCore::FontDescription::familiesEqualForTextAutoSizing): Added.
3150         * platform/graphics/FontDescription.h:
3151         (WebCore::FontDescription::equalForTextAutoSizing): Added.
3152         * rendering/RenderBlock.cpp:
3153         (WebCore::RenderBlock::RenderBlock):
3154         (WebCore::isVisibleRenderText): Added.
3155         (WebCore::resizeTextPermitted): Added.
3156         (WebCore::RenderBlock::immediateLineCount): Added.
3157         (WebCore::isNonBlocksOrNonFixedHeightListItems): Added.
3158         (WebCore::oneLineTextMultiplier): Added.
3159         (WebCore::textMultiplier): Added.
3160         (WebCore::RenderBlock::adjustComputedFontSizes): Added.
3161         * rendering/RenderBlock.h:
3162         (WebCore::RenderBlock::resetComputedFontSize): Added.
3163         * rendering/RenderObject.cpp:
3164         (WebCore::RenderObject::traverseNext): Added.
3165         (WebCore::includeNonFixedHeight): Added.
3166         (WebCore::RenderObject::adjustComputedFontSizesOnBlocks): Added.
3167         (WebCore::RenderObject::resetTextAutosizing): Added.
3168         * rendering/RenderObject.h:
3169         * rendering/RenderText.cpp:
3170         (WebCore::RenderText::RenderText):
3171         * rendering/RenderText.h:
3172         (WebCore::RenderText::candidateComputedTextSize): Added.
3173         (WebCore::RenderText::setCandidateComputedTextSize): Added.
3174         * rendering/style/RenderStyle.cpp:
3175         (WebCore::computeFontHash):
3176         (WebCore::RenderStyle::hashForTextAutosizing): Added.
3177         (WebCore::RenderStyle::equalForTextAutosizing): Added.
3178         (WebCore::RenderStyle::changeRequiresLayout):
3179         (WebCore::RenderStyle::specifiedLineHeight): Added; iOS-specific variant.
3180         We should reconcile this getter with the getter of the same name that is
3181         compiled when building with IOS_TEXT_AUTOSIZING disabled.
3182         (WebCore::RenderStyle::setSpecifiedLineHeight): Added.
3183         * rendering/style/RenderStyle.h:
3184         (WebCore::RenderStyle::initialSpecifiedLineHeight): Added.
3185         (WebCore::RenderStyle::initialTextSizeAdjust): Added.
3186         (WebCore::RenderStyle::setTextSizeAdjust): Added.
3187         (WebCore::RenderStyle::textSizeAdjust): Added.
3188         * rendering/style/StyleInheritedData.cpp:
3189         (WebCore::StyleInheritedData::StyleInheritedData):
3190         (WebCore::StyleInheritedData::operator==):
3191         * rendering/style/StyleInheritedData.h:
3192         * rendering/style/StyleRareInheritedData.cpp:
3193         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
3194         (WebCore::StyleRareInheritedData::operator==):
3195         * rendering/style/StyleRareInheritedData.h:
3196         * rendering/style/TextSizeAdjustment.h: Added.
3197         (TextSizeAdjustment::TextSizeAdjustment):
3198         (TextSizeAdjustment::percentage):
3199         (TextSizeAdjustment::multiplier):
3200         (TextSizeAdjustment::isAuto):
3201         (TextSizeAdjustment::isNone):
3202         (TextSizeAdjustment::isPercentage):
3203         (TextSizeAdjustment::operator == ):
3204         (TextSizeAdjustment::operator != ):
3205
3206 2013-09-10  Chris Fleizach  <cfleizach@apple.com>
3207
3208         AX: AXValue/AXMenuItemMarkChar not defined for menuitemradio (should be false (0) with aria-checked=mixed | undefined)
3209         https://bugs.webkit.org/show_bug.cgi?id=120372
3210
3211         Reviewed by Mario Sanchez Prada.
3212
3213         Add new roles to make the distinction between menu item, menu item radio and menu item checkbox.
3214         Expose AXValue for menu items, so that they can convey the, on/off/mixed state of aria-checked.
3215
3216         Test: platform/mac/accessibility/menu-item-values.html
3217
3218         * accessibility/AccessibilityNodeObject.cpp:
3219         (WebCore::AccessibilityNodeObject::isMenuRelated):
3220         (WebCore::AccessibilityNodeObject::isMenuItem):
3221         (WebCore::AccessibilityNodeObject::isChecked):
3222         (WebCore::AccessibilityNodeObject::actionElement):
3223         (WebCore::AccessibilityNodeObject::visibleText):
3224         (WebCore::AccessibilityNodeObject::title):
3225         * accessibility/AccessibilityObject.cpp:
3226         (WebCore::createARIARoleMap):
3227         (WebCore::AccessibilityObject::checkboxOrRadioValue):
3228         * accessibility/AccessibilityObject.h:
3229         * accessibility/AccessibilityRenderObject.cpp:
3230         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
3231         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3232         (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
3233         (-[WebAccessibilityObjectWrapper accessibilityTraits]):
3234         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3235         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
3236         (createAccessibilityRoleMap):
3237         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3238
3239 2013-09-10  Anders Carlsson  <andersca@apple.com>
3240
3241         Remove wtf/Alignment.h
3242         https://bugs.webkit.org/show_bug.cgi?id=121077
3243
3244         Reviewed by Andreas Kling.
3245
3246         * platform/PODArena.h:
3247         (WebCore::PODArena::minAlignment):
3248         * platform/graphics/cpu/arm/filters/FELightingNEON.h:
3249         (WebCore::FELighting::platformApplyNeon):
3250
3251 2013-09-10  Zoltan Horvath  <zoltan@webkit.org>
3252
3253         [Qt] Add FloatingObjects.h to Target.pri
3254         https://bugs.webkit.org/show_bug.cgi?id=121117
3255
3256         Reviewed by Andreas Kling.
3257
3258         No new tests, no behavior change.
3259
3260         * Target.pri:
3261
3262 2013-09-10  Sergio Correia  <sergio.correia@openbossa.org>
3263
3264         Fix EFL build after r155477
3265         https://bugs.webkit.org/show_bug.cgi?id=121126
3266
3267         Reviewed by Antonio Gomes.
3268
3269         No new tests, build fix.
3270
3271         * CMakeLists.txt: MediaStreamComponent.cpp and MediaStreamDescriptor.cpp
3272         were added with an incorrect path.
3273
3274 2013-09-10  Andreas Kling  <akling@apple.com>
3275
3276         AnimationController should have a Frame& internally.
3277         <https://webkit.org/b/121078>
3278
3279         Reviewed by Anders Carlsson.
3280
3281         The AnimationController is owned by the Frame so make the back-pointer
3282         a reference. This knocks off a couple of null checks.
3283
3284 2013-09-10  Anders Carlsson  <andersca@apple.com>
3285
3286         More WTF/Alignment.h removal
3287         https://bugs.webkit.org/show_bug.cgi?id=121125
3288
3289         Reviewed by Andreas Kling.
3290
3291         * platform/PODArena.h:
3292
3293 2013-09-10  Eric Carlson  <eric.carlson@apple.com>
3294
3295         Make MediaStream objects ScriptWrappable
3296         https://bugs.webkit.org/show_bug.cgi?id=120879
3297
3298         Reviewed by Jer Noble.
3299
3300         * Modules/mediastream/MediaStream.h: Inherit from ScriptWrappable.
3301         * Modules/mediastream/MediaStreamTrack.h: Ditto.
3302         * Modules/mediastream/RTCDTMFSender.h: Ditto.
3303         * Modules/mediastream/RTCDataChannel.h: Ditto.
3304         * Modules/mediastream/RTCIceCandidate.h: Ditto.
3305         * Modules/mediastream/RTCPeerConnection.h: Ditto.
3306         * Modules/mediastream/RTCSessionDescription.h: Ditto.
3307         * Modules/mediastream/RTCStatsReport.h: Ditto.
3308         * Modules/mediastream/RTCStatsResponse.h: Ditto.
3309
3310 2013-09-10  Eric Carlson  <eric.carlson@apple.com>
3311
3312         Split MediaStreamDescriptor.h and MediaStreamComponent.h into .h and .cpp
3313         https://bugs.webkit.org/show_bug.cgi?id=120878
3314
3315         Reviewed by Jer Noble.
3316
3317         No new tests, no functional change.
3318
3319         * CMakeLists.txt: Add MediaStreamComponent.cpp and MediaStreamDescriptor.cpp.
3320         * GNUmakefile.list.am: Ditto.
3321
3322         * Modules/mediastream/LocalMediaStream.cpp:
3323         (WebCore::LocalMediaStream::create): MediaStreamDescriptor::create() doesn't take a UUID.
3324
3325         * Modules/mediastream/MediaStream.cpp:
3326         (WebCore::createFromSourceVectors): Ditto.
3327
3328         * WebCore.xcodeproj/project.pbxproj: Add MediaStreamComponent.cpp and MediaStreamDescriptor.cpp.
3329
3330         * platform/mediastream/MediaStreamComponent.cpp: Added.
3331         * platform/mediastream/MediaStreamComponent.h:
3332
3333         * platform/mediastream/MediaStreamDescriptor.cpp: Added.
3334         * platform/mediastream/MediaStreamDescriptor.h:
3335
3336 2013-09-10  Brent Fulgham  <bfulgham@apple.com>
3337
3338         [Windows] Create SharedGDIObject Class Template
3339         https://bugs.webkit.org/show_bug.cgi?id=121037
3340
3341         Reviewed by Anders Carlsson.
3342
3343         * WebCore.vcxproj/WebCore.vcxproj: Remove RefCountedGDIHandle.h, and
3344         add new SharedGDIObject.h file.
3345         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
3346         * platform/graphics/FontPlatformData.h:
3347         (WebCore::FontPlatformData::hfont): Switch to new SharedGDIObject.
3348         * platform/graphics/win/FontPlatformDataCGWin.cpp:
3349         (WebCore::FontPlatformData::FontPlatformData): Ditto.
3350         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
3351         (WebCore::FontPlatformData::FontPlatformData): Ditto.
3352         * platform/graphics/win/FontPlatformDataWin.cpp:
3353         (WebCore::FontPlatformData::FontPlatformData): Ditto.
3354         * platform/graphics/win/RefCountedGDIHandle.h: Removed.
3355         * platform/graphics/win/SharedGDIObject.h: Added.
3356         (WebCore::SharedGDIObject::create):
3357         (WebCore::SharedGDIObject::get):
3358         (WebCore::SharedGDIObject::hash):
3359         (WebCore::SharedGDIObject::SharedGDIObject):
3360
3361 2013-09-10  Tim Horton  <timothy_horton@apple.com>
3362
3363         [mac] PDFDocumentImage should use PDFKit to draw
3364         https://bugs.webkit.org/show_bug.cgi?id=120651
3365         <rdar://problem/12810731>
3366
3367         Unreviewed hopeful build fix.
3368
3369         * platform/graphics/mac/PDFDocumentImageMac.mm:
3370
3371 2013-09-10  Tim Horton  <timothy_horton@apple.com>
3372
3373         [mac] PDFDocumentImage should use PDFKit to draw
3374         https://bugs.webkit.org/show_bug.cgi?id=120651
3375         <rdar://problem/12810731>
3376
3377         Reviewed by Alexey Proskuryakov.
3378
3379         Use PDFKit to draw PDF-in-<img> on Mac, so that annotations in PDF are painted.
3380
3381         Test: fast/images/pdf-as-image-with-annotations.html
3382
3383         * WebCore.xcodeproj/project.pbxproj:
3384         Add PDFDocumentImageMac.mm.
3385
3386         * platform/graphics/cg/PDFDocumentImage.cpp:
3387         (WebCore::PDFDocumentImage::PDFDocumentImage):
3388         We don't need to initialize m_document anymore because it's now a RetainPtr.
3389         Initialize m_hasPage to false.
3390
3391         (WebCore::PDFDocumentImage::~PDFDocumentImage):
3392         We don't need to manually release our CGPDFDocumentRef anymore because it's now a RetainPtr.
3393
3394         (WebCore::PDFDocumentImage::size):
3395         Use expandedIntSize for explicitness.
3396
3397         (WebCore::PDFDocumentImage::applyRotationForPainting):
3398         Rename adjustCTM to applyRotationForPainting, and move the one non-rotation related transformation out.
3399         We need to do this because PDFKit applies the rotation transformation itself, so we don't need to.
3400         Also, explicitly use std::min instead of importing the whole std namespace.
3401
3402         (WebCore::PDFDocumentImage::dataChanged):
3403         Assert that we don't re-enter dataChanged after we've created a document,
3404         because it seems like that shouldn't happen - we only create a document when
3405         we've supposedly received all data, and it would be nice if we didn't have
3406         all this varying code to deal with SharedBuffers changing out from under each other.
3407         Factor the code to create a CGPDFDocumentRef out into createPDFDocument, so we can
3408         replace it with a different implementation that creates a PDFDocument.
3409
3410         (WebCore::PDFDocumentImage::setCurrentPage):
3411         Make all page-number-related things unsigned, since they are in CG and PDFKit,
3412         and add m_hasPage to denote whether we've acquired a valid page yet.
3413         Factor code to retrieve the PDF box bounds into computeBoundsForCurrentPage.
3414         Remove setCurrentPage itself, as we never use a page other than the first page;
3415         we will call computeBoundsForCurrentPage and set hasPage in dataChanged, now.
3416
3417         (WebCore::PDFDocumentImage::draw):
3418         Fix a weird comment.
3419         Factor code that actually draws the PDF out into drawPDFPage.
3420
3421         The rest of the functions in this file are only built for USE(CG) && !PLATFORM(MAC):
3422
3423         (WebCore::PDFDocumentImage::createPDFDocument):
3424         Factored out of dataChanged(). Use the PLATFORM(MAC) way of making a
3425         CGDataProvider from a SharedBuffer everywhere; we're already using it on
3426         iOS, and it should also work for Windows, the only other USE(CG) platform.
3427         Since we only createPDFDocument() after all data has been received, remove
3428         the comment about the SharedBuffer being secretly written to behind its back.
3429
3430         (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
3431         Factored out of setCurrentPage().
3432         Use deg2rad since we have it.
3433
3434         (WebCore::PDFDocumentImage::pageCount):
3435         (WebCore::PDFDocumentImage::drawPDFPage):
3436         Factored out of draw().
3437         Reduced an unnecessary transform (we were effectively doing mediaBox.origin - cropBox.origin - mediaBox.origin).
3438
3439         * platform/graphics/cg/PDFDocumentImage.h:
3440         Unindent all the things, as we don't indent the first level inside a namespace scope.
3441         Forward-declare PDFDocument.
3442         Make m_currentPage unsigned as it should be.
3443         Add m_hasPage.
3444         Make m_document a PDFDocument on PLATFORM(MAC) and a CGPDFDocumentRef on other platforms.
3445
3446         * platform/graphics/mac/PDFDocumentImageMac.mm: Added.
3447         Soft-link in PDFKit and specifically the PDFDocument class.
3448
3449         (WebCore::PDFDocumentImage::createPDFDocument):
3450         Create our PDFDocument from the SharedBuffer's NSData directly. This shouldn't be a problem
3451         (with respect to the SharedBuffer's data being appended to in secret), because we've waited
3452         for the document to finish loading before getting here.
3453
3454         (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
3455         Ask PDFKit for the page's media and crop boxes; it automatically performs the correct fallback.
3456         Ask PDFKit for the page's rotation.
3457
3458         (WebCore::PDFDocumentImage::pageCount):
3459         Ask PDFKit for the page count.
3460
3461         (WebCore::PDFDocumentImage::drawPDFPage):
3462         Paint the current page of the PDF. Note that we do not apply the rotation here
3463         via applyRotationForPainting because PDFKit will do it itself.
3464         Save and restore two bits of CG state which aren't saved and restored with the
3465         graphics state, as PDFKit can mutate them above us (<rdar://problem/14951759>).
3466
3467         * platform/mac/SoftLinking.h:
3468         I couldn't find any clients of SOFT_LINK_FRAMEWORK_IN_CORESERVICES_UMBRELLA,
3469         so I made it the more generic SOFT_LINK_FRAMEWORK_IN_UMBRELLA, taking the name
3470         of the umbrella framework and the subframework, so I could use it to soft link
3471         Quartz.framework's PDFKit.framework.
3472
3473 2013-09-10  Tim Horton  <timothy_horton@apple.com>
3474
3475         [mac] <progress> has rendering artifacts along the bottom
3476         https://bugs.webkit.org/show_bug.cgi?id=120865
3477         <rdar://problem/11571240>
3478
3479         Reviewed by Simon Fraser.
3480
3481         Allow RenderTheme to force the height of a <progress> bar.
3482
3483         Test: platform/mac/fast/forms/indeterminate-progress-inline-height.html
3484
3485         * rendering/RenderProgress.cpp:
3486         (WebCore::RenderProgress::computeLogicalHeight):
3487         Borrowed from RenderMeter, allow the theme to override the size of the progress bar.
3488
3489         * rendering/RenderProgress.h: