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