Setting -webkit-filter: in :active selector causes failure to redraw
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-08-21  Simon Fraser  <simon.fraser@apple.com>
2
3         Setting -webkit-filter: in :active selector causes failure to redraw
4         https://bugs.webkit.org/show_bug.cgi?id=120135
5
6         Reviewed by Jer Noble.
7         
8         When removing a filter on an inline child of a compositing layer,
9         the inline loses its RenderLayer and compositing layer, but we fail to
10         repaint the compositing layer that the inline is now painting into.
11         
12         This worked correctly for opacity, because opacity toggles cause
13         layouts (which then paint the correct layer), so do the same for filters.
14
15         Test: css3/filters/remove-filter-repaint.html
16
17         * rendering/style/RenderStyle.cpp:
18         (WebCore::RenderStyle::changeRequiresLayout): Return true if we toggled
19         between having filters and not. Drive-by cleanup, making use of new convenience
20         function for hasOpacity().
21         * rendering/style/StyleRareNonInheritedData.cpp:
22         (WebCore::StyleRareNonInheritedData::hasFilters): Returns true if we have any
23         filters.
24         * rendering/style/StyleRareNonInheritedData.h:
25         (WebCore::StyleRareNonInheritedData::hasOpacity): Convenience function that
26         returns true if opacity is < 1.
27
28 2013-08-21  Gavin Barraclough  <barraclough@apple.com>
29
30         https://bugs.webkit.org/show_bug.cgi?id=120139
31         PropertyDescriptor argument to define methods should be const
32
33         Rubber stamped by Sam Weinig.
34
35         This should never be modified, and this way we can use rvalues.
36
37         * bindings/js/JSDOMWindowCustom.cpp:
38         (WebCore::JSDOMWindow::defineOwnProperty):
39         * bindings/js/JSLocationCustom.cpp:
40         (WebCore::JSLocation::defineOwnProperty):
41         (WebCore::JSLocationPrototype::defineOwnProperty):
42         * bindings/scripts/CodeGeneratorJS.pm:
43         (GenerateHeader):
44             - make PropertyDescriptor const
45
46 2013-08-21  Jacky Jiang  <zhajiang@blackberry.com>
47
48         <https://webkit.org/b/120123> [BlackBerry] Incorrect origin of indexOfTile in LayerTiler can cause unnecessary texture jobs and waste memory
49
50         Reviewed by Yong Li.
51         Internally reviewed by Arvid Nilsson.
52
53         JIRA 481356
54         The origin of indexOfTile(origin) is incorrect in these two places. For
55         example, if the maxXMaxYCorner of the rect is (768, 768), there can be
56         three other redundant indexOfTile (0, 1), (1, 0), (1, 1) which can cause
57         unnecessary texture jobs and waste memory.
58         The origin should be the top left of the bottom right pixel of a rect.
59
60         * platform/graphics/blackberry/LayerTiler.cpp:
61         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
62         (WebCore::LayerTiler::processTextureJob):
63
64 2013-08-21  Simon Fraser  <simon.fraser@apple.com>
65
66         <https://webkit.org/b/116901> ASSERTION FAILED: !m_visibleDescendantStatusDirty on twitter
67
68         Reviewed by Beth Dakin.
69         
70         In order to make decisions about compositing, the m_hasVisibleDescendant bit on RenderLayers
71         needs to be up-to-date when RenderLayerCompositor::computeCompositingRequirements is recursing
72         over the RenderLayer tree.
73         
74         However, was possible for computeCompositingRequirements() to hit a layer whose m_visibleDescendantStatusDirty
75         bit was set; we only clear this bit from collectLayers() (when updating z-order lists), and from styleChanged()
76         which requires that style changed on the layer itself.
77         
78         Fix by always calling updateDescendantDependentFlags() from computeCompositingRequirements().
79
80         Wasn't able to easily get a reduced testcase.
81
82         * rendering/RenderLayerCompositor.cpp:
83         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
84
85 2013-08-21  Alex Christensen  <achristensen@apple.com>
86
87         <https://webkit.org/b/120137> Separating Win32 and Win64 builds.
88
89         Reviewed by Brent Fulgham.
90
91         * WebCore.vcxproj/WebCoreGenerated.make:
92         * WebCore.vcxproj/WebCoreGeneratedWinCairo.make:
93         Pass PlatformArchitecture as a command line parameter to bash scripts
94         and use PlatformArchitecture to determine which directory to delete
95         while cleaning (obj32 or obj64).
96         * WebCore.vcxproj/WebCoreGeneratedWinCairoCommon.props:
97         Export PlatformArchitecture to be used by make and cmd scripts.
98         * WebCore.vcxproj/build-generated-files.sh:
99         Use PlatformArchitecture from command line to determine which object directory to use (obj32 or obj64).
100         * WebCore.vcxproj/copyForwardingHeaders.cmd:
101         * WebCore.vcxproj/copyWebCoreResourceFiles.cmd:
102         Use PlatformArchitecture to determine which directory to copy to (obj32 or obj64).
103
104 2013-08-21  Tim Horton  <timothy_horton@apple.com>
105
106         revalidateTiles and ensureTilesForRect can share a lot of code
107         https://bugs.webkit.org/show_bug.cgi?id=119282
108
109         Missed the review comments, whoops.
110
111         * platform/graphics/ca/mac/TileController.h:
112         * platform/graphics/ca/mac/TileController.mm:
113         (WebCore::TileController::prepopulateRect):
114         (WebCore::TileController::revalidateTiles):
115         (WebCore::TileController::ensureTilesForRect):
116
117 2013-08-21  Andreas Kling  <akling@apple.com>
118
119         <https://webkit.org/b/120115> SVG elements always have custom style resolve callbacks.
120
121         Reviewed by Antti Koivisto.
122
123         Simplify SVGElement construction by making them opt in to custom style resolve callbacks
124         by default, and removing the ability to pass a custom ConstructionType to some subclass
125         constructors.
126
127         * dom/Node.h:
128
129             Add HasCustomStyleResolveCallbacksFlag to the CreateSVGElement mask.
130
131         * svg/SVGElement.cpp:
132         (WebCore::SVGElement::SVGElement):
133         * svg/SVGElement.h:
134         * svg/SVGGElement.cpp:
135         (WebCore::SVGGElement::SVGGElement):
136         * svg/SVGGElement.h:
137         * svg/SVGGraphicsElement.cpp:
138         (WebCore::SVGGraphicsElement::SVGGraphicsElement):
139         * svg/SVGGraphicsElement.h:
140         * svg/SVGImageElement.cpp:
141         (WebCore::SVGImageElement::SVGImageElement):
142         * svg/SVGStyledElement.cpp:
143         (WebCore::SVGStyledElement::SVGStyledElement):
144         * svg/SVGStyledElement.h:
145
146             Remove calls to setHasCustomStyleResolveCallbacks() in SVGElement and subclasses.
147             Also remove unnecessary ConstructionType argument from subclasses since nobody
148             overrides it and everyone just uses CreateSVGElement.
149
150 2013-08-21  Tim Horton  <timothy_horton@apple.com>
151
152         revalidateTiles and ensureTilesForRect can share a lot of code
153         https://bugs.webkit.org/show_bug.cgi?id=119282
154
155         Reviewed by Simon Fraser.
156
157         No new tests, just a refactoring.
158
159         The bodies of ensureTilesForRect and revalidateTiles are nearly equivalent.
160
161         * platform/graphics/ca/mac/TileController.h:
162         Add an enum, NewTileType, to note whether the tiles created by ensureTilesForRect will
163         be primary coverage tiles or secondary out-of-view tiles.
164
165         * platform/graphics/ca/mac/TileController.mm:
166         (WebCore::TileController::prepopulateRect):
167         Move the code to see if we already have the requisite tiles in the
168         primary coverage rect, as well as our call to updateTileCoverageMap,
169         out into prepopulateRect, to generalize ensureTilesForRect.
170
171         (WebCore::TileController::revalidateTiles):
172         Make use of ensureTilesForRect. The platformCALayerDidCreateTiles call will happen there, now.
173
174         (WebCore::TileController::ensureTilesForRect):
175         Make ensureTilesForRect return the rect that it created tiles for, and only put
176         tiles in a cohort if we're creating secondary tiles.
177
178 2013-08-21  Tim Horton  <timothy_horton@apple.com>
179
180         isReplacementObscured is wrong when the indicator is clipped by an iframe
181         https://bugs.webkit.org/show_bug.cgi?id=120031
182         <rdar://problem/14606819>
183
184         Reviewed by Simon Fraser.
185
186         Hit-test for plugin obscurity in the root document. To do this, we also need
187         to convert the indicator rectangle into root view coordinates before
188         hit testing its edges.
189
190         This resolves the case where an iframe which clips its content was reporting
191         the indicator as not obscured, despite the fact that it was obscured from the
192         point of view of the user.
193
194         Updated test plugins/unavailable-plugin-indicator-obscurity.html
195
196         * rendering/RenderEmbeddedObject.cpp:
197         (WebCore::RenderEmbeddedObject::isReplacementObscured):
198
199 2013-08-21  Andreas Kling  <akling@apple.com>
200
201         <https://webkit.org/b/120132> Frame::navigationScheduler() should return a reference.
202
203         Reviewed by Anders Carlzon.
204
205         Frame::m_navigationScheduler is an inline member, not a pointer.
206
207 2013-08-21  Tim Horton  <timothy_horton@apple.com>
208
209         REGRESSION(r154399): broke Mac ML debug WK1 tests > 50 crashes (Requested by thorton on #webkit).
210         https://bugs.webkit.org/show_bug.cgi?id=120129
211
212         Rolling out http://trac.webkit.org/changeset/154399.
213
214         * rendering/RenderBlock.cpp:
215         * rendering/RenderBlock.h:
216         * rendering/RenderBlockLineLayout.cpp:
217         (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
218         * rendering/RenderBox.h:
219
220 2013-08-21  Andreas Kling  <akling@apple.com>
221
222         <https://webkit.org/b/120118> Frame::animation() should return a reference.
223
224         Reviewed by Anders Carlsson.
225
226         Frame::m_animationController is never null.
227         Also changed RenderObject::animation() to return a reference since it's just a wrapper
228         around RenderObject::frame()->animation() with no null checking of frame().
229
230 2013-08-21  Simon Fraser  <simon.fraser@apple.com>
231
232         Allow opacity to apply to custom scrollbars
233         https://bugs.webkit.org/show_bug.cgi?id=120104
234
235         Reviewed by David Hyatt.
236         
237         Opacity was ignored custom scrollbar pseudoelements because custom scrollbar
238         renderers never create layers, and opacity is normally handled by the RenderLayer code.
239         
240         Fix by having RenderScrollbarTheme and RenderScrollbarPart do the transparency
241         layers necessary for opacity. RenderScrollbarPart handles opacity for individual
242         parts.
243         
244         Because ScrollbarThemeComposite::paint() renders the parts on after another (with
245         no nesting), opacity handling for the entire scrollbar needs special-casing.
246         This is done by willPaintScrollbar()/didPaintScrollbar() on the theme.
247         RenderScrollbarTheme consults the opacity the scrollbar (which we get from
248         the ScrollbarBGPart renderer) to decide whether to set up a transparency layer.
249
250         Test: scrollbars/scrollbar-parts-opacity.html
251
252         * platform/ScrollbarThemeComposite.cpp:
253         (WebCore::ScrollbarThemeComposite::paint):
254         * platform/ScrollbarThemeComposite.h:
255         (WebCore::ScrollbarThemeComposite::willPaintScrollbar):
256         (WebCore::ScrollbarThemeComposite::didPaintScrollbar):
257         * rendering/RenderScrollbar.cpp:
258         (WebCore::RenderScrollbar::opacity):
259         * rendering/RenderScrollbar.h:
260         * rendering/RenderScrollbarPart.cpp:
261         (WebCore::RenderScrollbarPart::paintIntoRect):
262         * rendering/RenderScrollbarTheme.cpp:
263         (WebCore::RenderScrollbarTheme::willPaintScrollbar):
264         (WebCore::RenderScrollbarTheme::didPaintScrollbar):
265         * rendering/RenderScrollbarTheme.h:
266
267 2013-08-21  Robert Hogan  <robert@webkit.org>
268
269         REGRESSION(r127163): Respect clearance set on ancestors when placing floats
270         https://bugs.webkit.org/show_bug.cgi?id=119979
271
272         Reviewed by David Hyatt.
273
274         If a float has a self-collapsing ancestor with clearance then it needs to respect
275         that clearance when placing itself on the line.
276
277         Test: fast/block/margin-collapse/self-collapsing-block-with-float-descendant.html
278
279         * rendering/RenderBlock.cpp:
280         (WebCore::RenderBlock::marginOffsetForSelfCollapsingBlock):
281         * rendering/RenderBlock.h:
282         * rendering/RenderBlockLineLayout.cpp:
283         (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
284         * rendering/RenderBox.h:
285         (WebCore::RenderBox::previousInFlowSiblingBox):
286
287 2013-08-21  Brent Fulgham  <bfulgham@apple.com>
288
289         <https://webkit.org/b/120113> [Windows] Enable CSS_IMAGE_SET
290
291         Reviewed by Anders Carlsson.
292
293         We can now activate:
294         fast/css/image-set-parsing.html
295         fast/css/image-set-parsing-invalid.html
296
297         * WebCore.vcxproj/WebCore.vcxproj: Add missing image set implementation files.
298         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
299         * css/CSSAllInOne.cpp: Add missing CSSImageSetValue.cpp
300         * rendering/style/StyleAllInOne.cpp: Add missing StyeCachedImageSet.cpp
301
302 2013-08-21  Robert Hogan  <robert@webkit.org>
303
304         In RenderTableCell::paintCollapsedBorders() check surrounding cells using physical rather than logical direction
305         https://bugs.webkit.org/show_bug.cgi?id=120074
306
307         Reviewed by David Hyatt.
308
309         No new tests, covered by existing tests.
310
311         The functions cellAbove(), cellBelow() etc. check the logical rather than the physical direction but they're being
312         used to decide the painting of the physical borders of the cell. As we paint all four sides of every cell, and
313         the borders of adjoining cells twice over, this has no impact on painting currently but making the check consistent
314         in its treatment of physical and logical direction will help with webkit.org/b/119759 and make the code less confusing
315         to the next guy.
316
317         * rendering/RenderTableCell.cpp:
318         (WebCore::RenderTableCell::cellAtLeft):
319         (WebCore::RenderTableCell::cellAtRight):
320         (WebCore::RenderTableCell::cellAtTop):
321         (WebCore::RenderTableCell::cellAtBottom):
322         (WebCore::RenderTableCell::paintCollapsedBorders):
323         * rendering/RenderTableCell.h:
324
325 2013-08-21  Róbert Sipka  <sipka@inf.u-szeged.hu>
326
327         <https://webkit.org/b/120109> [curl] only include WebCoreBundleWin on Windows
328
329         Reviewed by Brent Fulgham.
330
331         The WebCoreBundleWin is a windows specific file, it is only needed on Windows.
332
333         * platform/network/curl/ResourceHandleManager.cpp:
334
335 2013-08-21  Jae Hyun Park  <jae.park@company100.net>
336
337         [Qt] Remove unused code path in PluginView
338         https://bugs.webkit.org/show_bug.cgi?id=113173
339
340         Reviewed by Anders Carlsson.
341
342         m_platformLayer in PluginView has been removed in r121710, but there are
343         still some leftover code path related to m_platformLayer. This patch
344         removes unused code path.
345
346         No new tests, removing unused code paths.
347
348         * plugins/PluginView.h:
349         (PluginView):
350         * plugins/qt/PluginViewQt.cpp:
351         (WebCore::PluginView::updatePluginWidget):
352         (WebCore::PluginView::paint):
353
354 2013-08-21  Allan Sandfeld Jensen  <allan.jensen@digia.com>
355
356         Font’s fast code path doesn’t handle partial runs correctly when kerning or ligatures are enabled 
357         https://bugs.webkit.org/show_bug.cgi?id=100050
358
359         Reviewed by Antti Koivisto.
360
361         Always let WidthIterator iterate over an entire TextRun to avoid problems
362         with pixel rounding or shaping on partial runs.
363
364         This fix is necessary for Qt because the complex font-path can not disable
365         shaping, leading to the complex path painting slighly different from the
366         fast path, which messes up selection painting.
367
368         No change in functionality, no new tests.
369
370         * platform/graphics/Font.cpp:
371         (WebCore::Font::drawText):
372         (WebCore::Font::drawEmphasisMarks):
373         (WebCore::Font::selectionRectForText):
374         (WebCore::Font::offsetForPosition):
375         * platform/graphics/FontFastPath.cpp:
376         (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
377         (WebCore::Font::selectionRectForSimpleText):
378         (WebCore::Font::offsetForPositionForSimpleText):
379         * platform/graphics/GlyphBuffer.h:
380         (WebCore::GlyphBuffer::add):
381         (GlyphBuffer):
382         * platform/graphics/WidthIterator.cpp:
383         (WebCore::WidthIterator::advanceInternal):
384         * platform/graphics/WidthIterator.h:
385         (WidthIterator): Removed now unused advanceOneCharacter method.
386
387 2013-08-20  Antonio Gomes  <a1.gomes@sisa.samsung.com>
388
389         Harden RenderBox::canBeScrolledAndHasScrollableArea logic
390         https://bugs.webkit.org/show_bug.cgi?id=104373
391
392         Reviewed by Simon Fraser.
393
394         Previously if a say div has a overflown content on 'y' but is
395         styled as "overflow-x: auto; overflow-y: hidden", RenderBox::canBeProgramaticallyScrolled
396         would still return true. It interfers, among other things, with the way
397         autoscroll works.
398
399         Patch fixes it by adding two helper methods to RenderBox class in order to verify a box'
400         scrollability in a given axis (x or y); They are used when checking if a given box is in
401         fact programatically scrollable.
402
403         Test: fast/events/autoscroll-overflow-hidden-longhands.html
404
405         WebKit autoscroll behavior now matches Firefox and Opera12 (pre-blink)
406         in that sense.
407
408         * rendering/RenderBox.cpp:
409         (WebCore::RenderBox::canBeProgramaticallyScrolled):
410         * rendering/RenderBox.h:
411         (WebCore::RenderBox::hasScrollableOverflowX):
412         (WebCore::RenderBox::hasScrollableOverflowY):
413
414 2013-08-19  Antonio Gomes  <a1.gomes@sisa.samsung.com>
415
416         Text dragging can scroll overflow:hidden boxes
417         https://bugs.webkit.org/show_bug.cgi?id=119760
418
419         Reviewed by Darin Adler.
420
421         Consider the case of the following HTML:
422         <div style="overflow:hidden; width: 100px; height: 100px" >
423           <input id="input" type="text" size=10 value="any text here!"/>
424           <button style="position:relative; top: 100px; left: 100px"/>
425         </div>
426
427         If ones starts a text selection by dragging the mouse from within the input
428         field, and continues to drag beyong the outer div boundary, the latter will
429         be scrolled no matter its overflow:hidden style.
430         That happens because when the autoscroll has started, it gets propagated up
431         to the current layer's parent layer, instead of the to current layer's enclosing
432         scrollable layer.
433
434         Patch fixes the issue by hardening the way scrolling is
435         propagated upwards when autoscroll is being performed.
436
437         RenderLayer::enclosingScrollableLayer method also got rewritten
438         in terms of RenderLayer tree traversing, instead of RenderObject tree.
439         The rewrite adds support for cross frame upwards traversal.
440
441         Test: fast/events/autoscroll-upwards-propagation.html
442
443         * rendering/RenderLayer.cpp:
444         (WebCore::parentLayerCrossFrame):
445         (WebCore::RenderLayer::enclosingScrollableLayer):
446         (WebCore::RenderLayer::scrollRectToVisible):
447
448 2013-08-20  Jer Noble  <jer.noble@apple.com>
449
450         <https://webkit.org/b/120101> [Mac] Suspended HTMLMediaElements can still hold power assertion after playback stops.
451
452         Reviewed by Eric Carlson.
453
454         Call updateDisplaySleep() when we clear our MediaPlayer, as doing so may kill any in-flight
455         rateChanged() notifications.
456
457         * html/HTMLMediaElement.cpp:
458         (WebCore::HTMLMediaElement::clearMediaPlayer):
459         (WebCore::HTMLMediaElement::stop):
460
461 2013-08-20  David Barr <davidbarr@chromium.org>, Gyuyoung Kim  <gyuyoung.kim@samsung.com>
462
463         <https://webkit.org/b/92330> [CSS] Pass an image orientation data to drawImage()
464
465         Reviewed by Beth Dakin.
466
467         In support of ongoing css3-images image-orientation implementation. This patch passes
468         an imageOrientationDescription object to drawImage() function as a argument. The drawImage()
469         can know information of image orientation by the argument.
470
471         Spec: http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-orientation
472
473         * html/HTMLCanvasElement.cpp:
474         (WebCore::HTMLCanvasElement::paint):
475         * html/canvas/CanvasRenderingContext2D.cpp:
476         (WebCore::CanvasRenderingContext2D::drawImage):
477         (WebCore::drawImageToContext):
478         * platform/graphics/ImageOrientation.h: Add setter functions.
479         (WebCore::ImageOrientationDescription::setRespectImageOrientation):
480         (WebCore::ImageOrientationDescription::setImageOrientationEnum):
481         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
482         (WebCore::BitmapTextureImageBuffer::updateContents):
483         * rendering/RenderBoxModelObject.cpp:
484         (WebCore::RenderBoxModelObject::paintNinePieceImage):
485         * rendering/RenderImage.cpp:
486         (WebCore::RenderImage::paintReplaced):
487         (WebCore::RenderImage::paintIntoRect):
488         * rendering/RenderSnapshottedPlugIn.cpp:
489         (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
490
491 2013-08-20  Gavin Barraclough  <barraclough@apple.com>
492
493         https://bugs.webkit.org/show_bug.cgi?id=120093
494         Remove getOwnPropertyDescriptor trap
495
496         Reviewed by Geoff Garen.
497
498         All implementations of this method are now called via the method table, and equivalent in behaviour.
499         Remove all duplicate implementations (and the method table trap), and add a single member function implementation on JSObject.
500
501         * WebCore.exp.in:
502         * bindings/js/JSDOMWindowCustom.cpp:
503         * bindings/scripts/CodeGeneratorJS.pm:
504         (GenerateHeader):
505         (GenerateImplementation):
506         (GenerateConstructorDeclaration):
507         (GenerateConstructorHelperMethods):
508         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
509         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
510         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
511         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
512         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
513         * bindings/scripts/test/JS/JSTestEventConstructor.h:
514         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
515         * bindings/scripts/test/JS/JSTestEventTarget.h:
516         * bindings/scripts/test/JS/JSTestException.cpp:
517         * bindings/scripts/test/JS/JSTestException.h:
518         * bindings/scripts/test/JS/JSTestInterface.cpp:
519         * bindings/scripts/test/JS/JSTestInterface.h:
520         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
521         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
522         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
523         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
524         * bindings/scripts/test/JS/JSTestNode.cpp:
525         * bindings/scripts/test/JS/JSTestNode.h:
526         * bindings/scripts/test/JS/JSTestObj.cpp:
527         * bindings/scripts/test/JS/JSTestObj.h:
528         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
529         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
530         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
531         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
532         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
533         * bindings/scripts/test/JS/JSTestTypedefs.h:
534         * bridge/jsc/BridgeJSC.h:
535         (JSC::Bindings::Instance::getOwnPropertySlot):
536         * bridge/objc/objc_runtime.h:
537         * bridge/objc/objc_runtime.mm:
538         * bridge/runtime_array.cpp:
539         * bridge/runtime_array.h:
540         * bridge/runtime_method.cpp:
541         * bridge/runtime_method.h:
542         * bridge/runtime_object.cpp:
543         * bridge/runtime_object.h:
544             - remove getOwnPropertyDescriptor
545
546 2013-08-20  Antti Koivisto  <antti@apple.com>
547
548         <https://webkit.org/b/120071> Replace NodeRenderingContext with Node* as childShouldCreateRenderer() argument
549
550         Reviewed by Darin Adler.
551
552         This simplifies the code. NodeRenderingContext was basically only used for getting the Node.
553
554         * dom/ContainerNode.h:
555         (WebCore::ContainerNode::childShouldCreateRenderer):
556         * dom/Element.cpp:
557         (WebCore::Element::childShouldCreateRenderer):
558         * dom/Element.h:
559         * dom/NodeRenderingContext.cpp:
560         (WebCore::NodeRenderingContext::shouldCreateRenderer):
561         * dom/NodeRenderingContext.h:
562         
563             Move isOnEncapsulationBoundary() to InsertionPoint.h and call it hasShadowRootOrActiveInsertionPointParent().
564             Move isOnUpperEncapsulationBoundary() to ShadowRoot.h and call it hasShadowRootParent().
565
566         * dom/ShadowRoot.h:
567         (WebCore::hasShadowRootParent):
568         * html/HTMLDetailsElement.cpp:
569         (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
570         * html/HTMLDetailsElement.h:
571         * html/HTMLFormControlElement.cpp:
572         (WebCore::HTMLFormControlElement::validationMessageShadowTreeContains):
573         * html/HTMLFormControlElement.h:
574         * html/HTMLMediaElement.cpp:
575         (WebCore::HTMLMediaElement::childShouldCreateRenderer):
576         * html/HTMLMediaElement.h:
577         * html/HTMLMeterElement.cpp:
578         (WebCore::HTMLMeterElement::childShouldCreateRenderer):
579         * html/HTMLMeterElement.h:
580         * html/HTMLOptGroupElement.h:
581         (WebCore::isHTMLOptGroupElement):
582         * html/HTMLOptionElement.h:
583         (WebCore::isHTMLOptionElement):
584         * html/HTMLProgressElement.cpp:
585         (WebCore::HTMLProgressElement::childShouldCreateRenderer):
586         * html/HTMLProgressElement.h:
587         * html/HTMLSelectElement.cpp:
588         (WebCore::HTMLSelectElement::childShouldCreateRenderer):
589         * html/HTMLSelectElement.h:
590         * html/HTMLSummaryElement.cpp:
591         (WebCore::HTMLSummaryElement::childShouldCreateRenderer):
592         * html/HTMLSummaryElement.h:
593         * html/HTMLTextFormControlElement.cpp:
594         (WebCore::HTMLTextFormControlElement::childShouldCreateRenderer):
595         (WebCore::enclosingTextFormControl):
596         * html/HTMLTextFormControlElement.h:
597         * html/ValidationMessage.cpp:
598         (WebCore::ValidationMessage::shadowTreeContains):
599         * html/ValidationMessage.h:
600         * html/shadow/InsertionPoint.cpp:
601         (WebCore::InsertionPoint::rendererIsNeeded):
602         * html/shadow/InsertionPoint.h:
603         (WebCore::isActiveInsertionPoint):
604         
605             Remove isShadowBoundary() as it was equivalent to isActive(). 
606             Remove isLowerEncapsulationBoundary() as it was equivalent to isActiveInsertionPoint().
607
608         (WebCore::hasShadowRootOrActiveInsertionPointParent):
609         
610             Moved and renamed from NodeRenderingContext::isOnEncapsulationBoundary().
611
612         * svg/SVGAElement.cpp:
613         (WebCore::SVGAElement::childShouldCreateRenderer):
614         * svg/SVGAElement.h:
615         * svg/SVGAltGlyphElement.cpp:
616         (WebCore::SVGAltGlyphElement::childShouldCreateRenderer):
617         * svg/SVGAltGlyphElement.h:
618         * svg/SVGDocument.cpp:
619         (WebCore::SVGDocument::childShouldCreateRenderer):
620         * svg/SVGDocument.h:
621         * svg/SVGElement.cpp:
622         (WebCore::SVGElement::childShouldCreateRenderer):
623         * svg/SVGElement.h:
624         * svg/SVGFilterElement.cpp:
625         (WebCore::SVGFilterElement::childShouldCreateRenderer):
626         * svg/SVGFilterElement.h:
627         * svg/SVGFilterPrimitiveStandardAttributes.h:
628         * svg/SVGForeignObjectElement.cpp:
629         (WebCore::SVGForeignObjectElement::childShouldCreateRenderer):
630         * svg/SVGForeignObjectElement.h:
631         * svg/SVGSVGElement.h:
632         (WebCore::toSVGSVGElement):
633         * svg/SVGSwitchElement.cpp:
634         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
635         * svg/SVGSwitchElement.h:
636         * svg/SVGTRefElement.cpp:
637         (WebCore::SVGTRefElement::childShouldCreateRenderer):
638         * svg/SVGTRefElement.h:
639         * svg/SVGTSpanElement.cpp:
640         (WebCore::SVGTSpanElement::childShouldCreateRenderer):
641         * svg/SVGTSpanElement.h:
642         * svg/SVGTextElement.cpp:
643         (WebCore::SVGTextElement::childShouldCreateRenderer):
644         * svg/SVGTextElement.h:
645         * svg/SVGTextPathElement.cpp:
646         (WebCore::SVGTextPathElement::childShouldCreateRenderer):
647         * svg/SVGTextPathElement.h:
648
649 2013-08-20  Benjamin Poulain  <benjamin@webkit.org>
650
651         <https://webkit.org/b/120050> Don't bother using a Vector for the ouput of querySelector, just return the first element found
652
653         Reviewed by Ryosuke Niwa.
654
655         Simplify the case of querySelector. Instead of using the same output type as querySelectorAll,
656         simply use a trait to define what to do in the loop.
657
658         * dom/SelectorQuery.cpp:
659         (WebCore::AllElementExtractorSelectorQueryTrait::appendOutputForElement):
660         (WebCore::SelectorDataList::queryAll):
661         (WebCore::SingleElementExtractorSelectorQueryTrait::appendOutputForElement):
662         (WebCore::SelectorDataList::queryFirst):
663         (WebCore::SelectorDataList::executeFastPathForIdSelector):
664         (WebCore::elementsForLocalName):
665         (WebCore::anyElement):
666         (WebCore::SelectorDataList::executeSingleTagNameSelectorData):
667         (WebCore::SelectorDataList::executeSingleClassNameSelectorData):
668         (WebCore::SelectorDataList::executeSingleSelectorData):
669         (WebCore::SelectorDataList::executeSingleMultiSelectorData):
670         (WebCore::SelectorDataList::execute):
671         * dom/SelectorQuery.h:
672
673 2013-08-20  Antti Koivisto  <antti@apple.com>
674
675         Rollout the previous patch for landing with the correct ChangeLog.
676
677 013-08-20  Jacky Jiang  <zhajiang@blackberry.com>
678
679         <https://webkit.org/b/120082> [BlackBerry] Remove unused previousTextureRect in LayerTiler
680
681         Reviewed by Rob Buis.
682         Internally reviewed by Mike Lattanzio and Jakob Petsovits.
683
684         * platform/graphics/blackberry/LayerTiler.cpp:
685         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
686
687 2013-08-20  Antti Koivisto  <antti@apple.com>
688
689         <https://webkit.org/b/120078> Replace NodeRenderingContext with RenderStyle& as shouldCreateRenderer() argument
690
691         Reviewed by Darin Adler.
692
693         This simplifies the code. NodeRenderingContext was only used for getting the RenderStyle.
694
695         * dom/Element.cpp:
696         (WebCore::Element::rendererIsNeeded):
697         * dom/Element.h:
698         * dom/NodeRenderingContext.cpp:
699         (WebCore::NodeRenderingContext::elementInsideRegionNeedsRenderer):
700         (WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
701         * dom/PseudoElement.cpp:
702         (WebCore::PseudoElement::rendererIsNeeded):
703         * dom/PseudoElement.h:
704         * html/HTMLAppletElement.cpp:
705         (WebCore::HTMLAppletElement::rendererIsNeeded):
706         * html/HTMLAppletElement.h:
707         * html/HTMLElement.cpp:
708         (WebCore::HTMLElement::rendererIsNeeded):
709         * html/HTMLElement.h:
710         * html/HTMLEmbedElement.cpp:
711         (WebCore::HTMLEmbedElement::rendererIsNeeded):
712         * html/HTMLEmbedElement.h:
713         * html/HTMLFormElement.cpp:
714         (WebCore::HTMLFormElement::rendererIsNeeded):
715         * html/HTMLFormElement.h:
716         * html/HTMLFrameElement.cpp:
717         (WebCore::HTMLFrameElement::rendererIsNeeded):
718         * html/HTMLFrameElement.h:
719         * html/HTMLFrameSetElement.cpp:
720         (WebCore::HTMLFrameSetElement::rendererIsNeeded):
721         * html/HTMLFrameSetElement.h:
722         * html/HTMLIFrameElement.cpp:
723         (WebCore::HTMLIFrameElement::rendererIsNeeded):
724         * html/HTMLIFrameElement.h:
725         * html/HTMLInputElement.cpp:
726         (WebCore::HTMLInputElement::rendererIsNeeded):
727         * html/HTMLInputElement.h:
728         * html/HTMLMediaElement.cpp:
729         (WebCore::HTMLMediaElement::rendererIsNeeded):
730         * html/HTMLMediaElement.h:
731         * html/HTMLObjectElement.cpp:
732         (WebCore::HTMLObjectElement::rendererIsNeeded):
733         * html/HTMLObjectElement.h:
734         * html/HTMLOptGroupElement.h:
735         * html/HTMLOptionElement.h:
736         * html/HTMLVideoElement.cpp:
737         (WebCore::HTMLVideoElement::rendererIsNeeded):
738         * html/HTMLVideoElement.h:
739         * html/shadow/DetailsMarkerControl.cpp:
740         (WebCore::DetailsMarkerControl::rendererIsNeeded):
741         * html/shadow/DetailsMarkerControl.h:
742         * html/shadow/InsertionPoint.cpp:
743         (WebCore::InsertionPoint::rendererIsNeeded):
744         * html/shadow/InsertionPoint.h:
745         * html/shadow/MeterShadowElement.cpp:
746         (WebCore::MeterShadowElement::rendererIsNeeded):
747         (WebCore::MeterInnerElement::rendererIsNeeded):
748         * html/shadow/MeterShadowElement.h:
749         * html/shadow/ProgressShadowElement.cpp:
750         (WebCore::ProgressShadowElement::rendererIsNeeded):
751         (WebCore::ProgressInnerElement::rendererIsNeeded):
752         * html/shadow/ProgressShadowElement.h:
753         * svg/SVGDescElement.h:
754         * svg/SVGElement.h:
755         (WebCore::SVGElement::rendererIsNeeded):
756         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
757         (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
758         * svg/SVGFilterPrimitiveStandardAttributes.h:
759         * svg/SVGFontElement.h:
760         * svg/SVGForeignObjectElement.cpp:
761         (WebCore::SVGForeignObjectElement::rendererIsNeeded):
762         * svg/SVGForeignObjectElement.h:
763         * svg/SVGGElement.cpp:
764         (WebCore::SVGGElement::rendererIsNeeded):
765         * svg/SVGGElement.h:
766         * svg/SVGGlyphElement.h:
767         * svg/SVGGlyphRefElement.h:
768         * svg/SVGHKernElement.h:
769         * svg/SVGMarkerElement.h:
770         * svg/SVGMissingGlyphElement.h:
771         * svg/SVGSVGElement.cpp:
772         (WebCore::SVGSVGElement::rendererIsNeeded):
773         * svg/SVGSVGElement.h:
774         * svg/SVGStopElement.cpp:
775         (WebCore::SVGStopElement::rendererIsNeeded):
776         * svg/SVGStopElement.h:
777         * svg/SVGStyledElement.cpp:
778         (WebCore::SVGStyledElement::rendererIsNeeded):
779         * svg/SVGStyledElement.h:
780         * svg/SVGTRefElement.cpp:
781         (WebCore::SVGTRefElement::rendererIsNeeded):
782         * svg/SVGTRefElement.h:
783         * svg/SVGTSpanElement.cpp:
784         (WebCore::SVGTSpanElement::rendererIsNeeded):
785         * svg/SVGTSpanElement.h:
786         * svg/SVGTextPathElement.cpp:
787         (WebCore::SVGTextPathElement::rendererIsNeeded):
788         * svg/SVGTextPathElement.h:
789         * svg/SVGTitleElement.h:
790         * svg/SVGVKernElement.h:
791         * svg/SVGViewElement.h:
792
793 2013-08-20  Daniel Bates  <dabates@apple.com>
794
795         <https://webkit.org/b/120088> Define Clipboard::hasData() only when building with drag support
796
797         Reviewed by Darin Adler.
798
799         Clipboard::hasData() is specific to drag-and-drop support. We should only define it when
800         such support is enabled.
801
802         * dom/Clipboard.cpp: Move hasData() to DRAG_SUPPORT section of the file.
803         * dom/Clipboard.h: Ditto.
804
805 2013-08-20  Antti Koivisto  <antti@apple.com>
806
807         <https://webkit.org/b/120078> Replace NodeRenderingContext with RenderStyle& as shouldCreateRenderer() argument
808
809         Reviewed by Darin Adler.
810
811         This simplifies the code. NodeRenderingContext was only used for getting the RenderStyle.
812
813         * dom/Element.cpp:
814         (WebCore::Element::rendererIsNeeded):
815         * dom/Element.h:
816         * dom/NodeRenderingContext.cpp:
817         (WebCore::NodeRenderingContext::elementInsideRegionNeedsRenderer):
818         (WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
819         * dom/PseudoElement.cpp:
820         (WebCore::PseudoElement::rendererIsNeeded):
821         * dom/PseudoElement.h:
822         * html/HTMLAppletElement.cpp:
823         (WebCore::HTMLAppletElement::rendererIsNeeded):
824         * html/HTMLAppletElement.h:
825         * html/HTMLElement.cpp:
826         (WebCore::HTMLElement::rendererIsNeeded):
827         * html/HTMLElement.h:
828         * html/HTMLEmbedElement.cpp:
829         (WebCore::HTMLEmbedElement::rendererIsNeeded):
830         * html/HTMLEmbedElement.h:
831         * html/HTMLFormElement.cpp:
832         (WebCore::HTMLFormElement::rendererIsNeeded):
833         * html/HTMLFormElement.h:
834         * html/HTMLFrameElement.cpp:
835         (WebCore::HTMLFrameElement::rendererIsNeeded):
836         * html/HTMLFrameElement.h:
837         * html/HTMLFrameSetElement.cpp:
838         (WebCore::HTMLFrameSetElement::rendererIsNeeded):
839         * html/HTMLFrameSetElement.h:
840         * html/HTMLIFrameElement.cpp:
841         (WebCore::HTMLIFrameElement::rendererIsNeeded):
842         * html/HTMLIFrameElement.h:
843         * html/HTMLInputElement.cpp:
844         (WebCore::HTMLInputElement::rendererIsNeeded):
845         * html/HTMLInputElement.h:
846         * html/HTMLMediaElement.cpp:
847         (WebCore::HTMLMediaElement::rendererIsNeeded):
848         * html/HTMLMediaElement.h:
849         * html/HTMLObjectElement.cpp:
850         (WebCore::HTMLObjectElement::rendererIsNeeded):
851         * html/HTMLObjectElement.h:
852         * html/HTMLOptGroupElement.h:
853         * html/HTMLOptionElement.h:
854         * html/HTMLVideoElement.cpp:
855         (WebCore::HTMLVideoElement::rendererIsNeeded):
856         * html/HTMLVideoElement.h:
857         * html/shadow/DetailsMarkerControl.cpp:
858         (WebCore::DetailsMarkerControl::rendererIsNeeded):
859         * html/shadow/DetailsMarkerControl.h:
860         * html/shadow/InsertionPoint.cpp:
861         (WebCore::InsertionPoint::rendererIsNeeded):
862         * html/shadow/InsertionPoint.h:
863         * html/shadow/MeterShadowElement.cpp:
864         (WebCore::MeterShadowElement::rendererIsNeeded):
865         (WebCore::MeterInnerElement::rendererIsNeeded):
866         * html/shadow/MeterShadowElement.h:
867         * html/shadow/ProgressShadowElement.cpp:
868         (WebCore::ProgressShadowElement::rendererIsNeeded):
869         (WebCore::ProgressInnerElement::rendererIsNeeded):
870         * html/shadow/ProgressShadowElement.h:
871         * svg/SVGDescElement.h:
872         * svg/SVGElement.h:
873         (WebCore::SVGElement::rendererIsNeeded):
874         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
875         (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
876         * svg/SVGFilterPrimitiveStandardAttributes.h:
877         * svg/SVGFontElement.h:
878         * svg/SVGForeignObjectElement.cpp:
879         (WebCore::SVGForeignObjectElement::rendererIsNeeded):
880         * svg/SVGForeignObjectElement.h:
881         * svg/SVGGElement.cpp:
882         (WebCore::SVGGElement::rendererIsNeeded):
883         * svg/SVGGElement.h:
884         * svg/SVGGlyphElement.h:
885         * svg/SVGGlyphRefElement.h:
886         * svg/SVGHKernElement.h:
887         * svg/SVGMarkerElement.h:
888         * svg/SVGMissingGlyphElement.h:
889         * svg/SVGSVGElement.cpp:
890         (WebCore::SVGSVGElement::rendererIsNeeded):
891         * svg/SVGSVGElement.h:
892         * svg/SVGStopElement.cpp:
893         (WebCore::SVGStopElement::rendererIsNeeded):
894         * svg/SVGStopElement.h:
895         * svg/SVGStyledElement.cpp:
896         (WebCore::SVGStyledElement::rendererIsNeeded):
897         * svg/SVGStyledElement.h:
898         * svg/SVGTRefElement.cpp:
899         (WebCore::SVGTRefElement::rendererIsNeeded):
900         * svg/SVGTRefElement.h:
901         * svg/SVGTSpanElement.cpp:
902         (WebCore::SVGTSpanElement::rendererIsNeeded):
903         * svg/SVGTSpanElement.h:
904         * svg/SVGTextPathElement.cpp:
905         (WebCore::SVGTextPathElement::rendererIsNeeded):
906         * svg/SVGTextPathElement.h:
907         * svg/SVGTitleElement.h:
908         * svg/SVGVKernElement.h:
909         * svg/SVGViewElement.h:
910
911 2013-08-20  Tim Horton  <timothy_horton@apple.com>
912
913         <https://webkit.org/b/105988> [Mac] Some inspector tests intermittently assert in InspectorOverlay::paint
914         <rdar://problem/12958038>
915
916         Reviewed by Joseph Pecoraro.
917
918         Update the inspector overlay's layout before painting, if it is stale.
919
920         No new tests; fixes an intermittent assertion failure in some existing tests.
921
922         * inspector/InspectorOverlay.cpp:
923         (WebCore::InspectorOverlay::paint):
924
925 2013-08-20  Daniel Bates  <dabates@apple.com>
926
927         Build fix after <http://trac.webkit.org/changeset/154260> (https://webkit.org/b/119949);
928         declare Clipboard::hasData() when building with and without drag support
929
930         * dom/Clipboard.h:
931
932 2013-08-20  Hans Muller  <hmuller@adobe.com>
933
934         <https://webkit.org/b/119849> [CSS Shapes] Complete RasterShape::firstIncludedIntervalLogicalTop()
935
936         Reviewed by Alexandru Chiculita.
937
938         Completed the implementation of RasterShape::firstIncludedIntervalLogicalTop(). The
939         method now computes first logical top location where a line segment can be laid
940         out within a RasterShape, i.e. a shape derived from an image valued URL resource.
941
942         A detailed description of the algorithm can be found in
943         http://hansmuller-webkit.blogspot.com/2013/08/first-fit-location-for-image-shapes.html.
944
945         The new tests exposed a bug in the existing getIncludedIntervals() method. A shape
946         with a vertical gap that spans the entire line now causes the method to short circuit
947         and return an empty interval list.
948
949         Tests: fast/shapes/shape-inside/shape-inside-image-003.html
950                fast/shapes/shape-inside/shape-inside-image-004.html
951                fast/shapes/shape-inside/shape-inside-image-005.html
952
953         * rendering/shapes/RasterShape.cpp:
954         (WebCore::RasterShapeIntervals::firstIncludedIntervalY):
955         (WebCore::RasterShapeIntervals::getIncludedIntervals):
956         (WebCore::RasterShape::firstIncludedIntervalLogicalTop):
957         * rendering/shapes/RasterShape.h:
958
959 2013-08-20  Pratik Solanki  <psolanki@apple.com>
960
961         <https://webkit.org/b/120029> Document::markers() should return a reference
962
963         Reviewed by Andreas Kling.
964
965         Document::m_markers is never NULL so return a reference from Document::markers(). Also mark
966         m_markers as const and initialize it in member initialization.
967
968         * dom/Document.cpp:
969         (WebCore::Document::Document):
970         * dom/Document.h:
971         (WebCore::Document::markers):
972         * editing/AlternativeTextController.cpp:
973         (WebCore::AlternativeTextController::isSpellingMarkerAllowed):
974         (WebCore::AlternativeTextController::applyAlternativeTextToRange):
975         (WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
976         (WebCore::AlternativeTextController::handleAlternativeTextUIResult):
977         (WebCore::AlternativeTextController::respondToChangedSelection):
978         (WebCore::AlternativeTextController::respondToAppliedEditing):
979         (WebCore::AlternativeTextController::respondToUnappliedEditing):
980         (WebCore::AlternativeTextController::markReversed):
981         (WebCore::AlternativeTextController::markCorrection):
982         (WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection):
983         (WebCore::AlternativeTextController::markPrecedingWhitespaceForDeletedAutocorrectionAfterCommand):
984         (WebCore::AlternativeTextController::processMarkersOnTextToBeReplacedByResult):
985         (WebCore::AlternativeTextController::applyDictationAlternative):
986         * editing/CompositeEditCommand.cpp:
987         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
988         * editing/DeleteSelectionCommand.cpp:
989         (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
990         * editing/DictationCommand.cpp:
991         (WebCore::DictationMarkerSupplier::addMarkersToTextNode):
992         * editing/Editor.cpp:
993         (WebCore::Editor::ignoreSpelling):
994         (WebCore::Editor::learnSpelling):
995         (WebCore::Editor::advanceToNextMisspelling):
996         (WebCore::Editor::clearMisspellingsAndBadGrammar):
997         (WebCore::Editor::markAndReplaceFor):
998         (WebCore::Editor::changeBackToReplacedString):
999         (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
1000         (WebCore::Editor::countMatchesForText):
1001         (WebCore::Editor::setMarkedTextMatchesAreHighlighted):
1002         (WebCore::Editor::respondToChangedSelection):
1003         (WebCore::Editor::selectionStartHasMarkerFor):
1004         * editing/SpellChecker.cpp:
1005         (WebCore::SpellChecker::didCheckSucceed):
1006         * editing/SplitTextNodeCommand.cpp:
1007         (WebCore::SplitTextNodeCommand::doApply):
1008         (WebCore::SplitTextNodeCommand::doUnapply):
1009         * editing/TextCheckingHelper.cpp:
1010         (WebCore::TextCheckingHelper::findFirstMisspelling):
1011         (WebCore::TextCheckingHelper::findFirstGrammarDetail):
1012         * page/FrameView.cpp:
1013         (WebCore::FrameView::getTickmarks):
1014         (WebCore::FrameView::paintContents):
1015         * page/Page.cpp:
1016         (WebCore::Page::unmarkAllTextMatches):
1017         * rendering/HitTestResult.cpp:
1018         (WebCore::HitTestResult::spellingToolTip):
1019         (WebCore::HitTestResult::replacedString):
1020         (WebCore::HitTestResult::dictationAlternatives):
1021         * rendering/InlineTextBox.cpp:
1022         (WebCore::InlineTextBox::paintDocumentMarkers):
1023         * rendering/svg/SVGInlineFlowBox.cpp:
1024         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
1025         * testing/Internals.cpp:
1026         (WebCore::Internals::markerCountForNode):
1027         (WebCore::Internals::markerAt):
1028         (WebCore::Internals::addTextMatchMarker):
1029
1030 2013-08-20  Pratik Solanki  <psolanki@apple.com>
1031
1032         <https://webkit.org/b/119875> localeToScriptCodeForFontSelection should use hash tables with larger default capacity
1033
1034         Reviewed by Darin Adler.
1035
1036         The two static hash tables used in this file have 106 and 198 entries. Set a minimumTableSize for
1037         these hash tables so we don't have to expand them during initialization.
1038
1039         No new tests because no functional changes.
1040
1041         * platform/text/LocaleToScriptMappingDefault.cpp:
1042         (WebCore::scriptNameToCode):
1043         (WebCore::localeToScriptCodeForFontSelection):
1044
1045 2013-08-20  Eric Carlson  <eric.carlson@apple.com>
1046
1047         <https://webkit.org/b/120068> Media controls can be attached lazily
1048
1049         Reviewed by Jer Noble.
1050
1051         Merge https://chromium.googlesource.com/chromium/blink/+/28a995486a675992f2e72f81bfabdfff05688a31.
1052
1053         * html/HTMLMediaElement.cpp:
1054         (WebCore::HTMLMediaElement::createMediaControls): Add AttachLazily to appendChild().
1055
1056 2013-08-20  Daniel Bates  <dabates@apple.com>
1057
1058         <https://webkit.org/b/120072> Use nullAtom instead of defining static local in
1059         Accessibility{Object, RenderObject}::actionVerb()
1060
1061         Reviewed by Chris Fleizach.
1062
1063         * accessibility/AccessibilityObject.cpp:
1064         (WebCore::AccessibilityObject::actionVerb):
1065         * accessibility/AccessibilityRenderObject.cpp:
1066         (WebCore::AccessibilityRenderObject::actionVerb):
1067
1068 2013-08-20  Daniel Bates  <dabates@apple.com>
1069
1070         <https://webkit.org/b/119914> [iOS] Upstream changes to WebCore/accessibility
1071
1072         Reviewed by Darin Adler and Chris Fleizach.
1073
1074         * accessibility/AccessibilityMenuList.cpp:
1075         (WebCore::AccessibilityMenuList::press):
1076         (WebCore::AccessibilityMenuList::isCollapsed):
1077         * accessibility/AccessibilityObject.cpp:
1078         (WebCore::AccessibilityObject::headingElementForNode):
1079         (WebCore::AccessibilityObject::actionVerb):
1080         * accessibility/AccessibilityObject.h:
1081         * accessibility/AccessibilityRenderObject.cpp:
1082         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
1083         (WebCore::AccessibilityRenderObject::actionVerb):
1084         * accessibility/AccessibilityTableColumn.cpp:
1085         (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored):
1086         * accessibility/AccessibilityTableHeaderContainer.cpp:
1087         (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored):
1088         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1089
1090 2013-08-20  Bruno de Oliveira Abinader  <bruno.d@partner.samsung.com>
1091
1092         [css3-text] Implement CSS3 text-decoration shorthand
1093         https://bugs.webkit.org/show_bug.cgi?id=92000
1094
1095         Reviewed by Darin Adler.
1096
1097         Implements the text-decoration shorthand (with -webkit- prefix), as specified by the CSS3 Text Decoration specification:
1098         http://dev.w3.org/csswg/css-text-decor-3/#text-decoration-property
1099
1100         Backported from Blink:
1101         https://src.chromium.org/viewvc/blink?revision=156266&view=revision
1102
1103         Tests: fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-shorthand-ordering.html
1104                fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-shorthand.html
1105
1106         * css/CSSComputedStyleDeclaration.cpp:
1107         (WebCore::ComputedStyleExtractor::propertyValue):
1108         * css/CSSParser.cpp:
1109         (WebCore::CSSParser::parseValue):
1110         (WebCore::CSSParser::addTextDecorationProperty):
1111         (WebCore::CSSParser::parseTextDecoration):
1112         * css/CSSProperty.cpp:
1113         (WebCore::CSSProperty::isInheritedProperty):
1114         * css/CSSPropertyNames.in:
1115         * css/StylePropertyShorthand.cpp:
1116         (WebCore::webkitTextDecorationShorthand):
1117         (WebCore::shorthandForProperty):
1118         (WebCore::matchingShorthandsForLonghand):
1119         * css/StylePropertyShorthand.h:
1120
1121 2013-08-20  Gavin Barraclough  <barraclough@apple.com>
1122
1123         https://bugs.webkit.org/show_bug.cgi?id=120054
1124         Remove some dead code following getOwnPropertyDescriptor cleanup
1125
1126         Reviewed by Oliver Hunt.
1127
1128         * bindings/js/JSPluginElementFunctions.cpp:
1129         * bindings/js/JSPluginElementFunctions.h:
1130             - remove runtimeObjectCustomGetOwnPropertyDescriptor, pluginElementCustomGetOwnPropertyDescriptor
1131
1132 2013-08-20  Alex Christensen  <achristensen@apple.com>
1133
1134         Use PlatformArchitecture to distinguish between 32-bit and 64-bit builds on Windows.
1135         https://bugs.webkit.org/show_bug.cgi?id=119512
1136
1137         Reviewed by Brent Fulgham.
1138
1139         * WebCore.vcxproj/WebCore.vcxproj:
1140         * WebCore.vcxproj/WebCore.vcxproj.filters:
1141         * WebCore.vcxproj/WebCoreCommon.props:
1142         * WebCore.vcxproj/WebCoreGeneratedCommon.props:
1143         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
1144         * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters:
1145         Replaced obj32, bin32, and lib32 with macros for 64-bit build.
1146
1147 2013-08-20  Jessie Berlin  <jberlin@apple.com>
1148
1149         Remove a string no longer used after r154251.
1150
1151         Rubber-stamped by Brady Eidson.
1152
1153         * English.lproj/Localizable.strings:
1154
1155 2013-08-20  Jakob Petsovits  <jpetsovits@blackberry.com>
1156
1157         [BlackBerry] Avoid an assertion from calling releaseBufferDrawable(nullptr)
1158         https://bugs.webkit.org/show_bug.cgi?id=119862
1159         JIRA 470760
1160
1161         Reviewed by Antonio Gomes.
1162
1163         destroyBuffer() finds a null pointer valid but
1164         releaseBufferDrawable() does not. Fix by adding a
1165         null pointer check.
1166
1167         No new tests, caught by existing layout test runs.
1168
1169         * platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
1170         (WebCore::ImageBuffer::~ImageBuffer):
1171
1172 2013-08-19  Gustavo Noronha Silva  <gns@gnome.org>
1173
1174         <https://webkit.org/b/120048> [GTK] Add stubs for APIs that went missing in the DOM bindings
1175
1176         Reviewed by Martin Robinson.
1177
1178         No new tests, these are just stubs for the DOM bindings API.
1179
1180         * bindings/gobject/WebKitDOMCustom.cpp:
1181         (webkit_dom_bar_info_get_property):
1182         (webkit_dom_bar_info_class_init):
1183         (webkit_dom_bar_info_init):
1184         (webkit_dom_bar_info_get_visible):
1185         (webkit_dom_console_get_memory):
1186         (webkit_dom_css_style_declaration_get_property_css_value):
1187         (webkit_dom_document_get_webkit_hidden):
1188         (webkit_dom_document_get_webkit_visibility_state):
1189         (webkit_dom_html_document_open):
1190         (webkit_dom_html_element_set_item_id):
1191         (webkit_dom_html_element_get_item_id):
1192         (webkit_dom_html_element_get_item_ref):
1193         (webkit_dom_html_element_get_item_prop):
1194         (webkit_dom_html_element_set_item_scope):
1195         (webkit_dom_html_element_get_item_scope):
1196         (webkit_dom_html_element_get_item_type):
1197         (webkit_dom_html_properties_collection_get_property):
1198         (webkit_dom_html_properties_collection_class_init):
1199         (webkit_dom_html_properties_collection_init):
1200         (webkit_dom_html_properties_collection_item):
1201         (webkit_dom_html_properties_collection_named_item):
1202         (webkit_dom_html_properties_collection_get_length):
1203         (webkit_dom_html_properties_collection_get_names):
1204         (webkit_dom_node_get_attributes):
1205         (webkit_dom_node_has_attributes):
1206         (webkit_dom_memory_info_get_property):
1207         (webkit_dom_memory_info_class_init):
1208         (webkit_dom_memory_info_init):
1209         (webkit_dom_memory_info_get_total_js_heap_size):
1210         (webkit_dom_memory_info_get_used_js_heap_size):
1211         (webkit_dom_memory_info_get_js_heap_size_limit):
1212         (webkit_dom_micro_data_item_value_class_init):
1213         (webkit_dom_micro_data_item_value_init):
1214         (webkit_dom_performance_get_memory):
1215         (webkit_dom_property_node_list_get_property):
1216         (webkit_dom_property_node_list_class_init):
1217         (webkit_dom_property_node_list_init):
1218         (webkit_dom_property_node_list_item):
1219         (webkit_dom_property_node_list_get_length):
1220         * bindings/gobject/WebKitDOMCustom.h:
1221
1222 2013-08-20  Antti Koivisto  <antti@apple.com>
1223
1224         <https://webkit.org/b/120017> Remove NodeRenderingTraversal::ParentDetails
1225
1226         Reviewed by Andreas Kling.
1227
1228         Remove this oddly factored type that is used to optionally collect some data during ComposedShadowTreeWalker parent traversal.
1229         
1230         Also removed support for reset-style-inheritance attribute in InsertionPoint. We don't use or expose it.
1231
1232         * css/StyleResolver.cpp:
1233         (WebCore::StyleResolver::State::initForStyleResolve):
1234         (WebCore::StyleResolver::styleForElement):
1235         * css/StyleResolver.h:
1236         (WebCore::StyleResolver::State::State):
1237         (WebCore::StyleResolver::State::elementLinkState):
1238         
1239             Remove m_distributedToInsertionPoint State field. We never hit the cases where it was used.
1240
1241         * dom/ComposedShadowTreeWalker.cpp:
1242         (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
1243         (WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents):
1244         (WebCore::ComposedShadowTreeWalker::traverseParent):
1245         
1246             Return null instead of setting childWasOutOfComposition to details object. That's what would happen anyway in the caller.
1247
1248         (WebCore::ComposedShadowTreeWalker::traverseParentInCurrentTree):
1249         (WebCore::ComposedShadowTreeWalker::traverseParentBackToShadowRootOrHost):
1250         * dom/ComposedShadowTreeWalker.h:
1251         * dom/Node.cpp:
1252         (WebCore::Node::insertionParentForBinding):
1253         * dom/NodeRenderingContext.cpp:
1254         (WebCore::NodeRenderingContext::NodeRenderingContext):
1255         (WebCore::NodeRenderingContext::isOnEncapsulationBoundary):
1256         
1257             Make this look up InsertionPoint directly intead of relying it being populated in m_parentDetails. The function is used only in
1258             a few non-performance critical places.
1259
1260         (WebCore::NodeRenderingContext::resetStyleInheritance):
1261         
1262             Return parent ShadowRoots resetStyleInheritance() flag instead of using m_parentDetails.
1263
1264         * dom/NodeRenderingContext.h:
1265         * dom/NodeRenderingTraversal.cpp:
1266         (WebCore::NodeRenderingTraversal::parentSlow):
1267         * dom/NodeRenderingTraversal.h:
1268         (WebCore::NodeRenderingTraversal::parent):
1269         
1270             Remove ParentDetails.
1271
1272         * html/HTMLAttributeNames.in:
1273         * html/shadow/InsertionPoint.cpp:
1274         
1275             Remove unused resetStyleInheritance attribute.
1276
1277         (WebCore::InsertionPoint::removedFrom):
1278         (WebCore::findInsertionPointOf):
1279         
1280             Renamed for clarity.
1281
1282         * html/shadow/InsertionPoint.h:
1283         * testing/Internals.cpp:
1284         (WebCore::Internals::includerFor):
1285
1286 2013-08-20  Antti Koivisto  <antti@apple.com>
1287
1288         <https://webkit.org/b/120025> REGRESSION (r154254): fast/frames/frameset-frameborder-inheritance.html failing on Apple MountainLion Debug WK1 (Tests)
1289
1290         Reviewed by Anders Carlsson.
1291
1292         * html/HTMLDocument.cpp:
1293         (WebCore::HTMLDocument::isFrameSet):
1294         * html/HTMLFrameElement.cpp:
1295         (WebCore::HTMLFrameElement::didAttachRenderers):
1296         
1297             Make helper public in HTMLFrameSetElement.
1298
1299         * html/HTMLFrameSetElement.cpp:
1300         (WebCore::HTMLFrameSetElement::findContaining):
1301         
1302             Static function for finding containing frameset, if any.
1303
1304         (WebCore::HTMLFrameSetElement::willAttachRenderers):
1305         
1306             This broke in refactoring. We should exit the loop when the first containing frameset is found. Fix by refactoring more.
1307
1308         * html/HTMLFrameSetElement.h:
1309         (WebCore::isHTMLFrameSetElement):
1310         (WebCore::toHTMLFrameSetElement):
1311         
1312             Add casting functions.
1313
1314         * rendering/RenderFrameSet.cpp:
1315         (WebCore::RenderFrameSet::frameSet):
1316
1317 2013-08-20  Antti Koivisto  <antti@apple.com>
1318
1319         <https://webkit.org/b/120023> REGRESSION(r154257): svg/custom/bug78807.svg and svg/custom/use-invalid-style.svg failing
1320
1321         Reviewed by Andreas Kling.
1322
1323         * xml/XMLErrors.cpp:
1324         (WebCore::XMLErrors::insertErrorMessageBlock): "reattach" had accidentally turned into "detach" in refactoring.
1325
1326 2013-08-20  Antti Koivisto  <antti@apple.com>
1327
1328         <https://webkit.org/b/119969> REGRESSION (r154232): Crash on the japantimes.co.jp
1329
1330         Reviewed by Andreas Kling.
1331         
1332         PseudoElement no longer has parent and calling Element::insertedInto for them crashes as it tries to access it.
1333
1334         Normally there are no pseudo elements when Element::insertedInto() is invoked as they get detached and attached
1335         along with rendering. However in this case the page inserts a <style> that uses ::before along with an element
1336         that it applies to. Stylesheet insertion triggers synchronous style recalc that attaches rendering to all newly
1337         insered elements. Later Element::insertedInto gets called for the element that has pseudo element and we crash.
1338
1339         Test: fast/css-generated-content/insert-stylesheet-and-pseudo-crash.html
1340
1341         * dom/Element.cpp:
1342         (WebCore::Element::insertedInto):
1343         (WebCore::Element::removedFrom):
1344         
1345             Remove calls to insertedInto/removedFrom for pseudo elements. They are not considered to be in document.
1346             When they are added normally during render tree attach these calls don't happen either.
1347
1348 2013-08-20  Ryosuke Niwa  <rniwa@webkit.org>
1349
1350         Windows build fix after r154314.
1351
1352         * platform/graphics/cg/PathCG.cpp:
1353         (WebCore::Path::platformAddPathForRoundedRect):
1354
1355 2013-08-19  Hurnjoo Lee  <hurnjoo.lee@samsung.com>
1356
1357         [Cairo] Canvas putImageData is not working as expected
1358         https://bugs.webkit.org/show_bug.cgi?id=119992
1359
1360         Reviewed by Darin Adler.
1361
1362         ImageBufferCairo::putImageArray didn't perform pre-multiply in case of zero alpha value.
1363         If the alpha value is not 255, image data should always be pre-multiplied.
1364
1365         Test: fast/canvas/canvas-putImageData-zero-alpha.html
1366
1367         * platform/graphics/cairo/ImageBufferCairo.cpp:
1368         (WebCore::ImageBuffer::putByteArray):
1369
1370 2013-08-19  Santosh Mahto  <santosh.ma@samsung.com>
1371
1372         <https://webkit.org/b/119991> change usage of calculateUTCOffset()/calculateDSTOffset  to calculateLocalTimeOffset
1373
1374         Reviewed by Darin Adler.
1375
1376         Resolving code error.
1377
1378         * html/BaseDateAndTimeInputType.cpp:
1379         (WebCore::BaseDateAndTimeInputType::defaultValueForStepUp):
1380         * html/MonthInputType.cpp:
1381         (WebCore::MonthInputType::defaultValueForStepUp):
1382         * html/TimeInputType.cpp:
1383         (WebCore::TimeInputType::defaultValueForStepUp):
1384
1385 2013-08-19  Ryosuke Niwa  <rniwa@webkit.org>
1386
1387         <https://webkit.org/b/120049> Delete code for Snow Leopard
1388
1389         Reviewed by Benjamin Poulain.
1390
1391         Delete all the code for Mac OS 10.6. Nobody builds on Snow Leopard at this point.
1392
1393         * WebCore.exp.in:
1394         * WebCore.xcodeproj/project.pbxproj:
1395         * editing/mac/EditorMac.mm:
1396         (WebCore::Editor::pasteWithPasteboard):
1397         * page/ContextMenuController.cpp:
1398         (WebCore::ContextMenuController::populate):
1399         * platform/LocalizedStrings.cpp:
1400         (WebCore::truncatedStringForLookupMenuItem):
1401         (WebCore::contextMenuItemTagSearchWeb):
1402         (WebCore::contextMenuItemTagLookUpInDictionary):
1403         * platform/MemoryPressureHandler.cpp:
1404         * platform/audio/mac/AudioBusMac.mm:
1405         (WebCore::AudioBus::loadPlatformResource):
1406         * platform/graphics/ca/GraphicsLayerCA.cpp:
1407         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
1408         * platform/graphics/ca/PlatformCALayer.h:
1409         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1410         (PlatformCALayer::acceleratesDrawing):
1411         (PlatformCALayer::setAcceleratesDrawing):
1412         (PlatformCALayer::contentsScale):
1413         (PlatformCALayer::setContentsScale):
1414         (PlatformCALayer::synchronouslyDisplayTilesInRect):
1415         * platform/graphics/ca/mac/TileController.mm:
1416         (WebCore::TileController::setScale):
1417         (WebCore::TileController::setAcceleratesDrawing):
1418         (WebCore::TileController::createTileLayer):
1419         * platform/graphics/cg/ImageBufferDataCG.cpp:
1420         (WebCore::ImageBufferData::getData):
1421         (WebCore::ImageBufferData::putData):
1422         * platform/graphics/cg/ImageBufferDataCG.h:
1423         * platform/graphics/cg/PathCG.cpp:
1424         (WebCore::Path::platformAddPathForRoundedRect):
1425         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
1426         (WebCore::FontPlatformData::FontPlatformData):
1427         (WebCore::FontPlatformData::setFont):
1428         * platform/graphics/mac/FontMac.mm:
1429         (WebCore::showGlyphsWithAdvances):
1430         * platform/graphics/mac/GraphicsContextMac.mm:
1431         (WebCore::GraphicsContext::drawLineForDocumentMarker):
1432         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1433         (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
1434         (WebCore::MediaPlayerPrivateQTKit::layerHostChanged):
1435         * platform/graphics/mac/WebLayer.mm:
1436         (drawLayerContents):
1437         * platform/mac/CursorMac.mm:
1438         (WebCore::Cursor::ensurePlatformCursor):
1439         * platform/mac/EmptyProtocolDefinitions.h: Removed.
1440         * platform/mac/MemoryPressureHandlerMac.mm:
1441         (WebCore::MemoryPressureHandler::releaseMemory):
1442         * platform/mac/NSScrollerImpDetails.h:
1443         * platform/mac/PlatformEventFactoryMac.mm:
1444         (WebCore::momentumPhaseForEvent):
1445         (WebCore::phaseForEvent):
1446         * platform/mac/ScrollAnimatorMac.mm:
1447         * platform/mac/SharedTimerMac.mm:
1448         * platform/mac/WebCoreSystemInterface.h:
1449         * platform/mac/WebCoreSystemInterface.mm:
1450         * platform/network/mac/ResourceHandleMac.mm:
1451         * platform/network/mac/ResourceRequestMac.mm:
1452         (WebCore::ResourceRequest::doUpdateResourceRequest):
1453         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1454         * platform/text/cf/HyphenationCF.cpp:
1455         * platform/text/mac/HyphenationMac.mm: Removed.
1456         * rendering/RenderLayerBacking.cpp:
1457         (WebCore::RenderLayerBacking::containsPaintedContent):
1458         * rendering/RenderThemeMac.mm:
1459         (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
1460
1461 2013-08-19  Ryosuke Niwa  <rniwa@webkit.org>
1462
1463         <https://webkit.org/b/120041> Remove superfluous min calls in RenderBlock::computeOverflow
1464
1465         Reviewed by Simon Fraser.
1466
1467         Merge https://chromium.googlesource.com/chromium/blink/+/29cad35d6b4642804e6b7c1a30f0b4435dd7a71d
1468
1469         They are contained in an "if" statement that ensures that textIndent < 0 and so the min will never be 0.
1470
1471         * rendering/RenderBlock.cpp:
1472         (WebCore::RenderBlock::computeOverflow):
1473
1474 2013-08-19  Ryosuke Niwa  <rniwa@webkit.org>
1475
1476         <https://webkit.org/b/119930> input[type=range]: Fix a crash by changing input type in 'input' event handler
1477
1478         Reviewed by Kent Tamura.
1479
1480         Merge https://chromium.googlesource.com/chromium/blink/+/99afc9b55ce176b4f5fe053070e19dbebc1891a5
1481
1482         In SliderThumbElement::setPositionFromPoint, renderer() can be NULL after HTMLInputElement::setValueFromRenderer,
1483         which dispatches 'input' event. Also, make a local vairable 'input' a RefPtr just in case.
1484
1485         Also add null-poinetr checks for the host element as SliderThumbElement only weakly holds onto the host element.
1486
1487         Test: fast/forms/range/range-type-change-oninput.html
1488
1489         * html/shadow/SliderThumbElement.cpp:
1490         (WebCore::SliderThumbElement::isDisabledFormControl):
1491         (WebCore::SliderThumbElement::matchesReadOnlyPseudoClass):
1492         (WebCore::SliderThumbElement::matchesReadWritePseudoClass):
1493         (WebCore::SliderThumbElement::setPositionFromPoint):
1494         (WebCore::SliderThumbElement::hostInput):
1495
1496 2013-08-19  Alexey Proskuryakov  <ap@apple.com>
1497
1498         https://bugs.webkit.org/show_bug.cgi?id=120028
1499         ASSERTION FAILED: m_history->provisionalItem() == m_requestedHistoryItem.get()
1500         when navigating to an uncached subframe
1501
1502         Reviewed by Brady Eidson.
1503
1504         Test: http/tests/navigation/post-frames-goback1-uncached.html
1505
1506         * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadURLIntoChildFrame):
1507         Set m_requestedHistoryItem in a code path that doesn't go through FrameLoader::loadItem.
1508
1509         * loader/HistoryController.cpp: (WebCore::HistoryController::restoreDocumentState):
1510         Now that we always set m_requestedHistoryItem, there is no need to traverse frame
1511         tree to see if this document is being loaded as part of b/f navigation (which was
1512         add in bug 90870).
1513
1514 2013-08-19  Gavin Barraclough  <barraclough@apple.com>
1515
1516         https://bugs.webkit.org/show_bug.cgi?id=120034
1517         Remove custom getOwnPropertyDescriptor for global objects
1518
1519         Reviewed by Geoff Garen.
1520
1521         Fix attributes of JSC SynbolTableObject entries, ensure that cross frame access is safe, and suppress prototype chain walk.
1522
1523         * bindings/js/JSDOMWindowCustom.cpp:
1524         (WebCore::JSDOMWindow::getOwnPropertySlot):
1525             - Remove custom getOwnPropertyDescriptor implementation, on cross-frame access ensure
1526               all properties are marked as read-only, non-configurable to prevent defineProperty.
1527
1528 2013-08-19  Gavin Barraclough  <barraclough@apple.com>
1529
1530         https://bugs.webkit.org/show_bug.cgi?id=119995
1531         Start removing custom implementations of getOwnPropertyDescriptor
1532
1533         Reviewed by Sam Weinig.
1534
1535         This can now typically implemented in terms of getOwnPropertySlot.
1536         Add a macro to PropertyDescriptor to define an implementation of GOPD in terms of GOPS.
1537         Switch over most classes in JSC & the WebCore bindings generator to use this.
1538
1539         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1540         * bindings/js/JSHTMLAppletElementCustom.cpp:
1541         * bindings/js/JSHTMLEmbedElementCustom.cpp:
1542         * bindings/js/JSHTMLObjectElementCustom.cpp:
1543         * bindings/js/JSHistoryCustom.cpp:
1544         (WebCore::JSHistory::getOwnPropertySlotDelegate):
1545         * bindings/js/JSLocationCustom.cpp:
1546         (WebCore::JSLocation::getOwnPropertySlotDelegate):
1547         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
1548             - Remove getOwnPropertyDescriptorDelegate methods,
1549               Change attributes of cross-frame access properties in JSHistory/JSLocation to prevent properties from being redefined.
1550         * bindings/scripts/CodeGeneratorJS.pm:
1551         (GenerateHeader):
1552         (GenerateImplementation):
1553         (GenerateConstructorHelperMethods):
1554             - Implement getOwnPropertySlot in terms of GET_OWN_PROPERTY_DESCRIPTOR_IMPL.
1555         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1556         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1557         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1558         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1559         * bindings/scripts/test/JS/JSTestException.cpp:
1560         * bindings/scripts/test/JS/JSTestInterface.cpp:
1561         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1562         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1563         * bindings/scripts/test/JS/JSTestNode.cpp:
1564         * bindings/scripts/test/JS/JSTestObj.cpp:
1565         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1566         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1567         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1568             - Update test expectations.
1569
1570 2013-08-19  Benjamin Poulain  <benjamin@webkit.org>
1571
1572         <https://webkit.org/b/119936> Fix some encapsulation issues of RuleSet
1573
1574         Reviewed by Darin Adler.
1575
1576         None of the attributes of RuleSet should be modified directly.
1577
1578         * css/DocumentRuleSets.cpp:
1579         (WebCore::DocumentRuleSets::initUserStyle):
1580         * css/ElementRuleCollector.cpp:
1581         (WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
1582         * css/RuleSet.h:
1583         (WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
1584         (WebCore::RuleSet::regionSelectorsAndRuleSets):
1585         (WebCore::RuleSet::ruleCount):
1586         * css/StyleResolver.cpp:
1587         (WebCore::StyleResolver::checkRegionStyle):
1588
1589 2013-08-19  Benjamin Poulain  <benjamin@webkit.org>
1590
1591         <https://webkit.org/b/119937> Remove ElementRuleCollector's m_behaviorAtBoundary
1592
1593         Reviewed by Darin Adler.
1594
1595         The value DoesNotCrossBoundary is the default behavior boundary of SelectorChecker,
1596         and it is never changed by ElementRuleCollector.
1597
1598         * css/ElementRuleCollector.cpp:
1599         (WebCore::ElementRuleCollector::collectMatchingRules):
1600         (WebCore::ElementRuleCollector::ruleMatches):
1601         * css/ElementRuleCollector.h:
1602         (WebCore::ElementRuleCollector::ElementRuleCollector):
1603
1604 2013-08-19  Benjamin Poulain  <benjamin@webkit.org>
1605
1606         <https://webkit.org/b/119934> Remove a repeated "private:" from ElementRuleCollector
1607
1608         Reviewed by Darin Adler.
1609
1610         * css/ElementRuleCollector.h:
1611
1612 2013-08-19  Pratik Solanki  <psolanki@apple.com>
1613
1614         <https://webkit.org/b/120019> Document::visitedLinkState() should return a reference
1615
1616         Reviewed by Andreas Kling.
1617
1618         Document::m_visitedLinkState is never NULL so we can just return a reference. Also make it a const.
1619
1620         * css/StyleResolver.cpp:
1621         (WebCore::StyleResolver::State::initElement):
1622         * dom/Document.h:
1623         (WebCore::Document::visitedLinkState):
1624         * history/CachedPage.cpp:
1625         (WebCore::CachedPage::restore):
1626         * page/Page.cpp:
1627         (WebCore::Page::allVisitedStateChanged):
1628         (WebCore::Page::visitedStateChanged):
1629
1630 2013-08-19  Ryosuke Niwa  <rniwa@webkit.org>
1631
1632         ASSERTION FAILED: !node || node->isShadowRoot() in WebCore::EventRetargeter::eventTargetRespectingTargetRules
1633         https://bugs.webkit.org/show_bug.cgi?id=119720
1634
1635         Reviewed by Andy Estes.
1636
1637         Merge https://chromium.googlesource.com/chromium/blink/+/4ce9bfbf54410179cd0f18b3d1a912045fc0ec3d
1638
1639         * dom/EventRetargeter.h:
1640         (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
1641
1642 2013-08-19  Darin Adler  <darin@apple.com>
1643
1644         <https://webkit.org/b/120013> Tighten up logic in HTMLTableRowsCollection
1645
1646         Reviewed by Andy Estes.
1647
1648         I was looking for incorrect uses of hasLocalName in places where hasTagName should be used.
1649         The use in HTMLTableRowsCollection looked like that kind of mistake, but when I tried to
1650         make a test case to show the mistake, I found I could not. So I wrote assertions to restate
1651         what I learned, and removed an unneeded null check and tightened up the code a bit. This
1652         should make code size slightly smaller.
1653
1654         * html/HTMLTableRowsCollection.cpp:
1655         (WebCore::assertRowIsInTable): Added. Asserts that the row's position in the table is consistent
1656         with the invariants of how the collection class works. A row that is processed here would have
1657         to be an immediate child of the table, or an immediate child of a table section that in turn is
1658         an immediate child of the table.
1659         (WebCore::isInSection): Added. Replaces the three more-specific helper functions. Unlike those,
1660         this does not do a null check.
1661         (WebCore::HTMLTableRowsCollection::rowAfter): Changed to use the two new functions.
1662
1663 2013-08-19  Pratik Solanki  <psolanki@apple.com>
1664
1665         <https://webkit.org/b/119918> Frame::selection() should return a reference
1666
1667         Reviewed by Darin Adler.
1668
1669         m_selection is never NULL so return a reference from Frame::selection(). Also removed some
1670         unnecessary null checks and assert diff ts exposed as a result.
1671
1672         * accessibility/AccessibilityRenderObject.cpp:
1673         (WebCore::AccessibilityRenderObject::selection):
1674         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
1675         (WebCore::AccessibilityRenderObject::isFocused):
1676         (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
1677         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
1678         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1679         (-[WebAccessibilityObjectWrapper accessibilityModifySelection:increase:]):
1680         (-[WebAccessibilityObjectWrapper accessibilityMoveSelectionToMarker:]):
1681         (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
1682         (-[WebAccessibilityObjectWrapper _convertToDOMRange:]):
1683         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1684         (-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
1685         * css/SelectorChecker.cpp:
1686         (WebCore::SelectorChecker::isFrameFocused):
1687         * dom/CharacterData.cpp:
1688         (WebCore::CharacterData::setDataAndUpdate):
1689         * dom/Document.cpp:
1690         (WebCore::Document::nodeChildrenWillBeRemoved):
1691         (WebCore::Document::nodeWillBeRemoved):
1692         * dom/Element.cpp:
1693         (WebCore::Element::updateFocusAppearance):
1694         * editing/AlternativeTextController.cpp:
1695         (WebCore::AlternativeTextController::stopPendingCorrection):
1696         (WebCore::AlternativeTextController::applyAlternativeTextToRange):
1697         (WebCore::AlternativeTextController::applyAutocorrectionBeforeTypingIfAppropriate):
1698         (WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
1699         (WebCore::AlternativeTextController::timerFired):
1700         (WebCore::AlternativeTextController::respondToChangedSelection):
1701         * editing/DeleteButtonController.cpp:
1702         (WebCore::DeleteButtonController::respondToChangedSelection):
1703         (WebCore::DeleteButtonController::enable):
1704         (WebCore::DeleteButtonController::deleteTarget):
1705         * editing/DeleteSelectionCommand.cpp:
1706         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
1707         * editing/DictationCommand.cpp:
1708         (WebCore::DictationCommand::insertText):
1709         * editing/EditCommand.cpp:
1710         (WebCore::EditCommand::EditCommand):
1711         * editing/EditingStyle.cpp:
1712         (WebCore::EditingStyle::mergeTypingStyle):
1713         * editing/Editor.cpp:
1714         (WebCore::Editor::selectionForCommand):
1715         (WebCore::Editor::canEdit):
1716         (WebCore::Editor::canEditRichly):
1717         (WebCore::Editor::canDHTMLCut):
1718         (WebCore::Editor::canDHTMLCopy):
1719         (WebCore::Editor::canCopy):
1720         (WebCore::Editor::canDelete):
1721         (WebCore::Editor::canSmartCopyOrDelete):
1722         (WebCore::Editor::deleteWithDirection):
1723         (WebCore::Editor::deleteSelectionWithSmartDelete):
1724         (WebCore::Editor::replaceSelectionWithFragment):
1725         (WebCore::Editor::selectedRange):
1726         (WebCore::Editor::tryDHTMLCopy):
1727         (WebCore::Editor::tryDHTMLCut):
1728         (WebCore::Editor::hasBidiSelection):
1729         (WebCore::Editor::selectionUnorderedListState):
1730         (WebCore::Editor::selectionOrderedListState):
1731         (WebCore::Editor::increaseSelectionListLevel):
1732         (WebCore::Editor::increaseSelectionListLevelOrdered):
1733         (WebCore::Editor::increaseSelectionListLevelUnordered):
1734         (WebCore::Editor::decreaseSelectionListLevel):
1735         (WebCore::Editor::findEventTargetFromSelection):
1736         (WebCore::Editor::applyStyle):
1737         (WebCore::Editor::applyParagraphStyle):
1738         (WebCore::Editor::applyStyleToSelection):
1739         (WebCore::Editor::applyParagraphStyleToSelection):
1740         (WebCore::Editor::selectionStartHasStyle):
1741         (WebCore::Editor::selectionHasStyle):
1742         (WebCore::Editor::selectionStartCSSPropertyValue):
1743         (WebCore::Editor::appliedEditing):
1744         (WebCore::Editor::insertTextWithoutSendingTextEvent):
1745         (WebCore::Editor::insertLineBreak):
1746         (WebCore::Editor::insertParagraphSeparator):
1747         (WebCore::Editor::cut):
1748         (WebCore::Editor::copy):
1749         (WebCore::Editor::paste):
1750         (WebCore::Editor::baseWritingDirectionForSelectionStart):
1751         (WebCore::Editor::selectComposition):
1752         (WebCore::Editor::setComposition):
1753         (WebCore::Editor::ignoreSpelling):
1754         (WebCore::Editor::learnSpelling):
1755         (WebCore::Editor::advanceToNextMisspelling):
1756         (WebCore::Editor::misspelledWordAtCaretOrRange):
1757         (WebCore::Editor::isSelectionUngrammatical):
1758         (WebCore::Editor::guessesForMisspelledOrUngrammatical):
1759         (WebCore::Editor::markMisspellingsAfterTypingToWord):
1760         (WebCore::Editor::isSpellCheckingEnabledInFocusedNode):
1761         (WebCore::Editor::markAndReplaceFor):
1762         (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
1763         (WebCore::Editor::revealSelectionAfterEditingOperation):
1764         (WebCore::Editor::getCompositionSelection):
1765         (WebCore::Editor::transpose):
1766         (WebCore::Editor::changeSelectionAfterCommand):
1767         (WebCore::Editor::selectedText):
1768         (WebCore::Editor::computeAndSetTypingStyle):
1769         (WebCore::Editor::findString):
1770         (WebCore::Editor::respondToChangedSelection):
1771         (WebCore::Editor::selectionStartHasMarkerFor):
1772         (WebCore::Editor::toggleOverwriteModeEnabled):
1773         * editing/EditorCommand.cpp:
1774         (WebCore::executeToggleStyleInList):
1775         (WebCore::expandSelectionToGranularity):
1776         (WebCore::stateTextWritingDirection):
1777         (WebCore::executeDelete):
1778         (WebCore::executeDeleteToMark):
1779         (WebCore::executeMoveBackward):
1780         (WebCore::executeMoveBackwardAndModifySelection):
1781         (WebCore::executeMoveDown):
1782         (WebCore::executeMoveDownAndModifySelection):
1783         (WebCore::executeMoveForward):
1784         (WebCore::executeMoveForwardAndModifySelection):
1785         (WebCore::executeMoveLeft):
1786         (WebCore::executeMoveLeftAndModifySelection):
1787         (WebCore::executeMovePageDown):
1788         (WebCore::executeMovePageDownAndModifySelection):
1789         (WebCore::executeMovePageUp):
1790         (WebCore::executeMovePageUpAndModifySelection):
1791         (WebCore::executeMoveRight):
1792         (WebCore::executeMoveRightAndModifySelection):
1793         (WebCore::executeMoveToBeginningOfDocument):
1794         (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
1795         (WebCore::executeMoveToBeginningOfLine):
1796         (WebCore::executeMoveToBeginningOfLineAndModifySelection):
1797         (WebCore::executeMoveToBeginningOfParagraph):
1798         (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
1799         (WebCore::executeMoveToBeginningOfSentence):
1800         (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
1801         (WebCore::executeMoveToEndOfDocument):
1802         (WebCore::executeMoveToEndOfDocumentAndModifySelection):
1803         (WebCore::executeMoveToEndOfSentence):
1804         (WebCore::executeMoveToEndOfSentenceAndModifySelection):
1805         (WebCore::executeMoveToEndOfLine):
1806         (WebCore::executeMoveToEndOfLineAndModifySelection):
1807         (WebCore::executeMoveToEndOfParagraph):
1808         (WebCore::executeMoveToEndOfParagraphAndModifySelection):
1809         (WebCore::executeMoveParagraphBackwardAndModifySelection):
1810         (WebCore::executeMoveParagraphForwardAndModifySelection):
1811         (WebCore::executeMoveUp):
1812         (WebCore::executeMoveUpAndModifySelection):
1813         (WebCore::executeMoveWordBackward):
1814         (WebCore::executeMoveWordBackwardAndModifySelection):
1815         (WebCore::executeMoveWordForward):
1816         (WebCore::executeMoveWordForwardAndModifySelection):
1817         (WebCore::executeMoveWordLeft):
1818         (WebCore::executeMoveWordLeftAndModifySelection):
1819         (WebCore::executeMoveWordRight):
1820         (WebCore::executeMoveWordRightAndModifySelection):
1821         (WebCore::executeMoveToLeftEndOfLine):
1822         (WebCore::executeMoveToLeftEndOfLineAndModifySelection):
1823         (WebCore::executeMoveToRightEndOfLine):
1824         (WebCore::executeMoveToRightEndOfLineAndModifySelection):
1825         (WebCore::executeSelectAll):
1826         (WebCore::executeSelectToMark):
1827         (WebCore::executeSetMark):
1828         (WebCore::executeSwapWithMark):
1829         (WebCore::executeUnselect):
1830         (WebCore::enabledInRichlyEditableText):
1831         (WebCore::enabledRangeInEditableText):
1832         (WebCore::enabledRangeInRichlyEditableText):
1833         (WebCore::valueFormatBlock):
1834         * editing/FrameSelection.cpp:
1835         (WebCore::FrameSelection::setSelection):
1836         (WebCore::FrameSelection::selectFrameElementInParentIfFullySelected):
1837         * editing/InsertLineBreakCommand.cpp:
1838         (WebCore::InsertLineBreakCommand::doApply):
1839         * editing/InsertTextCommand.cpp:
1840         (WebCore::InsertTextCommand::doApply):
1841         * editing/ModifySelectionListLevel.cpp:
1842         (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel):
1843         (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel):
1844         * editing/RemoveFormatCommand.cpp:
1845         (WebCore::RemoveFormatCommand::doApply):
1846         * editing/ReplaceSelectionCommand.cpp:
1847         (WebCore::ReplaceSelectionCommand::doApply):
1848         * editing/SetSelectionCommand.cpp:
1849         (WebCore::SetSelectionCommand::doApply):
1850         (WebCore::SetSelectionCommand::doUnapply):
1851         * editing/SpellingCorrectionCommand.cpp:
1852         (WebCore::SpellingCorrectionCommand::doApply):
1853         * editing/TextInsertionBaseCommand.cpp:
1854         (WebCore::TextInsertionBaseCommand::applyTextInsertionCommand):
1855         * editing/TypingCommand.cpp:
1856         (WebCore::TypingCommand::deleteSelection):
1857         (WebCore::TypingCommand::updateSelectionIfDifferentFromCurrentSelection):
1858         (WebCore::TypingCommand::insertText):
1859         (WebCore::TypingCommand::deleteKeyPressed):
1860         (WebCore::TypingCommand::forwardDeleteKeyPressed):
1861         * editing/ios/EditorIOS.mm:
1862         (WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
1863         (WebCore::styleForSelectionStart):
1864         (WebCore::Editor::fontForSelection):
1865         * editing/mac/EditorMac.mm:
1866         (WebCore::styleForSelectionStart):
1867         (WebCore::Editor::fontForSelection):
1868         (WebCore::Editor::canCopyExcludingStandaloneImages):
1869         (WebCore::Editor::readSelectionFromPasteboard):
1870         * html/HTMLAnchorElement.cpp:
1871         (WebCore::HTMLAnchorElement::defaultEventHandler):
1872         (WebCore::HTMLAnchorElement::setActive):
1873         * html/HTMLInputElement.cpp:
1874         (WebCore::HTMLInputElement::updateFocusAppearance):
1875         * html/HTMLTextAreaElement.cpp:
1876         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
1877         (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
1878         * html/HTMLTextFormControlElement.cpp:
1879         (WebCore::HTMLTextFormControlElement::setSelectionRange):
1880         (WebCore::HTMLTextFormControlElement::computeSelectionStart):
1881         (WebCore::HTMLTextFormControlElement::computeSelectionEnd):
1882         (WebCore::HTMLTextFormControlElement::computeSelectionDirection):
1883         (WebCore::HTMLTextFormControlElement::selectionChanged):
1884         * html/TextFieldInputType.cpp:
1885         (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
1886         * loader/FrameLoader.cpp:
1887         (WebCore::FrameLoader::clear):
1888         * loader/archive/cf/LegacyWebArchive.cpp:
1889         (WebCore::LegacyWebArchive::createFromSelection):
1890         * page/ContextMenuController.cpp:
1891         (WebCore::insertUnicodeCharacter):
1892         (WebCore::ContextMenuController::contextMenuItemSelected):
1893         (WebCore::selectionContainsPossibleWord):
1894         (WebCore::ContextMenuController::populate):
1895         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
1896         * page/DOMSelection.cpp:
1897         (WebCore::selectionShadowAncestor):
1898         (WebCore::DOMSelection::visibleSelection):
1899         (WebCore::DOMSelection::isCollapsed):
1900         (WebCore::DOMSelection::type):
1901         (WebCore::DOMSelection::rangeCount):
1902         (WebCore::DOMSelection::collapse):
1903         (WebCore::DOMSelection::collapseToEnd):
1904         (WebCore::DOMSelection::collapseToStart):
1905         (WebCore::DOMSelection::empty):
1906         (WebCore::DOMSelection::setBaseAndExtent):
1907         (WebCore::DOMSelection::setPosition):
1908         (WebCore::DOMSelection::modify):
1909         (WebCore::DOMSelection::extend):
1910         (WebCore::DOMSelection::getRangeAt):
1911         (WebCore::DOMSelection::removeAllRanges):
1912         (WebCore::DOMSelection::addRange):
1913         (WebCore::DOMSelection::deleteFromDocument):
1914         (WebCore::DOMSelection::containsNode):
1915         (WebCore::DOMSelection::toString):
1916         * page/DragController.cpp:
1917         (WebCore::DragController::dragIsMove):
1918         (WebCore::setSelectionToDragCaret):
1919         (WebCore::DragController::concludeEditDrag):
1920         (WebCore::DragController::draggableElement):
1921         (WebCore::selectElement):
1922         (WebCore::dragLocForSelectionDrag):
1923         (WebCore::DragController::startDrag):
1924         * page/DragController.h:
1925         * page/EventHandler.cpp:
1926         (WebCore::setSelectionIfNeeded):
1927         (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
1928         (WebCore::EventHandler::handleMousePressEventDoubleClick):
1929         (WebCore::EventHandler::handleMousePressEventSingleClick):
1930         (WebCore::EventHandler::updateSelectionForMouseDrag):
1931         (WebCore::EventHandler::lostMouseCapture):
1932         (WebCore::EventHandler::handleMouseReleaseEvent):
1933         (WebCore::nodeIsNotBeingEdited):
1934         (WebCore::EventHandler::selectCursor):
1935         (WebCore::EventHandler::handleMousePressEvent):
1936         (WebCore::EventHandler::handleMouseDoubleClickEvent):
1937         (WebCore::EventHandler::dispatchMouseEvent):
1938         (WebCore::EventHandler::sendContextMenuEvent):
1939         (WebCore::EventHandler::sendContextMenuEventForKey):
1940         (WebCore::handleKeyboardSelectionMovement):
1941         (WebCore::EventHandler::handleDrag):
1942         * page/FocusController.cpp:
1943         (WebCore::FocusController::setFocusedFrame):
1944         (WebCore::FocusController::setFocused):
1945         (WebCore::FocusController::advanceFocusInDocumentOrder):
1946         (WebCore::clearSelectionIfNeeded):
1947         (WebCore::FocusController::setActive):
1948         * page/Frame.cpp:
1949         (WebCore::Frame::dragImageForSelection):
1950         * page/Frame.h:
1951         (WebCore::Frame::selection):
1952         * page/FrameView.cpp:
1953         (WebCore::FrameView::performPostLayoutTasks):
1954         (WebCore::FrameView::paintContentsForSnapshot):
1955         * page/Page.cpp:
1956         (WebCore::Page::findString):
1957         (WebCore::Page::findStringMatchingRanges):
1958         (WebCore::Page::selection):
1959         * page/mac/FrameMac.mm:
1960         (WebCore::Frame::dragImageForSelection):
1961         * page/mac/FrameSnapshottingMac.mm:
1962         (WebCore::selectionImage):
1963         * page/win/FrameWin.cpp:
1964         (WebCore::imageFromSelection):
1965         (WebCore::Frame::dragImageForSelection):
1966         * platform/ios/PasteboardIOS.mm:
1967         (WebCore::Pasteboard::documentFragmentForPasteboardItemAtIndex):
1968         * rendering/HitTestResult.cpp:
1969         (WebCore::HitTestResult::isSelected):
1970         * rendering/RenderBlock.cpp:
1971         (WebCore::RenderBlock::paintCaret):
1972         * rendering/RenderImage.cpp:
1973         (WebCore::RenderImage::paintAreaElementFocusRing):
1974         * rendering/RenderLayer.cpp:
1975         (WebCore::RenderLayer::scrollTo):
1976         * rendering/RenderListBox.cpp:
1977         (WebCore::RenderListBox::paintItemForeground):
1978         (WebCore::RenderListBox::paintItemBackground):
1979         * rendering/RenderObject.cpp:
1980         (WebCore::RenderObject::selectionBackgroundColor):
1981         (WebCore::RenderObject::selectionColor):
1982         * rendering/RenderTextControlSingleLine.cpp:
1983         (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged):
1984         * rendering/RenderTheme.cpp:
1985         (WebCore::RenderTheme::isFocused):
1986         * rendering/RenderThemeWin.cpp:
1987         (WebCore::RenderThemeWin::adjustSearchFieldStyle):
1988         * rendering/RenderTreeAsText.cpp:
1989         (WebCore::writeSelection):
1990         * rendering/RenderView.cpp:
1991         (WebCore::RenderView::setSelection):
1992         * svg/SVGSVGElement.cpp:
1993         (WebCore::SVGSVGElement::deselectAll):
1994         * svg/SVGTextContentElement.cpp:
1995         (WebCore::SVGTextContentElement::selectSubString):
1996         * testing/Internals.cpp:
1997         (WebCore::Internals::absoluteCaretBounds):
1998         (WebCore::Internals::selectionBounds):
1999
2000 2013-08-19  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
2001
2002         <https://webkit.org/b/119679> Remove the cast-align warnings for ARM
2003
2004         Reviewed by Darin Adler.
2005
2006         While compiling WebKitGTK+ for ARM a lot of warnings of this form
2007         where shown (gcc 4.7.3):
2008
2009         ../../Source/WebCore/css/StylePropertySet.h: In member function 'const WebCore::StylePropertyMetadata* WebCore::ImmutableStylePropertySet::metadataArray() const':
2010 ../../Source/WebCore/css/StylePropertySet.h:179:142: warning: cast from 'const char*' to 'const WebCore::StylePropertyMetadata*' increases required alignment of target type [-Wcast-align]
2011
2012         This patch changes reinterpret_cast<>() for reinterpret_cast_ptr<>()
2013         which is part of WTF for this purpose, silencing the compiler.
2014
2015         * css/StylePropertySet.h:
2016         (WebCore::ImmutableStylePropertySet::metadataArray):
2017
2018 2013-08-19  Antti Koivisto  <antti@apple.com>
2019
2020         <https://webkit.org/b/120014> REGRESSION(r154268): Some stylesheet media attribute tests failing
2021
2022         Reviewed by Dan Bernstein.
2023
2024         * html/HTMLStyleElement.cpp:
2025         (WebCore::HTMLStyleElement::parseAttribute): Always set the media on InlineStyleSheetOwner.
2026
2027 2013-08-19  Chris Fleizach  <cfleizach@apple.com>
2028
2029         <https://webkit.org/b/119916> AX: WebKit is not exposing AXLanguage correctly
2030
2031         Reviewed by Darin Adler.
2032
2033         Expose the AXLanguage attribute for all objects.
2034
2035         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2036         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
2037
2038 2013-08-19  Brent Fulgham  <bfulgham@apple.com>
2039
2040         [Windows] Unreviewed gardening.
2041
2042         * WebCore.vcxproj/WebCore.vcxproj: Add missing header for easy access/editing.
2043         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2044
2045 2013-08-19  Mario Sanchez Prada  <mario.prada@samsung.com>
2046
2047         <https://webkit.org/b/119882> Speed up moving cursor/selection up or down past non-rendered elements.
2048
2049         Reviewed by Darin Adler.
2050
2051         This is a port from Blink originally written by Dominic Mazzoni:
2052         https://src.chromium.org/viewvc/blink?revision=154977&view=revision
2053
2054         From the original commit:
2055
2056         Skips calling firstPositionInOrBeforeNode when a node doesn't have a
2057         renderer, since there couldn't possibly be a visible position there.
2058         This was particularly wasteful when trying to move the cursor up when at
2059         the beginning of a document, as it did a O(n^2) scan through the document head.
2060
2061         Test: editing/execCommand/move-up-down-should-skip-hidden-elements.html
2062
2063         * editing/VisibleUnits.cpp:
2064         (WebCore::previousRootInlineBoxCandidatePosition): Updated.
2065         (WebCore::nextRootInlineBoxCandidatePosition): Updates.
2066
2067 2013-08-19  Andreas Kling  <akling@apple.com>
2068
2069         <https://webkit.org/b/120000> Chrome::client() should return a reference.
2070
2071         Reviewed by Antti Koivisto.
2072
2073         Chrome::m_client should never be null.
2074
2075 2013-08-19  Antti Koivisto  <antti@apple.com>
2076
2077         <https://webkit.org/b/120004> Rename StyleElement to InlineStyleSheetOwner and stop inheriting from it
2078
2079         Reviewed by Andreas Kling.
2080         
2081         Saner names and class relations.
2082
2083         * CMakeLists.txt:
2084         * GNUmakefile.list.am:
2085         * Target.pri:
2086         * WebCore.vcxproj/WebCore.vcxproj:
2087         * WebCore.xcodeproj/project.pbxproj:
2088         * dom/DOMAllInOne.cpp:
2089         * dom/InlineStyleSheetOwner.cpp: Copied from Source/WebCore/dom/StyleElement.cpp.
2090         (WebCore::InlineStyleSheetOwner::InlineStyleSheetOwner):
2091         (WebCore::InlineStyleSheetOwner::~InlineStyleSheetOwner):
2092         (WebCore::InlineStyleSheetOwner::insertedIntoDocument):
2093         (WebCore::InlineStyleSheetOwner::removedFromDocument):
2094         (WebCore::InlineStyleSheetOwner::clearDocumentData):
2095         (WebCore::InlineStyleSheetOwner::childrenChanged):
2096         (WebCore::InlineStyleSheetOwner::finishParsingChildren):
2097         (WebCore::InlineStyleSheetOwner::createSheetFromTextContents):
2098         (WebCore::InlineStyleSheetOwner::clearSheet):
2099         (WebCore::InlineStyleSheetOwner::createSheet):
2100         (WebCore::InlineStyleSheetOwner::isLoading):
2101         (WebCore::InlineStyleSheetOwner::sheetLoaded):
2102         (WebCore::InlineStyleSheetOwner::startLoadingDynamicSheet):
2103         * dom/InlineStyleSheetOwner.h: Copied from Source/WebCore/dom/StyleElement.h.
2104         * dom/StyleElement.cpp: Removed.
2105         * dom/StyleElement.h: Removed.
2106         * html/HTMLStyleElement.cpp:
2107         (WebCore::HTMLStyleElement::HTMLStyleElement):
2108         (WebCore::HTMLStyleElement::~HTMLStyleElement):
2109         (WebCore::HTMLStyleElement::parseAttribute):
2110         (WebCore::HTMLStyleElement::finishParsingChildren):
2111         (WebCore::HTMLStyleElement::insertedInto):
2112         (WebCore::HTMLStyleElement::removedFrom):
2113         (WebCore::HTMLStyleElement::childrenChanged):
2114         * html/HTMLStyleElement.h:
2115         * svg/SVGStyleElement.cpp:
2116         (WebCore::SVGStyleElement::SVGStyleElement):
2117         (WebCore::SVGStyleElement::~SVGStyleElement):
2118         (WebCore::SVGStyleElement::parseAttribute):
2119         (WebCore::SVGStyleElement::finishParsingChildren):
2120         (WebCore::SVGStyleElement::insertedInto):
2121         (WebCore::SVGStyleElement::removedFrom):
2122         (WebCore::SVGStyleElement::childrenChanged):
2123         * svg/SVGStyleElement.h:
2124
2125 2013-08-19  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2126
2127         [Qt] QtWebKit (using the Arora browser) displays the border radii (radius) of a button very ugly
2128         https://bugs.webkit.org/show_bug.cgi?id=28113
2129
2130         Reviewed by Jocelyn Turcotte.
2131
2132         StylePainter::init() was called twice making it clobber the previous antialiasing setting.
2133
2134         This patch cleans up the construction so we only have one constructor with init inlined.
2135
2136         * platform/qt/RenderThemeQStyle.cpp:
2137         (WebCore::StylePainterQStyle::StylePainterQStyle):
2138         (WebCore::StylePainterQStyle::setupStyleOption):
2139         * platform/qt/RenderThemeQStyle.h:
2140         * platform/qt/RenderThemeQt.cpp:
2141         (WebCore::StylePainter::StylePainter):
2142         * platform/qt/RenderThemeQt.h:
2143         * platform/qt/RenderThemeQtMobile.cpp:
2144         (WebCore::StylePainterMobile::StylePainterMobile):
2145
2146 2013-08-19  Julien Brianceau  <jbrianceau@nds.com>
2147
2148         <https://webkit.org/b/119998> [Qt] Build fix (broken since r154257).
2149
2150         Reviewed by Andreas Kling.
2151
2152         Element::attach() doesn't exist anymore since r154257.
2153
2154         * xml/parser/XMLDocumentParserQt.cpp:
2155         (WebCore::XMLDocumentParser::parseStartElement):
2156
2157 2013-08-19  Antti Koivisto  <antti@apple.com>
2158
2159         <https://webkit.org/b/120001> Clean up StyleElement
2160
2161         Reviewed by Andreas Kling.
2162
2163         - Make it non-virtual so we don't use virtual multiple inheritance
2164         - Improve names
2165         - Improve code clarity
2166
2167         * dom/StyleElement.cpp:
2168         (WebCore::StyleElement::StyleElement):
2169         (WebCore::StyleElement::insertedIntoDocument):
2170         (WebCore::StyleElement::clearDocumentData):
2171         (WebCore::StyleElement::childrenChanged):
2172         (WebCore::StyleElement::finishParsingChildren):
2173         (WebCore::StyleElement::createSheetFromTextContents):
2174         (WebCore::isValidCSSContentType):
2175         (WebCore::StyleElement::createSheet):
2176         (WebCore::StyleElement::isLoading):
2177         * dom/StyleElement.h:
2178         (WebCore::StyleElement::setStyleSheetContentType):
2179         (WebCore::StyleElement::setStyleSheetMedia):
2180         * html/HTMLStyleElement.cpp:
2181         (WebCore::HTMLStyleElement::parseAttribute):
2182         * html/HTMLStyleElement.h:
2183         * svg/SVGStyleElement.cpp:
2184         (WebCore::SVGStyleElement::isSupportedAttribute):
2185         (WebCore::SVGStyleElement::parseAttribute):
2186         * svg/SVGStyleElement.h:
2187
2188 2013-08-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2189
2190         <https://webkit.org/b/119990> Add toSVGStopElement(Node* node) to clean-up a static_cast<SVGStopElement*>
2191
2192         Reviewed by Darin Adler.
2193
2194         Clean up remained static_cast<SVGStopElement*> using toSVGStopElement(toSVGElement()).
2195
2196         * rendering/svg/SVGRenderTreeAsText.cpp:
2197         (WebCore::writeSVGGradientStop):
2198
2199 2013-08-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2200
2201         <https://webkit.org/b/119996> Introduce toSVGAnimateElement(), and use it
2202
2203         Reviewed by Andreas Kling.
2204
2205         As a step to clean-up static_cast<SVGXXX>, static_cast<SVGAnimateElement*> also can be changed
2206         with toSVGAnimateElement().
2207
2208         * svg/SVGAnimateElement.cpp:
2209         (WebCore::SVGAnimateElement::calculateAnimatedValue):
2210         * svg/SVGAnimateElement.h:
2211         (WebCore::toSVGAnimateElement):
2212         * svg/SVGAnimationElement.cpp:
2213         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
2214
2215 2013-08-19  Andreas Kling  <akling@apple.com>
2216
2217         <https://webkit.org/b/119997> Page::progress() should return a reference.
2218
2219         Reviewed by Antti Koivisto.
2220
2221         Page::m_progress is never null.
2222
2223 2013-08-18  Darin Adler  <darin@apple.com>
2224
2225         <https://webkit.org/b/119989> Make use of Node::ownerDocument a compile time error
2226
2227         Reviewed by Sam Weinig.
2228
2229         * dom/Element.h: Deleted the ownerDocument function. For compilers that don't support
2230         deleted functions, it is instead overrides the base class function with one that is
2231         private and not defined, which accomplishes almost the same thing: An error, either
2232         at compile time or link time.
2233
2234         * bindings/js/JSHTMLElementCustom.cpp:
2235         (WebCore::JSHTMLElement::pushEventHandlerScope): Use document instead of ownerDocument.
2236         * dom/Document.cpp:
2237         (WebCore::Document::~Document): Added a comment about this clearly-incorrect code.
2238         * inspector/InspectorInstrumentation.h:
2239         (WebCore::InspectorInstrumentation::didPushShadowRoot): Use document instead of ownerDocument.
2240         (WebCore::InspectorInstrumentation::willPopShadowRoot): Ditto.
2241         * inspector/InspectorStyleSheet.cpp:
2242         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText): Ditto.
2243         * plugins/PluginView.cpp:
2244         (WebCore::getFrame): Removed ineffective call to ownerDocument after document when it
2245         returns 0. It will never return anything other than 0 in that case.
2246         * rendering/RenderVideo.cpp:
2247         (WebCore::RenderVideo::calculateIntrinsicSize): Use document instead of ownerDocument.
2248         Did not remove the null check at this time, although I'm pretty sure it's bogus. We can
2249         fix that when/if we change the return type of Element::document to a reference.
2250         * svg/SVGFEImageElement.cpp:
2251         (WebCore::SVGFEImageElement::requestImageResource): Use document instead of ownerDocument.
2252
2253 2013-08-18  Darin Adler  <darin@apple.com>
2254
2255         <https://webkit.org/b/119993> Remove most remaining platform-specific code from Clipboard class
2256
2257         Reviewed by Sam Weinig.
2258
2259         * GNUmakefile.list.am: Removed ClipboardGtk.cpp.
2260         * PlatformEfl.cmake: Removed ClipboardEfl.cpp.
2261         * PlatformGTK.cmake: Removed ClipboardGtk.cpp.
2262         * PlatformWinCE.cmake: Removed ClipboardWin.cpp.
2263         * Target.pri: Removed ClipboardQt.cpp.
2264         * WebCore.vcxproj/WebCore.vcxproj: Removed ClipboardWin.cpp and ClipboardWin.h.
2265         * WebCore.vcxproj/WebCore.vcxproj.filters: Removed ClipboardWin.cpp and ClipboardWin.h.
2266
2267         * dom/Clipboard.cpp:
2268         (WebCore::Clipboard::createDragImage): Added. Version that works for all platforms
2269         other than Mac, identical to the old one used in GTK and Qt, and close to the one used
2270         on Windows.
2271
2272         * platform/mac/ClipboardMac.mm: Trimmed includes down, and added a FIXME about next steps.
2273
2274         * platform/qt/DataTransferItemListQt.h: Removed "friend class ClipboardQt", which refers
2275         to a now-nonexistent class.
2276
2277         * platform/efl/ClipboardEfl.cpp: Removed.
2278         * platform/gtk/ClipboardGtk.cpp: Removed.
2279         * platform/qt/ClipboardQt.cpp: Removed.
2280         * platform/win/ClipboardWin.cpp: Removed.
2281
2282 2013-08-17  Darin Adler  <darin@apple.com>
2283
2284         <https://webkit.org/b/119949> Factor Clipboard into drag and non-drag parts
2285
2286         Reviewed by Sam Weinig.
2287
2288         * dom/Clipboard.cpp:
2289         (WebCore::Clipboard::Clipboard): Move the ClipboardType argument to go after the pasteboard.
2290         Initialize strings more efficiently. Put drag-specific data members inside an if statement.
2291         Replace m_clipboardType with m_forDrag.
2292         (WebCore::Clipboard::createForCopyAndPaste): Moved function up to be close to constructor.
2293         Removed explicit clipboard type since constructor now defaults to copy and paste style.
2294         (WebCore::Clipboard::setAccessPolicy): Tweaked comment.
2295         (WebCore::Clipboard::getData): Put drag-specific code inside #if ENABLE(DRAG_SUPPORT).
2296         (WebCore::Clipboard::setData): Ditto.
2297         (WebCore::Clipboard::files): Ditto.
2298         (WebCore::Clipboard::dropEffect): Added trivial non-drag versions of these functions to
2299         be used when !ENABLE(DRAG_SUPPORT).
2300         (WebCore::Clipboard::setDropEffect): Ditto.
2301         (WebCore::Clipboard::effectAllowed): Ditto.
2302         (WebCore::Clipboard::setEffectAllowed): Ditto.
2303         (WebCore::Clipboard::createForDragAndDrop): Renamed Clipboard::create that takes DragData
2304         to this, and kep the overload that does not as well. Made the DragData argument a const&.
2305         (WebCore::Clipboard::canSetDragImage): Moved down here since it is drag-specific.
2306         (WebCore::Clipboard::updateDragImage): Use m_shouldUpdateDragImage directly insted of
2307         calling a dragStarted function.
2308         (WebCore::dragOpFromIEOp): Moved this function down here to the drag-specific section.
2309         (WebCore::IEOpFromDragOp): Ditto.
2310         (WebCore::Clipboard::sourceOperation): Ditto.
2311         (WebCore::Clipboard::destinationOperation): Ditto.
2312         (WebCore::Clipboard::setSourceOperation): Ditto.
2313         (WebCore::Clipboard::setDestinationOperation): Ditto.
2314
2315         * dom/Clipboard.h: Removed unneeded include of "Node.h" and added and removed forward
2316         class declarations as required. Removed non-helpful comment. Made ClipboardType a private
2317         implementation detail. Moved functions that are not part of the DOM API down to a separate
2318         section lower down in the class, and sorted the functions to match the order they appear
2319         in the IDL file. Removed isForCopyAndPaste and isForDragAndDrop. Changed dropEffect and
2320         effectAllowed to not be inlined. Moved the long comment before canSetDragImage into the
2321         implementation since it's an implementation detail. Since this class is no longer polymorphic,
2322         use only private, not protected. Make m_dragImageElement an Element, not a Node.
2323
2324         * dom/Clipboard.idl: Removed flags to tell bindings how to deal with null strings, since
2325         these string properties can never return null strings anyway.
2326
2327         * page/DragController.cpp:
2328         (WebCore::DragController::dragExited): Updated to call the new createForDragAndDrop function.
2329         (WebCore::DragController::performDrag): Ditto.
2330         (WebCore::DragController::tryDHTMLDrag): Ditto.
2331
2332         * platform/mac/ClipboardMac.mm: Added now-needed include of Element.h since Clipboard.h no
2333         longer includes it.
2334
2335 2013-08-18  David Kilzer  <ddkilzer@apple.com>
2336
2337         WebCore fails to build with trunk clang: error: 'register' storage class specifier is deprecated [-Werror,-Wdeprecated-register]
2338         <http://webkit.org/b/119932>
2339         <rdar://problem/14764085>
2340
2341         Reviewed by Darin Adler.
2342
2343         Add pragma statements to ignore -Wdeprecated-register warnings
2344         in generated code.  Also ignore -Wunknown-pragmas so this
2345         doesn't cause a build failure in older versions of clang.
2346
2347         * css/makeprop.pl:
2348         (WebCore::findProperty): Remove register hints from parameters.
2349         * css/makevalues.pl:
2350         (WebCore::findValue): Ditto.
2351         * platform/ColorData.gperf:
2352         (WebCore::findColor): Ditto.
2353
2354 2013-08-18  Antti Koivisto  <antti@apple.com>
2355
2356         <https://webkit.org/b/119987> Make Element::attach standalone function
2357
2358         Reviewed by Andreas Kling.
2359
2360         This patch turns Element::attach() and the related functions into standalone functions.
2361
2362         * dom/ContainerNode.cpp:
2363         (WebCore::attachChild):
2364         (WebCore::detachChild):
2365         * dom/ContainerNode.h:
2366         * dom/Document.cpp:
2367         (WebCore::Document::attach):
2368         (WebCore::Document::detach):
2369         * dom/Element.cpp:
2370         (WebCore::Element::~Element):
2371         (WebCore::Element::lazyReattach):
2372         (WebCore::Element::removeShadowRoot):
2373         
2374             Shadow root should be detached by now. Remove the detach call.
2375
2376         (WebCore::Element::updateFocusAppearanceAfterAttachIfNeeded):
2377         (WebCore::Element::updatePseudoElement):
2378         (WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):
2379         (WebCore::Element::clearHoverAndActiveStatusBeforeDetachingRenderer):
2380         
2381             Factor some parts of former Element::attach/detach() into member functions.
2382
2383         * dom/Element.h:
2384         * dom/ElementRareData.h:
2385         (WebCore::ElementRareData::releasePseudoElement):
2386         * dom/NodeRenderingContext.cpp:
2387         (WebCore::NodeRenderingContext::NodeRenderingContext):
2388         * dom/NodeRenderingContext.h:
2389         * dom/ShadowRoot.cpp:
2390         * dom/ShadowRoot.h:
2391         * html/HTMLDetailsElement.cpp:
2392         (WebCore::HTMLDetailsElement::parseAttribute):
2393         * html/HTMLInputElement.cpp:
2394         (WebCore::HTMLInputElement::updateType):
2395         (WebCore::HTMLInputElement::parseAttribute):
2396         * html/HTMLObjectElement.cpp:
2397         (WebCore::HTMLObjectElement::renderFallbackContent):
2398         * html/HTMLPlugInImageElement.cpp:
2399         (WebCore::HTMLPlugInImageElement::willRecalcStyle):
2400         (WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn):
2401         * html/HTMLSelectElement.cpp:
2402         (WebCore::HTMLSelectElement::parseAttribute):
2403         (WebCore::HTMLSelectElement::parseMultipleAttribute):
2404         * html/HTMLViewSourceDocument.cpp:
2405         (WebCore::HTMLViewSourceDocument::createContainingTable):
2406         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
2407         (WebCore::HTMLViewSourceDocument::addLine):
2408         (WebCore::HTMLViewSourceDocument::finishLine):
2409         (WebCore::HTMLViewSourceDocument::addBase):
2410         (WebCore::HTMLViewSourceDocument::addLink):
2411         * html/parser/HTMLConstructionSite.cpp:
2412         (WebCore::executeTask):
2413         * html/parser/HTMLTreeBuilder.cpp:
2414         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2415         * html/shadow/InsertionPoint.cpp:
2416         (WebCore::InsertionPoint::willAttachRenderers):
2417         (WebCore::InsertionPoint::willDetachRenderers):
2418         * loader/PlaceholderDocument.cpp:
2419         (WebCore::PlaceholderDocument::attach):
2420         * style/StyleResolveTree.cpp:
2421         (WebCore::Style::createRendererIfNeeded):
2422         
2423             From Element::createRendererIfNeeded()
2424
2425         (WebCore::Style::attachShadowRoot):
2426         
2427             From ShadowRoot::attach()
2428
2429         (WebCore::Style::childAttachedAllowedWhenAttachingChildren):
2430         (WebCore::Style::attachChildren):
2431         
2432             From Element::attachChildren()
2433
2434         (WebCore::Style::attachRenderTree):
2435         
2436             From Element::attach()
2437
2438         (WebCore::Style::detachShadowRoot):
2439         
2440             From ShadowRoot::detach()
2441
2442         (WebCore::Style::detachChildren):
2443         
2444             From Element::detachChildren()
2445
2446         (WebCore::Style::detachRenderTree):
2447         
2448             From Element::deatach()
2449
2450         (WebCore::Style::reattachRenderTree):
2451         
2452              From Element::reattach()
2453
2454         (WebCore::Style::resolveLocal):
2455         * style/StyleResolveTree.h:
2456         (WebCore::Style::AttachContext::AttachContext):
2457         
2458             From Element::AttachContext
2459
2460         * svg/SVGTests.cpp:
2461         (WebCore::SVGTests::handleAttributeChange):
2462         * xml/XMLErrors.cpp:
2463         (WebCore::XMLErrors::insertErrorMessageBlock):
2464         * xml/parser/XMLDocumentParserLibxml2.cpp:
2465         (WebCore::XMLDocumentParser::startElementNs):
2466
2467 2013-08-18  Antti Koivisto  <antti@apple.com>
2468
2469         Fix crashing plugin tests caused by a logic error in the previous patch.
2470         
2471         Not reviewed.
2472
2473         * html/HTMLPlugInImageElement.cpp:
2474         (WebCore::HTMLPlugInImageElement::willDetachRenderers):
2475
2476 2013-08-18  Antti Koivisto  <antti@apple.com>
2477
2478         <https://webkit.org/b/119982> Make Element::attach non-virtual
2479
2480         Reviewed by Andreas Kling.
2481
2482         This will give us more future refactoring options.
2483
2484         * dom/Element.cpp:
2485         (WebCore::Element::attach):
2486         (WebCore::Element::detach):
2487         
2488             Make non-virtual. Call element type specific custom functions as needed.
2489
2490         (WebCore::Element::styleForRenderer):
2491         (WebCore::Element::willRecalcStyle):
2492         (WebCore::Element::didRecalcStyle):
2493         (WebCore::Element::willAttachRenderers):
2494         (WebCore::Element::didAttachRenderers):
2495         (WebCore::Element::willDetachRenderers):
2496         (WebCore::Element::didDetachRenderers):
2497         
2498             Add virtual custom callbacks.
2499
2500         (WebCore::Element::customStyleForRenderer):
2501         * dom/Element.h:
2502         * dom/Node.h:
2503         (WebCore::Node::pseudoId):
2504         (WebCore::Node::hasCustomStyleResolveCallbacks):
2505         (WebCore::Node::setHasCustomStyleResolveCallbacks):
2506         
2507             Use the existing bit as it largely overlaps. Rename for clarity.
2508
2509         (WebCore::Node::customPseudoId):
2510         * dom/PseudoElement.cpp:
2511         (WebCore::PseudoElement::PseudoElement):
2512         (WebCore::PseudoElement::didAttachRenderers):
2513         * dom/PseudoElement.h:
2514         * html/HTMLCanvasElement.cpp:
2515         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2516         (WebCore::HTMLCanvasElement::willAttachRenderers):
2517         * html/HTMLCanvasElement.h:
2518         * html/HTMLFormControlElement.cpp:
2519         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
2520         (WebCore::HTMLFormControlElement::didAttachRenderers):
2521         * html/HTMLFormControlElement.h:
2522         * html/HTMLFrameElement.cpp:
2523         (WebCore::HTMLFrameElement::HTMLFrameElement):
2524         (WebCore::HTMLFrameElement::didAttachRenderers):
2525         * html/HTMLFrameElement.h:
2526         * html/HTMLFrameElementBase.cpp:
2527         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
2528         (WebCore::HTMLFrameElementBase::didAttachRenderers):
2529         * html/HTMLFrameElementBase.h:
2530         * html/HTMLFrameSetElement.cpp:
2531         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
2532         (WebCore::HTMLFrameSetElement::willAttachRenderers):
2533         * html/HTMLFrameSetElement.h:
2534         * html/HTMLIFrameElement.cpp:
2535         (WebCore::HTMLIFrameElement::HTMLIFrameElement):
2536         * html/HTMLImageElement.cpp:
2537         (WebCore::HTMLImageElement::HTMLImageElement):
2538         (WebCore::HTMLImageElement::didAttachRenderers):
2539         * html/HTMLImageElement.h:
2540         * html/HTMLInputElement.cpp:
2541         (WebCore::HTMLInputElement::HTMLInputElement):
2542         (WebCore::HTMLInputElement::willAttachRenderers):
2543         (WebCore::HTMLInputElement::didAttachRenderers):
2544         (WebCore::HTMLInputElement::didDetachRenderers):
2545         * html/HTMLInputElement.h:
2546         * html/HTMLLIElement.cpp:
2547         (WebCore::HTMLLIElement::HTMLLIElement):
2548         (WebCore::HTMLLIElement::didAttachRenderers):
2549         * html/HTMLLIElement.h:
2550         * html/HTMLMediaElement.cpp:
2551         (WebCore::HTMLMediaElement::HTMLMediaElement):
2552         (WebCore::HTMLMediaElement::willAttachRenderers):
2553         (WebCore::HTMLMediaElement::didAttachRenderers):
2554         * html/HTMLMediaElement.h:
2555         * html/HTMLOptGroupElement.cpp:
2556         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
2557         (WebCore::HTMLOptGroupElement::didAttachRenderers):
2558         (WebCore::HTMLOptGroupElement::willDetachRenderers):
2559         * html/HTMLOptGroupElement.h:
2560         * html/HTMLOptionElement.cpp:
2561         (WebCore::HTMLOptionElement::HTMLOptionElement):
2562         (WebCore::HTMLOptionElement::didAttachRenderers):
2563         (WebCore::HTMLOptionElement::willDetachRenderers):
2564         * html/HTMLOptionElement.h:
2565         * html/HTMLPlugInElement.cpp:
2566         (WebCore::HTMLPlugInElement::HTMLPlugInElement):
2567         (WebCore::HTMLPlugInElement::willDetachRenderers):
2568         * html/HTMLPlugInElement.h:
2569         * html/HTMLPlugInImageElement.cpp:
2570         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
2571         (WebCore::HTMLPlugInImageElement::didAttachRenderers):
2572         (WebCore::HTMLPlugInImageElement::willDetachRenderers):
2573         * html/HTMLPlugInImageElement.h:
2574         * html/HTMLProgressElement.cpp:
2575         (WebCore::HTMLProgressElement::HTMLProgressElement):
2576         (WebCore::HTMLProgressElement::didAttachRenderers):
2577         * html/HTMLProgressElement.h:
2578         * html/HTMLTextAreaElement.cpp:
2579         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
2580         (WebCore::HTMLTextAreaElement::didAttachRenderers):
2581         * html/HTMLTextAreaElement.h:
2582         * html/HTMLVideoElement.cpp:
2583         (WebCore::HTMLVideoElement::HTMLVideoElement):
2584         (WebCore::HTMLVideoElement::didAttachRenderers):
2585         * html/HTMLVideoElement.h:
2586         * html/shadow/InsertionPoint.cpp:
2587         (WebCore::InsertionPoint::InsertionPoint):
2588         (WebCore::InsertionPoint::willAttachRenderers):
2589         (WebCore::InsertionPoint::willDetachRenderers):
2590         * html/shadow/InsertionPoint.h:
2591         * html/shadow/SliderThumbElement.cpp:
2592         (WebCore::SliderThumbElement::SliderThumbElement):
2593         (WebCore::SliderThumbElement::willDetachRenderers):
2594         * html/shadow/SliderThumbElement.h:
2595         * html/shadow/SpinButtonElement.cpp:
2596         (WebCore::SpinButtonElement::SpinButtonElement):
2597         (WebCore::SpinButtonElement::willDetachRenderers):
2598         * html/shadow/SpinButtonElement.h:
2599         * html/shadow/TextControlInnerElements.cpp:
2600         (WebCore::TextControlInnerElement::TextControlInnerElement):
2601         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
2602         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
2603         (WebCore::SearchFieldCancelButtonElement::willDetachRenderers):
2604         (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
2605         (WebCore::InputFieldSpeechButtonElement::willAttachRenderers):
2606         (WebCore::InputFieldSpeechButtonElement::willDetachRenderers):
2607         * html/shadow/TextControlInnerElements.h:
2608         * style/StyleResolveTree.cpp:
2609         (WebCore::Style::resolveTree):
2610         * svg/SVGElement.cpp:
2611         (WebCore::SVGElement::SVGElement):
2612         * svg/SVGImageElement.cpp:
2613         (WebCore::SVGImageElement::SVGImageElement):
2614         (WebCore::SVGImageElement::didAttachRenderers):
2615         * svg/SVGImageElement.h:
2616         * svg/SVGUseElement.cpp:
2617         (WebCore::SVGUseElement::SVGUseElement):
2618
2619 2013-08-18  Gavin Barraclough  <barraclough@apple.com>
2620
2621         https://bugs.webkit.org/show_bug.cgi?id=119972
2622         Add attributes field to PropertySlot
2623
2624         Reviewed by Geoff Garen.
2625
2626         For all JSC types, this makes getOwnPropertyDescriptor redundant.
2627         There will be a bit more hacking required in WebCore to remove GOPD whilst maintaining current behaviour.
2628         (Current behaviour is in many ways broken, particularly in that GOPD & GOPS are inconsistent, but we should fix incrementally).
2629
2630         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2631         (WebCore::JSCSSStyleDeclaration::getOwnPropertySlotDelegate):
2632         * bindings/js/JSDOMWindowCustom.cpp:
2633         (WebCore::JSDOMWindow::getOwnPropertySlot):
2634         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
2635         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
2636         * bindings/js/JSHistoryCustom.cpp:
2637         (WebCore::JSHistory::getOwnPropertySlotDelegate):
2638         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
2639         * bindings/js/JSLocationCustom.cpp:
2640         (WebCore::JSLocation::getOwnPropertySlotDelegate):
2641         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
2642         * bindings/js/JSPluginElementFunctions.cpp:
2643         (WebCore::runtimeObjectCustomGetOwnPropertySlot):
2644         (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
2645         * bindings/scripts/CodeGeneratorJS.pm:
2646         (GenerateGetOwnPropertySlotBody):
2647         (GenerateGetOwnPropertyDescriptorBody):
2648         (GenerateImplementation):
2649         * bridge/runtime_array.cpp:
2650         (JSC::RuntimeArray::getOwnPropertySlot):
2651         (JSC::RuntimeArray::getOwnPropertyDescriptor):
2652         (JSC::RuntimeArray::getOwnPropertySlotByIndex):
2653         * bridge/runtime_method.cpp:
2654         (JSC::RuntimeMethod::getOwnPropertySlot):
2655         (JSC::RuntimeMethod::getOwnPropertyDescriptor):
2656         * bridge/runtime_object.cpp:
2657         (JSC::Bindings::RuntimeObject::getOwnPropertySlot):
2658         (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
2659             - Pass attributes to PropertySlot::set* methods.
2660
2661 2013-08-18  Ryosuke Niwa  <rniwa@webkit.org>
2662
2663         <https://webkit.org/b/119917> Pasting multiple lines into a textarea can introduce extra new lines
2664
2665         Reviewed by Darin Adler.
2666
2667         Inspired by https://chromium.googlesource.com/chromium/blink/+/6152a12f7ace27beea4d284ff8416631e8aa5217.
2668
2669         The bug was caused by createFragmentFromText's falsely assuming that the newline were not preserved
2670         if the first node's renderer didn't exist.
2671
2672         Fixed the bug by obtaining the renderer of the container of the first visible position in the context.
2673
2674         Test: editing/pasteboard/paste-into-textarea-with-new-line.html
2675
2676         * editing/markup.cpp:
2677         (WebCore::contextPreservesNewline):
2678         (WebCore::createFragmentFromText):
2679
2680 2013-08-18  Andreas Kling  <akling@apple.com>
2681
2682         <https://webkit.org/b/119983> Add two missing RefPtr::release() in HTMLLinkElement.
2683
2684         Reviewed by Antti Koivisto.
2685
2686         * html/HTMLLinkElement.cpp:
2687         (WebCore::HTMLLinkElement::setCSSStyleSheet):
2688
2689 2013-08-18  Andreas Kling  <akling@apple.com>
2690
2691         <https://webkit.org/b/119981> Move ElementData & co to their own files.
2692
2693         Reviewed by Antti Koivisto.
2694
2695         I like to move it move it.
2696
2697 2013-08-18  David Kilzer  <ddkilzer@apple.com>
2698
2699         BUILD FIX (r153990): Add UNUSED_PARAM for heightChanged when CSS_SHAPES is disabled
2700
2701         Fixes the following build failure:
2702
2703             WebCore/rendering/RenderBlock.cpp:1529:53: error: unused parameter 'heightChanged' [-Werror,-Wunused-parameter]
2704             void RenderBlock::updateShapesAfterBlockLayout(bool heightChanged)
2705                                                                 ^
2706             1 error generated.
2707
2708         * rendering/RenderBlock.cpp:
2709         (WebCore::RenderBlock::updateShapesAfterBlockLayout): Add
2710         UNUSED_PARAM(heightChanged) when CSS_SHAPES is disabled.
2711
2712 2013-08-18  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>
2713
2714         [EFL] minor method name fix for the textTrackOffMenuItemText method
2715         https://bugs.webkit.org/show_bug.cgi?id=119978
2716
2717         the method textTrackOffMenuItemText was renamed in
2718         https://bugs.webkit.org/show_bug.cgi?id=113822
2719
2720         Reviewed by Christophe Dumez.
2721
2722         * platform/efl/LocalizedStringsEfl.cpp:
2723         (WebCore::textTrackOffMenuItemText):
2724
2725 2013-08-17  Antti Koivisto  <antti@apple.com>
2726
2727         <https://webkit.org/b/119963> Use TextNodeTraversal for getting sheet text in StyleElement
2728
2729         Reviewed by Andreas Kling.
2730
2731         * dom/StyleElement.cpp:
2732         (WebCore::StyleElement::process):
2733         
2734             Use TextNodeTraversal::contentsAsString for the sheet text. The overflow check is removed as StringBuilder 
2735             (which is used by contentsAsString) does that itself. The behavior in case of overflow changes from empty
2736             sheet to CRASH(). Thats what we do elsewhere in similar situations too (scripts for example). Continuing
2737             with > 4GB of style sheet text nodes is probably not going to go well anyway.
2738
2739 2013-08-17  Antti Koivisto  <antti@apple.com>
2740
2741         <https://webkit.org/b/119960> Remove some optimizations made obsolete by use of StringBuilder
2742
2743         Reviewed by Andreas Kling.
2744
2745         * dom/ScriptElement.cpp:
2746         (WebCore::ScriptElement::scriptContent):
2747         
2748             StringBuilder already optimizes for the single string case. If there is only one the original string is returned.
2749
2750         * dom/Text.cpp:
2751         (WebCore::Text::wholeText):
2752         
2753             No need to traverse twice to compute the capacity. StringBuilder handles this efficiently. 
2754             Also in the common case there is only one string and the optimization here is actually hurting by disabling the StringBuilder one.
2755
2756 2013-08-17  Antti Koivisto  <antti@apple.com>
2757
2758         <https://webkit.org/b/119959> Add TextNodeTraversal
2759
2760         Reviewed by Andreas Kling.
2761
2762         Add TextNodeTraversal for cleaner and more compact traversal of Text nodes.
2763         
2764         Use it where appropriate.
2765
2766         * WebCore.xcodeproj/project.pbxproj:
2767         * dom/Attr.cpp:
2768         (WebCore::Attr::childrenChanged):
2769         * dom/NodeTraversal.h:
2770         (WebCore::NodeTraversal::next):
2771         * dom/ScriptElement.cpp:
2772         (WebCore::ScriptElement::scriptContent):
2773         * dom/Text.cpp:
2774         (WebCore::Text::wholeText):
2775         * dom/Text.h:
2776         (WebCore::toText):
2777         * dom/TextNodeTraversal.cpp: Added.
2778         (WebCore::TextNodeTraversal::appendContents):
2779         (WebCore::TextNodeTraversal::contentsAsString):
2780         
2781             Helpers for getting text content of a subtree.
2782
2783         * dom/TextNodeTraversal.h: Added.
2784         (WebCore::TextNodeTraversal::firstTextChildTemplate):
2785         (WebCore::TextNodeTraversal::firstChild):
2786         (WebCore::TextNodeTraversal::firstTextWithinTemplate):
2787         (WebCore::TextNodeTraversal::firstWithin):
2788         (WebCore::TextNodeTraversal::traverseNextTextTemplate):
2789         (WebCore::TextNodeTraversal::next):
2790         (WebCore::TextNodeTraversal::nextSibling):
2791         * editing/ApplyStyleCommand.cpp:
2792         (WebCore::ApplyStyleCommand::joinChildTextNodes):
2793         * html/HTMLTextAreaElement.cpp:
2794         (WebCore::HTMLTextAreaElement::defaultValue):
2795         (WebCore::HTMLTextAreaElement::setDefaultValue):
2796         * html/HTMLTitleElement.cpp:
2797         (WebCore::HTMLTitleElement::text):
2798         * html/track/TextTrackCue.cpp:
2799         (WebCore::TextTrackCue::determineTextDirection):
2800         * page/Frame.cpp:
2801         (WebCore::Frame::searchForLabelsAboveCell):
2802         * xml/XPathUtil.cpp:
2803         (WebCore::XPath::stringValue):
2804
2805 2013-08-17  Andreas Kling  <akling@apple.com>
2806
2807         <https://webkit.org/b/119957> Page::contextMenuController() should return a reference.
2808
2809         Reviewed by Antti Koivisto.
2810
2811         Page::m_contextMenuController is never null.
2812
2813         * page/Page.h:
2814         (WebCore::Page::contextMenuController):
2815
2816 2013-08-17  Andreas Kling  <akling@apple.com>
2817
2818         <https://webkit.org/b/119954> Page::dragCaretController() should return a reference.
2819
2820         Reviewed by Antti Koivisto.
2821
2822         Page::m_dragCaretController is never null.
2823
2824         * dom/Document.cpp:
2825         (WebCore::Document::nodeChildrenWillBeRemoved):
2826         (WebCore::Document::nodeWillBeRemoved):
2827         * page/DragController.cpp:
2828         (WebCore::DragController::cancelDrag):
2829         (WebCore::DragController::dragEnded):
2830         (WebCore::DragController::tryDocumentDrag):
2831         (WebCore::DragController::dispatchTextInputEventFor):
2832         (WebCore::DragController::concludeEditDrag):
2833         (WebCore::DragController::placeDragCaret):
2834         * page/Page.h:
2835         (WebCore::Page::dragCaretController):
2836         * rendering/RenderBlock.cpp:
2837         (WebCore::RenderBlock::paintCaret):
2838
2839 2013-08-17  Andreas Kling  <akling@apple.com>
2840
2841         <https://webkit.org/b/119952> Simplify Editor's back-pointer to the Frame.
2842
2843         Reviewed by Antti Koivisto.
2844
2845         Remove Editor's inheritance from FrameDestructionObserver. Editor is owned by Frame and
2846         has no interest in observing frame destruction since its own destruction will soon follow.
2847
2848         Editor::m_frame is now a reference instead of a pointer. Removed some null checking.
2849
2850 2013-08-17  Andreas Kling  <akling@apple.com>
2851
2852         <https://webkit.org/b/119950> Remove unused EditorClient::frameWillDetachPage() callback.
2853
2854         Reviewed by Antti Koivisto.
2855
2856         This callback was only used by the Chromium port.
2857
2858         * editing/Editor.h:
2859         * editing/Editor.cpp:
2860
2861             Remove override of FrameDestructionObserver::willDetachPage().
2862
2863         * page/EditorClient.h:
2864
2865             Remove frameWillDetachPage(). This is repeated in every EditorClient subclass.
2866
2867 2013-08-16  Antti Koivisto  <antti@apple.com>
2868
2869         <https://webkit.org/b/119886> PseudoElement is abusing parent node pointer
2870
2871         Reviewed by Darin Adler.
2872
2873         PseudoElement sets its host node as its parent. This is confusing and wrong as it breaks
2874         the basic tree consistency (a node is a child node of its parent node).
2875         
2876         This patch adds an explicit host pointer PseudoElement and switches the call sites over. Memory
2877         impact is negligible as there are not that many ::befores and ::afters.
2878
2879         * dom/ComposedShadowTreeWalker.cpp:
2880         (WebCore::ComposedShadowTreeWalker::traverseParent):
2881         * dom/EventPathWalker.cpp:
2882         (WebCore::EventPathWalker::moveToParent):
2883         * dom/EventRetargeter.h:
2884         (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
2885         * dom/Node.cpp:
2886         (WebCore::Node::~Node):
2887         
2888             Add consistency assertions. Remove unnecessary clearing of sibling pointers. They should be cleared already.
2889
2890         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
2891         * dom/PseudoElement.cpp:
2892         (WebCore::PseudoElement::PseudoElement):
2893         (WebCore::PseudoElement::customStyleForRenderer):
2894         * dom/PseudoElement.h:
2895         (WebCore::toPseudoElement):
2896         
2897             Add casting functions.
2898
2899         * inspector/InspectorLayerTreeAgent.cpp:
2900         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
2901         * rendering/HitTestResult.cpp:
2902         (WebCore::HitTestResult::setInnerNode):
2903         (WebCore::HitTestResult::setInnerNonSharedNode):
2904
2905 2013-08-17  Darin Adler  <darin@apple.com>
2906
2907         <https://webkit.org/b/119948> Change drag-specific clipboard writing in DragController to go straight to Pasteboard, not forward through Clipboard
2908
2909         Reviewed by Andreas Kling.
2910
2911         * dom/Clipboard.cpp: Removed writeRange, writePlainText, and writeURL functions.
2912         All three are just unneeded forwarding to pasteboard.
2913         * dom/Clipboard.h: Ditto.
2914
2915         * page/DragController.cpp:
2916         (WebCore::DragController::startDrag): Move the logic in here. Later we might
2917         want to straighten this out a bit, perhaps using functions in Editor, but it's
2918         not much code so fine to just have it here for now.
2919
2920 2013-08-17  Darin Adler  <darin@apple.com>
2921
2922         <https://webkit.org/b/119947> Remove LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS
2923
2924         Reviewed by Andreas Kling.
2925
2926         * dom/Clipboard.cpp:
2927         (WebCore::Clipboard::Clipboard):
2928         (WebCore::Clipboard::~Clipboard):
2929         * dom/Clipboard.h:
2930         Remove LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS, LEGACY_VIRTUAL, and LEGACY_PURE.
2931         Keep only the !USE(LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS) side of all conditionals.
2932
2933 2013-08-17  Darin Adler  <darin@apple.com>
2934
2935         <https://webkit.org/b/119946> Move some code used only by EventHandler from Clipboard to EventHandler
2936
2937         Reviewed by Andreas Kling.
2938
2939         Later it would be good to move this all to DragController, but there is no reason to have
2940         these functions as member functions of the DOM-exposed Clipboard class.
2941
2942         * dom/Clipboard.cpp: Deleted hasFileOfType, hasStringOfType, convertDropZoneOperationToDragOperation,
2943         convertDragOperationToDropZoneOperation.
2944         * dom/Clipboard.h: Ditto.
2945
2946         * page/EventHandler.cpp:
2947         (WebCore::convertDropZoneOperationToDragOperation): Moved here.
2948         (WebCore::convertDragOperationToDropZoneOperation): Moved here. Also changed to use ASCIILiteral.
2949         (WebCore::hasFileOfType): Moved here and made a free function instead of a member function. Removed
2950         canReadTypes check because Clipboard::files already takes care of that.
2951         (WebCore::hasStringOfType): Moved here and made a free function instead of a member function.
2952         Added a check for the null string because HashSet::contains will not work on a null string.
2953         (WebCore::hasDropZoneType): Moved here and made a free function instead of a member function.
2954         (WebCore::findDropZone): Call the hasDropZoneType function instead of Clipboard::hasDropZoneType.
2955
2956 2013-08-17  Darin Adler  <darin@apple.com>
2957
2958         <https://webkit.org/b/119943> Clean up the Document class a bit
2959
2960         Reviewed by Antti Koivisto.
2961
2962         * dom/Document.cpp:
2963         (WebCore::Document::~Document): Fixed typo in comment.
2964         (WebCore::Document::suggestedMIMEType): Use ASCIILiteral for literals.
2965         Also name local variable just loader rather than documentLoader.
2966         (WebCore::Document::updateTitle): Call loader rather than going indirectly
2967         through frame to get to the loader.
2968         (WebCore::Document::setTitleElement): Fixed formatting (add braces).
2969         (WebCore::Document::removeTitle): Iterate elements instead of nodes.
2970         (WebCore::Document::isPageBoxVisible): Use ensureStyleResolver to call
2971         styleForPage to avoid the need for a simple forwarding function. Also
2972         eliminated local variable to increase clarity.
2973         (WebCore::Document::pageSizeAndMarginsInPixels): Use ensureStyleResolver
2974         to call styleForPage to avoid the need for a simple forwarding function.
2975         (WebCore::Document::setIsViewSource): Renamed a local variable.
2976
2977         * dom/Document.h: Removed unneeded childNeedsAndNotInStyleRecalc and
2978         styleForPage functions.
2979
2980         * loader/FrameLoader.cpp: Removed unnneeded setTitle function.
2981         * loader/FrameLoader.h: Ditto.
2982
2983         * page/PrintContext.cpp:
2984         (WebCore::PrintContext::pageProperty): Use ensureStyleResolver to call
2985         styleForPage to avoid the need for a simple forwarding function.
2986
2987 2013-08-17  Darin Adler  <darin@apple.com>
2988
2989         <https://webkit.org/b/119939> Remove some unused clipboard and pasteboard code
2990
2991         Reviewed by Andreas Kling.
2992
2993         * PlatformWinCE.cmake: Removed EditorWin.cpp.
2994         * WebCore.vcxproj/WebCore.vcxproj: Removed EditorWin.cpp.
2995         * WebCore.vcxproj/WebCore.vcxproj.filters: Removed EditorWin.cpp.
2996         * WebCore.xcodeproj/project.pbxproj: Removed ClipboardIOS.h and
2997         ClipboardIOS.mm, and also let Xcode edit/reorder this file.
2998
2999         * editing/Editor.cpp:
3000         (WebCore::Editor::dispatchCPPEvent): Removed some LEGACY_STYLE_ABSTRACT_CLIPBOARD
3001         class code. Will remove the rest later.
3002
3003         * editing/Editor.h: Removed declaration of newGeneralClipboard.
3004
3005         * platform/Pasteboard.h: Removed declaration of writeClipboard. Also updated a
3006         comment to make it clearer.
3007
3008         * platform/blackberry/PasteboardBlackBerry.cpp: Removed Pasteboard::writeClipboard.
3009         * platform/efl/PasteboardEfl.cpp: Ditto.
3010         * platform/ios/PasteboardIOS.mm: Ditto.
3011         * platform/win/PasteboardWin.cpp: Ditto.
3012
3013         * platform/ios/ClipboardIOS.h: Removed. Was an empty file.
3014         * platform/ios/ClipboardIOS.mm: Removed. Was an empty file.
3015         * platform/win/EditorWin.cpp: Removed. Had only newGeneralClipboard in the file,
3016         a function that is never called.
3017
3018 2013-08-17  Darin Adler  <darin@apple.com>
3019
3020         <https://webkit.org/b/119940> Rename Clipboard::m_dragLoc to m_dragLocation
3021
3022         Reviewed by Andreas Kling.
3023
3024         * dom/Clipboard.h: Removed unused dragLocation member function.
3025         Renamed m_dragLoc to m_dragLocation.
3026
3027         * dom/Clipboard.cpp:
3028         (WebCore::Clipboard::setDragImage):
3029         * platform/gtk/ClipboardGtk.cpp:
3030         (WebCore::Clipboard::createDragImage):
3031         * platform/mac/ClipboardMac.mm:
3032         (WebCore::Clipboard::createDragImage):
3033         * platform/qt/ClipboardQt.cpp:
3034         (WebCore::Clipboard::createDragImage):
3035         * platform/win/ClipboardWin.cpp:
3036         (WebCore::Clipboard::createDragImage):
3037         Updated for new name.
3038
3039 2013-08-17  Darin Adler  <darin@apple.com>
3040
3041         <https://webkit.org/b/119942> Remove unnecessary uses of Element::ownerDocument
3042
3043         Reviewed by Andreas Kling.
3044
3045         The Element::document is a simpler faster alternative to Element::ownerDocument.
3046         The only behavior difference between the two is that ownerDocument returns 0 when
3047         called on a Document.
3048
3049         * html/HTMLMediaElement.cpp:
3050         (WebCore::HTMLMediaElement::supportsFocus): Call document instead of ownerDocument.
3051         (WebCore::HTMLMediaElement::mediaPlayerOwningDocument): Removed null checking of
3052         document and call to ownerDocument, since ownerDocument will never return non-null
3053         if document returns null.
3054         (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks): Call document instead
3055         of ownerDocument.
3056
3057         * inspector/DOMEditor.cpp:
3058         (WebCore::DOMEditor::SetOuterHTMLAction::perform): Call document instead of ownerDocument.
3059
3060         * inspector/InspectorCSSAgent.cpp:
3061         (WebCore::InspectorCSSAgent::getMatchedStylesForNode): Call document instead of ownerDocument.
3062         (WebCore::InspectorCSSAgent::forcePseudoState): Call document instead of ownerDocument.
3063         (WebCore::InspectorCSSAgent::resetPseudoStates): Call document instead of ownerDocument.
3064
3065         * inspector/InspectorDOMAgent.cpp:
3066         (WebCore::InspectorDOMAgent::setOuterHTML): Call document instead of expression that
3067         does the same thing in a roundabout way.
3068         (WebCore::InspectorDOMAgent::focusNode): Call document instead of ownerDocument.
3069         (WebCore::InspectorDOMAgent::resolveNode): Call document instead of expression that
3070         does the same thing in a roundabout way.
3071
3072         * page/DragController.cpp:
3073         (WebCore::DragController::concludeEditDrag): Call document instead of ownerDocument.
3074
3075         * svg/SVGElementInstance.cpp:
3076         (WebCore::SVGElementInstance::ownerDocument): Call document instead of ownerDocument.
3077
3078 2013-08-17  Darin Adler  <darin@apple.com>
3079
3080         <https://webkit.org/b/119941> Make Page::dragController return a reference
3081
3082         Reviewed by Andreas Kling.
3083
3084         * page/Page.h:
3085         (WebCore::Page::dragController): Return a reference instead of a pointer.
3086
3087         * page/DragController.cpp:
3088         (WebCore::DragController::concludeEditDrag):
3089         * page/EventHandler.cpp:
3090         (WebCore::EventHandler::eventMayStartDrag):
3091         (WebCore::EventHandler::updateDragSourceActionsAllowed):
3092         (WebCore::EventHandler::handleDrag):
3093         * page/mac/EventHandlerMac.mm:
3094         (WebCore::EventHandler::passSubframeEventToSubframe):
3095         Updated call sites.
3096
3097 2013-08-17  Morten Stenshorne  <mstensho@opera.com>
3098
3099         <https://webkit.org/b/119795> Propagate writing-mode from the first region to the flow thread
3100
3101         Reviewed by Darin Adler.
3102
3103         Since the flow thread is a direct child of RenderView, it doesn't inherit
3104         proper writing-mode automatically. It should be mentioned that if the thread's
3105         contents' writing-mode differs from that of the first region, things are
3106         typically going to look useless (although perhaps that's how it should be),
3107         but as long as writing-mode is only specified on a common parent of the
3108         thread's contents and the regions, things look fine, and also, we're now
3109         following what the spec has to say on the matter:
3110
3111         http://www.w3.org/TR/2013/WD-css3-regions-20130528/#the-flow-into-property
3112
3113             "The first region defines the principal writing mode for the entire flow.
3114              The writing mode on subsequent regions is ignored."
3115
3116         This is a back-port of the fix for Blink bug 257965.
3117         Reviewed by esprehn and mihnea there.
3118         Blink review URL: https://chromiumcodereview.appspot.com/18374008
3119
3120         Tests: fast/regions/changing-writing-mode-2.html
3121                fast/regions/changing-writing-mode-3.html
3122                fast/regions/changing-writing-mode-4.html
3123                fast/regions/changing-writing-mode-5.html
3124                fast/regions/changing-writing-mode.html
3125                fast/regions/invalid-first-region-with-writing-mode-2.html
3126                fast/regions/invalid-first-region-with-writing-mode.html
3127                fast/regions/subtree-with-horiz-bt.html
3128                fast/regions/subtree-with-horiz-tb.html
3129                fast/regions/subtree-with-vert-lr.html
3130                fast/regions/subtree-with-vert-rl.html
3131
3132         * rendering/RenderFlowThread.cpp:
3133         (WebCore::RenderFlowThread::styleDidChange):
3134         * rendering/RenderFlowThread.h:
3135         * rendering/RenderNamedFlowThread.cpp:
3136         (WebCore::RenderNamedFlowThread::updateWritingMode):
3137         (WebCore::RenderNamedFlowThread::addRegionToNamedFlowThread):
3138         (WebCore::RenderNamedFlowThread::removeRegionFromThread):
3139         (WebCore::RenderNamedFlowThread::regionChangedWritingMode):
3140         * rendering/RenderNamedFlowThread.h:
3141         * rendering/RenderRegion.cpp:
3142         (WebCore::RenderRegion::styleDidChange):
3143
3144 2013-08-16  Andreas Kling  <akling@apple.com>
3145
3146         <https://webkit.org/b/119903> Make Settings ref-counted (and let Frame keep a ref!)
3147
3148         Reviewed by Geoff Garen.
3149
3150         Let Frame hold a RefPtr<Settings> so Frame::settings() isn't forced to go through Page.
3151         It now also returns a reference, as it can never be null.
3152
3153         Removed 8.8 million lines of null-checking as a result.
3154
3155 2013-08-16  Ryosuke Niwa  <rniwa@webkit.org>
3156
3157         <https://webkit.org/b/119536> Refactor highestEditableRoot to avoid a redundant call to rendererIsEditable
3158
3159         Reviewed by Benjamin Poulain.
3160
3161         Refactor highestEditableRoot to avoid an extra tree walk. We now walk up the ancestor chain up to
3162         the first root editable element exactly once.
3163
3164         * dom/Node.cpp:
3165         (WebCore::Node::rendererIsEditable): Change the order of conditions to make the evaluation faster
3166         when we don't have to check RenderStyle's value.
3167         * editing/htmlediting.cpp:
3168         (WebCore::highestEditableRoot):
3169
3170 2013-08-16  Benjamin Poulain  <benjamin@webkit.org>
3171
3172         Remove a useless #include of SelectorChecker.h
3173
3174         Rubber-stamped by Ryosuke Niwa.
3175
3176         * dom/DocumentStyleSheetCollection.cpp:
3177
3178 2013-08-16  Brent Fulgham  <bfulgham@apple.com>
3179
3180         [Windows] Update RenderMediaControls for new API
3181         https://bugs.webkit.org/show_bug.cgi?id=119910
3182
3183         Reviewed by Eric Carlson.
3184
3185         * rendering/RenderMediaControls.cpp: Update calls to WebKitSystemInterface for
3186         the changed API.
3187
3188 2013-08-16  Arunprasad Rajkumar  <arurajku@cisco.com>
3189
3190         <https://webkit.org/b/119912> Fix WebKit build error when SVG is disabled(broken since r154174)
3191
3192         Reviewed by Simon Fraser.
3193
3194         No new tests required, just a build fix.
3195
3196         Since r154174 CSS keywords alpha and luminance used by -webkit-mask-source-type. Move those
3197         keywords from SVGCSSValueKeywords.in to CSSValueKeywords.in.
3198
3199         * css/CSSValueKeywords.in:
3200         * css/SVGCSSValueKeywords.in:
3201
3202 2013-08-16  Arunprasad Rajkumar  <arurajku@cisco.com>
3203
3204         <https://webkit.org/b/119785> Replace currentTime() with monotonicallyIncreasingTime() in WebCore
3205
3206         Reviewed by Alexey Proskuryakov.
3207
3208         WTF::currentTime() is prone to DST changes and NTP adjustments, so use
3209         WTF::monotonicallyIncreasingTime() to measure elapsed time.
3210         
3211         * Modules/filesystem/FileWriter.cpp:
3212         (WebCore::FileWriter::didWrite):
3213         * dom/Document.cpp:
3214         (WebCore::Document::Document):
3215         (WebCore::Document::elapsedTime):
3216         (WebCore::Document::resetLastHandledUserGestureTimestamp):
3217         * dom/Element.cpp:
3218         (WebCore::Element::setActive):
3219         * fileapi/FileReader.cpp:
3220         (WebCore::FileReader::didReceiveData):
3221         * html/HTMLMediaElement.cpp:
3222         (WebCore::HTMLMediaElement::HTMLMediaElement):
3223         (WebCore::HTMLMediaElement::startProgressEventTimer):
3224         (WebCore::HTMLMediaElement::progressEventTimerFired):
3225         (WebCore::HTMLMediaElement::refreshCachedTime):
3226         (WebCore::HTMLMediaElement::invalidateCachedTime):
3227         (WebCore::HTMLMediaElement::currentTime):
3228         (WebCore::HTMLMediaElement::startPlaybackProgressTimer):
3229         (WebCore::HTMLMediaElement::scheduleTimeupdateEvent):
3230         * html/HTMLMediaElement.h:
3231         * html/HTMLPlugInImageElement.cpp:
3232         (WebCore::documentHadRecentUserGesture):
3233         * html/MediaController.cpp:
3234         (MediaController::scheduleTimeupdateEvent):
3235         * html/parser/HTMLDocumentParser.cpp:
3236         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
3237         * html/parser/HTMLParserScheduler.h:
3238         (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
3239         * inspector/InspectorCSSAgent.cpp:
3240         (WebCore::SelectorProfile::SelectorProfile):
3241         (WebCore::SelectorProfile::totalMatchingTimeMs):
3242         (WebCore::SelectorProfile::startSelector):
3243         (WebCore::SelectorProfile::commitSelector):
3244         (WebCore::SelectorProfile::commitSelectorTime):
3245         * inspector/InspectorProfilerAgent.cpp:
3246         (WebCore::InspectorProfilerAgent::willProcessTask):
3247         (WebCore::InspectorProfilerAgent::didProcessTask):
3248         * inspector/InspectorTimelineAgent.cpp:
3249         (WebCore::InspectorTimelineAgent::timestamp):
3250         * inspector/TimelineTraceEventProcessor.cpp:
3251         (WebCore::TimelineTraceEventProcessor::processEventOnAnyThread):
3252         * page/FrameView.cpp:
3253         (WebCore::FrameView::adjustedDeferredRepaintDelay):
3254         (WebCore::FrameView::paintContents):
3255         * platform/ClockGeneric.cpp:
3256         (ClockGeneric::now):
3257         * platform/ScrollAnimatorNone.cpp:
3258         (WebCore::ScrollAnimatorNone::scroll):
3259         (WebCore::ScrollAnimatorNone::animationTimerFired):
3260         * platform/graphics/cg/ImageBufferCG.cpp:
3261         (WebCore::ImageBuffer::ImageBuffer):
3262         (WebCore::ImageBuffer::flushContextIfNecessary):
3263         (WebCore::ImageBuffer::flushContext):
3264         (WebCore::ImageBuffer::copyNativeImage):
3265
3266 2013-08-16  peavo@outlook.com  <peavo@outlook.com>
3267
3268         <https://webkit.org/b/119891> [WinCairo] Compile error.
3269
3270         Reviewed by Brent Fulgham.
3271
3272         * rendering/FlowThreadController.cpp: Need USE(ACCELERATED_COMPOSITING) guard.
3273         * rendering/FlowThreadController.h: Need USE(ACCELERATED_COMPOSITING) guard.
3274
3275 2013-08-16  Zan Dobersek  <zdobersek@igalia.com>
3276
3277         <https://webkit.org/b/119887> [Soup] The testing NetworkStorageSession should have a proper SoupSession
3278
3279         Reviewed by Martin Robinson.
3280
3281         After r154144, a testing NetworkStorageSession is enforced when running the layout tests
3282         through WebKitTestRunner. Ports using the Soup networking backend don't assign any SoupSession
3283         objects to such NetworkStorageSession objects as it's usually the case. This is causing problems
3284         as the ResourceHandleInternal uses the SoupSession that's provided by the NetworkingContext's
3285         NetworkStorageSession, which ends up being null if the testing-specific NetworkStorageSession is used.
3286         As a result, all the layout tests are crashing under WKTR.
3287
3288         * platform/network/NetworkStorageSession.h: Make the SoupSession member a GRefPtr.
3289         (WebCore::NetworkStorageSession::soupSession): Return the GRefPtr's pointer.
3290         * platform/network/ResourceHandle.h: Declare the new createTestingSession method.
3291         * platform/network/soup/CookieJarSoup.cpp: 
3292         (WebCore::cookieJarForSession): Instead of returning the default SoupCookieJar when there's no SoupSession
3293         provided by the NetworkStorageSession, assert that there now always is one, and return the session's cookie
3294         jar. For testing NetworkStorageSession objects, their SoupSession objects will always use the default cookie jar.
3295         * platform/network/soup/NetworkStorageSessionSoup.cpp:
3296         (WebCore::NetworkStorageSession::NetworkStorageSession): Adopt the given SoupSession reference pointer.
3297         (WebCore::NetworkStorageSession::switchToNewTestingSession): Use a newly-created, testing-specific SoupSession.
3298         * platform/network/soup/ResourceHandleSoup.cpp:
3299         (WebCore::ResourceHandle::createTestingSession): Define the new createTestingSession method. It creates a new
3300         SoupSession through createSoupSession, but uses the default SoupCookieJar, as provided by WebCore::soupCookieJar.
3301
3302 2013-08-16  Pratik Solanki  <psolanki@apple.com>
3303
3304         <https://webkit.org/b/119852> Frame::scriptController() should return a reference
3305
3306         Reviewed by Andreas Kling.
3307
3308         m_script is never NULL so we can just return a reference. Also remove some pointless null
3309         checks as a result of doing this.
3310
3311         * Modules/websockets/WebSocket.cpp:
3312         (WebCore::WebSocket::connect):
3313         * bindings/js/JSDOMWindowBase.cpp:
3314         (WebCore::toJS):
3315         (WebCore::toJSDOMWindow):
3316         * bindings/js/JSDOMWindowShell.cpp:
3317         (WebCore::toJS):
3318         (WebCore::toJSDOMWindowShell):
3319         * bindings/js/JSEventListener.cpp:
3320         (WebCore::JSEventListener::handleEvent):
3321         * bindings/js/JSLazyEventListener.cpp:
3322         (WebCore::JSLazyEventListener::initializeJSFunction):
3323         * bindings/js/PageScriptDebugServer.cpp:
3324         (WebCore::PageScriptDebugServer::setJavaScriptPaused):
3325         * bindings/js/ScheduledAction.cpp:
3326         (WebCore::ScheduledAction::execute):
3327         * bindings/js/ScriptCachedFrameData.cpp:
3328         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
3329         (WebCore::ScriptCachedFrameData::restore):
3330         * bindings/js/ScriptEventListener.cpp:
3331         (WebCore::createAttributeEventListener):
3332         (WebCore::eventListenerHandlerScriptState):
3333         * bindings/js/ScriptState.cpp:
3334         (WebCore::mainWorldScriptState):
3335         (WebCore::scriptStateFromNode):
3336         (WebCore::scriptStateFromPage):
3337         * bindings/objc/DOM.mm:
3338         (-[DOMNode JSC::Bindings::]):
3339         * bindings/objc/DOMInternal.mm:
3340         (-[WebScriptObject _initializeScriptDOMNodeImp]):
3341         * dom/Document.cpp:
3342         (WebCore::Document::disableEval):
3343         (WebCore::Document::ensurePlugInsInjectedScript):
3344         * dom/ScriptElement.cpp:
3345         (WebCore::ScriptElement::prepareScript):
3346         (WebCore::ScriptElement::executeScript):
3347         * history/CachedFrame.cpp:
3348         (WebCore::CachedFrameBase::restore):
3349         * html/HTMLCanvasElement.cpp:
3350         (WebCore::HTMLCanvasElement::createRenderer):
3351         * html/HTMLElement.cpp:
3352         (WebCore::HTMLElement::rendererIsNeeded):
3353         * html/HTMLMediaElement.cpp:
3354         (WebCore::HTMLMediaElement::controls):
3355         * html/HTMLPlugInElement.cpp:
3356         (WebCore::HTMLPlugInElement::getInstance):
3357         (WebCore::HTMLPlugInElement::getNPObject):
3358         * html/HTMLPlugInImageElement.cpp:
3359         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
3360         * html/parser/HTMLParserOptions.cpp:
3361         (WebCore::HTMLParserOptions::HTMLParserOptions):
3362         * inspector/InspectorAgent.cpp:
3363         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
3364         * inspector/InspectorClient.cpp:
3365         (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
3366         * inspector/InspectorFrontendClientLocal.cpp:
3367         (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
3368         (WebCore::InspectorFrontendClientLocal::evaluateOnLoad):
3369         * inspector/InspectorOverlay.cpp:
3370         (WebCore::InspectorOverlay::evaluateInOverlay):
3371         * inspector/InspectorPageAgent.cpp:
3372         (WebCore::InspectorPageAgent::getScriptExecutionStatus):
3373         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
3374         * inspector/PageRuntimeAgent.cpp:
3375         (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
3376         * loader/DocumentWriter.cpp:
3377         (WebCore::DocumentWriter::begin):
3378         * loader/FrameLoader.cpp:
3379         (WebCore::FrameLoader::urlSelected):
3380         (WebCore::FrameLoader::submitForm):
3381         (WebCore::FrameLoader::cancelAndClear):
3382         (WebCore::FrameLoader::clear):
3383         (WebCore::FrameLoader::prepareForCachedPageRestore):
3384         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
3385         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
3386         * loader/SubframeLoader.cpp:
3387         (WebCore::SubframeLoader::requestFrame):
3388         * loader/cache/CachedResourceLoader.cpp:
3389         (WebCore::CachedResourceLoader::canRequest):
3390         * page/EventSource.cpp:
3391         (WebCore::EventSource::create):
3392         * page/Frame.cpp:
3393         (WebCore::Frame::willDetachPage):
3394         * page/Frame.h:
3395         (WebCore::Frame::script):
3396         * page/Navigator.cpp:
3397         (WebCore::shouldHideFourDot):
3398         * page/Page.cpp:
3399         (WebCore::Page::setDebugger):
3400         * platform/graphics/wince/MediaPlayerProxy.cpp:
3401         (WebCore::WebMediaPlayerProxy::pluginInstance):
3402         (WebCore::WebMediaPlayerProxy::invokeMethod):
3403         * plugins/PluginView.cpp:
3404         (WebCore::PluginView::~PluginView):
3405         (WebCore::PluginView::performRequest):
3406         (WebCore::PluginView::load):
3407         (WebCore::PluginView::bindingInstance):
3408         (WebCore::PluginView::getValue):
3409         * plugins/efl/PluginViewEfl.cpp:
3410         (WebCore::PluginView::platformGetValue):
3411         * xml/XMLHttpRequest.cpp:
3412         (WebCore::XMLHttpRequest::open):
3413         * xml/XMLTreeViewer.cpp:
3414         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
3415
3416 2013-08-16  Andreas Kling  <akling@apple.com>
3417
3418         Attempt to fix the Qt/MountainLion build after r154142.
3419
3420         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3421         (WebCore::MediaPlayerPrivateQt::commitLoad):
3422
3423 2013-08-16  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3424
3425         [Qt] Kerning in fast font path breaks letter-spacing
3426         https://bugs.webkit.org/show_bug.cgi?id=119838
3427
3428         Reviewed by Jocelyn Turcotte.
3429
3430         Mark fonts with both kerning and letter-spacing as unsupported by the simple font-path.
3431
3432         Test: fast/text/letter-spacing-kerned.html
3433
3434         * platform/graphics/WidthIterator.h:
3435         (WebCore::WidthIterator::supportsTypesettingFeatures):
3436
3437 2013-08-16  Andreas Kling  <akling@apple.com>
3438
3439         <https://webkit.org/b/119893> FrameView::frame() should return a reference.
3440
3441         Reviewed by Antti Koivisto.
3442
3443         FrameView::m_frame was only ever null for a brief moment during CachedFrame teardown.
3444         Leave it alone instead, and update the assertion that depended on this behavior.
3445         This enables us to make FrameView::frame() return a Frame&, exposing a ton of
3446         unnecessary null checks.
3447
3448         * history/CachedFrame.cpp:
3449         (WebCore::CachedFrame::destroy):
3450
3451             Remove call to FrameView::clearFrame() that was the only way to get a null
3452             FrameView::m_frame. Immediately followed by a call to CachedFrame::clear() where
3453             the FrameView would get destroyed anyway.
3454
3455         (WebCore::CachedFrame::clear):
3456
3457             Update an assertion to support the case where the Document's Frame pointer has
3458             been cleared out and CachedFrame is still clinging to the FrameView.
3459
3460         * history/CachedPage.h:
3461
3462             Made CachedPage::destroy() private as it was only called by ~CachedPage().
3463
3464