5151462ec29bd7eb690e9fdf6102adc5e96bab56
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-10-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2
3         Add *CSS* prefix to FontFeatureValue to generate toCSSFontFeatureValue(), and use it
4         https://bugs.webkit.org/show_bug.cgi?id=122204
5
6         Reviewed by Darin Adler.
7
8         *CSS* prefix needs to be added to FontFeatureValue class in order to generate toCSSFontFeatureValue().
9         static_cast<FontFeatureValue*> is changed with toCSSFontFeatureValue() by using this change.
10
11         No new tests, no behavior changes.
12
13         * CMakeLists.txt:
14         * GNUmakefile.list.am:
15         * Target.pri:
16         * WebCore.vcxproj/WebCore.vcxproj:
17         * WebCore.vcxproj/WebCore.vcxproj.filters:
18         * WebCore.xcodeproj/project.pbxproj:
19         * css/CSSComputedStyleDeclaration.cpp:
20         (WebCore::ComputedStyleExtractor::propertyValue):
21         * css/CSSFontFeatureValue.cpp: Renamed from Source/WebCore/css/FontFeatureValue.cpp.
22         (WebCore::CSSFontFeatureValue::CSSFontFeatureValue):
23         (WebCore::CSSFontFeatureValue::customCSSText):
24         (WebCore::CSSFontFeatureValue::equals):
25         * css/CSSFontFeatureValue.h: Renamed from Source/WebCore/css/FontFeatureValue.h.
26         (WebCore::CSSFontFeatureValue::create):
27         (WebCore::CSSFontFeatureValue::tag):
28         (WebCore::CSSFontFeatureValue::value):
29         * css/CSSParser.cpp:
30         (WebCore::CSSParser::parseFontFeatureTag):
31         * css/CSSValue.cpp:
32         (WebCore::CSSValue::equals):
33         (WebCore::CSSValue::cssText):
34         (WebCore::CSSValue::destroy):
35         * css/StyleResolver.cpp:
36         (WebCore::StyleResolver::applyProperty):
37
38 2013-10-05  Andreas Kling  <akling@apple.com>
39
40         FrameSelection: Remove two unused member functions.
41
42         Rubber-stamped by Anders Carlsson.
43
44         - rootEditableElementOrTreeScopeRootNode()
45         - rootEditableElementRespectingShadowTree()
46
47 2013-10-05  Andreas Kling  <akling@apple.com>
48
49         CTTE: Node::treeScope() should return a reference.
50         <https://webkit.org/b/122399>
51
52         Reviewed by Superlative Sam.
53
54         Every Node belongs to a TreeScope. To enforce this, I've made
55         treeScope() return a TreeScope&, and setTreeScope() now takes a
56         TreeScope& so there is no way to clear it.
57
58 2013-10-05  Sam Weinig  <sam@webkit.org>
59
60         CTTE: Use references more for the Document parser
61         https://bugs.webkit.org/show_bug.cgi?id=122398
62
63         Reviewed by Andreas Kling.
64
65         Clarify the construction semantics of Document parsers.
66
67 2013-10-05  Daniel Bates  <dabates@apple.com>
68
69         [iOS] Default initialize Settings::setFixedPositionCreatesStackingContext() to true
70         https://bugs.webkit.org/show_bug.cgi?id=122338
71         <rdar://problem/14908151>
72
73         Reviewed by Darin Adler.
74
75         On iOS we always want an element with a fixed position to create a stacking context.
76         See <rdar://problem/9813262> for more details.
77
78         * page/Settings.cpp: Define constant defaultFixedPositionCreatesStackingContext to
79         be true when building for iOS and false otherwise.
80         * page/Settings.in: Initialize the setting fixedPositionCreatesStackingContext with
81         the value of the constant defaultFixedPositionCreatesStackingContext.
82
83 2013-10-05  Sam Weinig  <sam@webkit.org>
84
85         CTTE: Pass DocumentWriter around as a reference
86         https://bugs.webkit.org/show_bug.cgi?id=122396
87
88         Reviewed by Andreas Kling.
89
90         * bindings/js/ScriptController.cpp:
91         (WebCore::ScriptController::executeIfJavaScriptURL):
92         * dom/DecodedDataDocumentParser.cpp:
93         (WebCore::DecodedDataDocumentParser::appendBytes):
94         (WebCore::DecodedDataDocumentParser::flush):
95         * dom/DecodedDataDocumentParser.h:
96         * dom/DocumentParser.h:
97         * dom/RawDataDocumentParser.h:
98         (WebCore::RawDataDocumentParser::flush):
99         * html/ImageDocument.cpp:
100         (WebCore::ImageDocumentParser::appendBytes):
101         * html/MediaDocument.cpp:
102         (WebCore::MediaDocumentParser::appendBytes):
103         (WebCore::MediaDocument::replaceMediaElementTimerFired):
104         * html/PluginDocument.cpp:
105         (WebCore::PluginDocumentParser::createDocumentStructure):
106         (WebCore::PluginDocumentParser::appendBytes):
107         * inspector/InspectorOverlay.cpp:
108         (WebCore::InspectorOverlay::overlayPage):
109         * loader/DocumentLoader.h:
110         (WebCore::DocumentLoader::writer):
111         * loader/DocumentWriter.cpp:
112         (WebCore::DocumentWriter::addData):
113         (WebCore::DocumentWriter::end):
114         * loader/FrameLoader.cpp:
115         (WebCore::FrameLoader::transitionToCommitted):
116         * loader/SinkDocument.cpp:
117         (WebCore::SinkDocumentParser::appendBytes):
118         * svg/graphics/SVGImage.cpp:
119         (WebCore::SVGImage::dataChanged):
120
121 2013-10-05  Andreas Kling  <akling@apple.com>
122
123         FrameView: Remove code for disabling repaints.
124         <https://webkit.org/b/122393>
125
126         Reviewed by Sam Weinig.
127
128         Nobody uses this mode for anything so let's just remove it.
129
130         It was added back in r110469 to fix an issue with SVGImageCache
131         and its only user disappeard in the cache overhaul in r142765.
132
133 2013-10-05  Andreas Kling  <akling@apple.com>
134
135         Remove IFrameShimSupport, it was only used by dead ports.
136
137         Rubber-stamped by Anders Carlsson.
138
139         * plugins/IFrameShimSupport.cpp: Removed.
140         * plugins/IFrameShimSupport.h: Removed.
141
142 2013-10-05  Anders Carlsson  <andersca@apple.com>
143
144         Clean up MessageQueue.h
145         https://bugs.webkit.org/show_bug.cgi?id=122392
146
147         Reviewed by Andreas Kling.
148
149         Update for changes to MessageQueue, mostly changing create functions to return std::unique_ptr.
150         I intentionally avoided using std::make_unique in a couple of places because I didn't want to make nested classes
151         public, and I believe that we can change some of this code to use std::function.
152
153         * Modules/webaudio/AsyncAudioDecoder.cpp:
154         (WebCore::AsyncAudioDecoder::decodeAsync):
155         (WebCore::AsyncAudioDecoder::runLoop):
156         (WebCore::AsyncAudioDecoder::DecodingTask::create):
157         * Modules/webaudio/AsyncAudioDecoder.h:
158         * Modules/webdatabase/Database.cpp:
159         (WebCore::Database::markAsDeletedAndClose):
160         (WebCore::Database::tableNames):
161         * Modules/webdatabase/DatabaseBackend.cpp:
162         (WebCore::DatabaseBackend::openAndVerifyVersion):
163         (WebCore::DatabaseBackend::scheduleTransaction):
164         (WebCore::DatabaseBackend::scheduleTransactionStep):
165         * Modules/webdatabase/DatabaseTask.h:
166         (WebCore::DatabaseBackend::DatabaseOpenTask::create):
167         (WebCore::DatabaseBackend::DatabaseCloseTask::create):
168         (WebCore::DatabaseBackend::DatabaseTransactionTask::create):
169         (WebCore::DatabaseBackend::DatabaseTableNamesTask::create):
170         * Modules/webdatabase/DatabaseThread.cpp:
171         (WebCore::DatabaseThread::databaseThread):
172         (WebCore::DatabaseThread::scheduleTask):
173         (WebCore::DatabaseThread::scheduleImmediateTask):
174         (WebCore::SameDatabasePredicate::operator()):
175         * Modules/webdatabase/DatabaseThread.h:
176         * dom/default/PlatformMessagePortChannel.cpp:
177         (WebCore::PlatformMessagePortChannel::EventData::create):
178         (WebCore::MessagePortChannel::tryGetMessageFromRemote):
179         * dom/default/PlatformMessagePortChannel.h:
180         (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
181         (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
182         * fileapi/FileThread.cpp:
183         (WebCore::FileThread::postTask):
184         (WebCore::SameInstancePredicate::operator()):
185         (WebCore::FileThread::runLoop):
186         * fileapi/FileThread.h:
187         * fileapi/FileThreadTask.h:
188         (WebCore::createFileThreadTask):
189         * storage/StorageThread.cpp:
190         (WebCore::StorageThread::threadEntryPoint):
191         (WebCore::StorageThread::dispatch):
192         (WebCore::StorageThread::terminate):
193         * workers/WorkerRunLoop.cpp:
194         (WebCore::ModePredicate::operator()):
195         (WebCore::WorkerRunLoop::runInMode):
196         (WebCore::WorkerRunLoop::runCleanupTasks):
197         (WebCore::WorkerRunLoop::Task::create):
198         * workers/WorkerRunLoop.h:
199
200 2013-10-04  Dean Jackson  <dino@apple.com>
201
202         [WebGL] program should not be able to link if a bad shader is attached
203         https://bugs.webkit.org/show_bug.cgi?id=94036
204
205         Reviewed by Darin Adler.
206
207         If you attempt to link a program when bad shaders are attached, the
208         link should fail. WebGL also requires that the previously linked
209         program should remain intact. We were doing the former, but not
210         the latter.
211
212         Fix this by not calling glLinkProgram if we know we have bad
213         shaders, and synthesize a bad link status instead.
214
215         Test: WebGL conformance test conformance/programs/program-test.html
216         (found in LayoutTests/webgl)
217
218         * html/canvas/WebGLRenderingContext.cpp:
219         (WebCore::WebGLRenderingContext::compileShader): Mark a shader as valid
220         if it compiled ok.
221         (WebCore::WebGLRenderingContext::linkProgram): Don't call into GraphicsContext3D::linkProgram
222         if we know that we don't have valid shaders.
223         * html/canvas/WebGLShader.cpp:
224         (WebCore::WebGLShader::WebGLShader): Initialize m_isValid.
225         * html/canvas/WebGLShader.h:
226         (WebCore::WebGLShader::isValid): New member variable getter and setter.
227         (WebCore::WebGLShader::setValid):
228
229 2013-10-05  Dean Jackson  <dino@apple.com>
230
231         Undo texture unit code refactoring - it is ok to bind a texture to multiple locations
232         https://bugs.webkit.org/show_bug.cgi?id=122369
233         <rdar://problem/15158465>
234
235         Reviewed by Darin Adler.
236
237         The optimisation in r152351 (http://webkit.org/b/117868) incorrectly
238         assumes that a texture cannot be bound to more than one location.
239         That's true only within the same program object. It's legal to
240         address TEXTURE_BINDING_2D and TEXTURE_BINDING_CUBE_MAP with the
241         same texture in different programs.
242
243         See https://github.com/KhronosGroup/WebGL/pull/391 for more information.
244
245         This change reverts the optimisation, but also does some minor
246         cleanup (0 -> nullptr, class -> struct).
247
248         Covered by the following Khronos WebGL 1.0.1 tests, which
249         now pass:
250         - conformance/more/functions/texImage2DHTML.html
251         - conformance/more/functions/texSubImage2D.html
252         - conformance/more/functions/texSubImage2DHTML.html
253
254         * html/canvas/WebGLRenderingContext.cpp:
255         (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
256         (WebCore::WebGLRenderingContext::reshape):
257         (WebCore::WebGLRenderingContext::bindTexture):
258         (WebCore::WebGLRenderingContext::deleteTexture):
259         (WebCore::WebGLRenderingContext::getParameter):
260         (WebCore::WebGLRenderingContext::handleNPOTTextures):
261         (WebCore::WebGLRenderingContext::validateTextureBinding):
262         (WebCore::WebGLRenderingContext::restoreCurrentTexture2D):
263         * html/canvas/WebGLRenderingContext.h:
264
265 2013-10-05  Anders Carlsson  <andersca@apple.com>
266
267         Remove createOwned
268         https://bugs.webkit.org/show_bug.cgi?id=122388
269
270         Reviewed by Darin Adler.
271
272         * dom/Document.cpp:
273         (WebCore::Document::Document):
274         (WebCore::Document::~Document):
275         (WebCore::Document::createRenderTree):
276         (WebCore::Document::destroyRenderTree):
277         * dom/Document.h:
278         * page/Frame.cpp:
279         (WebCore::Frame::Frame):
280         * page/Frame.h:
281         * page/animation/AnimationController.cpp:
282         (WebCore::AnimationController::AnimationController):
283         * page/animation/AnimationController.h:
284         * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h:
285         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h:
286         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
287         (WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC):
288         (WebCore::AudioTrackPrivateAVFObjC::setPlayerItemTrack):
289         * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp:
290         (WebCore::VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC):
291         (WebCore::VideoTrackPrivateAVFObjC::setPlayerItemTrack):
292         * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h:
293         * rendering/svg/RenderSVGResourceClipper.cpp:
294         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
295         * rendering/svg/RenderSVGResourceClipper.h:
296         * rendering/svg/RenderSVGResourceFilter.cpp:
297         (WebCore::RenderSVGResourceFilter::applyResource):
298         * rendering/svg/RenderSVGResourceFilter.h:
299         * rendering/svg/RenderSVGResourceMasker.cpp:
300         (WebCore::RenderSVGResourceMasker::applyResource):
301         * rendering/svg/RenderSVGResourceMasker.h:
302
303 2013-10-05  Darin Adler  <darin@apple.com>
304
305         Remove COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES) since it's required now
306         https://bugs.webkit.org/show_bug.cgi?id=122387
307
308         Reviewed by Anders Carlsson.
309
310         * html/canvas/CanvasStyle.h: Take out conditionals.
311
312 2013-10-05  Darin Adler  <darin@apple.com>
313
314         Add AtomicString::number and use it
315         https://bugs.webkit.org/show_bug.cgi?id=122384
316
317         Reviewed by Anders Carlsson.
318
319         * css/CSSGrammar.y.in: Use AtomicString::number instead of String::number since
320         we are creating an AtomicString. This can save a memory allocation if the string
321         happens to already be in the atomic string table.
322         * dom/Element.cpp:
323         (WebCore::Element::setIntegralAttribute): Ditto.
324         (WebCore::Element::setUnsignedIntegralAttribute): Ditto.
325         * editing/BreakBlockquoteCommand.cpp:
326         (WebCore::BreakBlockquoteCommand::doApply): Ditto.
327         * html/HTMLBodyElement.cpp:
328         (WebCore::HTMLBodyElement::insertedInto): Use setIntegralAttribute instead of
329         a local homegrown equivalent.
330         * html/HTMLCanvasElement.cpp:
331         (WebCore::HTMLCanvasElement::setHeight): Ditto.
332         (WebCore::HTMLCanvasElement::setWidth): Ditto.
333         * html/HTMLElement.cpp:
334         (WebCore::HTMLElement::setTabIndex): Ditto.
335         * html/HTMLImageElement.cpp:
336         (WebCore::HTMLImageElement::setHeight): Ditto.
337         (WebCore::HTMLImageElement::setWidth): Ditto.
338         * html/HTMLInputElement.cpp:
339         (WebCore::HTMLInputElement::setMaxLength): Ditto.
340         (WebCore::HTMLInputElement::setSize): Same, but setUnsignedIntegralAttribute.
341         (WebCore::HTMLInputElement::setHeight): Ditto.
342         (WebCore::HTMLInputElement::setWidth): Ditto.
343         * html/HTMLMediaElement.cpp:
344         (WebCore::HTMLMediaElement::mediaPlayerSetSize): Ditto.
345         * html/HTMLMeterElement.cpp:
346         (WebCore::HTMLMeterElement::setMin): More of the same.
347         (WebCore::HTMLMeterElement::setMax): Ditto.
348         (WebCore::HTMLMeterElement::setValue): Ditto.
349         (WebCore::HTMLMeterElement::setLow): Ditto.
350         (WebCore::HTMLMeterElement::setHigh): Ditto.
351         (WebCore::HTMLMeterElement::setOptimum): Ditto.
352         * html/HTMLOListElement.cpp:
353         (WebCore::HTMLOListElement::setStart): Ditto.
354         * html/HTMLProgressElement.cpp:
355         (WebCore::HTMLProgressElement::setValue): Ditto.
356         (WebCore::HTMLProgressElement::setMax): Ditto.
357         * html/HTMLSelectElement.cpp:
358         (WebCore::HTMLSelectElement::parseAttribute): Ditto.
359         (WebCore::HTMLSelectElement::setSize): Ditto.
360         * html/HTMLTableCellElement.cpp:
361         (WebCore::HTMLTableCellElement::setColSpan): Ditto.
362         (WebCore::HTMLTableCellElement::setRowSpan): Ditto.
363         * html/HTMLTableColElement.cpp:
364         (WebCore::HTMLTableColElement::setSpan): Ditto.
365         * html/HTMLTextAreaElement.cpp:
366         (WebCore::HTMLTextAreaElement::setMaxLength): Ditto.
367         (WebCore::HTMLTextAreaElement::setCols): Ditto.
368         (WebCore::HTMLTextAreaElement::setRows): Ditto.
369         * html/shadow/MediaControlElements.cpp:
370         (WebCore::MediaControlTimelineElement::setDuration): Ditto.
371
372 2013-10-05  Darin Adler  <darin@apple.com>
373
374         Cut down on use of String::number
375         https://bugs.webkit.org/show_bug.cgi?id=122382
376
377         Reviewed by Anders Carlsson.
378
379         * css/CSSGradientValue.cpp:
380         (WebCore::CSSLinearGradientValue::customCSSText): Use StringBuilder::appendNumber,
381         instead of creating a string and then appending it.
382         (WebCore::CSSRadialGradientValue::customCSSText): Ditto.
383         * css/CSSParser.cpp:
384         (WebCore::CSSParser::createKeyframe): Ditto.
385         * editing/DeleteButtonController.cpp:
386         (WebCore::DeleteButtonController::createDeletionUI): Use ASCII literals instead of
387         converting numeric constants to strings at runtime with String::number.
388         (WebCore::DeleteButtonController::show): Ditto.
389         * svg/SVGNumberList.cpp:
390         (WebCore::SVGNumberList::valueAsString): Use StringBuilder::appendNumber.
391         * svg/SVGPointList.cpp:
392         (WebCore::SVGPointList::valueAsString): Ditto.
393         * svg/SVGRect.h: Ditto.
394
395 2013-10-05  Anders Carlsson  <andersca@apple.com>
396
397         Test the waters and begin using lambdas
398         https://bugs.webkit.org/show_bug.cgi?id=121809
399
400         Reviewed by Andreas Kling.
401
402         Use lambdas instead of static functions and function objects.
403         
404         * css/MediaQuery.cpp:
405         (WebCore::MediaQuery::MediaQuery):
406         * dom/MutationObserver.cpp:
407         (WebCore::MutationObserver::deliverAllMutations):
408         * page/CaptionUserPreferences.cpp:
409         (WebCore::CaptionUserPreferences::sortedTrackListForMenu):
410
411 2013-10-05  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
412
413         Add *CSS* prefix to FontValue to generate toCSSFontValue() 
414         https://bugs.webkit.org/show_bug.cgi?id=122201
415
416         Reviewed by Darin Adler.
417
418         *CSS* prefix needs to be added to FontValue class in order to generate toCSSFontValue().
419         static_cast<FontValue*> is changed with toCSSFontValue() by this change.
420
421         No new tests, no behavior changes.
422
423         * CMakeLists.txt:
424         * GNUmakefile.list.am:
425         * Target.pri:
426         * WebCore.vcxproj/WebCore.vcxproj:
427         * WebCore.vcxproj/WebCore.vcxproj.filters:
428         * WebCore.xcodeproj/project.pbxproj:
429         * css/CSSComputedStyleDeclaration.cpp:
430         (WebCore::ComputedStyleExtractor::propertyValue):
431         * css/CSSFontValue.cpp: Renamed from Source/WebCore/css/FontValue.cpp.
432         (WebCore::CSSFontValue::customCSSText):
433         (WebCore::CSSFontValue::equals):
434         * css/CSSFontValue.h: Renamed from Source/WebCore/css/FontValue.h.
435         (WebCore::CSSFontValue::create):
436         (WebCore::CSSFontValue::CSSFontValue):
437         * css/CSSParser.cpp:
438         * css/CSSValue.cpp:
439         (WebCore::CSSValue::equals):
440         (WebCore::CSSValue::cssText):
441         (WebCore::CSSValue::destroy):
442         * css/StyleResolver.cpp:
443         (WebCore::StyleResolver::applyProperty):
444
445 2013-10-05  Commit Queue  <commit-queue@webkit.org>
446
447         Unreviewed, rolling out r156952.
448         http://trac.webkit.org/changeset/156952
449         https://bugs.webkit.org/show_bug.cgi?id=122381
450
451         Made svg/custom/large-image-pattern-crash.html assert
452         (Requested by ap on #webkit).
453
454         * rendering/InlineBox.cpp:
455         (WebCore::InlineBox::paint):
456         * rendering/InlineBox.h:
457         * rendering/InlineFlowBox.cpp:
458         (WebCore::InlineFlowBox::paintBoxDecorations):
459         (WebCore::InlineFlowBox::paintMask):
460         * rendering/InlineTextBox.cpp:
461         (WebCore::InlineTextBox::paint):
462         * rendering/PaintInfo.h:
463         (WebCore::PaintInfo::shouldPaintWithinRoot):
464         * rendering/RenderBlock.cpp:
465         (WebCore::RenderBlock::paint):
466         * rendering/RenderBox.cpp:
467         (WebCore::RenderBox::paint):
468         (WebCore::RenderBox::paintBoxDecorations):
469         (WebCore::RenderBox::paintMask):
470         * rendering/RenderBox.h:
471         * rendering/RenderElement.h:
472         * rendering/RenderFieldset.cpp:
473         (WebCore::RenderFieldset::paintBoxDecorations):
474         * rendering/RenderFrameSet.cpp:
475         (WebCore::RenderFrameSet::paint):
476         * rendering/RenderLineBreak.h:
477         * rendering/RenderObject.cpp:
478         (WebCore::RenderObject::paint):
479         * rendering/RenderObject.h:
480         * rendering/RenderReplaced.cpp:
481         (WebCore::RenderReplaced::paint):
482         (WebCore::RenderReplaced::shouldPaint):
483         * rendering/RenderTable.cpp:
484         (WebCore::RenderTable::paintObject):
485         (WebCore::RenderTable::paintBoxDecorations):
486         * rendering/RenderTableCell.cpp:
487         (WebCore::RenderTableCell::paintCollapsedBorders):
488         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
489         (WebCore::RenderTableCell::paintBoxDecorations):
490         * rendering/RenderTableCol.h:
491         * rendering/RenderText.h:
492         * rendering/RenderView.cpp:
493         (WebCore::RenderView::paint):
494         (WebCore::RenderView::paintBoxDecorations):
495         * rendering/RootInlineBox.cpp:
496         (WebCore::RootInlineBox::paintEllipsisBox):
497         (WebCore::RootInlineBox::paintCustomHighlight):
498         * rendering/svg/RenderSVGContainer.cpp:
499         (WebCore::RenderSVGContainer::paint):
500         * rendering/svg/RenderSVGGradientStop.h:
501         * rendering/svg/RenderSVGResourceClipper.cpp:
502         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
503         * rendering/svg/RenderSVGResourceMasker.cpp:
504         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
505         * rendering/svg/RenderSVGResourcePattern.cpp:
506         (WebCore::RenderSVGResourcePattern::createTileImage):
507         * rendering/svg/RenderSVGRoot.cpp:
508         (WebCore::RenderSVGRoot::paintReplaced):
509         * rendering/svg/SVGInlineTextBox.cpp:
510         (WebCore::SVGInlineTextBox::paintSelectionBackground):
511         (WebCore::SVGInlineTextBox::paint):
512         * rendering/svg/SVGRenderingContext.cpp:
513         (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
514         * rendering/svg/SVGRenderingContext.h:
515         * svg/SVGUseElement.cpp:
516         (WebCore::SVGUseElement::rendererClipChild):
517         * svg/SVGUseElement.h:
518         * svg/graphics/filters/SVGFEImage.cpp:
519         (WebCore::FEImage::platformApplySoftware):
520
521 2013-10-05  Darin Adler  <darin@apple.com>
522
523         Need to check if some HTML child elements are HTMLUnknownElement
524         https://bugs.webkit.org/show_bug.cgi?id=120297
525
526         Reviewed by Andreas Kling.
527
528         Test: fast/media/media-disable-crash.html
529
530         * dom/make_names.pl:
531         (printConstructorInterior): Added additional comments about the
532         wrapperOnlyIfMediaIsAvailable feature.
533         (printTypeHelpers): Added an isHTMLUnknownElement check to the check helper
534         functions for tags with the wrapperOnlyIfMediaIsAvailable feature.
535         (printWrapperFunctions): Instead of redoing the media player check and the
536         settings check, and possibly making a wrapper of the wrong type, call
537         isHTMUnknownElement, guaranteeing that the wrapper will match the element
538         it is wrapping.
539
540         * html/HTMLElement.h: Move HTMLElementTypeHelpers.h to the bottom of the
541         file so that functions from that file can be use the HTMLElement class and
542         other things defined in this file.
543
544         * html/HTMLMediaElement.cpp:
545         (WebCore::HTMLMediaElement::paused): Added an assertion that made the regression
546         test reliably assert, rather than intermittently (for me, non-reproducibly) crash.
547
548 2013-10-04  Antti Koivisto  <antti@apple.com>
549
550         Move paint() to RenderElement
551         https://bugs.webkit.org/show_bug.cgi?id=122371
552
553         Reviewed by Darin Adler.
554
555         RenderText does not paint itself (text is painted by line boxes). We can move paint() down
556         to RenderElement.
557         
558         This also requires some type tightening elsewhere in the code.
559
560 2013-10-04  Ryosuke Niwa  <rniwa@webkit.org>
561
562         Fix an assertion failure introduced in r156925.
563
564         Add HTMLImageElement to the document-wide map only if it's in the document.
565
566         * html/HTMLImageElement.cpp:
567         (WebCore::HTMLImageElement::parseAttribute):
568
569 2013-10-04  Darin Adler  <darin@apple.com>
570
571         text-transform: lowercase is not lang-dependent (Turkish languages : tr,az)
572         https://bugs.webkit.org/show_bug.cgi?id=21312
573
574         Reviewed by Ryosuke Niwa.
575
576         Test: fast/text/text-transform-turkish-and-azeri.html
577
578         This patch covers text-transform: uppercase and text-transform: lowercase.
579         More changes will be needed to cover text-transform: capitalize.
580
581         * inspector/DOMPatchSupport.cpp:
582         (WebCore::DOMPatchSupport::patchNode): Use String::upper instead of String::makeUpper.
583         * page/EventHandler.cpp:
584         (WebCore::findDropZone): Use String::lower instead of String::makeLower.
585         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
586         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Use String::upper instead of String::makeUpper.
587         * platform/network/blackberry/rss/RSS10Parser.cpp: [Seriously, how is an RSS parser
588         part of WebKit's networking layer? Where are the tests that cover this? Seems wrong
589         to have this code in the project.]
590         (WebCore::RSS10Parser::parseXmlDoc): Use lower instead of makeLower.
591         (WebCore::RSS10Parser::parseItem): Ditto.
592         (WebCore::RSS10Parser::parseFeed): Ditto.
593         * platform/network/blackberry/rss/RSS20Parser.cpp:
594         (WebCore::RSS20Parser::parseXmlDoc): Ditto.
595         (WebCore::RSS20Parser::parseItem): Ditto.
596         (WebCore::RSS20Parser::parseFeed): Ditto.
597         (WebCore::RSS20Parser::parseEnclosure): Ditto.
598         * platform/network/blackberry/rss/RSSAtomParser.cpp:
599         (WebCore::RSSAtomParser::parseXmlDoc): Ditto.
600         (WebCore::RSSAtomParser::parseItem): Ditto.
601         (WebCore::RSSAtomParser::parseFeed): Ditto.
602         (WebCore::RSSAtomParser::parseLink): Ditto.
603         (WebCore::RSSAtomParser::parseContent): Ditto.
604         (WebCore::RSSAtomParser::parseAuthor): Ditto.
605         (WebCore::RSSAtomParser::parseCategory): Ditto.
606         * platform/text/win/LocaleWin.cpp:
607         (WebCore::convertLocaleNameToLCID): Use String::lower instead of String::makeLower.
608         * rendering/RenderText.cpp:
609         (WebCore::applyTextTransform): Use String::upper and String::lower instead of
610         String::makeUpper and String::makeLower, and also pass in the locale to each.
611         * xml/XMLHttpRequest.cpp:
612         (WebCore::XMLHttpRequest::uppercaseKnownHTTPMethod): Changed this so it doesn't call
613         upper just to return an already known string constant.
614
615 2013-10-04  Alexey Proskuryakov  <ap@apple.com>
616
617         Roll out r156930 and r156937, they caused 34 assertion failures on bots.
618
619         * css/mathml.css:
620         * mathml/MathMLTextElement.cpp:
621         * mathml/MathMLTextElement.h:
622         * rendering/RenderFlexibleBox.h:
623         * rendering/mathml/RenderMathMLBlock.cpp:
624         * rendering/mathml/RenderMathMLBlock.h:
625         * rendering/mathml/RenderMathMLFenced.cpp:
626         * rendering/mathml/RenderMathMLOperator.cpp:
627         * rendering/mathml/RenderMathMLOperator.h:
628         * rendering/mathml/RenderMathMLRoot.cpp:
629         * rendering/mathml/RenderMathMLRoot.h:
630         * rendering/mathml/RenderMathMLRow.cpp:
631         * rendering/mathml/RenderMathMLRow.h:
632
633 2013-10-04  Anders Carlsson  <andersca@apple.com>
634
635         FramePolicyFunction should be an std::function
636         https://bugs.webkit.org/show_bug.cgi?id=122362
637
638         Reviewed by Darin Adler.
639
640         This makes policy callback handling simpler inside WebKit.
641
642         * loader/EmptyClients.cpp:
643         (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
644         (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
645         (WebCore::EmptyFrameLoaderClient::dispatchWillSubmitForm):
646         * loader/EmptyClients.h:
647         * loader/FrameLoader.cpp:
648         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
649         * loader/FrameLoaderClient.h:
650         * loader/PolicyChecker.cpp:
651         (WebCore::PolicyChecker::checkNavigationPolicy):
652         (WebCore::PolicyChecker::checkNewWindowPolicy):
653         (WebCore::PolicyChecker::checkContentPolicy):
654
655 2013-10-04  Andreas Kling  <akling@apple.com>
656
657         CTTE: IconController and IconLoader should have Frame& backpointer.
658         <https://webkit.org/b/122372>
659
660         Reviewed by Anders Carlsson.
661
662         Also slap IconLoader with FINAL glove.
663
664 2013-10-04  Andreas Kling  <akling@apple.com>
665
666         CTTE: RenderScrollbar DOM owner is always an Element.
667         <https://webkit.org/b/122348>
668
669         Reviewed by Antti Koivisto.
670
671         When RenderScrollbar is owned by a DOM node, it's always Element.
672         Tighten the code a bit with this knowledge.
673
674         Also marked the class FINAL and beat it with the OVERRIDE stick.
675
676 2013-10-04  Andreas Kling  <akling@apple.com>
677
678         TypingCommand helpers should take Document&.
679         <https://webkit.org/b/122370>
680
681         Reviewed by Anders Carlsson.
682
683         Instead of taking a Document* and immediately asserting that it's
684         non-null, just take Document&.
685
686 2013-10-04  Ryosuke Niwa  <rniwa@webkit.org>
687
688         Use more references instead of pointers in DocumentOrderedMap
689         https://bugs.webkit.org/show_bug.cgi?id=122368
690
691         Reviewed by Andreas Kling.
692
693         Use AtomicStringImpl& instead of AtomicString* or AtomicString& to eliminate
694         assertions and nullity checks.
695
696         * bindings/js/JSDOMWindowCustom.cpp:
697         (WebCore::namedItemGetter):
698         (WebCore::JSDOMWindow::getOwnPropertySlot):
699         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
700         * bindings/js/JSHTMLDocumentCustom.cpp:
701         (WebCore::JSHTMLDocument::canGetItemsForName):
702         (WebCore::JSHTMLDocument::nameGetter):
703         * dom/Document.cpp:
704         (WebCore::Document::addImageElementByLowercasedUsemap):
705         (WebCore::Document::removeImageElementByLowercasedUsemap):
706         (WebCore::Document::imageElementByLowercasedUsemap):
707         * dom/Document.h:
708         * dom/DocumentOrderedMap.cpp:
709         (WebCore::keyMatchesId):
710         (WebCore::keyMatchesName):
711         (WebCore::keyMatchesMapName):
712         (WebCore::keyMatchesLowercasedMapName):
713         (WebCore::keyMatchesLowercasedUsemap):
714         (WebCore::keyMatchesLabelForAttribute):
715         (WebCore::keyMatchesWindowNamedItem):
716         (WebCore::keyMatchesDocumentNamedItem):
717         (WebCore::DocumentOrderedMap::add):
718         (WebCore::DocumentOrderedMap::remove):
719         (WebCore::DocumentOrderedMap::get):
720         (WebCore::DocumentOrderedMap::getElementById):
721         (WebCore::DocumentOrderedMap::getElementByName):
722         (WebCore::DocumentOrderedMap::getElementByMapName):
723         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
724         (WebCore::DocumentOrderedMap::getElementByLowercasedUsemap):
725         (WebCore::DocumentOrderedMap::getElementByLabelForAttribute):
726         (WebCore::DocumentOrderedMap::getElementByWindowNamedItem):
727         (WebCore::DocumentOrderedMap::getElementByDocumentNamedItem):
728         (WebCore::DocumentOrderedMap::getAllElementsById):
729         * dom/DocumentOrderedMap.h:
730         (WebCore::DocumentOrderedMap::containsSingle):
731         (WebCore::DocumentOrderedMap::contains):
732         (WebCore::DocumentOrderedMap::containsMultiple):
733         * dom/Element.cpp:
734         (WebCore::Element::updateNameForTreeScope):
735         (WebCore::Element::updateNameForDocument):
736         (WebCore::Element::updateIdForTreeScope):
737         (WebCore::Element::updateIdForDocument):
738         (WebCore::Element::updateLabel):
739         * dom/IdTargetObserverRegistry.cpp:
740         (WebCore::IdTargetObserverRegistry::notifyObserversInternal):
741         * dom/IdTargetObserverRegistry.h:
742         (WebCore::IdTargetObserverRegistry::notifyObservers):
743         * dom/TreeScope.cpp:
744         (WebCore::TreeScope::getElementById):
745         (WebCore::TreeScope::getAllElementsById):
746         (WebCore::TreeScope::addElementById):
747         (WebCore::TreeScope::removeElementById):
748         (WebCore::TreeScope::getElementByName):
749         (WebCore::TreeScope::addElementByName):
750         (WebCore::TreeScope::removeElementByName):
751         (WebCore::TreeScope::addImageMap):
752         (WebCore::TreeScope::removeImageMap):
753         (WebCore::TreeScope::getImageMap):
754         (WebCore::TreeScope::addLabel):
755         (WebCore::TreeScope::removeLabel):
756         (WebCore::TreeScope::labelElementForId):
757         * dom/TreeScope.h:
758         (WebCore::TreeScope::hasElementWithId):
759         (WebCore::TreeScope::containsMultipleElementsWithId):
760         (WebCore::TreeScope::hasElementWithName):
761         (WebCore::TreeScope::containsMultipleElementsWithName):
762         * html/HTMLCollection.cpp:
763         (WebCore::HTMLCollection::namedItem):
764         * html/HTMLDocument.cpp:
765         (WebCore::HTMLDocument::addDocumentNamedItem):
766         (WebCore::HTMLDocument::removeDocumentNamedItem):
767         (WebCore::HTMLDocument::addWindowNamedItem):
768         (WebCore::HTMLDocument::removeWindowNamedItem):
769         * html/HTMLDocument.h:
770         (WebCore::HTMLDocument::documentNamedItem):
771         (WebCore::HTMLDocument::hasDocumentNamedItem):
772         (WebCore::HTMLDocument::documentNamedItemContainsMultipleElements):
773         (WebCore::HTMLDocument::windowNamedItem):
774         (WebCore::HTMLDocument::hasWindowNamedItem):
775         (WebCore::HTMLDocument::windowNamedItemContainsMultipleElements):
776         * html/HTMLImageElement.cpp:
777         (WebCore::HTMLImageElement::parseAttribute):
778         (WebCore::HTMLImageElement::insertedInto):
779         (WebCore::HTMLImageElement::removedFrom):
780         * html/HTMLMapElement.cpp:
781         (WebCore::HTMLMapElement::imageElement):
782         (WebCore::HTMLMapElement::parseAttribute):
783         (WebCore::HTMLMapElement::insertedInto):
784         (WebCore::HTMLMapElement::removedFrom):
785         * html/HTMLObjectElement.cpp:
786         (WebCore::HTMLObjectElement::updateDocNamedItem):
787
788 2013-10-04  Andreas Kling  <akling@apple.com>
789
790         CTTE: PolicyChecker backpointer to Frame should be a reference.
791         <https://webkit.org/b/122354>
792
793         Reviewed by Anders Carlsson.
794
795         PolicyChecker is tied to the lifetime of FrameLoader, which in turn
796         is tied to the lifetime of Frame.
797
798 2013-10-04  Andreas Kling  <akling@apple.com>
799
800         Editor should use reference-getting document() internally.
801         <https://webkit.org/b/122364>
802
803         Reviewed by Darin Adler.
804
805         Instead of grabbing at Editor::m_frame.document(), use the nice
806         Editor::document() helper that always returns a Document&.
807
808         Calling Editor methods on a Frame's editor() while there is no
809         Document in the Frame is a programming error and this is covered
810         by an assertion in document().
811
812         This removes a bunch of null checks and enables further cleanup.
813
814 2013-10-04  Martin Robinson  <mrobinson@igalia.com>
815
816         Try to fix the Windows build after r156930.
817
818         * rendering/mathml/RenderMathMLOperator.cpp:
819         (WebCore::RenderMathMLOperator::paintCharacter): Use ceilf and floorf to avoid issues
820         with overload collisions and implicit casts of LayoutUnits.
821
822 2013-10-04  Mark Lam  <mark.lam@apple.com>
823
824         Change ScriptDebugServer to use DebuggerCallFrame instead of JavaScriptCallFrame.
825         https://bugs.webkit.org/show_bug.cgi?id=121969.
826
827         Reviewed by Geoffrey Garen.
828
829         Tests: inspector-protocol/debugger/call-frame-function-name.html
830                inspector-protocol/debugger/call-frame-this-host.html
831                inspector-protocol/debugger/call-frame-this-nonstrict.html
832                inspector-protocol/debugger/call-frame-this-strict.html
833
834         1. Make JavaScriptCallFrame a thin shell around the DebuggerCallFrame.
835            DebuggerCallFrame now tracks whether it is valid instead of needing
836            JavaScriptCallFrame do it.
837         2. ScriptDebugServer now only instantiates an DebuggerCallFrame when needed
838            just before it pauses and calls back to its client, and then invalidates
839            it immediately when the callback returns. Every subsequent callback to
840            the client will use a new instance of the DebuggerCallFrame.
841         3. Similarly, ScriptDebugServer now only creates a JavaScriptCallFrame when
842            it "pauses".
843         4. DebuggerCallFrame only creates its caller DebuggerCallFrame when
844            it is needed i.e. when the client calls callerFrame(). Similarly,
845            JavaScriptCallFrame only creates its caller when it's requested.
846         5. DebuggerCallFrame's line() and column() now returns a base-zero int.
847         6. WebScriptDebugDelegate now only caches the functionName of the frame
848            instead of the entire DebuggerCallFrame because that is all that is
849            needed.
850         7. Also removed evaluateInGlobalCallFrame() which is not used anywhere.
851
852         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
853         (WebCore::JSJavaScriptCallFrame::thisObject):
854         * bindings/js/JavaScriptCallFrame.cpp:
855         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
856         (WebCore::JavaScriptCallFrame::caller):
857         * bindings/js/JavaScriptCallFrame.h:
858         (WebCore::JavaScriptCallFrame::create):
859         (WebCore::JavaScriptCallFrame::sourceID):
860         (WebCore::JavaScriptCallFrame::position):
861         (WebCore::JavaScriptCallFrame::line):
862         (WebCore::JavaScriptCallFrame::column):
863         (WebCore::JavaScriptCallFrame::functionName):
864         (WebCore::JavaScriptCallFrame::type):
865         (WebCore::JavaScriptCallFrame::scopeChain):
866         (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
867         (WebCore::JavaScriptCallFrame::thisValue):
868         (WebCore::JavaScriptCallFrame::evaluate):
869         * bindings/js/ScriptDebugServer.cpp:
870         (WebCore::DebuggerCallFrameScope::DebuggerCallFrameScope):
871         (WebCore::DebuggerCallFrameScope::~DebuggerCallFrameScope):
872         (WebCore::ScriptDebugServer::ScriptDebugServer):
873         (WebCore::ScriptDebugServer::setBreakpoint):
874         (WebCore::ScriptDebugServer::removeBreakpoint):
875         (WebCore::ScriptDebugServer::hasBreakpoint):
876         (WebCore::ScriptDebugServer::evaluateBreakpointAction):
877         (WebCore::ScriptDebugServer::breakProgram):
878         (WebCore::ScriptDebugServer::stepOverStatement):
879         (WebCore::ScriptDebugServer::stepOutOfFunction):
880         (WebCore::ScriptDebugServer::currentDebuggerCallFrame):
881         (WebCore::ScriptDebugServer::dispatchDidPause):
882         (WebCore::ScriptDebugServer::updateCallFrame):
883         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
884         (WebCore::ScriptDebugServer::pauseIfNeeded):
885         (WebCore::ScriptDebugServer::callEvent):
886         (WebCore::ScriptDebugServer::returnEvent):
887         (WebCore::ScriptDebugServer::willExecuteProgram):
888         (WebCore::ScriptDebugServer::didExecuteProgram):
889         * bindings/js/ScriptDebugServer.h:
890         * bindings/js/WorkerScriptDebugServer.cpp:
891         (WebCore::WorkerScriptDebugServer::willExecuteProgram):
892
893 2013-10-04  Andreas Kling  <akling@apple.com>
894
895         Ref-ify more stack guards.
896         <https://webkit.org/b/122360>
897
898         Reviewed by Anders Carlsson.
899
900         Make another pass turning RefPtr<T> into Ref<T> where possible.
901
902 2013-10-04  Ojan Vafai  <ojan@chromium.org> and Martin Robinson  <mrobinson@igalia.com>
903
904         [MathML] Remove RenderTree modification during layout and refactor the StretchyOp code
905         https://bugs.webkit.org/show_bug.cgi?id=121416
906
907         Reviewed by David Hyatt.
908
909         Tests: mathml/presentation/mo-minus.html
910                mathml/presentation/mo-stacked-glyphs.html
911                mathml/presentation/mo-stretchy-vertical-bar.html
912                mathml/very-large-stretchy-operators.html
913
914         MathML stretched operators by both modifying the width of the operator
915         and adding children to the operator node in the render tree.
916
917         Instead we make the operator width equal to the widest glyph possible that we use
918         to represent the operator.  Additionally instead of rendering stretchy glyphs via
919         stacked operator pieces in separate render tree nodes, keep only one node for the
920         glyph, and use a custom paint method to paint the stacked representation.
921
922         With this patch, rendering seems roughly equivalent on Mac and markedly better
923         on Linux.
924
925         * css/mathml.css:
926         Not sure what this line-height:0 was here for, but it caused bugs with the new code
927
928         * mathml/MathMLTextElement.cpp:
929         (WebCore::MathMLTextElement::attach):
930         (WebCore):
931         (WebCore::MathMLTextElement::childrenChanged):
932         Need to update the anonymous render tree below <mo> elements when their
933         children change or when the renderer is first attached.
934
935         * mathml/MathMLTextElement.h:
936         (MathMLTextElement):
937         * rendering/mathml/RenderMathMLBlock.cpp:
938         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
939         * rendering/mathml/RenderMathMLBlock.h:
940         Now that the preferred width doesn't depend on the height, we don't
941         need to override computePreferredLogicalWidths at all.
942
943         * rendering/mathml/RenderMathMLFenced.cpp:
944         (WebCore::RenderMathMLFenced::makeFences):
945         (WebCore::RenderMathMLFenced::styleDidChange):
946         Need to update the anonymous renderers for the anonymous RenderMathMLOperators.
947
948         * rendering/mathml/RenderMathMLOperator.cpp:
949         (WebCore::RenderMathMLOperator::expandedStretchHeight):
950         Store the non-expanded stretch height so that we can detect when the height
951         actually changed.
952
953         (WebCore::RenderMathMLOperator::stretchToHeight):
954         Only update the style on the anonymous render tree since this is called
955         from RenderMathMLRow::layout
956
957         (WebCore::RenderMathMLOperator::styleDidChange):
958         (WebCore::RenderMathMLOperator::glyphBoundsForCharacter): A helper to get glyph boundaries.
959         (WebCore::RenderMathMLOperator::glyphHeightForCharacter): Ditto for glyph width.
960         (WebCore::RenderMathMLOperator::advanceForCharacter): The advance is different from the width,
961         and we want the width of the operator to be the advance instead of the tight bounding width.
962         (WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Use the max of all possible glyphs
963         we can use to render this operator.
964         (WebCore::RenderMathMLOperator::updateFromElement): We add a child for rendering the non-scaled
965         version of the glyph.
966         (WebCore::RenderMathMLOperator::firstCharacterForStretching): Helper to figure out what character
967         is the character used for stretching operations.
968         (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter): Helper to find an acceptable set
969         of glyph pieces for stretching characters.
970         (WebCore::RenderMathMLOperator::updateStyle): Resize the operator to the appropriate height and hide
971         the child if we are using the stretchy style.
972         (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
973         (WebCore::RenderMathMLOperator::paintCharacter): Helper to paint a single character component of the
974         stretchy glyph.
975         (WebCore::RenderMathMLOperator::fillWithExtensionGlyph): Helper to paint the extender glue between
976         features of the stretchy glyph.
977         (WebCore::RenderMathMLOperator::paint): Properly paint stretchy glyphs.
978         * rendering/mathml/RenderMathMLOperator.h: Update method declarations.
979
980 2013-10-04  Ryosuke Niwa  <rniwa@webkit.org>
981
982         Build fix after r156925. It collided with r156903.
983
984         * html/HTMLImageElement.cpp:
985         (WebCore::HTMLImageElement::insertedInto):
986         (WebCore::HTMLImageElement::removedFrom):
987
988 2013-10-04  Andreas Kling  <akling@apple.com>
989
990         Clean out some FrameLoaderClient hooks that no ports were using.
991         <https://webkit.org/b/122356>
992
993         Reviewed by Anders Carlsson.
994
995         Removed the following hooks that were leftovers from dead ports:
996
997             - didExhaustMemoryAvailableForScript
998             - didNotAllowScript
999             - didNotAllowPlugins
1000             - willCheckAndDispatchMessageEvent
1001             - didChangeName
1002             - dispatchWillInsertBody
1003             - dispatchDidChangeResourcePriority
1004
1005 2013-10-03  Ryosuke Niwa  <rniwa@webkit.org>
1006
1007         FocusController::advanceFocus spends a lot of time in HTMLMapElement::imageElement
1008         https://bugs.webkit.org/show_bug.cgi?id=122313
1009
1010         Reviewed by Andreas Kling.
1011
1012         The bug was caused by HTMLMapElement::imageElement traversing the entire document to look for
1013         the image element associated with a given map element. Because HTMLCollection used to find the
1014         image element is not cached, it traversed the entire document on every area element we visit,
1015         resulting in O(n^2) behavior.
1016
1017         Fixed the bug by adding the name-to-image-element map on document to avoid the traversal in
1018         HTMLMapElement::imageElement.
1019
1020         * dom/Document.cpp:
1021         (WebCore::Document::addImageElementByLowercasedUsemap): Added.
1022         (WebCore::Document::removeImageElementByLowercasedUsemap): Added.
1023         (WebCore::Document::imageElementByLowercasedUsemap): Added.
1024
1025         * dom/Document.h: Added m_imagesByUsemap.
1026
1027         * dom/DocumentOrderedMap.cpp:
1028         (WebCore::keyMatchesLowercasedUsemap): Added.
1029         (WebCore::DocumentOrderedMap::getElementByLowercasedUsemap): Added.
1030
1031         * dom/DocumentOrderedMap.h:
1032         * html/HTMLImageElement.cpp:
1033         (WebCore::HTMLImageElement::parseAttribute): Update the name-to-usemap map. The code to parse
1034         the usemap attribute and strip # was moved from HTMLMapElement::imageElement.
1035         (WebCore::HTMLImageElement::insertedInto): Ditto.
1036         (WebCore::HTMLImageElement::removedFrom): Ditto.
1037         (WebCore::HTMLImageElement::matchesLowercasedUsemap): Added; called by DocumentOrderedMap.
1038
1039         * html/HTMLImageElement.h:
1040
1041         * html/HTMLMapElement.cpp:
1042         (WebCore::HTMLMapElement::imageElement): Call Document::imageElementByUsemap instead of
1043         looking through all image elements in the document.
1044
1045 2013-10-04  Sam Weinig  <sam@webkit.org>
1046
1047         Unify rubberband control
1048         https://bugs.webkit.org/show_bug.cgi?id=122341
1049
1050         Reviewed by Tim Horton.
1051
1052         - Consolidates the two ways we were passing state about whether
1053           to rubber-band on a particular edge down to one.
1054
1055         * WebCore.exp.in:
1056         * page/Page.cpp:
1057         * page/Page.h:
1058         * page/scrolling/ScrollingCoordinator.h:
1059         (WebCore::ScrollingCoordinator::isRubberBandInProgress):
1060         * page/scrolling/ScrollingTree.cpp:
1061         (WebCore::ScrollingTree::ScrollingTree):
1062         (WebCore::ScrollingTree::setCanRubberBandState):
1063         (WebCore::ScrollingTree::rubberBandsAtLeft):
1064         (WebCore::ScrollingTree::rubberBandsAtRight):
1065         (WebCore::ScrollingTree::rubberBandsAtBottom):
1066         (WebCore::ScrollingTree::rubberBandsAtTop):
1067         (WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
1068         * page/scrolling/ScrollingTree.h:
1069         * page/scrolling/mac/ScrollingCoordinatorMac.h:
1070         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1071         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1072         (WebCore::ScrollingTreeScrollingNodeMac::shouldRubberBandInDirection):
1073
1074 2013-10-04  Andreas Kling  <akling@apple.com>
1075
1076         CTTE: SubframeLoader backpointer to Frame should be a reference.
1077         <https://webkit.org/b/122350>
1078
1079         Reviewed by Anders Carlsson.
1080
1081         SubframeLoader is tied to the lifetime of FrameLoader, which in turn
1082         is tied to the lifetime of Frame.
1083
1084 2013-10-04  Anders Carlsson  <andersca@apple.com>
1085
1086         Remove some unneeded code from WidgetMac
1087         https://bugs.webkit.org/show_bug.cgi?id=122355
1088
1089         Reviewed by Dan Bernstein.
1090
1091         Remove code to manage the visible rect, it's not needed anymore.
1092
1093         * platform/Widget.h:
1094         * platform/mac/WidgetMac.mm:
1095         (WebCore::Widget::~Widget):
1096         (WebCore::Widget::setFrameRect):
1097         (WebCore::Widget::setPlatformWidget):
1098
1099 2013-10-04  Daniel Bates  <dabates@apple.com>
1100
1101         [iOS] Upstream disk image cache
1102         https://bugs.webkit.org/show_bug.cgi?id=121985
1103
1104         Reviewed by Joseph Pecoraro.
1105
1106         * WebCore.exp.in:
1107         * WebCore.xcodeproj/project.pbxproj:
1108         * loader/ResourceBuffer.cpp:
1109         (WebCore::ResourceBuffer::isUsingDiskImageCache):
1110         * loader/ResourceBuffer.h:
1111         * loader/cache/CachedImage.cpp:
1112         (WebCore::CachedImage::canUseDiskImageCache): Added.
1113         (WebCore::CachedImage::useDiskImageCache): Added.
1114         * loader/cache/CachedImage.h:
1115         * loader/cache/CachedResource.cpp:
1116         (WebCore::CachedResource::isSafeToMakePurgeable):
1117         (WebCore::CachedResource::isUsingDiskImageCache): Added.
1118         * loader/cache/CachedResource.h:
1119         (WebCore::CachedResource::canUseDiskImageCache): Added.
1120         (WebCore::CachedResource::useDiskImageCache): Added.
1121         * loader/cache/MemoryCache.cpp:
1122         (WebCore::MemoryCache::flushCachedImagesToDisk): Added.
1123         (WebCore::MemoryCache::TypeStatistic::addResource):
1124         (WebCore::MemoryCache::dumpStats):
1125         (WebCore::MemoryCache::dumpLRULists):
1126         * loader/cache/MemoryCache.h:
1127         (WebCore::MemoryCache::TypeStatistic::TypeStatistic):
1128         * loader/ios/DiskImageCacheClientIOS.h: Added.
1129         * loader/ios/DiskImageCacheIOS.h: Added.
1130         * loader/ios/DiskImageCacheIOS.mm: Added.
1131         * platform/Logging.h:
1132         * platform/SharedBuffer.cpp:
1133         (WebCore::SharedBuffer::SharedBuffer):
1134         (WebCore::SharedBuffer::~SharedBuffer):
1135         (WebCore::SharedBuffer::isAllowedToBeMemoryMapped): Added.
1136         (WebCore::SharedBuffer::allowToBeMemoryMapped): Added.
1137         (WebCore::SharedBuffer::failedMemoryMap): Added.
1138         (WebCore::SharedBuffer::markAsMemoryMapped): Added.
1139         (WebCore::SharedBuffer::memoryMappedNotificationCallbackData): Added.
1140         (WebCore::SharedBuffer::memoryMappedNotificationCallback): Added.
1141         (WebCore::SharedBuffer::setMemoryMappedNotificationCallback): Added.
1142         (WebCore::SharedBuffer::data):
1143         (WebCore::SharedBuffer::append):
1144         (WebCore::SharedBuffer::buffer):
1145         (WebCore::SharedBuffer::getSomeData):
1146         * platform/SharedBuffer.h:
1147         (WebCore::SharedBuffer::isMemoryMapped): Added.
1148         * platform/cf/SharedBufferCF.cpp:
1149         (WebCore::SharedBuffer::SharedBuffer):
1150
1151 2013-10-04  Bear Travis  <betravis@adobe.com>
1152
1153         [CSS Shapes] Basic shapes should be animatable for shape-outside
1154         https://bugs.webkit.org/show_bug.cgi?id=122343
1155
1156         Reviewed by Dirk Schulze.
1157
1158         Test: fast/shapes/shape-outside-floats/shape-outside-animation.html
1159
1160         Add shape outside to the list of animatable properties. The infrastructure
1161         is already in place for animating basic shapes on shape-inside and clipping
1162         paths. See https://bugs.webkit.org/show_bug.cgi?id=101854.
1163
1164         * page/animation/CSSPropertyAnimation.cpp:
1165         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
1166
1167 2013-10-04  Andreas Kling  <akling@apple.com>
1168
1169         Tighten typing in some RenderLayer code.
1170         <https://webkit.org/b/122342>
1171
1172         Reviewed by Antti Koivisto.
1173
1174         Use tighter types instead of Node and RenderObject inside RenderLayer
1175         where applicable.
1176
1177 2013-10-04  Ralph Thomas  <ralpht@gmail.com>
1178
1179         Inserting a JS generated keyframe animation shouldn't trigger a whole document style recalc
1180         https://bugs.webkit.org/show_bug.cgi?id=119479
1181
1182         Reviewed by Antti Koivisto.
1183
1184         Change CSSStyleSheet::didMutateRules to not invalidate all node's styles when inserting a
1185         @-webkit-keyframes rule, and to instead insert the rule directly into the StyleResolver.
1186
1187         Test: animation/keyframes-dynamic.html: adds and removes keyframe rules using JavaScript and
1188         validates that the correct elements are animated.
1189
1190         * css/CSSStyleSheet.cpp:
1191         (WebCore::CSSStyleSheet::didMutateRules):
1192         (WebCore::CSSStyleSheet::insertRule):
1193         * css/CSSStyleSheet.h:
1194
1195 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
1196
1197         [WebIDL] Annotate IDL interfaces under Source/WebCore/fileapi/ with the OperationsNotDeletable attribute
1198         https://bugs.webkit.org/show_bug.cgi?id=122275
1199
1200         Reviewed by Darin Adler.
1201
1202         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
1203         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
1204         doesn't have any effect, but will keep the operations not configurable after the generator is modified
1205         to preserve the original behavior. The attribute will be removed from each interface after checking
1206         conformity with other browsers (in terms of configurability of operations of that interface) and the
1207         WebKit's existing test suites.
1208
1209         This patch covers IDL interfaces under Source/WebCore/fileapi/.
1210
1211         * fileapi/Blob.idl:
1212         * fileapi/FileException.idl:
1213         * fileapi/FileList.idl:
1214         * fileapi/FileReader.idl:
1215         * fileapi/FileReaderSync.idl:
1216
1217 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
1218
1219         [WebIDL] Annotate IDL interfaces under Source/WebCore/dom/ with the OperationsNotDeletable attribute
1220         https://bugs.webkit.org/show_bug.cgi?id=122271
1221
1222         Reviewed by Darin Adler.
1223
1224         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
1225         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
1226         doesn't have any effect, but will keep the operations not configurable after the generator is modified
1227         to preserve the original behavior. The attribute will be removed from each interface after checking
1228         conformity with other browsers (in terms of configurability of operations of that interface) and the
1229         WebKit's existing test suites.
1230
1231         This patch covers IDL interfaces under Source/WebCore/dom/.
1232
1233         * dom/CharacterData.idl:
1234         * dom/ChildNode.idl:
1235         * dom/ClientRectList.idl:
1236         * dom/Clipboard.idl:
1237         * dom/CompositionEvent.idl:
1238         * dom/CustomEvent.idl:
1239         * dom/DOMCoreException.idl:
1240         * dom/DOMImplementation.idl:
1241         * dom/DOMNamedFlowCollection.idl:
1242         * dom/DOMStringList.idl:
1243         * dom/DOMStringMap.idl:
1244         * dom/DataTransferItem.idl:
1245         * dom/DataTransferItemList.idl:
1246         * dom/DeviceMotionEvent.idl:
1247         * dom/DeviceOrientationEvent.idl:
1248         * dom/Document.idl:
1249         * dom/DocumentFragment.idl:
1250         * dom/DocumentType.idl:
1251         * dom/Element.idl:
1252         * dom/Event.idl:
1253         * dom/EventException.idl:
1254         * dom/EventListener.idl:
1255         * dom/EventTarget.idl:
1256         * dom/KeyboardEvent.idl:
1257         * dom/MessageEvent.idl:
1258         * dom/MessagePort.idl:
1259         * dom/MouseEvent.idl:
1260         * dom/MutationEvent.idl:
1261         * dom/MutationObserver.idl:
1262         * dom/NamedNodeMap.idl:
1263         * dom/Node.idl:
1264         * dom/NodeFilter.idl:
1265         * dom/NodeIterator.idl:
1266         * dom/NodeList.idl:
1267         * dom/Range.idl:
1268         * dom/RangeException.idl:
1269         * dom/ShadowRoot.idl:
1270         * dom/Text.idl:
1271         * dom/TextEvent.idl:
1272         * dom/TouchEvent.idl:
1273         * dom/TouchList.idl:
1274         * dom/TreeWalker.idl:
1275         * dom/UIEvent.idl:
1276         * dom/WebKitNamedFlow.idl:
1277         * dom/WheelEvent.idl:
1278
1279 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
1280
1281         [WebIDL] Annotate IDL interfaces under Source/WebCore/xml/ with the OperationsNotDeletable attribute
1282         https://bugs.webkit.org/show_bug.cgi?id=122269
1283
1284         Reviewed by Darin Adler.
1285
1286         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
1287         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
1288         doesn't have any effect, but will keep the operations not configurable after the generator is modified
1289         to preserve the original behavior. The attribute will be removed from each interface after checking
1290         conformity with other browsers (in terms of configurability of operations of that interface) and the
1291         WebKit's existing test suites.
1292
1293         This patch covers IDL interfaces under Source/WebCore/xml/.
1294
1295         * xml/DOMParser.idl:
1296         * xml/XMLHttpRequest.idl:
1297         * xml/XMLHttpRequestException.idl:
1298         * xml/XMLHttpRequestUpload.idl:
1299         * xml/XMLSerializer.idl:
1300         * xml/XPathEvaluator.idl:
1301         * xml/XPathException.idl:
1302         * xml/XPathExpression.idl:
1303         * xml/XPathNSResolver.idl:
1304         * xml/XPathResult.idl:
1305         * xml/XSLTProcessor.idl:
1306
1307 2013-10-04  Bear Travis  <betravis@adobe.com>
1308
1309         [CSS Shapes] Shape Outside should relayout when set dynamically
1310         https://bugs.webkit.org/show_bug.cgi?id=122197
1311
1312         Reviewed by Alexandru Chiculita.
1313
1314         Tests: fast/shapes/shape-outside-floats/shape-outside-dynamic-shape.html
1315                fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-overhang.html
1316
1317         When shape outside is modified, dependent content needs to relayout. This patch
1318         removes the float from the float lists and marks dependents for layout using
1319         RenderBox::removeFloatingOrPositionedChildFromBlockLists(). This is the same
1320         method used when switching from float: left to float: right and vice versa
1321         (see RenderElement::styleWillChange).
1322
1323         * rendering/RenderBox.cpp:
1324         (WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Mark shape-outside dependents
1325         for layout.
1326         * rendering/RenderBox.h:
1327         (WebCore::RenderBox::markShapeOutsideDependentsForLayout): Mark all the items that may be
1328         affected by this shape-outside for relayout.
1329
1330 2013-10-04  Antti Koivisto  <antti@apple.com>
1331
1332         Tighten markContainingBlocksForLayout
1333         https://bugs.webkit.org/show_bug.cgi?id=122326
1334
1335         Reviewed by Anders Carlsson.
1336
1337 2013-10-04  Andreas Kling  <akling@apple.com>
1338
1339         Node: removedFrom() and insertedInto() should use references.
1340         <https://webkit.org/b/122315>
1341
1342         Reviewed by Anders Carlsson.
1343
1344         ContainerNode* -> ContainerNode&
1345
1346 2013-10-04  Romain Perier  <romain.perier@gmail.com>
1347
1348         Optimize strings copies in srcset parser
1349         https://bugs.webkit.org/show_bug.cgi?id=121899
1350
1351         Reviewed by Alexey Proskuryakov.
1352
1353         No new tests, covered by existing ones.
1354
1355         * html/parser/HTMLParserIdioms.cpp:
1356         (WebCore::parseImagesWithScaleFromSrcsetAttribute): Don't copy
1357         image.imageURL at each loop iteration, save indexes instead.
1358         (WebCore::bestFitSourceForImageAttributes): Make a String for
1359         the URL only when the corresponding candidate is chosen
1360         by the selection algorithm. It reduces the number of copies
1361         significantly and improves performance
1362         (around 30% with the "Release" profile and 60% with the "Debug" one).
1363
1364 2013-10-04  Alexey Proskuryakov  <ap@apple.com>
1365
1366         Add svn:ignore to *.pyc files in inspector/Scripts directory, so that they don't
1367         show up as unversioned all the time.
1368
1369         * inspector/Scripts: Added property svn:ignore.
1370
1371 2013-10-04  peavo@outlook.com  <peavo@outlook.com>
1372
1373         [Win][WebGL] Crash on exit
1374         https://bugs.webkit.org/show_bug.cgi?id=120764
1375
1376         Reviewed by Martin Robinson.
1377
1378         On exit, libGLESv2.dll is detached from the process and relevant memory is released
1379         before the atexit GL context cleanup handler is called, causing a NULL pointer crash.
1380         The GL context cleanup code was originally written to avoid a X server crash on exit,
1381         so it's only needed for PLATFORM(X11).
1382
1383         * platform/graphics/GLContext.cpp: Only clean up active GL contexts on exit for PLATFORM(X11).
1384         (WebCore::GLContext::cleanupSharedX11Display):
1385         (WebCore::GLContext::cleanupActiveContextsAtExit):
1386         (WebCore::GLContext::GLContext):
1387         (WebCore::GLContext::~GLContext):
1388
1389 2013-10-04  Mihnea Ovidenie  <mihnea@adobe.com>
1390
1391         [CSSRegions] Regions as stacking contexts should paint over positioned sibling
1392         https://bugs.webkit.org/show_bug.cgi?id=122321
1393
1394         Reviewed by Alexandru Chiculita.
1395
1396         Test: fast/regions/layers/region-normalflow-stacking-context.html
1397
1398         Since regions are stacking contexts, they should not be in normal flow list of layers.
1399         More clean-up after https://bugs.webkit.org/show_bug.cgi?id=117365 and https://bugs.webkit.org/show_bug.cgi?id=121828
1400         which enabled the layers.
1401
1402         * rendering/RenderLayer.cpp:
1403         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1404         (WebCore::RenderLayer::shouldBeSelfPaintingLayer):
1405
1406 2013-10-04  Krzysztof Wolanski  <k.wolanski@samsung.com>
1407
1408         [EFL] Enable correct behaviour for deleting regional indicator symbols
1409         https://bugs.webkit.org/show_bug.cgi?id=122209
1410
1411         Reviewed by Gyuyoung Kim.
1412
1413         Regional indicator symbols that are combined should behave as a single character when deleting.
1414         Removed unused variable initialState.
1415
1416         * rendering/RenderText.cpp:
1417         (WebCore::RenderText::previousOffsetForBackwardDeletion):
1418
1419 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
1420
1421         [WebIDL] Annotate IDL interfaces under Source/WebCore/css/ with the OperationsNotDeletable attribute
1422         https://bugs.webkit.org/show_bug.cgi?id=122276
1423
1424         Reviewed by Darin Adler.
1425
1426         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
1427         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
1428         doesn't have any effect, but will keep the operations not configurable after the generator is modified
1429         to preserve the original behavior. The attribute will be removed from each interface after checking
1430         conformity with other browsers (in terms of configurability of operations of that interface) and the
1431         WebKit's existing test suites.
1432
1433         This patch covers IDL interfaces under Source/WebCore/css/.
1434
1435         * css/CSSHostRule.idl:
1436         * css/CSSMediaRule.idl:
1437         * css/CSSPrimitiveValue.idl:
1438         * css/CSSRuleList.idl:
1439         * css/CSSStyleDeclaration.idl:
1440         * css/CSSStyleSheet.idl:
1441         * css/CSSSupportsRule.idl:
1442         * css/CSSValueList.idl:
1443         * css/DOMWindowCSS.idl:
1444         * css/FontLoader.idl:
1445         * css/MediaList.idl:
1446         * css/MediaQueryList.idl:
1447         * css/MediaQueryListListener.idl:
1448         * css/StyleMedia.idl:
1449         * css/StyleSheet.idl:
1450         * css/StyleSheetList.idl:
1451         * css/WebKitCSSFilterValue.idl:
1452         * css/WebKitCSSKeyframesRule.idl:
1453         * css/WebKitCSSMatrix.idl:
1454         * css/WebKitCSSTransformValue.idl:
1455
1456 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
1457
1458         [WebIDL] Annotate IDL interfaces under Source/WebCore/loader/appcache/ with the OperationsNotDeletable attribute
1459         https://bugs.webkit.org/show_bug.cgi?id=122274
1460
1461         Reviewed by Darin Adler.
1462
1463         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
1464         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
1465         doesn't have any effect, but will keep the operations not configurable after the generator is modified
1466         to preserve the original behavior. The attribute will be removed from each interface after checking
1467         conformity with other browsers (in terms of configurability of operations of that interface) and the
1468         WebKit's existing test suites.
1469
1470         This patch covers IDL interfaces under Source/WebCore/loader/appcache/.
1471
1472         * loader/appcache/DOMApplicationCache.idl:
1473
1474 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
1475
1476         [WebIDL] Annotate IDL interfaces under Source/WebCore/plugins/ with the OperationsNotDeletable attribute
1477         https://bugs.webkit.org/show_bug.cgi?id=122273
1478
1479         Reviewed by Darin Adler.
1480
1481         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
1482         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
1483         doesn't have any effect, but will keep the operations not configurable after the generator is modified
1484         to preserve the original behavior. The attribute will be removed from each interface after checking
1485         conformity with other browsers (in terms of configurability of operations of that interface) and the
1486         WebKit's existing test suites.
1487
1488         This patch covers IDL interfaces under Source/WebCore/plugins/.
1489
1490         * plugins/DOMMimeTypeArray.idl:
1491         * plugins/DOMPlugin.idl:
1492         * plugins/DOMPluginArray.idl:
1493
1494 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
1495
1496         [WebIDL] Annotate IDL interfaces under Source/WebCore/storage/ with the OperationsNotDeletable attribute
1497         https://bugs.webkit.org/show_bug.cgi?id=122272
1498
1499         Reviewed by Darin Adler.
1500
1501         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
1502         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
1503         doesn't have any effect, but will keep the operations not configurable after the generator is modified
1504         to preserve the original behavior. The attribute will be removed from each interface after checking
1505         conformity with other browsers (in terms of configurability of operations of that interface) and the
1506         WebKit's existing test suites.
1507
1508         This patch covers IDL interfaces under Source/WebCore/storage/.
1509
1510         * storage/Storage.idl:
1511         * storage/StorageEvent.idl:
1512
1513 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
1514
1515         [WebIDL] Annotate IDL interfaces under Source/WebCore/workers/ with the OperationsNotDeletable attribute
1516         https://bugs.webkit.org/show_bug.cgi?id=122270
1517
1518         Reviewed by Darin Adler.
1519
1520         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
1521         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
1522         doesn't have any effect, but will keep the operations not configurable after the generator is modified
1523         to preserve the original behavior. The attribute will be removed from each interface after checking
1524         conformity with other browsers (in terms of configurability of operations of that interface) and the
1525         WebKit's existing test suites.
1526
1527         This patch covers IDL interfaces under Source/WebCore/workers/.
1528
1529         * workers/DedicatedWorkerGlobalScope.idl:
1530         * workers/Worker.idl:
1531         * workers/WorkerGlobalScope.idl:
1532         * workers/WorkerLocation.idl:
1533
1534 2013-10-04  Andrei Bucur  <abucur@adobe.com>
1535
1536         [CSS Regions] Infinite loop when computing widows
1537         https://bugs.webkit.org/show_bug.cgi?id=122215
1538
1539         Reviewed by David Hyatt.
1540
1541         The patch ensures it's not possible to relayout a block indefinitely because of widows contraints. You can't
1542         break a block more than once to account for widows. This can happen if, for example, some lines are moved
1543         to the next container and there the content breaks in another container again without respecting the widows property.
1544         This is in line with the idea of not leaving empty fragmentation containers during layout.
1545
1546         Test: fast/regions/regions-widows-stack-overflow.html
1547
1548         * rendering/RenderBlockFlow.cpp:
1549         (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
1550         (WebCore::RenderBlockFlow::setBreakAtLineToAvoidWidow):
1551         (WebCore::RenderBlockFlow::setDidBreakAtLineToAvoidWidow):
1552         (WebCore::RenderBlockFlow::clearDidBreakAtLineToAvoidWidow):
1553         (WebCore::RenderBlockFlow::clearShouldBreakAtLineToAvoidWidow):
1554
1555         * rendering/RenderBlockFlow.h:
1556         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData): Rename the m_shouldBreakAtLineToAvoidWidow
1557         flag to m_didBreakAtLineToAvoidWidow.
1558
1559         (WebCore::RenderBlockFlow::shouldBreakAtLineToAvoidWidow): Use the line index to determine if it should break or not.
1560         (WebCore::RenderBlockFlow::didBreakAtLineToAvoidWidow): Use to determine if a break already happened because of widows.
1561
1562         * rendering/RenderBlockLineLayout.cpp:
1563         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1564
1565 2013-10-03  Anders Carlsson  <andersca@apple.com>
1566
1567         Assert that we don't try to index past the end of the m_coreTextIndices array
1568         https://bugs.webkit.org/show_bug.cgi?id=122308
1569
1570         Reviewed by Dan Bernstein.
1571
1572         Because an assertion failure is better than a random crash.
1573
1574         * platform/graphics/mac/ComplexTextController.cpp:
1575         (WebCore::ComplexTextController::ComplexTextRun::indexAt):
1576
1577 2013-10-03  Antti Koivisto  <antti@apple.com>
1578
1579         Move setting of some layout bits to RenderElement
1580         https://bugs.webkit.org/show_bug.cgi?id=122256
1581
1582         Reviewed by Andreas Kling.
1583         
1584         These bits never apply to RenderText nodes:
1585         
1586         normalChildNeedsLayout
1587         posChildNeedsLayout
1588         needsSimplifiedNormalFlowLayout
1589         normalChildNeedsLayout
1590         positionedMovementLayout
1591
1592         The code for setting them can be moved to RenderElement.
1593
1594         Also separated the code paths for setting and clearing the bits and uninlined
1595         everything that is not massively popular.
1596
1597 2013-10-03  Sam Weinig  <sam@webkit.org>
1598
1599         Remove shouldRubberBandInDirection from the WKBundlePageUIClient
1600         https://bugs.webkit.org/show_bug.cgi?id=122309
1601
1602         Reviewed by Andreas Kling.
1603
1604         * loader/EmptyClients.h:
1605         * page/ChromeClient.h:
1606         * page/FrameView.cpp:
1607         * page/FrameView.h:
1608         * platform/ScrollableArea.h:
1609         * platform/mac/ScrollAnimatorMac.mm:
1610         (WebCore::ScrollAnimatorMac::shouldRubberBandInDirection):
1611
1612 2013-10-03  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1613
1614         Fix the HTMLSelectElement.prototype.remove() method
1615         https://bugs.webkit.org/show_bug.cgi?id=121586
1616
1617         Reviewed by Darin Adler.
1618
1619         Fix the HTMLSelectElement.prototype.remove() method so that it behaves like
1620         Element.remove() if no argument is passed (from ChildNode). This behavior
1621         is consistent with Firefox and Blink.
1622
1623         See https://www.w3.org/Bugs/Public/show_bug.cgi?id=20720 for more
1624         information.
1625
1626         Tests: js/dom/select-options-remove.html
1627
1628         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1629         (WebCore::JSHTMLOptionsCollection::remove):
1630         Stop calling JSHTMLSelectElement::remove() blindly as it is dangerous, especially
1631         now that calling it without argument now detaches the element. Instead, have the
1632         bindings call the corresponding methods on the HTMLOptionsCollection implementation
1633         object, as it should.
1634
1635         * bindings/js/JSHTMLSelectElementCustom.cpp:
1636         (WebCore::JSHTMLSelectElement::remove):
1637         Call Element::remove() if no argument is given.
1638
1639         * html/HTMLOptionsCollection.cpp:
1640         (WebCore::HTMLOptionsCollection::remove):
1641         * html/HTMLOptionsCollection.h:
1642         * html/HTMLSelectElement.cpp:
1643         * html/HTMLSelectElement.h:
1644         Rename remove(int) to removeByIndex(int) to avoid conflict with
1645         Node::remove(ExceptionCode&).
1646
1647 2013-10-03  Samuel White  <samuel_white@apple.com>
1648
1649         Regression: AX: <table><caption> no longer exposed as AXTitle.
1650         https://bugs.webkit.org/show_bug.cgi?id=121977
1651
1652         Reviewed by Darin Adler.
1653
1654         Some cleanup of accessibilityText. Notably, subclasses were unnecessarily redeclaring this method as both private and
1655         protected. Added OVERRIDE keyword to these subclasses as needed. Moved titleElementText to virtual so we can do subclass
1656         overrides in cases like this bug. That is, AccessibilityTable can leverage the existing machinery for alternativeText,
1657         visibleText, and helpText, but we do some custom work ONLY in titleElementText.
1658
1659         Test: accessibility/table-title.html
1660
1661         * accessibility/AccessibilityImageMapLink.h:
1662         * accessibility/AccessibilityMediaControls.h:
1663         * accessibility/AccessibilityNodeObject.cpp:
1664         (WebCore::AccessibilityNodeObject::titleElementText):
1665         * accessibility/AccessibilityNodeObject.h:
1666         * accessibility/AccessibilityTable.cpp:
1667         (WebCore::AccessibilityTable::titleElementText):
1668         * accessibility/AccessibilityTable.h:
1669
1670 2013-10-03  Anders Carlsson  <andersca@apple.com>
1671
1672         Ignore deprecation warnings
1673         https://bugs.webkit.org/show_bug.cgi?id=122302
1674
1675         Reviewed by Mark Rowe.
1676
1677         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1678         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
1679         * bindings/objc/DOMHTML.mm:
1680         (-[DOMHTMLInputElement _rectOnScreen]):
1681         * page/mac/EventHandlerMac.mm:
1682         (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
1683         * page/mac/FrameSnapshottingMac.mm:
1684         (WebCore::imageFromRect):
1685         * platform/graphics/mac/IconMac.mm:
1686         (WebCore::Icon::Icon):
1687         * platform/mac/DragImageMac.mm:
1688         (WebCore::scaleDragImage):
1689         * platform/mac/PlatformEventFactoryMac.mm:
1690         (WebCore::globalPoint):
1691         * platform/mac/ScrollViewMac.mm:
1692         (WebCore::ScrollView::platformContentsToScreen):
1693         (WebCore::ScrollView::platformScreenToContents):
1694
1695 2013-10-03  Hans Muller  <hmuller@adobe.com>
1696
1697         [CSS Shapes] Support the shape-image-threshold property
1698         https://bugs.webkit.org/show_bug.cgi?id=122254
1699
1700         Reviewed by Andreas Kling.
1701
1702         Replace the hardwired 0 Shape::createShape() threshold parameter with the style's
1703         shapeImageThreshold() value (which has been clamped to [0,1]).
1704
1705         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-image-threshold-001.html
1706                fast/shapes/shape-outside-floats/shape-outside-floats-image-threshold-002.html
1707
1708         * rendering/shapes/ShapeInfo.cpp:
1709         (WebCore::::computedShape):
1710
1711 2013-10-03  Mihai Maerean  <mmaerean@adobe.com>
1712
1713         [CSS Regions] Follow-up code style change after bug #121828 All regions have layers
1714         https://bugs.webkit.org/show_bug.cgi?id=122265
1715
1716         Reviewed by Darin Adler.
1717
1718         Comments moved to the cpp file, as requested in the review of bug #121828 All regions have layers.
1719
1720         No new tests, no behavior change.
1721
1722         * rendering/RenderMultiColumnSet.cpp:
1723         (WebCore::RenderMultiColumnSet::requiresLayer):
1724         * rendering/RenderMultiColumnSet.h:
1725         * rendering/RenderRegion.cpp:
1726         (WebCore::RenderRegion::requiresLayer):
1727         * rendering/RenderRegion.h:
1728
1729 2013-10-03  Alejandro G. Castro  <alex@igalia.com>
1730
1731         [cairo] Initialize the m_compositorTexture in GraphicsContext3DCairo.cpp
1732         https://bugs.webkit.org/show_bug.cgi?id=122285
1733
1734         Reviewed by Noam Rosenthal.
1735
1736         Initialize to the default texture to avoid the random texture name
1737         and generate the texture name.
1738
1739         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
1740         (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize
1741         m_compositorTexture.
1742         (WebCore::GraphicsContext3D::~GraphicsContext3D): Delete the
1743         generated textures names.
1744         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
1745         (WebCore::GraphicsContext3D::reshapeFBOs): Generate the texture
1746         names for m_compositorTexture and m_texture.
1747
1748 2013-10-03  Zoltan Horvath  <zoltan@webkit.org>
1749
1750         [CSS Shapes] Support block content with inline content around floats in shape-inside
1751         https://bugs.webkit.org/show_bug.cgi?id=121616
1752
1753         Reviewed by David Hyatt.
1754
1755         In r156022 and r156364, I added support for floats inside shape-inside with inline content. This change extends
1756         the existing implementation to support block content with inline content (paragraphs). I added an extra text for
1757         positioning a float inside shape-inside without text content around it.
1758
1759         Tests: fast/shapes/shape-inside/shape-inside-left-float-in-lower-left-triangle-block-content.html
1760                fast/shapes/shape-inside/shape-inside-left-float-in-lower-right-triangle-block-content.html
1761                fast/shapes/shape-inside/shape-inside-left-float-in-lower-right-triangle.html
1762                fast/shapes/shape-inside/shape-inside-left-float-in-upper-left-triangle-block-content.html
1763                fast/shapes/shape-inside/shape-inside-left-float-in-upper-right-triangle-block-content.html
1764
1765         * rendering/FloatingObjects.h:
1766         (WebCore::FloatingObject::logicalSize): Add new function to return the FloatingObject logical size.
1767         * rendering/LineWidth.cpp:
1768         (WebCore::LineWidth::fitBelowFloats): When the lineBreaker code pushes down the content below the floating object,
1769         we need to update the segments if we are in a shape-inside.
1770         * rendering/RenderBlock.cpp:
1771         (WebCore::RenderBlock::computeLogicalLocationForFloat): Do the positioning based on the float actual size, and use the
1772         recent shapeInsideInfo. (Calling layoutShapeInsideInfo which deals with the layoutStates also instead of shapeInsideInfo.)
1773         * rendering/RenderBlock.h:
1774         * rendering/RenderBlockLineLayout.cpp:
1775         (WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded): If we don't have inline content we still need to positionize
1776         our float content in a shape-inside.
1777         (WebCore::updateSegmentsForShapes): Use the right coordinates for block content with inline content.
1778
1779 2013-10-03  Brady Eidson  <beidson@apple.com>
1780
1781         Move IDBFactoryBackend creation to DatabaseStrategy.
1782         https://bugs.webkit.org/show_bug.cgi?id=122284
1783
1784         Reviewed by Alexey Proskuryakov.
1785
1786         * WebCore.exp.in:
1787         * WebCore.xcodeproj/project.pbxproj:
1788
1789         * Modules/indexeddb/IDBFactory.h:
1790         * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
1791         (WebCore::IDBFactoryBackendInterface::create):
1792
1793         * platform/DatabaseStrategy.cpp:
1794         (WebCore::DatabaseStrategy::createIDBFactoryBackend): Implement a default.
1795         * platform/DatabaseStrategy.h:
1796
1797 2013-10-03  peavo@outlook.com  <peavo@outlook.com>
1798
1799         [WinCairo] Compile error with VIDEO disabled.
1800         https://bugs.webkit.org/show_bug.cgi?id=122266
1801
1802         Reviewed by Brent Fulgham.
1803
1804         * dom/Document.cpp:
1805         (WebCore::Document::dispatchFullScreenChangeOrErrorEvent): Protect with ENABLE(VIDEO) guard.
1806
1807 2013-10-03  Hans Muller  <hmuller@adobe.com>
1808
1809         [CSS Shapes] add shape-margin support for image valued shapes
1810         https://bugs.webkit.org/show_bug.cgi?id=121619
1811
1812         Reviewed by Alexandru Chiculita.
1813
1814         Add support for computing the shape-margin boundary for a shape-outside whose
1815         value is an image.
1816
1817         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-001.html
1818                fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-002.html
1819                fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-003.html
1820
1821         * rendering/shapes/RasterShape.cpp:
1822         (WebCore::MarginIntervalGenerator::MarginIntervalGenerator): Internal utility that generates the margin intervals for the image interval specified with set().
1823         (WebCore::MarginIntervalGenerator::set):
1824         (WebCore::MarginIntervalGenerator::intervalAt):
1825         (WebCore::findInsertionPoint): Find the insertion point index for the the specified X value, within a vector of intervals sorted by X1.
1826         (WebCore::RasterShapeIntervals::uniteMarginInterval): Destructively unite one interval with an existing one, or append it.
1827         (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
1828         (WebCore::RasterShape::marginIntervals): Return the lazily computed value, or create it with computeShapeMarginIntervals().
1829         * rendering/shapes/RasterShape.h:
1830         (WebCore::RasterShapeIntervals::getIntervals):
1831         (WebCore::RasterShape::RasterShape):
1832         (WebCore::RasterShapeIntervals::uniteMarginInterval):
1833         * WTF/wtf/MathExtras.h: Added clampToUnsigned() inline.
1834
1835 2013-10-03  Mihnea Ovidenie  <mihnea@adobe.com>
1836
1837         [CSSRegions] Remove unused RenderLayerModelObject::updateLayerIfNeeded
1838         https://bugs.webkit.org/show_bug.cgi?id=122262
1839
1840         Reviewed by Alexandru Chiculita.
1841
1842         All regions have layers by default therefore there is no need for this function.
1843         No tests needed, just a minor cleanup.
1844
1845         * rendering/RenderLayerModelObject.cpp:
1846         * rendering/RenderLayerModelObject.h:
1847
1848 2013-10-02  Mario Sanchez Prada  <mario.prada@samsung.com>
1849
1850         [ATK] Expose aria-invalid as a text attribute (not object attribute)
1851         https://bugs.webkit.org/show_bug.cgi?id=122015
1852
1853         Reviewed by Chris Fleizach.
1854
1855         Expose the aria-invalid attribute correctly through a text
1856         attribute (through the AtkText interface) instead of using an
1857         object, according to what the WAI-ARIA specs says.
1858         http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property
1859
1860         This will be tested by accesibility/aria-invalid.html, which should
1861         keep passing after thanks to the changes done in the DRT and WKTR.
1862
1863         * accessibility/AccessibilityObject.cpp:
1864         (WebCore::AccessibilityObject::invalidStatus): Update this method
1865         to only return values recognized by the WAI-ARIA specification.
1866
1867         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
1868         (getAttributeSetForAccessibilityObject): Expose aria-invalid as a
1869         custom text attribute 'invalid', following the lead of Firefox.
1870         Also register that custom attribute as a AtkTextAttribute.
1871         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1872         (webkitAccessibleGetAttributes): Remove exposure of aria-invalid
1873         as an object attribute from here.
1874
1875 2013-10-03  Zan Dobersek  <zdobersek@igalia.com>
1876
1877         Add the NotDeletable, OperationsNotDeletable IDL attributes
1878         https://bugs.webkit.org/show_bug.cgi?id=122217
1879
1880         Reviewed by Darin Adler.
1881
1882         Before adjusting the JSC bindings generator to enforce configurable operations and thus conform to the
1883         WebIDL specification in this regard, two no-op attributes are introduced that will preserve the current
1884         behavior of operations being non-configurable.
1885
1886         All the relevant interfaces will be annotated with the OperationsNotDeletable attribute first. After the
1887         generator is properly modified, this attribute will be removed from the interfaces after checking that
1888         the operations' configurability also matches the configurability of operations in other browser engines
1889         and that the change introduces no regressions in tests.
1890
1891         The NotDeletable attribute will be used as required to annotate operations that should stay
1892         non-configurable for backwards compatibility or cross-browser compatibility.
1893
1894         * bindings/scripts/IDLAttributes.txt:
1895
1896 2013-10-03  Ryosuke Niwa  <rniwa@webkit.org>
1897
1898         Remove preDispatchEventHandler and postDispatchEventHandler,
1899         functions that are supposed to be removed in the previous commit (r156825).
1900
1901         * dom/Node.h:
1902
1903 2013-10-02  Ryosuke Niwa  <rniwa@webkit.org>
1904
1905         Get rid of Node::preDispatchEventHandler and Node::postDispatchEventHandler
1906         https://bugs.webkit.org/show_bug.cgi?id=122144
1907
1908         Reviewed by Darin Adler.
1909
1910         Get rid of pre/post event dispatch callbacks preDispatchEventHandler and postDispatchEventHandler since
1911         the former was only called by HTMLMediaElement and HTMLInputElement and the latter was only called by
1912         HTMLInputElement.
1913
1914         Explicitly call HTMLMediaElement's willDispatchFullScreenChangeEvent in fullScreenChangeDelayTimerFired
1915         of Document since this is the only place that fires the fullscreenchange event.
1916
1917         Also add an explicit call to willDispatchEvent and didDispatchClickEvent in EventDispatcher::dispatch.
1918         This also allows us to stack-allocate InputElementClickHandlingState instead of having willDispatchEvent
1919         heap-allocate it and pass it around as void*.
1920
1921         * WebCore.order:
1922         * dom/Document.cpp:
1923         (WebCore::Document::fullScreenChangeDelayTimerFired):
1924         (WebCore::Document::dispatchFullScreenChangeOrErrorEvent):
1925         * dom/Document.h:
1926         * dom/EventContext.cpp:
1927         * dom/EventDispatcher.cpp:
1928         (WebCore::EventDispatcher::dispatch):
1929         (WebCore::EventDispatcher::callWillDispatchEventOnInputElement):
1930         (WebCore::EventDispatcher::dispatchEventPostProcess):
1931         * dom/EventDispatcher.h:
1932         * html/CheckboxInputType.cpp:
1933         (WebCore::CheckboxInputType::willDispatchClick):
1934         * html/CheckboxInputType.h:
1935         * html/HTMLInputElement.cpp:
1936         (WebCore::HTMLInputElement::willDispatchEvent):
1937         (WebCore::HTMLInputElement::didDispatchClickEvent):
1938         * html/HTMLInputElement.h:
1939         * html/HTMLMediaElement.cpp:
1940         * html/HTMLMediaElement.h:
1941         (WebCore::HTMLMediaElement::willDispatchFullScreenChangeEvent): Renamed from preDispatchEventHandler.
1942         * html/HTMLTextFormControlElement.h:
1943         * html/InputType.cpp:
1944         (WebCore::InputType::willDispatchClick):
1945         * html/InputType.h:
1946         * html/RadioInputType.cpp:
1947         (WebCore::RadioInputType::willDispatchClick):
1948         * html/RadioInputType.h:
1949
1950 2013-10-02  Ryosuke Niwa  <rniwa@webkit.org>
1951
1952         Update binding test results after r156808 for r156769.
1953
1954         * bindings/scripts/test/JS/JSattribute.cpp:
1955         (WebCore::JSattributeOwner::finalize):
1956         * bindings/scripts/test/JS/JSattribute.h:
1957         (WebCore::wrapperOwner):
1958         (WebCore::wrapperContext):
1959         * bindings/scripts/test/JS/JSreadonly.cpp:
1960         (WebCore::JSreadonlyOwner::finalize):
1961         * bindings/scripts/test/JS/JSreadonly.h:
1962         (WebCore::wrapperOwner):
1963         (WebCore::wrapperContext):
1964
1965 2013-10-02  Commit Queue  <commit-queue@webkit.org>
1966
1967         Unreviewed, rolling out r156816.
1968         http://trac.webkit.org/changeset/156816
1969         https://bugs.webkit.org/show_bug.cgi?id=122259
1970
1971         broke 8 tests (Requested by kling on #webkit).
1972
1973         * html/HTMLFrameSetElement.cpp:
1974         (WebCore::HTMLFrameSetElement::willRecalcStyle):
1975         * html/RangeInputType.cpp:
1976         (WebCore::RangeInputType::listAttributeTargetChanged):
1977         * html/shadow/SliderThumbElement.cpp:
1978         (WebCore::RenderSliderContainer::layout):
1979         (WebCore::SliderThumbElement::setPositionFromValue):
1980         (WebCore::SliderThumbElement::setPositionFromPoint):
1981         (WebCore::SliderThumbElement::stopDragging):
1982         * page/FrameView.cpp:
1983         (WebCore::FrameView::setHeaderHeight):
1984         (WebCore::FrameView::setFooterHeight):
1985         (WebCore::FrameView::layout):
1986         (WebCore::FrameView::setViewportConstrainedObjectsNeedLayout):
1987         (WebCore::FrameView::scheduleRelayout):
1988         (WebCore::FrameView::setNeedsLayout):
1989         * page/Page.cpp:
1990         (WebCore::Page::setPageScaleFactor):
1991         * rendering/FlowThreadController.h:
1992         (WebCore::FlowThreadController::setIsRenderNamedFlowThreadOrderDirty):
1993         * rendering/RenderBlock.cpp:
1994         (WebCore::RenderBlock::relayoutShapeDescendantIfMoved):
1995         (WebCore::RenderBlock::markShapeInsideDescendantsForLayout):
1996         (WebCore::RenderBlock::layoutBlock):
1997         (WebCore::RenderBlock::updateBlockChildDirtyBitsBeforeLayout):
1998         (WebCore::RenderBlock::dirtyForLayoutFromPercentageHeightDescendants):
1999         (WebCore::RenderBlock::simplifiedNormalFlowLayout):
2000         (WebCore::RenderBlock::simplifiedLayout):
2001         (WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
2002         (WebCore::RenderBlock::layoutPositionedObjects):
2003         (WebCore::RenderBlock::markPositionedObjectsForLayout):
2004         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
2005         (WebCore::RenderBlock::removePositionedObjects):
2006         (WebCore::RenderBlock::insertFloatingObject):
2007         (WebCore::RenderBlock::positionNewFloats):
2008         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
2009         (WebCore::RenderBlock::getClearDelta):
2010         * rendering/RenderBlockFlow.cpp:
2011         (WebCore::RenderBlockFlow::layoutBlock):
2012         (WebCore::RenderBlockFlow::layoutBlockChild):
2013         (WebCore::RenderBlockFlow::adjustPositionedBlock):
2014         (WebCore::RenderBlockFlow::adjustBlockChildForPagination):
2015         * rendering/RenderBlockLineLayout.cpp:
2016         (WebCore::RenderBlock::layoutRunsAndFloats):
2017         (WebCore::RenderBlockFlow::layoutInlineChildren):
2018         (WebCore::RenderBlock::positionNewFloatOnLine):
2019         * rendering/RenderBox.cpp:
2020         (WebCore::RenderBox::styleWillChange):
2021         (WebCore::RenderBox::styleDidChange):
2022         (WebCore::RenderBox::layout):
2023         (WebCore::RenderBox::positionLineBox):
2024         * rendering/RenderDeprecatedFlexibleBox.cpp:
2025         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2026         (WebCore::gatherFlexChildrenInfo):
2027         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
2028         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
2029         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
2030         (WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
2031         * rendering/RenderElement.cpp:
2032         (WebCore::RenderElement::insertChildInternal):
2033         * rendering/RenderElement.h:
2034         (WebCore::RenderElement::setAncestorLineBoxDirty):
2035         (WebCore::RenderObject::setNeedsLayout):
2036         * rendering/RenderEmbeddedObject.cpp:
2037         (WebCore::RenderEmbeddedObject::layout):
2038         * rendering/RenderFieldset.cpp:
2039         (WebCore::RenderFieldset::layoutSpecialExcludedChild):
2040         * rendering/RenderFlexibleBox.cpp:
2041         (WebCore::RenderFlexibleBox::styleDidChange):
2042         (WebCore::RenderFlexibleBox::layoutBlock):
2043         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
2044         (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
2045         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
2046         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
2047         * rendering/RenderFlowThread.cpp:
2048         (WebCore::RenderFlowThread::invalidateRegions):
2049         (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
2050         * rendering/RenderFrameBase.cpp:
2051         (WebCore::RenderFrameBase::layoutWithFlattening):
2052         * rendering/RenderFrameSet.cpp:
2053         (WebCore::RenderFrameSet::layout):
2054         (WebCore::RenderFrameSet::positionFrames):
2055         (WebCore::RenderFrameSet::positionFramesWithFlattening):
2056         (WebCore::RenderFrameSet::continueResizing):
2057         * rendering/RenderGrid.cpp:
2058         (WebCore::RenderGrid::layoutBlock):
2059         (WebCore::RenderGrid::logicalContentHeightForChild):
2060         (WebCore::RenderGrid::layoutGridItems):
2061         * rendering/RenderHTMLCanvas.cpp:
2062         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
2063         * rendering/RenderIFrame.cpp:
2064         (WebCore::RenderIFrame::layout):
2065         * rendering/RenderImage.cpp:
2066         (WebCore::RenderImage::imageDimensionsChanged):
2067         * rendering/RenderInline.cpp:
2068         (WebCore::RenderInline::styleDidChange):
2069         * rendering/RenderLayer.cpp:
2070         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
2071         * rendering/RenderLayerModelObject.cpp:
2072         (WebCore::RenderLayerModelObject::styleDidChange):
2073         * rendering/RenderListMarker.cpp:
2074         (WebCore::RenderListMarker::layout):
2075         * rendering/RenderMarquee.cpp:
2076         (WebCore::RenderMarquee::updateMarqueeStyle):
2077         * rendering/RenderMedia.cpp:
2078         (WebCore::RenderMedia::layout):
2079         * rendering/RenderMultiColumnBlock.cpp:
2080         (WebCore::RenderMultiColumnBlock::relayoutForPagination):
2081         (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
2082         * rendering/RenderObject.cpp:
2083         (WebCore::RenderObject::markContainingBlocksForLayout):
2084         (WebCore::RenderObject::layout):
2085         * rendering/RenderObject.h:
2086         (WebCore::RenderObject::setNeedsLayoutAndPrefWidthsRecalc):
2087         (WebCore::RenderObject::setNeedsPositionedMovementLayout):
2088         (WebCore::RenderObject::setNormalChildNeedsLayout):
2089         (WebCore::RenderObject::setPosChildNeedsLayout):
2090         (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
2091         (WebCore::RenderObject::setChildNeedsLayout):
2092         * rendering/RenderReplaced.cpp:
2093         (WebCore::RenderReplaced::layout):
2094         * rendering/RenderReplica.cpp:
2095         (WebCore::RenderReplica::layout):
2096         * rendering/RenderRubyRun.cpp:
2097         (WebCore::RenderRubyRun::layoutSpecialExcludedChild):
2098         * rendering/RenderScrollbar.cpp:
2099         (WebCore::RenderScrollbar::updateScrollbarParts):
2100         * rendering/RenderScrollbarPart.cpp:
2101         (WebCore::RenderScrollbarPart::layout):
2102         * rendering/RenderTable.cpp:
2103         (WebCore::RenderTable::layout):
2104         * rendering/RenderTable.h:
2105         (WebCore::RenderTable::setNeedsSectionRecalc):
2106         * rendering/RenderTableCell.cpp:
2107         (WebCore::RenderTableCell::computeIntrinsicPadding):
2108         (WebCore::RenderTableCell::setCellLogicalWidth):
2109         (WebCore::RenderTableCell::layout):
2110         * rendering/RenderTableRow.cpp:
2111         (WebCore::RenderTableRow::styleDidChange):
2112         (WebCore::RenderTableRow::layout):
2113         * rendering/RenderTableSection.cpp:
2114         (WebCore::RenderTableSection::calcRowLogicalHeight):
2115         (WebCore::RenderTableSection::layout):
2116         (WebCore::RenderTableSection::layoutRows):
2117         (WebCore::RenderTableSection::recalcCells):
2118         * rendering/RenderTextControl.cpp:
2119         (WebCore::RenderTextControl::layoutSpecialExcludedChild):
2120         * rendering/RenderTextControlSingleLine.cpp:
2121         (WebCore::setNeedsLayoutOnAncestors):
2122         (WebCore::RenderTextControlSingleLine::layout):
2123         (WebCore::RenderTextControlSingleLine::styleDidChange):
2124         * rendering/RenderVideo.cpp:
2125         (WebCore::RenderVideo::updateIntrinsicSize):
2126         * rendering/RenderView.cpp:
2127         (WebCore::RenderView::layout):
2128         * rendering/RenderWidget.cpp:
2129         (WebCore::RenderWidget::layout):
2130         * rendering/mathml/RenderMathMLBlock.cpp:
2131         (WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):
2132         * rendering/mathml/RenderMathMLScripts.cpp:
2133         (WebCore::RenderMathMLScripts::layout):
2134         * rendering/svg/RenderSVGContainer.cpp:
2135         (WebCore::RenderSVGContainer::layout):
2136         * rendering/svg/RenderSVGGradientStop.cpp:
2137         (WebCore::RenderSVGGradientStop::layout):
2138         * rendering/svg/RenderSVGHiddenContainer.cpp:
2139         (WebCore::RenderSVGHiddenContainer::layout):
2140         * rendering/svg/RenderSVGImage.cpp:
2141         (WebCore::RenderSVGImage::layout):
2142         * rendering/svg/RenderSVGResource.cpp:
2143         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
2144         * rendering/svg/RenderSVGResourceContainer.cpp:
2145         (WebCore::RenderSVGResourceContainer::registerResource):
2146         * rendering/svg/RenderSVGRoot.cpp:
2147         (WebCore::RenderSVGRoot::layout):
2148         * rendering/svg/RenderSVGShape.cpp:
2149         (WebCore::RenderSVGShape::layout):
2150         * rendering/svg/RenderSVGText.cpp:
2151         (WebCore::RenderSVGText::layout):
2152         * rendering/svg/SVGRenderSupport.cpp:
2153         (WebCore::SVGRenderSupport::layoutChildren):
2154         * svg/SVGClipPathElement.cpp:
2155         (WebCore::SVGClipPathElement::svgAttributeChanged):
2156         (WebCore::SVGClipPathElement::childrenChanged):
2157         * svg/SVGFilterElement.cpp:
2158         (WebCore::SVGFilterElement::setFilterRes):
2159         (WebCore::SVGFilterElement::svgAttributeChanged):
2160         (WebCore::SVGFilterElement::childrenChanged):
2161         * svg/SVGGradientElement.cpp:
2162         (WebCore::SVGGradientElement::svgAttributeChanged):
2163         (WebCore::SVGGradientElement::childrenChanged):
2164         * svg/SVGLinearGradientElement.cpp:
2165         (WebCore::SVGLinearGradientElement::svgAttributeChanged):
2166         * svg/SVGMarkerElement.cpp:
2167         (WebCore::SVGMarkerElement::svgAttributeChanged):
2168         (WebCore::SVGMarkerElement::childrenChanged):
2169         * svg/SVGMaskElement.cpp:
2170         (WebCore::SVGMaskElement::svgAttributeChanged):
2171         (WebCore::SVGMaskElement::childrenChanged):
2172         * svg/SVGPatternElement.cpp:
2173         (WebCore::SVGPatternElement::svgAttributeChanged):
2174         (WebCore::SVGPatternElement::childrenChanged):
2175         * svg/SVGRadialGradientElement.cpp:
2176         (WebCore::SVGRadialGradientElement::svgAttributeChanged):
2177         * svg/SVGSVGElement.cpp:
2178         (WebCore::SVGSVGElement::updateCurrentTranslate):
2179
2180 2013-10-02  Andreas Kling  <akling@apple.com>
2181
2182         Keep SVGElementRareData in an SVGElement member instead of a hashmap.
2183         <https://webkit.org/b/122253>
2184
2185         Reviewed by Antti Koivisto.
2186
2187         Free up another Node flag by moving SVGElement's SVG-specific rare data
2188         to a member variable instead of tracking them in a hashmap on the side.
2189
2190         This grows SVGElement by one pointer, but I will make up for this in
2191         subsequent patches.
2192
2193 2013-10-02  Antti Koivisto  <antti@apple.com>
2194
2195         Move setting of some layout bits to RenderElement
2196         https://bugs.webkit.org/show_bug.cgi?id=122256
2197
2198         Reviewed by Andreas Kling.
2199         
2200         These bits never apply to RenderText nodes:
2201         
2202         normalChildNeedsLayout
2203         posChildNeedsLayout
2204         needsSimplifiedNormalFlowLayout
2205         normalChildNeedsLayout
2206         positionedMovementLayout
2207
2208         The code for setting them can be moved to RenderElement.
2209
2210         Also separated the code paths for setting and clearing the bits and uninlined
2211         everything that is not massively popular.
2212
2213 2013-10-02  Andreas Kling  <akling@apple.com>
2214
2215         CTTE: Drag events are only dispatched on Elements.
2216         <https://webkit.org/b/122250>
2217
2218         Reviewed by Antti Koivisto.
2219
2220         We never dispatch drag events on non-Element nodes so tighten up the
2221         code to operate on Elements instead.
2222
2223 2013-10-02  Hans Muller  <hmuller@adobe.com>
2224
2225         [CSS Shapes] Implement the shape-image-threshold property
2226         https://bugs.webkit.org/show_bug.cgi?id=122216
2227
2228         Reviewed by Andreas Kling.
2229
2230         Added support for the CSS shape-image-threshold property. This change
2231         just enables parsing the property, it's not connected to the
2232         Shapes code yet.
2233
2234         The number valued shape-image-threshold property is defined here:
2235         http://dev.w3.org/csswg/css-shapes-1/#shape-image-threshold-property
2236         Its computed value is clamped to the range [0, 1].
2237
2238         Test: fast/shapes/parsing/parsing-shape-image-threshold.html
2239
2240         * css/CSSComputedStyleDeclaration.cpp:
2241         (WebCore::ComputedStyleExtractor::propertyValue):
2242         * css/CSSParser.cpp:
2243         (WebCore::CSSParser::parseValue):
2244         * css/CSSPropertyNames.in:
2245         * css/DeprecatedStyleBuilder.cpp:
2246         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2247         * css/StyleResolver.cpp:
2248         (WebCore::StyleResolver::applyProperty):
2249         * rendering/style/RenderStyle.h:
2250         * rendering/style/StyleRareNonInheritedData.cpp:
2251         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2252         (WebCore::StyleRareNonInheritedData::operator==):
2253         * rendering/style/StyleRareNonInheritedData.h:
2254
2255 2013-10-02  Andreas Kling  <akling@apple.com>
2256
2257         Remove Qt-specific code in WebCore/plugins.
2258         <https://webkit.org/b/122247>
2259
2260         Reviewed by Anders Carlsson.
2261
2262         Purge PLATFORM(QT) blocks and Qt-specific files.
2263
2264 2013-10-02  Eric Carlson  <eric.carlson@apple.com>
2265
2266         IDL parser should remove a leading "_" from identifier names
2267         https://bugs.webkit.org/show_bug.cgi?id=122239
2268
2269         Reviewed by Jer Noble.
2270
2271         No new tests, updated bindings tests and results.
2272
2273         * bindings/scripts/IDLParser.pm:
2274         (identifierRemoveNullablePrefix): Remove leading "_".
2275         (parseInterface): Call identifierRemoveNullablePrefix.
2276         (parseException): Ditto.
2277         (parseEnum): Ditto.
2278         (parseConst): Ditto.
2279         (parseAttributeRest): Ditto.
2280         (parseOperationRest): Ditto.
2281         (parseOptionalOrRequiredArgument): Ditto.
2282         (parseExceptionField): Ditto.
2283         (parseNonAnyType): Ditto.
2284
2285         Update tests and results.
2286         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2287         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2288         * bindings/scripts/test/CPP/WebDOMattribute.cpp: Added.
2289         * bindings/scripts/test/CPP/WebDOMattribute.h: Added.
2290         * bindings/scripts/test/CPP/WebDOMreadonly.cpp: Added.
2291         * bindings/scripts/test/CPP/WebDOMreadonly.h: Added.
2292         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2293         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2294         * bindings/scripts/test/GObject/WebKitDOMTestObj.symbols:
2295         * bindings/scripts/test/GObject/WebKitDOMattribute.cpp: Added.
2296         * bindings/scripts/test/GObject/WebKitDOMattribute.h: Added.
2297         * bindings/scripts/test/GObject/WebKitDOMattribute.symbols: Added.
2298         * bindings/scripts/test/GObject/WebKitDOMattributePrivate.h: Added.
2299         * bindings/scripts/test/GObject/WebKitDOMreadonly.cpp: Added.
2300         * bindings/scripts/test/GObject/WebKitDOMreadonly.h: Added.
2301         * bindings/scripts/test/GObject/WebKitDOMreadonly.symbols: Added.
2302         * bindings/scripts/test/GObject/WebKitDOMreadonlyPrivate.h: Added.
2303         * bindings/scripts/test/JS/JSTestObj.cpp:
2304         * bindings/scripts/test/JS/JSTestObj.h:
2305         * bindings/scripts/test/JS/JSattribute.cpp: Added.
2306         * bindings/scripts/test/JS/JSattribute.h: Added.
2307         * bindings/scripts/test/JS/JSreadonly.cpp: Added.
2308         * bindings/scripts/test/JS/JSreadonly.h: Added.
2309         * bindings/scripts/test/ObjC/DOMTestObj.h:
2310         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2311         * bindings/scripts/test/ObjC/DOMattribute.h: Added.
2312         * bindings/scripts/test/ObjC/DOMattribute.mm: Added.
2313         * bindings/scripts/test/ObjC/DOMattributeInternal.h: Added.
2314         * bindings/scripts/test/ObjC/DOMreadonly.h: Added.
2315         * bindings/scripts/test/ObjC/DOMreadonly.mm: Added.
2316         * bindings/scripts/test/ObjC/DOMreadonlyInternal.h: Added.
2317         * bindings/scripts/test/TestException.idl:
2318         * bindings/scripts/test/TestInterface.idl:
2319         * bindings/scripts/test/TestObj.idl:
2320
2321 2013-10-02  Andreas Kling  <akling@apple.com>
2322
2323         Remove Qt-specific code in WebCore/{bindings,bridge,loader,icon,testing}.
2324         <https://webkit.org/b/122242>
2325
2326         Reviewed by Anders Carlsson.
2327
2328         Purge PLATFORM(QT) blocks and Qt-specific files.
2329
2330 2013-10-02  Andreas Kling  <akling@apple.com>
2331
2332         Remove Qt-specific code in WebCore/{page,accessibility}.
2333         <https://webkit.org/b/122222>
2334
2335         Reviewed by Anders Carlsson.
2336
2337         Purge PLATFORM(QT) blocks and FooBarQt.* files.
2338
2339 2013-10-02  Zoltan Horvath  <zoltan@webkit.org>
2340
2341         [CSS Shapes] Move ShapeInsideInfo::updateSegmentsForLine implementations into the cpp
2342         https://bugs.webkit.org/show_bug.cgi?id=122236
2343
2344         Reviewed by Oliver Hunt.
2345
2346         There is no reason for updateSegmentsForLine methods to be inline. I moved them to the cpp.
2347
2348         No new tests, no behavior change.
2349
2350         * rendering/shapes/ShapeInsideInfo.cpp:
2351         (WebCore::ShapeInsideInfo::updateSegmentsForLine):
2352         * rendering/shapes/ShapeInsideInfo.h:
2353
2354 2013-10-02  Andreas Kling  <akling@apple.com>
2355
2356         Remove Qt from WebCore/platform.
2357         <https://webkit.org/b/122228>
2358
2359         Reviewed by Anders Carlsson.
2360
2361         Purge PLATFORM(QT) blocks and FooBarQt.* files.
2362
2363 2013-10-02  Tim Horton  <timothy_horton@apple.com>
2364
2365         [mac] Stop using DrawingAreaImpl on PLATFORM(MAC) 
2366         https://bugs.webkit.org/show_bug.cgi?id=121859
2367         <rdar://problem/15069359>
2368
2369         Reviewed by Anders Carlsson.
2370
2371         Test: platform/mac-wk2/tiled-drawing/window-server-snapshots-work.html
2372
2373         * page/FrameView.cpp:
2374         (WebCore::FrameView::addTrackedRepaintRect):
2375         (WebCore::FrameView::repaintContentRectangle):
2376         * page/FrameView.h:
2377         Factor out the coordinate conversion and appending of new repaint rects on FrameView.
2378
2379         * platform/graphics/GraphicsLayer.cpp:
2380         (WebCore::GraphicsLayer::dumpProperties):
2381         * rendering/RenderLayerBacking.cpp:
2382         (WebCore::RenderLayerBacking::shouldDumpPropertyForLayer):
2383         Don't dump repaint rects on the root tile cache, they'll be included at the top,
2384         where FrameView's repaints are normally included.
2385
2386         * rendering/RenderLayerBacking.cpp:
2387         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
2388         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
2389         Push the root tile cache's tracked repaint rects to FrameView instead.
2390
2391 2013-10-02  Benjamin Poulain  <benjamin@webkit.org>
2392
2393         Clean up more <style scoped> from style resolution
2394         https://bugs.webkit.org/show_bug.cgi?id=122188
2395
2396         Reviewed by Darin Adler.
2397
2398         * css/ElementRuleCollector.cpp:
2399         (WebCore::MatchRequest::MatchRequest):
2400         (WebCore::ElementRuleCollector::collectMatchingRules):
2401         (WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
2402         (WebCore::ElementRuleCollector::matchAuthorRules):
2403         (WebCore::ElementRuleCollector::ruleMatches):
2404         (WebCore::ElementRuleCollector::doCollectMatchingRulesForList):
2405         * css/ElementRuleCollector.h:
2406         * css/SelectorChecker.cpp:
2407         (WebCore::SelectorChecker::matchRecursively):
2408         * css/SelectorChecker.h:
2409         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
2410         * dom/SelectorQuery.cpp:
2411         (WebCore::SelectorDataList::selectorMatches):
2412
2413 2013-10-02  Anders Carlsson  <andersca@apple.com>
2414
2415         Update bindings test results.
2416
2417         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2418         (WebCore::JSTestActiveDOMObjectOwner::finalize):
2419         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
2420         (WebCore::wrapperOwner):
2421         (WebCore::wrapperContext):
2422         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2423         (WebCore::JSTestCustomNamedGetterOwner::finalize):
2424         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
2425         (WebCore::wrapperOwner):
2426         (WebCore::wrapperContext):
2427         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2428         (WebCore::JSTestEventConstructorOwner::finalize):
2429         * bindings/scripts/test/JS/JSTestEventConstructor.h:
2430         (WebCore::wrapperOwner):
2431         (WebCore::wrapperContext):
2432         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2433         (WebCore::JSTestEventTargetOwner::finalize):
2434         * bindings/scripts/test/JS/JSTestEventTarget.h:
2435         (WebCore::wrapperOwner):
2436         (WebCore::wrapperContext):
2437         * bindings/scripts/test/JS/JSTestException.cpp:
2438         (WebCore::JSTestExceptionOwner::finalize):
2439         * bindings/scripts/test/JS/JSTestException.h:
2440         (WebCore::wrapperOwner):
2441         (WebCore::wrapperContext):
2442         * bindings/scripts/test/JS/JSTestInterface.cpp:
2443         (WebCore::JSTestInterfaceOwner::finalize):
2444         * bindings/scripts/test/JS/JSTestInterface.h:
2445         (WebCore::wrapperOwner):
2446         (WebCore::wrapperContext):
2447         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2448         (WebCore::JSTestMediaQueryListListenerOwner::finalize):
2449         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2450         (WebCore::wrapperOwner):
2451         (WebCore::wrapperContext):
2452         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2453         (WebCore::JSTestNamedConstructorOwner::finalize):
2454         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
2455         (WebCore::wrapperOwner):
2456         (WebCore::wrapperContext):
2457         * bindings/scripts/test/JS/JSTestObj.cpp:
2458         (WebCore::JSTestObjOwner::finalize):
2459         * bindings/scripts/test/JS/JSTestObj.h:
2460         (WebCore::wrapperOwner):
2461         (WebCore::wrapperContext):
2462         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2463         (WebCore::JSTestOverloadedConstructorsOwner::finalize):
2464         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
2465         (WebCore::wrapperOwner):
2466         (WebCore::wrapperContext):
2467         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2468         (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
2469         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2470         (WebCore::wrapperOwner):
2471         (WebCore::wrapperContext):
2472         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2473         (WebCore::JSTestTypedefsOwner::finalize):
2474         * bindings/scripts/test/JS/JSTestTypedefs.h:
2475         (WebCore::wrapperOwner):
2476         (WebCore::wrapperContext):
2477
2478 2013-10-02  Andreas Kling  <akling@apple.com>
2479
2480         Remove Qt-specific code in WebCore/{rendering,editing,history}.
2481         <https://webkit.org/b/122220>
2482
2483         Reviewed by Anders Carlsson.
2484
2485         Purge PLATFORM(QT) blocks and FooBarQt.* files.
2486
2487 2013-10-02  Andreas Kling  <akling@apple.com>
2488
2489         Remove Qt-specific code in common WebCore/{html,dom} files.
2490         <https://webkit.org/b/122219>
2491
2492         Reviewed by Anders Carlsson.
2493
2494         Purge PLATFORM(QT) blocks.
2495
2496 2013-10-01  Sam Weinig  <sam@webkit.org>
2497
2498         CTTE: DOMWrapperWorlds should be passed around by reference
2499         https://bugs.webkit.org/show_bug.cgi?id=122206
2500
2501         Reviewed by Andreas Kling.
2502
2503         * bindings/js/DOMWrapperWorld.cpp:
2504         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
2505         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
2506         (WebCore::DOMWrapperWorld::clearWrappers):
2507         (WebCore::normalWorld):
2508         (WebCore::mainThreadNormalWorld):
2509         * bindings/js/DOMWrapperWorld.h:
2510         (WebCore::debuggerWorld):
2511         (WebCore::pluginWorld):
2512         (WebCore::currentWorld):
2513         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2514         (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
2515         * bindings/js/JSCSSValueCustom.cpp:
2516         (WebCore::JSCSSValueOwner::finalize):
2517         * bindings/js/JSDOMBinding.h:
2518         (WebCore::wrapperOwner):
2519         (WebCore::wrapperContext):
2520         (WebCore::getInlineCachedWrapper):
2521         (WebCore::setInlineCachedWrapper):
2522         (WebCore::clearInlineCachedWrapper):
2523         (WebCore::getCachedWrapper):
2524         (WebCore::cacheWrapper):
2525         (WebCore::uncacheWrapper):
2526         (WebCore::jsStringWithCache):
2527         * bindings/js/JSDOMGlobalObject.cpp:
2528         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
2529         (WebCore::toJSDOMGlobalObject):
2530         * bindings/js/JSDOMGlobalObject.h:
2531         (WebCore::JSDOMGlobalObject::world):
2532         * bindings/js/JSDOMWindowBase.cpp:
2533         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2534         (WebCore::toJSDOMWindow):
2535         * bindings/js/JSDOMWindowBase.h:
2536         * bindings/js/JSDOMWindowShell.cpp:
2537         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2538         (WebCore::JSDOMWindowShell::setWindow):
2539         (WebCore::toJSDOMWindowShell):
2540         * bindings/js/JSDOMWindowShell.h:
2541         (WebCore::JSDOMWindowShell::create):
2542         (WebCore::JSDOMWindowShell::world):
2543         * bindings/js/JSErrorHandler.cpp:
2544         (WebCore::JSErrorHandler::JSErrorHandler):
2545         * bindings/js/JSErrorHandler.h:
2546         (WebCore::JSErrorHandler::create):
2547         * bindings/js/JSEventListener.cpp:
2548         (WebCore::JSEventListener::JSEventListener):
2549         (WebCore::JSEventListener::handleEvent):
2550         * bindings/js/JSEventListener.h:
2551         (WebCore::JSEventListener::create):
2552         (WebCore::JSEventListener::isolatedWorld):
2553         * bindings/js/JSInjectedScriptHostCustom.cpp:
2554         (WebCore::getJSListenerFunctions):
2555         * bindings/js/JSLazyEventListener.cpp:
2556         (WebCore::JSLazyEventListener::JSLazyEventListener):
2557         * bindings/js/JSLazyEventListener.h:
2558         * bindings/js/JSMutationCallback.cpp:
2559         (WebCore::JSMutationCallback::JSMutationCallback):
2560         (WebCore::JSMutationCallback::call):
2561         * bindings/js/JSNodeCustom.cpp:
2562         (WebCore::JSNodeOwner::finalize):
2563         * bindings/js/JSPluginElementFunctions.h:
2564         (WebCore::pluginElementCustomGetOwnPropertySlot):
2565         * bindings/js/JSWorkerGlobalScopeBase.cpp:
2566         (WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
2567         * bindings/js/ScheduledAction.cpp:
2568         (WebCore::ScheduledAction::create):
2569         (WebCore::ScheduledAction::ScheduledAction):
2570         (WebCore::ScheduledAction::execute):
2571         * bindings/js/ScheduledAction.h:
2572         (WebCore::ScheduledAction::ScheduledAction):
2573         * bindings/js/ScriptCachedFrameData.cpp:
2574         (WebCore::ScriptCachedFrameData::restore):
2575         * bindings/js/ScriptCachedFrameData.h:
2576         * bindings/js/ScriptController.cpp:
2577         (WebCore::ScriptController::~ScriptController):
2578         (WebCore::ScriptController::destroyWindowShell):
2579         (WebCore::ScriptController::createWindowShell):
2580         (WebCore::ScriptController::evaluateInWorld):
2581         (WebCore::ScriptController::getAllWorlds):
2582         (WebCore::ScriptController::initScript):
2583         (WebCore::ScriptController::executeScriptInWorld):
2584         (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
2585         * bindings/js/ScriptController.h:
2586         (WebCore::ScriptController::windowShell):
2587         (WebCore::ScriptController::existingWindowShell):
2588         (WebCore::ScriptController::globalObject):
2589         * bindings/js/ScriptDebugServer.cpp:
2590         (WebCore::ScriptDebugServer::isContentScript):
2591         * bindings/js/ScriptState.cpp:
2592         (WebCore::execStateFromNode):
2593         (WebCore::execStateFromPage):
2594         * bindings/js/ScriptState.h:
2595         * bindings/js/SerializedScriptValue.cpp:
2596         (WebCore::SerializedScriptValue::transferArrayBuffers):
2597         * bindings/js/WebCoreJSClientData.h:
2598         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
2599         (WebCore::WebCoreJSClientData::normalWorld):
2600         (WebCore::WebCoreJSClientData::getAllWorlds):
2601         (WebCore::WebCoreJSClientData::rememberWorld):
2602         (WebCore::WebCoreJSClientData::forgetWorld):
2603         * bindings/js/WebCoreTypedArrayController.cpp:
2604         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):
2605         * bindings/scripts/CodeGeneratorJS.pm:
2606         (GenerateHeader):
2607         (GenerateImplementation):
2608         * dom/Document.cpp:
2609         (WebCore::Document::ensurePlugInsInjectedScript):
2610         * dom/Document.h:
2611         * dom/DocumentStyleSheetCollection.cpp:
2612         * html/HTMLMediaElement.cpp:
2613         (WebCore::HTMLMediaElement::ensureIsolatedWorld):
2614         (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript):
2615         (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
2616         * html/HTMLMediaElement.h:
2617         * html/HTMLPlugInImageElement.cpp:
2618         (WebCore::plugInImageElementIsolatedWorld):
2619         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
2620         * inspector/InspectorAgent.cpp:
2621         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
2622         * inspector/InspectorAgent.h:
2623         * inspector/InspectorController.cpp:
2624         (WebCore::InspectorController::didClearWindowObjectInWorld):
2625         * inspector/InspectorController.h:
2626         * inspector/InspectorDOMAgent.cpp:
2627         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
2628         * inspector/InspectorInstrumentation.cpp:
2629         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
2630         * inspector/InspectorInstrumentation.h:
2631         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
2632         * inspector/InspectorPageAgent.cpp:
2633         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
2634         * inspector/InspectorPageAgent.h:
2635         * loader/EmptyClients.h:
2636         (WebCore::EmptyFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
2637         * loader/FrameLoader.cpp:
2638         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
2639         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
2640         (WebCore::FrameLoader::dispatchGlobalObjectAvailableInAllWorlds):
2641         * loader/FrameLoader.h:
2642         * loader/FrameLoaderClient.h:
2643         (WebCore::FrameLoaderClient::dispatchGlobalObjectAvailable):
2644         * page/CaptionUserPreferencesMediaAF.cpp:
2645         * page/DOMWindowExtension.cpp:
2646         (WebCore::DOMWindowExtension::DOMWindowExtension):
2647         * page/DOMWindowExtension.h:
2648         (WebCore::DOMWindowExtension::create):
2649         (WebCore::DOMWindowExtension::world):
2650         * page/Frame.cpp:
2651         (WebCore::Frame::injectUserScripts):
2652         (WebCore::Frame::injectUserScriptsForWorld):
2653         * page/Frame.h:
2654         * page/PageGroup.cpp:
2655         (WebCore::PageGroup::addUserScriptToWorld):
2656         (WebCore::PageGroup::addUserStyleSheetToWorld):
2657         (WebCore::PageGroup::removeUserScriptFromWorld):
2658         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
2659         (WebCore::PageGroup::removeUserScriptsFromWorld):
2660         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
2661         * page/PageGroup.h:
2662
2663 2013-10-02  Zan Dobersek  <zdobersek@igalia.com>
2664
2665         Unreviewed, removing references to the recently removed Modules/filesystem directory.
2666
2667         * GNUmakefile.am:
2668
2669 2013-10-02  Mihai Maerean  <mmaerean@adobe.com>
2670
2671         [CSS Regions] Activate all regions to have layers, as CSS Regions create a new stacking context
2672         https://bugs.webkit.org/show_bug.cgi?id=121828
2673
2674         Reviewed by Darin Adler.
2675
2676         The CSS Regions specification says "CSS Regions create a new stacking context." (http://dev.w3.org/csswg/css-regions/).
2677
2678         Divs that create stacking contexts are painted after the divs that don't create stacking contexts.
2679
2680         Test: fast/regions/layers/stacking-context-paint-order.html: While the existing region-sibling-paint-order.html
2681         test verifies that regions paint correctly when the next sibling also creates a stacking context, this new test
2682         verifies that regions paint correctly when the next sibling doesn't create a stacking context.
2683
2684         * rendering/RenderBlock.cpp: Remove code that is not needed now that all regions have layers.
2685         * rendering/RenderBlock.h: Remove code that is not needed now that all regions have layers.
2686         * rendering/RenderBox.cpp: Remove code that is not needed now that all regions have layers.
2687         * rendering/RenderBox.h: Remove code that is not needed now that all regions have layers.
2688         * rendering/RenderFlowThread.cpp:
2689         (WebCore::RenderFlowThread::updateLayerToRegionMappings): Remove code that is not needed now that all regions have layers.
2690         * rendering/RenderRegion.cpp:
2691         (WebCore::RenderRegion::RenderRegion):
2692         * rendering/RenderRegion.h:
2693         (WebCore::RenderRegion::requiresLayer): Always. CSS Regions create Stacking Contexts. RenderMultiColumnSet
2694         implements its own behaviour so the behaviour of each class is contained within its own files.
2695         * rendering/RenderMultiColumnSet.h:
2696         (WebCore::RenderMultiColumnSet::requiresLayer): RenderMultiColumnSet derives from RenderRegion, but unlike the
2697         CSS Regions specification, the Multi-Columns CSS specification states that the column boxes do not establish new
2698         Stacking Contexts.
2699         * rendering/RenderTreeAsText.cpp:
2700         (WebCore::writeRenderRegionList): There's no need to output " hasLayer" since all regions now have layers.
2701
2702 2013-10-02  Renata Hodovan  <reni@webkit.org>
2703
2704         HTML listbox is not resized horizontally when zooming
2705         https://bugs.webkit.org/show_bug.cgi?id=20445
2706
2707         Reviewed by Darin Adler.
2708
2709         If any style changes happens on a HTMLSelectElement, we need to set the m_optionsChanged property
2710         of its renderer (RenderListBox) otherwise its size won't follow the changed content.
2711
2712         Test: fast/transforms/listbox-zoom.html
2713
2714         * html/HTMLSelectElement.cpp:
2715         (WebCore::HTMLSelectElement::didRecalcStyle):
2716         * html/HTMLSelectElement.h:
2717
2718 2013-10-01  Santosh Mahto  <santosh.ma@samsung.com>
2719
2720         contenteditable justify commands applied to next paragraph as well
2721         https://bugs.webkit.org/show_bug.cgi?id=90611
2722
2723         Reviewed by Ryosuke Niwa.
2724
2725         When the selection extends from first paragraph to start of next
2726         paragraph then Justify command is applied to both the paragraph,
2727         Instead it should be applied only to first paragraph.
2728
2729         Co-author: Sudarshan C P <sudarshan.cp@samsung.com>
2730
2731         Test: editing/execCommand/contenteditable-justify-next-paragraph.html
2732
2733         * editing/ApplyStyleCommand.cpp:
2734         (WebCore::ApplyStyleCommand::applyBlockStyle):
2735         Adjusted visibleEnd to previous position.
2736
2737 2013-10-01  Andreas Kling  <akling@apple.com>
2738
2739         Move mouse event dispatch from Node to Element.
2740         <https://webkit.org/b/122203>
2741
2742         Reviewed by Anders Carlsson.
2743
2744         We never dispatch mouse events on text or other non-element nodes,
2745         so move the related logic to using Element.
2746
2747         Node::dispatchMouseEvent() moves to Element. I also changed the
2748         relatedTarget argument to be an Element* since the related target
2749         is never a Node either.
2750
2751         Most of this patch is *Node -> *Element renames in EventHandler.
2752
2753 2013-10-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2754
2755         Generate toCSSFooValue for CSS child values
2756         https://bugs.webkit.org/show_bug.cgi?id=122157
2757
2758         Reviewed by Darin Adler.
2759
2760         As a step to cleanup static_cast<> for CSSFooValue, this patch adds toCSSFooValue()
2761         for "CSSAspectRatioValue, CSSBorderImageSliceValue, CSSFunctionValue, CSSInheritedValue,
2762         CSSValueList, CSSVariableValue, and CSSFontFaceSrcValue".
2763
2764         To use CSS_VALUE_TYPE_CASTS, isFunctionValue(), isFontFaceSrcValue() are added to
2765         generate toCSSFunctionValue, toCSSFontFaceSrcValue().
2766
2767         No new tests, no behavior changes.
2768
2769         * css/CSSAspectRatioValue.h:
2770         * css/CSSBorderImageSliceValue.h:
2771         * css/CSSFontFaceSrcValue.h:
2772         * css/CSSFontSelector.cpp:
2773         (WebCore::CSSFontSelector::addFontFaceRule):
2774         * css/CSSFunctionValue.h:
2775         * css/CSSInheritedValue.h:
2776         * css/CSSParser.cpp:
2777         (WebCore::filterProperties):
2778         (WebCore::CSSParser::addFillValue):
2779         (WebCore::CSSParser::addAnimationValue):
2780         (WebCore::CSSParser::createFontFaceRule):
2781         * css/CSSProperty.cpp:
2782         (WebCore::CSSProperty::wrapValueInCommaSeparatedList):
2783         * css/CSSToStyleMap.cpp:
2784         (WebCore::CSSToStyleMap::mapNinePieceImage):
2785         (WebCore::CSSToStyleMap::mapNinePieceImageSlice):
2786         * css/CSSValue.cpp:
2787         (WebCore::CSSValue::destroy):
2788         * css/CSSValue.h:
2789         (WebCore::CSSValue::isFunctionValue):
2790         (WebCore::CSSValue::isFontFaceSrcValue):
2791         * css/CSSValueList.h:
2792         (WebCore::CSSValueListInspector::CSSValueListInspector):
2793         * css/CSSVariableValue.h:
2794         * css/DeprecatedStyleBuilder.cpp:
2795         (WebCore::ApplyPropertyFillLayer::applyValue):
2796         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
2797         (WebCore::ApplyPropertyCounter::applyValue):
2798         (WebCore::ApplyPropertyCursor::applyValue):
2799         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
2800         (WebCore::ApplyPropertyAspectRatio::applyValue):
2801         (WebCore::ApplyPropertyImageResolution::applyValue):
2802         (WebCore::ApplyPropertyTextIndent::applyValue):
2803         * css/MediaQueryEvaluator.cpp:
2804         (WebCore::compareAspectRatioValue):
2805         * css/SVGCSSStyleSelector.cpp:
2806         (WebCore::StyleResolver::applySVGProperty):
2807         * css/StylePropertySet.cpp:
2808         (WebCore::StylePropertySet::getLayeredShorthandValue):
2809         * css/StyleResolver.cpp:
2810         (WebCore::createGridPosition):
2811         (WebCore::StyleResolver::applyProperty):
2812         (WebCore::StyleResolver::parseCustomFilterParameter):
2813         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
2814         * editing/EditingStyle.cpp:
2815         (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
2816         (WebCore::EditingStyle::mergeStyle):
2817         (WebCore::StyleChange::extractTextStyles):
2818         (WebCore::diffTextDecorations):
2819         * editing/EditorCommand.cpp:
2820         (WebCore::executeToggleStyleInList):
2821         * svg/SVGFontFaceElement.cpp:
2822         (WebCore::SVGFontFaceElement::rebuildFontFace):
2823
2824 2013-10-01  Sam Weinig  <sam@webkit.org>
2825
2826         Convert PageGroup to using std::unique_ptr
2827         https://bugs.webkit.org/show_bug.cgi?id=122184
2828
2829         Reviewed by Anders Carlsson.
2830
2831         * page/CaptionUserPreferences.cpp:
2832         * page/CaptionUserPreferences.h:
2833         * page/CaptionUserPreferencesMediaAF.cpp:
2834         * page/CaptionUserPreferencesMediaAF.h:
2835         * page/Frame.cpp:
2836         * page/GroupSettings.h:
2837         * page/Page.cpp:
2838         * page/PageGroup.cpp:
2839         * page/PageGroup.h:
2840         * page/UserScriptTypes.h:
2841         * page/UserStyleSheetTypes.h:
2842         * workers/DedicatedWorkerGlobalScope.h:
2843         * workers/DedicatedWorkerThread.cpp:
2844         * workers/DedicatedWorkerThread.h:
2845         * workers/SharedWorkerGlobalScope.cpp:
2846         * workers/SharedWorkerGlobalScope.h:
2847         * workers/SharedWorkerThread.cpp:
2848         * workers/SharedWorkerThread.h:
2849         * workers/WorkerGlobalScope.cpp:
2850         * workers/WorkerGlobalScope.h:
2851         * workers/WorkerThread.cpp:
2852         * workers/WorkerThread.h:
2853
2854 2013-10-01  Tim Horton  <timothy_horton@apple.com>
2855
2856         Tiled drawing GraphicsLayer tree dumps should match non-tiled more closely
2857         https://bugs.webkit.org/show_bug.cgi?id=122172
2858
2859         Reviewed by Anders Carlsson.
2860
2861         No new tests, but will be tested by all of the compositing tests after bug 121859 lands.
2862
2863         * platform/graphics/GraphicsLayer.cpp:
2864         (WebCore::GraphicsLayer::dumpProperties):
2865         Only dump drawsContent and backgroundColor if the client says we should.
2866         Provide the ability to skip over a layer in the dump, making it appear as if that layer's
2867         children are direct decendents of that layer's parent.
2868
2869         * platform/graphics/GraphicsLayerClient.h:
2870         (WebCore::GraphicsLayerClient::shouldSkipLayerInDump): Added.
2871         (WebCore::GraphicsLayerClient::shouldDumpPropertyForLayer): Added.
2872
2873         * rendering/RenderLayerBacking.cpp:
2874         (WebCore::RenderLayerBacking::shouldSkipLayerInDump):
2875         Added. Always skip the root tile cache's flattening layer, as it is
2876         uninteresting and does not exist in the non-tiled-drawing compositing case.
2877
2878         (WebCore::RenderLayerBacking::shouldDumpPropertyForLayer):
2879         Don't dump drawsContent on the root tile cache.
2880         Don't dump backgroundcolor on the root tile cache, unless it is non-white.
2881         This may require some WebKit2-specific rebaselines, but they will occur later.
2882
2883         * rendering/RenderLayerBacking.h:
2884         * rendering/RenderLayerCompositor.cpp:
2885         (WebCore::RenderLayerCompositor::updateBacking):
2886         (WebCore::RenderLayerCompositor::layerTreeAsText):
2887         If the root tile cache has no composited children, don't dump anything,
2888         to match the traditional case where we drop out of compositing when
2889         we have no reason to be compositing. Except, do dump the root tile cache's
2890         layers if we're specifically being asked to dump tile caches.
2891
2892 2013-10-01  Joone Hur  <joone.hur@intel.com>
2893
2894         Quirksmode: CSS1: WebKit fails dynamic :first-letter test
2895         https://bugs.webkit.org/show_bug.cgi?id=15602
2896
2897         Reviewed by David Hyatt.
2898
2899         CSS first-letter property does not work properly when the first letter is changed 
2900         by DOM scripting. 
2901         This patch allows to check if the existing first-letter is no longer the
2902         first-letter. In this case, it deletes the old first-letter object and creates 
2903         a new one. For the remaining text, the oldRemainingText object is used 
2904         again for containing the full text(first letter + remaining text). 
2905
2906         Test: fast/css/first-letter-block-change.html
2907
2908         * rendering/RenderBlock.cpp:
2909         (WebCore::RenderBlock::updateFirstLetter):
2910
2911 2013-10-01  Antti Koivisto  <antti@apple.com>
2912
2913         Make tests for renderer base types non-virtual
2914         https://bugs.webkit.org/show_bug.cgi?id=122185
2915
2916         Reviewed by Dave Hyatt.
2917
2918         Make isRenderFoo() functions for commonly tested base types use bit flags instead of virtual calls.
2919         This is faster and we have space in RenderElement.
2920         
2921         These bits are not mutully exclusive. For testing leaf types we can add an enum.
2922
2923 2013-10-01  Ryosuke Niwa  <rniwa@webkit.org>
2924
2925         Cleanup Document::dispatchFullScreenChangeOrErrorEvent
2926         https://bugs.webkit.org/show_bug.cgi?id=122143
2927
2928         Reviewed by Antti Koivisto.
2929
2930         Reduce the code duplication by extracting dispatchFullScreenChangeOrErrorEvent.
2931
2932         * dom/Document.cpp:
2933         (WebCore::Document::fullScreenChangeDelayTimerFired):
2934         (WebCore::Document::dispatchFullScreenChangeOrErrorEvent): Extracted.
2935         * dom/Document.h:
2936
2937 2013-10-01  Brent Fulgham  <bfulgham@apple.com>
2938
2939         [Win] Implement the media controls in JavaScript 
2940         https://bugs.webkit.org/show_bug.cgi?id=122166
2941
2942         Reviewed by Jer Noble.
2943
2944         * DerivedSources.make: Uncomment feature flag test.
2945         * WebCore.vcxproj/WebCore.vcxproj: Add new media control implementation files.
2946         Also cleaned up some misplaced files in the project tree.
2947         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2948         * WebCore.vcxproj/WebCoreCommon.props: Add missing include path for the
2949         mediacontrols path.
2950         * WebCore.vcxproj/copyForwardingHeaders.cmd: Add Modules/mediacontrols to copied headers.
2951         * rendering/RenderThemeWin.cpp: Add missing include for UserAgentScripts.
2952
2953 2013-10-01  Alex Christensen  <achristensen@webkit.org>
2954
2955         Added adoptCOM to COMPtr on Windows.
2956         https://bugs.webkit.org/show_bug.cgi?id=122069
2957
2958         Reviewed by Brent Fulgham.
2959
2960         * platform/win/COMPtr.h:
2961         (adoptCOM): Added.
2962
2963 2013-10-01  Jer Noble  <jer.noble@apple.com>
2964
2965         Unreviewed build fix; The addedFunction and removedFunction arguments to determineChangedTracksFromNewTracksAndOldItems
2966         were reversed, exposing an underlying, existing bug in AudioTrackPrivate and VideoTrack private. Give a default (null)
2967         value to AudioTrackPrivate::m_client and VideoTrackPrivate::m_client and fix the ordering of arguments in
2968         determineChangedTracksFromNewTracksAndOldItems.
2969
2970         * platform/graphics/AudioTrackPrivate.h:
2971         (WebCore::AudioTrackPrivate::AudioTrackPrivate):
2972         * platform/graphics/VideoTrackPrivate.h:
2973         (WebCore::VideoTrackPrivate::VideoTrackPrivate):
2974         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2975         (WebCore::determineChangedTracksFromNewTracksAndOldItems):
2976
2977 2013-09-30  Jer Noble  <jer.noble@apple.com>
2978
2979         [Mac] Add support for VideoTrack to MediaPlayerPrivateAVFObjC
2980         https://bugs.webkit.org/show_bug.cgi?id=122122
2981
2982         Reviewed by Eric Carlson.
2983
2984         Test: media/track/video-track.html
2985
2986         Refactor the methods which query AVAssetTrack and AVPlayerItemTrack into an Impl class, and
2987         use that class to reset the properties of both AudioTrackAVFObjC and the new VideoTrackAVFObjC.
2988
2989         Add new files to project:
2990         * WebCore.xcodeproj/project.pbxproj:
2991
2992         Add the new implementation class, shared by AudioTrackAVFObjC and VideoTrackAVFObjC:
2993         * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h: Added.
2994         (WebCore::AVTrackPrivateAVFObjCImpl::create): Simple factory.
2995         (WebCore::AVTrackPrivateAVFObjCImpl::playerItemTrack): Simple getter.
2996         * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm: Added.
2997         (WebCore::AVTrackPrivateAVFObjCImpl::AVTrackPrivateAVFObjCImpl): Simple constructor.
2998         (WebCore::AVTrackPrivateAVFObjCImpl::enabled): Pass to AVPlayerItemTrack.
2999         (WebCore::AVTrackPrivateAVFObjCImpl::setEnabled): Ditto.
3000         (WebCore::AVTrackPrivateAVFObjCImpl::audioKind): Distinguish between Alternative and Main content.
3001         (WebCore::AVTrackPrivateAVFObjCImpl::videoKind): Distinguish between Alternative, Main, Caption,
3002             and Description content.
3003         (WebCore::AVTrackPrivateAVFObjCImpl::id): Pass to AVAssetTrack.
3004         (WebCore::AVTrackPrivateAVFObjCImpl::label): Retrieve the Title metadata in the user's preferred
3005             language.
3006         (WebCore::AVTrackPrivateAVFObjCImpl::language): Pass to languageForAVAssetTrack.
3007         (WebCore::AVTrackPrivateAVFObjCImpl::languageForAVAssetTrack): Moved from AudioTrackPrivateAVFObjC.
3008         * platform/graphics/avfoundation/VideoTrackPrivateAVF.h: Copied from Source/WebCore/platform/graphics/avfoundation/AudioTrackPrivateAVF.h.
3009         (WebCore::VideoTrackPrivateAVF::kind): Simple getter.
3010         (WebCore::VideoTrackPrivateAVF::id): Ditto.
3011         (WebCore::VideoTrackPrivateAVF::label): Ditto.
3012         (WebCore::VideoTrackPrivateAVF::language): Ditto.
3013         (WebCore::VideoTrackPrivateAVF::setKind): Simple setter.
3014         (WebCore::VideoTrackPrivateAVF::setId): Ditto.
3015         (WebCore::VideoTrackPrivateAVF::setLabel): Ditto.
3016         (WebCore::VideoTrackPrivateAVF::setLanguage): Ditto.
3017         (WebCore::VideoTrackPrivateAVF::VideoTrackPrivateAVF): Simple constructor.
3018         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h:
3019         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
3020         (WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC): Create a AVTrackPrivateAVFObjCImpl.
3021         (WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack): Retrieve properties from m_impl.
3022         (WebCore::AudioTrackPrivateAVFObjC::setPlayerItemTrack): Create a new AVTrackPrivateAVFObjCImpl.
3023         (WebCore::AudioTrackPrivateAVFObjC::playerItemTrack): Pass to m_impl.
3024         (WebCore::AudioTrackPrivateAVFObjC::setEnabled): Ditto.
3025         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3026         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3027         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Refactor implementation into
3028             template method determineChangedTracksFromNewTracksAndOldItems().
3029         (WebCore::determineChangedTracksFromNewTracksAndOldItems): Refactored.
3030         (WebCore::MediaPlayerPrivateAVFoundationObjC::updateAudioTracks): Pass to determineChangedTracksFromNewTracksAndOldItems.
3031         (WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoTracks): Ditto.
3032         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Changed class hosting
3033             languageForAVAssetTrack.
3034         * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp: Added.
3035         (WebCore::VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC): Create a AVTrackPrivateAVFObjCImpl.
3036         (WebCore::VideoTrackPrivateAVFObjC::resetPropertiesFromTrack): Retrieve properties from m_impl.
3037         (WebCore::VideoTrackPrivateAVFObjC::setPlayerItemTrack): Create a new AVTrackPrivateAVFObjCImpl.
3038         (WebCore::VideoTrackPrivateAVFObjC::playerItemTrack): Pass to m_impl.
3039         (WebCore::VideoTrackPrivateAVFObjC::setSelected): Ditto.
3040         * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h: Added.
3041         (WebCore::VideoTrackPrivateAVFObjC::create): Simple factory.
3042
3043 2013-10-01  Andreas Kling  <akling@apple.com>
3044
3045         Leaf EventTarget subclasses should be FINAL.
3046         <https://webkit.org/b/122141>
3047
3048         Reviewed by Darin Adler.
3049
3050         Clear out a slew of FIXMEs now that HasMemoryCostMemberFunction
3051         works on classes marked FINAL (fixed in bug 121747.)
3052
3053 2013-10-01  Szabolcs D├ívid  <davidsz@inf.u-szeged.hu>
3054
3055         Rename URL type variables in Curl network backend.
3056         https://bugs.webkit.org/show_bug.cgi?id=122158
3057
3058         Reviewed by Darin Adler.
3059
3060         I changed the name of the URL objects to match with the new class name.
3061
3062         * platform/network/curl/ResourceHandleManager.cpp:
3063         (WebCore::getProtectionSpace):
3064         (WebCore::ResourceHandleManager::initializeHandle):
3065
3066 2013-10-01  Myles C. Maxfield  <mmaxfield@apple.com>
3067
3068         Center misspelling dots across width of word
3069         https://bugs.webkit.org/show_bug.cgi?id=122046
3070
3071         Reviewed by Darin Adler.
3072
3073         Test: editing/spelling/spelling.html
3074
3075         * platform/graphics/GraphicsContext.h:
3076         * platform/graphics/mac/GraphicsContextMac.mm:
3077         (WebCore::GraphicsContext::drawLineForDocumentMarker):
3078
3079 2013-10-01  Daniel Bates  <dabates@apple.com>
3080
3081         [iOS] WebCore fails to build with newer versions of clang
3082         https://bugs.webkit.org/show_bug.cgi?id=122161
3083
3084         Reviewed by Darin Adler.
3085
3086         * editing/FrameSelection.cpp: Add ENABLE(TEXT_CARET)-guard around shouldStopBlinkingDueToTypingCommand().
3087         * page/EventHandler.cpp: Add !PLATFORM(IOS)-guard around constants cursorUpdateInterval and maximumCursorSize;
3088         also add touch event/gesture event guard around shouldGesturesTriggerActive().
3089         * platform/network/cf/ResourceResponseCFNet.cpp: Remove unused function filenameHasSaneExtension.
3090         * platform/network/mac/ResourceResponseMac.mm: Only define static variables commonHeaderFields when building
3091         without CFNetwork; also remove variable numCommonHeaderFields, instead use WTF_ARRAY_LENGTH(commonHeaderFields)
3092         to compute the size of the fixed-sized array commonHeaderFields.
3093
3094 2013-10-01  Brendan Long  <b.long@cablelabs.com>
3095
3096         [GStreamer] Support "chapter" text tracks
3097         https://bugs.webkit.org/show_bug.cgi?id=122000
3098
3099         Reviewed by Eric Carlson.
3100
3101         Test: media/track/in-band/track-in-band-mkv-chapters.html
3102
3103         * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h: New class, needed for cues that aren't associated with GstPads.
3104         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3105         (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Check for table of contents messages.
3106         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContents): Parse table of contents messages into text tracks.
3107         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry): Recursive method for parsing all of the TOC entries.
3108         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Add the processTableOfContents functions.
3109
3110 2013-10-01  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3111
3112         [Texmap] CSS filter not working on software composited layers
3113         https://bugs.webkit.org/show_bug.cgi?id=122159
3114
3115         Reviewed by Noam Rosenthal.
3116
3117         Tell the rendering layer we do not support CSS filters when we do not. This
3118         will make RenderLayer fall back to using its own software implementation.
3119
3120         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3121         (WebCore::GraphicsLayerTextureMapper::setFilters):
3122         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
3123         (WebCore::BitmapTextureImageBuffer::applyFilters):
3124
3125 2013-10-01  Darin Adler  <darin@apple.com>
3126
3127         Try to fix assertion failures seem on bots.
3128
3129         * css/StyleResolver.cpp:
3130         (WebCore::StyleResolver::createFilterOperations): Rearrange code so this
3131         won't try ot call toCSSPrimitiveValue on a non-primitive-value in the
3132         DROP_SHADOW case.
3133
3134 2013-10-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3135
3136         Generate toCSSFooValue for CSSPrimitiveValue
3137         https://bugs.webkit.org/show_bug.cgi?id=122101
3138
3139         Reviewed by Antti Koivisto.
3140
3141         As a step of clean-up static_cast<> in CSSValues, this patch generates
3142         toCSSFooPrimitiveValue() in order to detect bad casts as well as improves
3143         code readability.
3144
3145         No new tests, no behavior changes.
3146
3147         * css/CSSFontSelector.cpp:
3148         (WebCore::CSSFontSelector::addFontFaceRule):
3149         * css/CSSImageGeneratorValue.cpp:
3150         (WebCore::CSSImageGeneratorValue::subimageIsPending):
3151         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
3152         * css/CSSImageSetValue.cpp:
3153         (WebCore::CSSImageSetValue::fillImageSet):
3154         * css/CSSParser.cpp:
3155         (WebCore::CSSParser::parseColor):
3156         (WebCore::CSSParser::addProperty):
3157         (WebCore::CSSParser::parse3ValuesFillPosition):
3158         (WebCore::CSSParser::parseFillPosition):
3159         (WebCore::CSSParser::parseFillRepeat):
3160         (WebCore::CSSParser::parseDeprecatedRadialGradient):
3161         (WebCore::CSSParser::parseRadialGradient):
3162         * css/CSSPrimitiveValue.h:
3163         * css/CSSToStyleMap.cpp:
3164         (WebCore::CSSToStyleMap::mapFillAttachment):
3165         (WebCore::CSSToStyleMap::mapFillClip):
3166         (WebCore::CSSToStyleMap::mapFillComposite):
3167         (WebCore::CSSToStyleMap::mapFillBlendMode):
3168         (WebCore::CSSToStyleMap::mapFillOrigin):
3169         (WebCore::CSSToStyleMap::mapFillRepeatX):
3170         (WebCore::CSSToStyleMap::mapFillRepeatY):
3171         (WebCore::CSSToStyleMap::mapFillSize):
3172         (WebCore::CSSToStyleMap::mapFillXPosition):
3173         (WebCore::CSSToStyleMap::mapFillYPosition):
3174         (WebCore::CSSToStyleMap::mapFillMaskSourceType):
3175         (WebCore::CSSToStyleMap::mapAnimationDelay):
3176         (WebCore::CSSToStyleMap::mapAnimationDirection):
3177         (WebCore::CSSToStyleMap::mapAnimationDuration):
3178         (WebCore::CSSToStyleMap::mapAnimationFillMode):
3179         (WebCore::CSSToStyleMap::mapAnimationIterationCount):
3180         (WebCore::CSSToStyleMap::mapAnimationName):
3181         (WebCore::CSSToStyleMap::mapAnimationPlayState):
3182         (WebCore::CSSToStyleMap::mapAnimationProperty):
3183         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
3184         (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
3185         (WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
3186         * css/CSSValue.cpp:
3187         (WebCore::CSSValue::destroy):
3188         * css/DeprecatedStyleBuilder.cpp:
3189         (WebCore::ApplyPropertyDefault::applyValue):
3190         (WebCore::ApplyPropertyNumber::applyValue):
3191         (WebCore::ApplyPropertyAuto::applyValue):
3192         (WebCore::ApplyPropertyClip::applyValue):
3193         (WebCore::ApplyPropertyColor::applyValue):
3194         (WebCore::ApplyPropertyLength::applyValue):
3195         (WebCore::ApplyPropertyString::applyValue):
3196         (WebCore::ApplyPropertyBorderRadius::applyValue):
3197         (WebCore::ApplyPropertyComputeLength::applyValue):
3198         (WebCore::ApplyPropertyFont::applyValue):
3199         (WebCore::ApplyPropertyFontFamily::applyValue):
3200         (WebCore::ApplyPropertyFontSize::applyValue):
3201         (WebCore::ApplyPropertyFontWeight::applyValue):
3202         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
3203         (WebCore::ApplyPropertyCounter::applyValue):
3204         (WebCore::ApplyPropertyCursor::applyValue):
3205         (WebCore::ApplyPropertyTextAlign::applyValue):
3206         (WebCore::ApplyPropertyTextDecoration::applyValue):
3207         (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
3208         (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
3209         (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
3210         (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
3211         (WebCore::ApplyPropertyLineHeight::applyValue):
3212         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
3213         (WebCore::ApplyPropertyPageSize::applyValue):
3214         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
3215         (WebCore::ApplyPropertyResize::applyValue):
3216         (WebCore::ApplyPropertyVerticalAlign::applyValue):
3217         (WebCore::ApplyPropertyZoom::applyValue):
3218         (WebCore::ApplyPropertyDisplay::applyValue):
3219         (WebCore::ApplyPropertyClipPath::applyValue):
3220         (WebCore::ApplyPropertyShape::applyValue):
3221         (WebCore::ApplyPropertyImageResolution::applyValue):
3222         (WebCore::ApplyPropertyTextIndent::applyValue):
3223         * css/MediaList.cpp:
3224         (WebCore::reportMediaQueryWarningIfNeeded):
3225         * css/MediaQueryEvaluator.cpp:
3226         (WebCore::numberValue):
3227         (WebCore::orientationMediaFeatureEval):
3228         (WebCore::evalResolution):
3229         (WebCore::device_pixel_ratioMediaFeatureEval):
3230         (WebCore::resolutionMediaFeatureEval):
3231         (WebCore::computeLength):
3232         (WebCore::view_modeMediaFeatureEval):
3233         (WebCore::pointerMediaFeatureEval):
3234         * css/SVGCSSStyleSelector.cpp:
3235         (WebCore::StyleResolver::applySVGProperty):
3236         * css/StylePropertySet.cpp:
3237         (WebCore::StylePropertySet::getLayeredShorthandValue):
3238         * css/StyleResolver.cpp:
3239         (WebCore::createGridTrackSize):
3240         (WebCore::createGridTrackList):
3241         (WebCore::createGridPosition):
3242         (WebCore::hasVariableReference):
3243         (WebCore::StyleResolver::applyProperty):
3244         (WebCore::StyleResolver::parseCustomFilterArrayParameter):
3245         (WebCore::StyleResolver::parseCustomFilterColorParameter):
3246         (WebCore::StyleResolver::parseCustomFilterNumberParameter):
3247         (WebCore::StyleResolver::parseCustomFilterParameter):
3248         (WebCore::StyleResolver::parseCustomFilterParameterList):
3249         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
3250         (WebCore::StyleResolver::createFilterOperations):
3251         * css/TransformFunctions.cpp:
3252         (WebCore::transformsForValue):
3253         * css/ViewportStyleResolver.cpp:
3254         (WebCore::ViewportStyleResolver::getViewportArgumentValue):
3255         * css/WebKitCSSMatrix.cpp:
3256         (WebCore::WebKitCSSMatrix::setMatrixValue):
3257         * editing/ApplyStyleCommand.cpp:
3258         (WebCore::ApplyStyleCommand::computedFontSize):
3259         * editing/EditingStyle.cpp:
3260         (WebCore::identifierForStyleProperty):
3261         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
3262         (WebCore::cssValueToRGBA):
3263         (WebCore::EditingStyle::extractFontSizeDelta):
3264         (WebCore::EditingStyle::textDirection):
3265         (WebCore::EditingStyle::prepareToApplyAt):
3266         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
3267         (WebCore::EditingStyle::legacyFontSize):
3268         (WebCore::EditingStyle::textDirectionForSelection):
3269         (WebCore::StyleChange::extractTextStyles):
3270         (WebCore::fontWeightIsBold):
3271         (WebCore::isTransparentColorValue):
3272         * editing/markup.cpp:
3273         (WebCore::propertyMissingOrEqualToNone):
3274
3275 2013-10-01  Darin Adler  <darin@apple.com>
3276
3277         Try to fix AVFoundation crashes seen on Lion bot.
3278
3279         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
3280         Four AVFoundation string constants used in this file were new to 10.8.
3281         For older versions of OS X, use hard-coded string constants instead.
3282
3283 2013-10-01  Zan Dobersek  <zdobersek@igalia.com>
3284
3285         [IndexedDB] Interfaces inheriting from EventTarget should generate JSC (un)wrapping functions
3286         https://bugs.webkit.org/show_bug.cgi?id=122114
3287
3288         Reviewed by Darin Adler.
3289
3290         After r156590, four IndexedDB interfaces are inheriting from the EventTarget interface. Because of that,
3291         they're now required to have interface-specific JSC wrapping and unwrapping functions generated since the
3292         JSC wrapping and unwrapping functions for the EventTarget interface delegate these operations to these
3293         interface-specific functions. If the functions are not generated and accessible, the EventTarget functions
3294         end up recursively calling themselves.
3295
3296         * Modules/indexeddb/IDBDatabase.idl:
3297         * Modules/indexeddb/IDBOpenDBRequest.idl:
3298         * Modules/indexeddb/IDBRequest.idl:
3299         * Modules/indexeddb/IDBTransaction.idl:
3300
3301 2013-09-30  Ryuan Choi  <ryuan.choi@samsung.com>
3302
3303         Build fix for EFL, Qt, Gtk port after r156688
3304         https://bugs.webkit.org/show_bug.cgi?id=122139
3305
3306         Reviewed by Anders Carlsson.
3307
3308         Get rid of more uses of OwnPtr and PassOwnPtr.
3309
3310         * platform/graphics/surfaces/GraphicsSurface.cpp:
3311         (WebCore::GraphicsSurface::beginPaint):
3312         * platform/graphics/surfaces/GraphicsSurface.h:
3313         * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
3314         (WebCore::GraphicsSurface::platformBeginPaint):
3315         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
3316         (WebCore::GraphicsSurface::platformBeginPaint):
3317         * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:
3318         (WebCore::GraphicsSurface::platformBeginPaint):
3319
3320 2013-09-30  Sam White  <samuel_white@apple.com>
3321
3322         AX: Expose ARIA Busy Notifications
3323         https://bugs.webkit.org/show_bug.cgi?id=121451
3324
3325         Reviewed by Chris Fleizach.
3326
3327         Added AXElementBusyChanged notification that posts when aria-busy is toggled. This
3328         enables screen readers to detect busy states without polling the focused element.
3329
3330         Test: platform/mac/accessibility/element-busy-changed.html
3331
3332         * accessibility/AXObjectCache.cpp:
3333         (WebCore::AXObjectCache::handleAttributeChanged):
3334         * accessibility/AXObjectCache.h:
3335         * accessibility/mac/AXObjectCacheMac.mm:
3336         (WebCore::AXObjectCache::postPlatformNotification):
3337
3338 2013-09-30  Sam Weinig  <sam@webkit.org>
3339
3340         Fixing the build.
3341
3342         * GNUmakefile.list.am:
3343
3344 2013-09-30  Sam Weinig  <sam@webkit.org>
3345
3346         More build fixing.
3347
3348         * GNUmakefile.list.am:
3349         * WebCore.vcxproj/WebCore.vcxproj.filters:
3350         * inspector/InspectorAllInOne.cpp:
3351         * inspector/InstrumentingAgents.h:
3352
3353 2013-09-30  Sam Weinig  <sam@webkit.org>
3354
3355         Fix the Efl and Gtk builds.
3356
3357         * GNUmakefile.list.am:
3358         * PlatformEfl.cmake:
3359         * PlatformGTK.cmake:
3360
3361 2013-09-30  Sam Weinig  <sam@webkit.org>
3362
3363         Remove support for DOMFileSystem
3364         https://bugs.webkit.org/show_bug.cgi?id=122137
3365
3366         Reviewed by Anders Carlsson.
3367
3368         * Files elided *
3369
3370 2013-09-30  Brent Fulgham  <bfulgham@apple.com>
3371
3372         [Windows] Build fix afer r156688.
3373
3374         * fileapi/ThreadableBlobRegistry.cpp:
3375         (WebCore::ThreadableBlobRegistry::registerBlobURL): Switch to std::unique_ptr in
3376         method implementation.
3377
3378 2013-09-30  Anders Carlsson  <andersca@apple.com>
3379
3380         Get rid of more uses of OwnPtr and PassOwnPtr
3381         https://bugs.webkit.org/show_bug.cgi?id=122136
3382
3383         Reviewed by Antti Koivisto.
3384
3385         * Modules/websockets/WebSocket.cpp:
3386         (WebCore::WebSocket::didReceiveBinaryData):
3387         * WebCore.exp.in:
3388         * fileapi/Blob.cpp:
3389         (WebCore::Blob::Blob):
3390         (WebCore::Blob::slice):
3391         * fileapi/Blob.h:
3392         (WebCore::Blob::create):
3393         * fileapi/File.cpp:
3394         (WebCore::createBlobDataForFileWithType):
3395         (WebCore::createBlobDataForFile):
3396         (WebCore::createBlobDataForFileWithName):
3397         * fileapi/ThreadableBlobRegistry.cpp:
3398         (WebCore::BlobRegistryContext::BlobRegistryContext):
3399         (WebCore::registerBlobURLTask):
3400         (WebCore::ThreadableBlobRegistry::registerBlobURL):
3401         * fileapi/ThreadableBlobRegistry.h:
3402         * fileapi/WebKitBlobBuilder.cpp:
3403         (WebCore::BlobBuilder::getBlob):
3404         * platform/network/BlobData.cpp:
3405         (WebCore::BlobDataHandle::BlobDataHandle):
3406         * platform/network/BlobData.h:
3407         (WebCore::BlobData::BlobData):
3408         (WebCore::BlobDataHandle::create):
3409         * platform/network/BlobRegistry.h:
3410         * platform/network/BlobRegistryImpl.cpp:
3411         (WebCore::BlobRegistryImpl::registerBlobURL):
3412         * platform/network/BlobRegistryImpl.h:
3413         * xml/XMLHttpRequest.cpp:
3414         (WebCore::XMLHttpRequest::responseBlob):
3415
3416 2013-09-30  Benjamin Poulain  <benjamin@webkit.org>
3417
3418         Remove the code guarded by STYLE_SCOPED
3419         https://bugs.webkit.org/show_bug.cgi?id=122123
3420
3421         Reviewed by Anders Carlsson.
3422
3423         Start cleaning the code related to <style scoped>. This patch
3424         only removes the code with #ifdef guards.
3425
3426         * Configurations/FeatureDefines.xcconfig:
3427         * WebCore.exp.in:
3428         * bindings/generic/RuntimeEnabledFeatures.cpp:
3429         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
3430         * bindings/generic/RuntimeEnabledFeatures.h:
3431         * css/DocumentRuleSets.cpp:
3432         (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
3433         * css/ElementRuleCollector.cpp:
3434         (WebCore::ElementRuleCollector::matchScopedAuthorRules):
3435         * css/StyleResolver.cpp:
3436         (WebCore::StyleResolver::locateCousinList):
3437         (WebCore::StyleResolver::canShareStyleWithElement):
3438         (WebCore::StyleResolver::locateSharedStyle):
3439         * css/StyleResolver.h:
3440         (WebCore::StyleResolver::ensureScopeResolver):
3441         * css/StyleScopeResolver.cpp:
3442         * css/StyleScopeResolver.h:
3443         * dom/Node.cpp:
3444         * dom/Node.h:
3445         * dom/ShadowRoot.cpp:
3446         (WebCore::ShadowRoot::ShadowRoot):
3447         * dom/ShadowRoot.h:
3448         * html/HTMLStyleElement.cpp:
3449         (WebCore::HTMLStyleElement::HTMLStyleElement):
3450         (WebCore::HTMLStyleElement::parseAttribute):
3451         (WebCore::HTMLStyleElement::insertedInto):
3452         (WebCore::HTMLStyleElement::removedFrom):
3453         * html/HTMLStyleElement.h:
3454         * html/HTMLStyleElement.idl:
3455         * testing/InternalSettings.cpp:
3456         (WebCore::InternalSettings::Backup::Backup):
3457         (WebCore::InternalSettings::Backup::restoreTo):
3458         * testing/InternalSettings.h:
3459         * testing/InternalSettings.idl:
3460         * testing/Internals.cpp:
3461         * testing/Internals.h:
3462         * testing/Internals.idl:
3463
3464 2013-09-30  Drew Yao  <ayao@apple.com>
3465
3466         ASSERT(!m_hasBadParent) in InlineBox::parent() should be ASSERT_WITH_SECURITY_IMPLICATION
3467         https://bugs.webkit.org/show_bug.cgi?id=122032
3468
3469         Reviewed by Andreas Kling.
3470
3471         Convert assertion to ASSERT_WITH_SECURITY_IMPLICATION to help catch use after free bugs.
3472
3473         No new tests needed.
3474
3475         * rendering/InlineBox.h:
3476         (WebCore::InlineBox::parent):
3477
3478 2013-09-30  Yongjun Zhang  <yongjun_zhang@apple.com>
3479
3480         Don't attempt to destroy decoded frame if a BitmapImage doesn't have encoded raw data.
3481         https://bugs.webkit.org/show_bug.cgi?id=122115
3482
3483         Reviewed by Daniel Bates.
3484
3485         With BitmapImage::create(PassNativeImagePtr, ImageObserver*), a BitmapImage could be created by
3486         passing a native image.  If this image is added to memory cache, we shouldn't attempt to destroy
3487         its decoded frames since there is no encoded raw data and we won't be able to reconstruct the image again.
3488
3489         No new tests for now. Currently there isn't a code path to add to the memory cache a BitmapImage
3490         that was created by adopting a native image. We'll add such a code path in a subsequent patch.
3491
3492         * platform/graphics/BitmapImage.cpp:
3493         (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
3494
3495 2013-09-30  Brady Eidson  <beidson@apple.com>
3496
3497         Remove IDBTracing.h.
3498         https://bugs.webkit.org/show_bug.cgi?id=122118
3499
3500         Reviewed by Alexey Proskuryakov.
3501
3502         Global replace of "IDB_TRACE" with "LOG(StorageAPI)", and remove all notions of this header.
3503
3504         * GNUmakefile.list.am:
3505
3506         * Modules/indexeddb/IDBCursor.cpp:
3507         * Modules/indexeddb/IDBDatabase.cpp:
3508         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
3509         * Modules/indexeddb/IDBFactory.cpp:
3510         * Modules/indexeddb/IDBIndex.cpp:
3511         * Modules/indexeddb/IDBObjectStore.cpp:
3512         * Modules/indexeddb/IDBOpenDBRequest.cpp:
3513         * Modules/indexeddb/IDBRequest.cpp:
3514         * Modules/indexeddb/IDBTracing.h: Removed.
3515         * Modules/indexeddb/IDBTransaction.cpp:
3516         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
3517         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
3518         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
3519         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
3520         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
3521         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
3522         * WebCore.xcodeproj/project.pbxproj:
3523         * bindings/js/IDBBindingUtilities.cpp:
3524
3525 2013-09-30  Brent Fulgham  <bfulgham@apple.com>
3526
3527         [Windows] Build fix after r156622. Build RenderLayerModelObject.cpp in a separate compilation unit
3528         from the RenderLayerAllnOne file so that the scalar and vector destructors are visible to other
3529         elements of WebCore during the build.
3530
3531         * WebCore.vcxproj/WebCore.vcxproj: Compile RenderLayerModelObject outside of the all-in-one file.
3532         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
3533         * rendering/RenderingAllInOne.cpp: Remove RenderLayerModelObject.cpp.
3534
3535 2013-09-30  Mark Rowe  <mrowe@apple.com>
3536
3537         Fix the build when building against an SDK.
3538
3539         Xcode helpfully prepends $(SDKROOT) to the paths in FRAMEWORK_SEARCH_PATHS when generating
3540         the compiler command lines. It can't know to do this for the system framework search paths
3541         we add manually via OTHER_CFLAGS though, so we need to prefix them with $(SDKROOT) ourself.
3542
3543         * Configurations/WebCore.xcconfig:
3544
3545 2013-09-30  Brent Fulgham  <bfulgham@apple.com>
3546
3547         [Windows] Unreviewed build fix.
3548
3549         * WebCore.vcxproj/WebCore.vcxproj.filters: Correct malformed XML in project files.
3550
3551 2013-09-30  Jer Noble  <jer.noble@apple.com>
3552
3553         Unreviewed, roll back in r156546 with rebaselined tests.
3554         https://bugs.webkit.org/show_bug.cgi?id=122111
3555
3556         * Modules/mediacontrols/mediaControlsApple.js:
3557         (Controller):
3558         (Controller.prototype.addVideoListeners):
3559         (Controller.prototype.removeVideoListeners):
3560         (Controller.prototype.updateHasAudio):
3561
3562 2013-09-30  Commit Queue  <commit-queue@webkit.org>
3563
3564         Unreviewed, rolling out r156656.
3565         http://trac.webkit.org/changeset/156656
3566         https://bugs.webkit.org/show_bug.cgi?id=122111
3567
3568         Broke several media tests (Requested by ap on #webkit).
3569
3570         * Modules/mediacontrols/mediaControlsApple.js:
3571         (Controller):
3572         (Controller.prototype.addVideoListeners):
3573         (Controller.prototype.removeVideoListeners):
3574
3575 2013-09-29  Sam Weinig  <sam@webkit.org>
3576
3577         Convert a bunch of OwnPtrs on Page to std::unique_ptrs
3578         https://bugs.webkit.org/show_bug.cgi?id=122086
3579
3580         Reviewed by Darin Adler.
3581
3582         * loader/ProgressTracker.cpp:
3583         * loader/ProgressTracker.h:
3584         * page/Page.cpp:
3585         (WebCore::Page::Page):
3586         (WebCore::Page::setGroupName):
3587         (WebCore::Page::initGroup):
3588         * page/Page.h:
3589         * page/PageGroup.cpp:
3590         (WebCore::PageGroup::PageGroup):
3591         * page/PageGroup.h:
3592
3593 2013-09-30  Antti Koivisto  <antti@apple.com>
3594
3595         Remove FontTranscoder
3596         https://bugs.webkit.org/show_bug.cgi?id=122088
3597
3598         Reviewed by Andreas Kling.
3599
3600         This overly generic class just implements mapping of backslash to yen symbol for some legacy Japanese fonts.
3601
3602         * CMakeLists.txt:
3603         * GNUmakefile.am:
3604         * GNUmakefile.list.am:
3605         * Target.pri:
3606         * WebCore.pri:
3607         * WebCore.vcxproj/WebCore.vcxproj:
3608         * WebCore.xcodeproj/project.pbxproj:
3609         * platform/graphics/Font.cpp:
3610         (WebCore::useBackslashAsYenSignForFamily):
3611         
3612             Move the family set to Font.cpp.
3613
3614         (WebCore::Font::Font):
3615         (WebCore::Font::operator=):
3616         (WebCore::Font::update):
3617         
3618             Keep the cached boolean up to date.
3619
3620         * platform/graphics/Font.h:
3621         (WebCore::Font::useBackslashAsYenSymbol):
3622         
3623             Use descriptive name instead of talking about "transcoding".
3624
3625         * platform/text/transcoder: Removed.
3626         * platform/text/transcoder/FontTranscoder.cpp: Removed.
3627         * platform/text/transcoder/FontTranscoder.h: Removed.
3628         * rendering/RenderText.cpp:
3629         (WebCore::RenderText::RenderText):
3630         (WebCore::RenderText::computeUseBackslashAsYenSymbol):
3631         
3632             Rename for clarity. 
3633             Avoid unnecessary hash lookup, just check the cached bit in Font.
3634
3635         (WebCore::RenderText::styleDidChange):
3636         (WebCore::RenderText::setTextInternal):
3637         
3638             "Transcoding" here was just a simple character replacement.
3639
3640         (WebCore::RenderText::textWithoutConvertingBackslashToYenSymbol):
3641         
3642             Renamed.
3643
3644         * rendering/RenderText.h:
3645
3646 2013-09-27  Jer Noble  <jer.noble@apple.com>
3647
3648         REGRESSION(r156546): media/video-no-audio.html broken
3649         https://bugs.webkit.org/show_bug.cgi?id=122049
3650
3651         Reviewed by Eric Carlson.
3652
3653         Now that our video elements have audio tracks, use their presence or
3654         absense to show or hide the volume controls.
3655
3656         * Modules/mediacontrols/mediaControlsApple.js:
3657         (Controller):
3658         (Controller.prototype.addVideoListeners): Listen for audioTrack changes.
3659         (Controller.prototype.removeVideoListeners): Stop listening to same.
3660         (Controller.prototype.handleAudioTrackChange): Call this.updateHasAudio()
3661         (Controller.prototype.handleAudioTrackAdd): Ditto.
3662         (Controller.prototype.handleAudioTrackRemove): Ditto.
3663         (Controller.prototype.updateHasAudio): Hide the volume controls if no
3664             audioTracks are present, and vice versa.
3665
3666 2013-09-30  Jer Noble  <jer.noble@apple.com>
3667
3668         Unreviewed Mac-Lion build fix.
3669
3670         Use metadataItemsFromArray:withLocale: instead of
3671         metadataItemsFromArray:filteredAndSortedAccordingToPreferredLanguages:
3672         on Lion and earlier.
3673
3674         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
3675         (WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack):
3676
3677 2013-09-27  Jer Noble  <jer.noble@apple.com>
3678
3679         [Mac] Add AudioTrack support to MediaPlayerPrivateAVFObC.
3680         https://bugs.webkit.org/show_bug.cgi?id=122043
3681
3682         Reviewed by Eric Carlson.
3683
3684         Test: media/track/audio-track.html
3685
3686         Add a new class AudioTrackPrivateAVF and subclass AudioTrackPrivateAVFObjC
3687         which are backed by a AVPlayerItemTrack. Create one of these tracks when
3688         we are notified that the list of available tracks has changed.
3689
3690         * WebCore.xcodeproj/project.pbxproj:
3691         * html/track/AudioTrack.cpp:
3692         (WebCore::AudioTrack::setEnabled): Pass through to the AudioTrackPrivate
3693             so that the underlying media track can be (dis|en)abled.
3694         * platform/graphics/avfoundation/AudioTrackPrivateAVF.h: Added.
3695         (WebCore::AudioTrackPrivateAVF::kind): Simple getter.
3696         (WebCore::AudioTrackPrivateAVF::id): Ditto.
3697         (WebCore::AudioTrackPrivateAVF::label): Ditto.
3698         (WebCore::AudioTrackPrivateAVF::language): Ditto.
3699         (WebCore::AudioTrackPrivateAVF::setKind): Simple Setter.
3700         (WebCore::AudioTrackPrivateAVF::setId): Ditto.
3701         (WebCore::AudioTrackPrivateAVF::setLabel): Ditto.
3702         (WebCore::AudioTrackPrivateAVF::setLanguage): Ditto.
3703         (WebCore::AudioTrackPrivateAVF::AudioTrackPrivateAVF): Simple constructor.
3704         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h: Added.
3705         (WebCore::AudioTrackPrivateAVFObjC::create): Simple factory.
3706         (WebCore::AudioTrackPrivateAVFObjC::playerItemTrack): Simple getter.
3707         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm: Added.
3708         (WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC): Call resetPropertiesFromTrack.
3709         (WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack): Fill out the values from 
3710             the associated AVPlayerItemTrack and its AVAssetTrack.
3711         (WebCore::AudioTrackPrivateAVFObjC::setPlayerItemTrack): Call resetPropertiesFromTrack.
3712         (WebCore::AudioTrackPrivateAVFObjC::setEnabled): (En|Dis)able the AVPlayerItemTrack.
3713         (WebCore::AudioTrackPrivateAVFObjC::languageForAVAssetTrack): Refactored from
3714             MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack.
3715         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3716         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3717         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Determine which tracks
3718             have been added or removed and notify the clients accordingly.
3719         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Refactor into
3720             AudioTrackPrivateAVFObjC::languageForAVAssetTrack.
3721
3722 2013-09-30  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3723
3724         Generate toCSSCalcValue instead of using manual cast function
3725         https://bugs.webkit.org/show_bug.cgi?id=122055
3726
3727         Reviewed by Antti Koivisto.
3728
3729         Generated type cast function supports more plenty functions rather than manual functions.
3730         To use CSS_VALUE_TYPE_CAST, isCalculationValue() needs to be changed with isCalcValue().
3731
3732         No new tests, no behavior changes.
3733
3734         * css/CSSCalculationValue.h:
3735         * css/CSSValue.cpp:
3736         (WebCore::CSSValue::destroy):
3737         * css/CSSValue.h:
3738         (WebCore::CSSValue::isCalcValue):
3739         * css/StyleResolver.cpp:
3740         (WebCore::hasVariableReference):
3741
3742 2013-09-30  Antti Koivisto  <antti@apple.com>
3743
3744         Get rid of static map for marking ancestor line boxes dirty
3745         https://bugs.webkit.org/show_bug.cgi?id=122080
3746
3747         Reviewed by Andreas Kling.
3748         
3749         This is ugly and shows up in profiles too. Use a bit in RenderElement instead.
3750
3751         * rendering/RenderBlock.h:
3752         * rendering/RenderBlockFlow.h:
3753         
3754             Move dirtyLinesFromChangedChild down to RenderBlockFlow. It wouldn't do anything on other RenderBlocks.
3755
3756         * rendering/RenderElement.cpp:
3757         (WebCore::RenderElement::RenderElement):
3758         * rendering/RenderElement.h:
3759         
3760             Add m_ancestorLineBoxDirty bit. We have 32 unused bits here on 64bit systems.
3761
3762         (WebCore::RenderElement::dirtyLinesFromChangedChild):
3763         (WebCore::RenderElement::ancestorLineBoxDirty):
3764         (WebCore::RenderElement::setAncestorLineBoxDirty):
3765         (WebCore::RenderObject::setNeedsLayout):
3766         * rendering/RenderInline.h:
3767         * rendering/RenderLineBoxList.cpp:
3768         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
3769             
3770             Tighten the interface.
3771
3772         * rendering/RenderLineBoxList.h:
3773         * rendering/RenderObject.cpp:
3774         (WebCore::RenderObject::willBeDestroyed):
3775         * rendering/RenderObject.h:
3776         
3777             Remove the static map.
3778
3779 2013-09-18  Sergio Villar Senin  <svillar@igalia.com>
3780
3781         [CSS Grid Layout] Implement the grid-area shorthand
3782         https://bugs.webkit.org/show_bug.cgi?id=103334
3783
3784         Reviewed by Andreas Kling.
3785
3786         Based on Blink r151684 by <jchaffraix@chromium.org>
3787
3788         Test: fast/css-grid-layout/grid-item-area-get-set.html
3789
3790         Added support to specify grid positions using the
3791         '-webkit-grid-area' shorthand. Named grid areas are still not
3792         allowed, to be done in a follow up patch as it likely requires
3793         '-webkit-grid-template' support.
3794
3795         * css/CSSComputedStyleDeclaration.cpp:
3796         (WebCore::ComputedStyleExtractor::propertyValue):
3797         * css/CSSParser.cpp:
3798         (WebCore::CSSParser::parseValue):
3799         (WebCore::CSSParser::parseGridItemPositionShorthand):
3800         * css/CSSPropertyNames.in:
3801         * css/StylePropertySet.cpp:
3802         (WebCore::StylePropertySet::getPropertyValue):
3803         * css/StylePropertyShorthand.cpp:
3804         (WebCore::webkitGridAreaShorthand):
3805         (WebCore::shorthandForProperty):
3806         * css/StylePropertyShorthand.h:
3807         * css/StyleResolver.cpp:
3808         (WebCore::StyleResolver::applyProperty):
3809
3810 2013-09-30  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3811
3812         Generate toCSSFooValue for CSSGradientValue, CSSLinearGradientValue and CSSRadialGradient
3813         https://bugs.webkit.org/show_bug.cgi?id=122060
3814
3815         Reviewed by Antti Koivisto.
3816
3817         As a step to generate toCSSFooValue, toCSSGradientValuem toCSSLinearGradientValue and
3818         toCSSRadialGradient are generated. isLinearGradient() and isRadialGradient() are moved
3819         from each class to CSSValue in order to generate toCSSFooValue.
3820
3821         No new tests, no behavior change.
3822
3823         * css/CSSGradientValue.cpp:
3824         (WebCore::CSSGradientValue::image):
3825         (WebCore::CSSGradientValue::gradientWithStylesResolved):
3826         * css/CSSGradientValue.h:
3827         * css/CSSImageGeneratorValue.cpp:
3828         (WebCore::CSSImageGeneratorValue::image):
3829         (WebCore::CSSImageGeneratorValue::fixedSize):
3830         (WebCore::CSSImageGeneratorValue::loadSubimages):
3831         * css/CSSParser.cpp:
3832         (WebCore::CSSParser::parseDeprecatedGradient):
3833         * css/CSSValue.cpp:
3834         (WebCore::CSSValue::destroy):
3835         * css/CSSValue.h:
3836         (WebCore::CSSValue::isLinearGradient):
3837         (WebCore::CSSValue::isRadialGradient):
3838         * css/StyleResolver.cpp:
3839         (WebCore::StyleResolver::applyProperty):
3840         (WebCore::StyleResolver::styleImage):
3841
3842 2013-09-30  Vani Hegde  <vani.hegde@samsung.com>
3843
3844         user-select: none cursor turns to I-beam on mouse dragging
3845         https://bugs.webkit.org/show_bug.cgi?id=90159
3846
3847         Reviewed by Ryosuke Niwa.
3848
3849         When tried to select some text in an area that has style
3850         cursor:default set, cursor type changes to text cursor ignoring
3851         the cursor style that is explicitly set.
3852
3853         When the cursor style is explicitly set as default (or something else),
3854         we should not change it to text cursor no matter what we are over
3855         or what operation we are performing (be it hovering over the text
3856         or selecting the text).
3857
3858         During text selection, changing the cursor type to text only when
3859         there is no explicit cursor type set fixes the issue.
3860
3861         Test: editing/caret/selection-with-caret-type-progress.html
3862
3863         * page/EventHandler.cpp:
3864         (WebCore::EventHandler::selectCursor):
3865         During selection, set the cursor style to text only if there is no
3866         explicit cursor style set.
3867
3868 2013-09-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3869
3870         Generate toCSSFooValue() for CSSCanvasValue
3871         https://bugs.webkit.org/show_bug.cgi?id=122058
3872
3873         Reviewed by Antti Koivisto.
3874
3875         Generate toCSSFooValue() for CSSCanvasValue, and use it.
3876         This type cast function will help to detect bad-casts.
3877         isCanvasValue() is added in order to generate toCSSCanvasValue.
3878
3879         No new tests, no behavior change.
3880
3881         * css/CSSCanvasValue.h:
3882         * css/CSSImageGeneratorValue.cpp:
3883         (WebCore::CSSImageGeneratorValue::image):
3884         (WebCore::CSSImageGeneratorValue::fixedSize):
3885         (WebCore::CSSImageGeneratorValue::loadSubimages):
3886         * css/CSSValue.cpp:
3887         (WebCore::CSSValue::destroy):
3888         * css/CSSValue.h:
3889         (WebCore::CSSValue::isCanvasValue):
3890
3891 2013-09-29  Mark Rowe  <mrowe@apple.com>
3892
3893         Fix the Lion build.
3894
3895         Ensure that C++ and Objective-C++ files build with the right compiler flags.
3896
3897         * Configurations/WebCore.xcconfig:
3898
3899 2013-09-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3900
3901         Generate toCSSFooValue() for CSSLineBoxContainValue
3902         https://bugs.webkit.org/show_bug.cgi?id=122054
3903
3904         Reviewed by Darin Adler.
3905
3906         As a step to use toCSSFooValue, toCSSLineBoxContainValue is generated by using
3907         CSS_VALUE_TYPE_CASTS. To use it, isCSSLineBoxContainValue() is changed to
3908         isLineBoxContatinValue(). Unnecessary local variable is removed by this patch.
3909
3910         No new tests, no behavior changes.
3911
3912         * css/CSSLineBoxContainValue.h:
3913         * css/CSSValue.cpp:
3914         (WebCore::CSSValue::destroy):
3915         * css/CSSValue.h:
3916         (WebCore::CSSValue::isLineBoxContainValue):
3917         * css/StyleResolver.cpp:
3918         (WebCore::StyleResolver::applyProperty):
3919
3920 2013-09-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3921
3922         Generate toCSSCrossfadeValue() instead of using manual function
3923         https://bugs.webkit.org/show_bug.cgi?id=122057
3924
3925         Reviewed by Antti Koivisto.
3926
3927         Generated toCSSFooValue() supports more plenty functions rather than
3928         to use manual cast function.
3929
3930         No new tests, no behavior changes.
3931
3932         * css/CSSCrossfadeValue.h:
3933         * css/CSSImageGeneratorValue.cpp:
3934         (WebCore::CSSImageGeneratorValue::image):
3935         (WebCore::CSSImageGeneratorValue::fixedSize):
3936         (WebCore::CSSImageGeneratorValue::loadSubimages):
3937         * css/CSSValue.cpp:
3938         (WebCore::CSSValue::destroy):
3939
3940 2013-09-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3941
3942         Generate toCSSFooValue() for CSSFilterImageValue and CSSInitialValue
3943         https://bugs.webkit.org/show_bug.cgi?id=122056
3944
3945         Reviewed by Antti Koivisto.
3946
3947         Generate toCSSFooValue() for CSSFilterImageValue and CSSInitialValue, and use it.
3948         This type cast function will help to detect bad-casts.
3949
3950         No new tests, no behavior changes.
3951
3952         * css/CSSFilterImageValue.h:
3953         * css/CSSImageGeneratorValue.cpp:
3954         (WebCore::CSSImageGeneratorValue::image):
3955         (WebCore::CSSImageGeneratorValue::fixedSize):
3956         (WebCore::CSSImageGeneratorValue::loadSubimages):
3957         * css/CSSInitialValue.h:
3958         * css/CSSValue.cpp:
3959         (WebCore::CSSValue::destroy):
3960         * css/StyleResolver.cpp:
3961         (WebCore::StyleResolver::generatedOrPendingFromValue):
3962
3963 2013-09-29  Darin Adler  <darin@apple.com>
3964
3965         Fix crashes caused by my recent attempt at a Windows build fix.
3966
3967         * bindings/js/WebCoreTypedArrayController.cpp:
3968         (WebCore::WebCoreTypedArrayController::toJS): Added back the prefix for the call to
3969         WebCore::toJS, otherwise this function just calls itself infinitely recursively.
3970
3971 2013-09-29  Sam Weinig  <sam@webkit.org>
3972
3973         Cleanup PageThrottler and PageConsole a bit
3974         https://bugs.webkit.org/show_bug.cgi?id=122085
3975
3976         Reviewed by Anders Carlsson.
3977
3978         * html/HTMLMediaElement.h:
3979         * loader/FrameLoader.cpp:
3980         (WebCore::FrameLoader::completed):
3981         * loader/FrameLoader.h:
3982         * loader/SubresourceLoader.cpp:
3983         (WebCore::SubresourceLoader::checkForHTTPStatusCodeError):
3984         (WebCore::SubresourceLoader::didFinishLoading):
3985         (WebCore::SubresourceLoader::didFail):
3986         (WebCore::SubresourceLoader::willCancel):
3987         * loader/SubresourceLoader.h:
3988         Store the PageActivityAssertionToken as a std::unique_ptr.
3989
3990         * page/Page.cpp:
3991         (WebCore::Page::Page):
3992         Use createOwned and pass this by reference for the PageThrottler and PageConsole.
3993         (WebCore::Page::~Page):
3994         Remove unnecessary clearing of an OwnPtr that is about to be destroyed.
3995         * page/Page.h:
3996         Make m_pageThrottler const and return it as a reference.
3997
3998         * page/PageActivityAssertionToken.cpp:
3999         (WebCore::PageActivityAssertionToken::PageActivityAssertionToken):
4000         (WebCore::PageActivityAssertionToken::~PageActivityAssertionToken):
4001         * page/PageActivityAssertionToken.h:
4002         Take the PageThrottler by reference in the constructor. It is never null.
4003
4004         * page/PageConsole.cpp:
4005         (WebCore::PageConsole::PageConsole):
4006         (WebCore::PageConsole::~PageConsole):
4007         (WebCore::PageConsole::addMessage):
4008         * page/PageConsole.h:
4009         Pass and store the Page as a reference and remove an extraneous null check. Remove
4010         the create function.
4011
4012         * page/PageThrottler.cpp:
4013         (WebCore::PageThrottler::PageThrottler):
4014         (WebCore::PageThrottler::~PageThrottler):
4015         (WebCore::PageThrottler::createActivityToken):
4016         (WebCore::PageThrottler::throttlePage):
4017         (WebCore::PageThrottler::unthrottlePage):
4018         (WebCore::PageThrottler::addActivityToken):
4019         (WebCore::PageThrottler::removeActivityToken):
4020         * page/PageThrottler.h:
4021         Pass and store the Page as a reference. Move the creation of PageActivityAssertionToken here
4022         to aid encapsulation.
4023
4024 2013-09-29  Darin Adler  <darin@apple.com>
4025
4026         Try to fix Windows build.
4027
4028         * bindings/js/WebCoreTypedArrayController.cpp: Windows has a symbol named Handle, so we need
4029         to call JSC::Handle out by name. To fix that, I removed "using namespace JSC" entirely. And
4030         just for fun, sort of "rewrote" this file.
4031         (WebCore::WebCoreTypedArrayController::WebCoreTypedArrayController): Removed unneeded explicit
4032         initialization of m_owner.
4033         (WebCore::WebCoreTypedArrayController::~WebCoreTypedArrayController): Fixed formatting.
4034         (WebCore::WebCoreTypedArrayController::toJS): Added lots of explicit JSC and got rid of local.
4035         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots): Cut
4036         down on locals, used auto& for type, and called it "wrapper" since that's what JSArrayBuffer is.
4037         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize): More of the same.
4038
4039 2013-09-29  Darin Adler  <darin@apple.com>
4040
4041         Use RenderElement instead of RenderObject in many places
4042         https://bugs.webkit.org/show_bug.cgi?id=122078
4043
4044         Reviewed by Andreas Kling.
4045
4046         * WebCore.exp.in: Updated for name changes.
4047
4048         * dom/ContainerNode.h: Moved renderer() here from Element.
4049         * dom/Element.h: Moved renderer() from here to ContainerNode.
4050         * render/RenderElement.h: Moved renderer() from Element to ContainerNode.
4051
4052         * accessibility/AccessibilityImageMapLink.cpp:
4053         (WebCore::AccessibilityImageMapLink::imageMapLinkRenderer):
4054         (WebCore::AccessibilityImageMapLink::detachFromParent):
4055         (WebCore::AccessibilityImageMapLink::elementPath):
4056         (WebCore::AccessibilityImageMapLink::elementRect):
4057         * accessibility/AccessibilityImageMapLink.h:
4058         * accessibility/AccessibilityRenderObject.cpp:
4059         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
4060         * bindings/objc/DOM.mm:
4061         (-[DOMElement image]):
4062         (-[DOMElement _font]):
4063         (-[DOMElement _imageTIFFRepresentation]):
4064         * css/CSSCanvasValue.cpp: