Add a missing null pointer check after r148759.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-04-19  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Add a missing null pointer check after r148759.
4
5         * rendering/RenderObject.cpp:
6         (WebCore::RenderObject::containingBlock):
7
8 2013-04-19  Benjamin Poulain  <benjamin@webkit.org>
9
10         Use Vector instead of StringBuilder for CSSPreloadScanner's buffers
11         https://bugs.webkit.org/show_bug.cgi?id=114794
12
13         Reviewed by Ryosuke Niwa.
14
15         Cleanup for other String changes.
16
17         CSSPreloadScanner only handles UChar, StringBuilder was a little
18         overkill.
19
20         * html/parser/CSSPreloadScanner.cpp:
21         (WebCore):
22         (WebCore::ruleEqualIgnoringCase):
23         (WebCore::CSSPreloadScanner::emitRule):
24         * html/parser/CSSPreloadScanner.h:
25
26 2013-04-19  Benjamin Poulain  <benjamin@webkit.org>
27
28         StyledMarkupAccumulator::appendText() should not allocate an intermediary StringBuilder
29         https://bugs.webkit.org/show_bug.cgi?id=114847
30
31         Reviewed by Geoffrey Garen.
32
33         For some reason StyledMarkupAccumulator::appendText() was allocating a separate buffer
34         for invoking appendStyleNodeOpenTag. This is a bad idea.
35
36         * editing/markup.cpp:
37         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
38         (WebCore::StyledMarkupAccumulator::appendText):
39
40 2013-04-19  Joseph Pecoraro  <pecoraro@apple.com>
41
42         Web Inspector: Support the SourceMap header, X-SourceMap was deprecated
43         https://bugs.webkit.org/show_bug.cgi?id=114888
44
45         Check first for SourceMap, then fallback to X-SourceMap. Leaving in
46         support for the deprecated header because most tools and articles
47         online mention that version and have not yet updated.
48
49         Reviewed by Timothy Hatcher.
50
51         * inspector/InspectorDebuggerAgent.cpp:
52         (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
53         * inspector/InspectorPageAgent.cpp:
54         (WebCore::InspectorPageAgent::sourceMapURLForResource):
55
56 2013-04-19  Joseph Pecoraro  <pecoraro@apple.com>
57
58         Web Inspector: Backend should detect sourceMappingURLs in CSS Resources
59         https://bugs.webkit.org/show_bug.cgi?id=114854
60
61         Reviewed by Timothy Hatcher.
62
63         Test: http/tests/inspector/network/css-source-mapping-url.html
64
65         * inspector/Inspector.json:
66         - Page.getResourceTree - add sourceMapURL to resource payloads
67         - Network.loadingFinished and Network.requestServedFromMemoryCache,
68           include the sourceMapURL in the results.
69
70         * inspector/ContentSearchUtils.h:
71         * inspector/ContentSearchUtils.cpp:
72         (WebCore::ContentSearchUtils::scriptCommentPattern):
73         (WebCore::ContentSearchUtils::stylesheetCommentPattern):
74         (WebCore::ContentSearchUtils::findMagicComment):
75         (WebCore::ContentSearchUtils::findScriptSourceURL):
76         (WebCore::ContentSearchUtils::findScriptSourceMapURL):
77         (WebCore::ContentSearchUtils::findStylesheetSourceMapURL):
78         Separate Script and Stylesheet regex pattern creation, but
79         share the search function using the pattern.
80
81         * inspector/InspectorDebuggerAgent.cpp:
82         (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
83         (WebCore::InspectorDebuggerAgent::didParseSource):
84         Update function names. Check for the SourceMap header before
85         checking for a sourceMappingURL comment.
86
87         * inspector/InspectorPageAgent.h:
88         * inspector/InspectorPageAgent.cpp:
89         (WebCore::InspectorPageAgent::sourceMapURLForResource):
90         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
91         Provide the sourceMapURL for Page.getResourceTree.
92
93         * inspector/InspectorResourceAgent.cpp:
94         (WebCore::buildObjectForCachedResource):
95         (WebCore::InspectorResourceAgent::didFinishLoading):
96         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
97         Include sourceMapURLs in finish loading and request served from cache.
98
99 2013-04-19  Shawn Singh  <shawnsingh@chromium.org>
100
101         Remove non-overlap testing code in RenderLayerCompositor
102         https://bugs.webkit.org/show_bug.cgi?id=85521
103
104         Reviewed by Simon Fraser.
105
106         m_compositingConsultsOverlap is always true in the current
107         code. This patch removes this flag, and removes dead code that is
108         never executed because it was never false.
109
110         No new tests, no change in behavior.  The cleanup is covered by
111         existing tests.
112
113         * rendering/RenderLayer.cpp:
114         (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
115         removed if-statement that is always true.
116         
117         * rendering/RenderLayerBacking.cpp:
118         (WebCore::RenderLayerBacking::shouldClipCompositedBounds):
119         removed if-statement that would never get triggered.
120
121         * rendering/RenderLayerCompositor.cpp:
122         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
123         (WebCore::RenderLayerCompositor::updateCompositingLayers):
124         removed m_compositingConsultsOverlap, and retained the code as if the flag were "true".
125         
126         * rendering/RenderLayerCompositor.h:
127         (RenderLayerCompositor):
128
129 2013-04-19  Roger Fong  <roger_fong@apple.com>
130
131         Unreviewed. WebKit_Source is incorrectly set.
132
133         * WebCore.vcxproj/WebCore.make:
134
135 2013-04-18  Ryosuke Niwa  <rniwa@webkit.org>
136
137         Make loops in RenderObject::containingBlock homogeneous in their forms to simplify
138         https://bugs.webkit.org/show_bug.cgi?id=114853
139
140         Reviewed by David Hyatt.
141
142         This patch prepares us to avoid computing containing blocks during a depth-first traversal of the render tree.
143
144         Extracted inline functions out of RenderBlock::containingBlock to make the code simpler. Also moved the code
145         to obtain the nearest containing block out of the loop for a relatively positioned inline.
146
147         * rendering/RenderObject.cpp:
148         (WebCore::isNonReplacedInlineInFlowPosition): Extracted.
149         (WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject): Extracted.
150         (WebCore::isNonRenderBlockInline): Extracted.
151         (WebCore::RenderObject::containingBlock): Refactored as stated above.
152
153 2013-04-19  Tim Horton  <timothy_horton@apple.com>
154
155         WebKit should not decode or support PDF favicons
156         https://bugs.webkit.org/show_bug.cgi?id=114650
157         <rdar://problem/10133914>
158
159         Reviewed by Dan Bernstein.
160
161         Drop the image data on the floor if it begins with the PDF magic number.
162         No other browser I can find on OS X supports PDF favicons (by experimentation),
163         and we do not properly display them.
164
165         * loader/icon/IconLoader.cpp:
166         (WebCore::IconLoader::notifyFinished):
167
168 2013-04-19  Martin Robinson  <mrobinson@igalia.com>
169
170         Remove the OpenVG backend
171         https://bugs.webkit.org/show_bug.cgi?id=114881
172
173         Reviewed by Tim Horton.
174
175         * platform/graphics/FloatRect.h:
176         (FloatRect): Remove #ifdefs for OpenVG backend.
177         * platform/graphics/GraphicsContext.cpp:
178         (WebCore): Ditto.
179         * platform/graphics/GraphicsContext.h:
180         * platform/graphics/NativeImagePtr.h:
181         (WebCore): Ditto.
182         * platform/graphics/Path.cpp:
183         (WebCore): Ditto.
184         * platform/graphics/Path.h:
185         * platform/graphics/openvg/EGLDisplayOpenVG.cpp: Removed.
186         * platform/graphics/openvg/EGLDisplayOpenVG.h: Removed.
187         * platform/graphics/openvg/EGLUtils.h: Removed.
188         * platform/graphics/openvg/GraphicsContextOpenVG.cpp: Removed.
189         * platform/graphics/openvg/ImageOpenVG.cpp: Removed.
190         * platform/graphics/openvg/PainterOpenVG.cpp: Removed.
191         * platform/graphics/openvg/PainterOpenVG.h: Removed.
192         * platform/graphics/openvg/PathOpenVG.cpp: Removed.
193         * platform/graphics/openvg/PlatformPathOpenVG.h: Removed.
194         * platform/graphics/openvg/SharedResourceOpenVG.cpp: Removed.
195         * platform/graphics/openvg/SharedResourceOpenVG.h: Removed.
196         * platform/graphics/openvg/SurfaceOpenVG.cpp: Removed.
197         * platform/graphics/openvg/SurfaceOpenVG.h: Removed.
198         * platform/graphics/openvg/TiledImageOpenVG.cpp: Removed.
199         * platform/graphics/openvg/TiledImageOpenVG.h: Removed.
200         * platform/graphics/openvg/VGUtils.cpp: Removed.
201         * platform/graphics/openvg/VGUtils.h: Removed.
202         * platform/graphics/transforms/AffineTransform.h:
203         (AffineTransform): Ditto.
204         * platform/graphics/transforms/TransformationMatrix.h:
205         (TransformationMatrix): Ditto.
206         * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Removed.
207
208 2013-04-19  Andrei Bucur  <abucur@adobe.com>
209
210         ContainerNode::removeChildren should first detach the children then remove them
211         https://bugs.webkit.org/show_bug.cgi?id=113433
212
213         Reviewed by Ryosuke Niwa.
214
215         Currently, ContainerNode::removeChildren initially removes the nodes from the DOM tree and then
216         calls detach() on each of them. This is anti-intuitive and can lead to subtle bugs because the
217         detached renderers are not backed by a valid DOM tree any more. With the patch, the nodes are first
218         detached and then removed from the DOM.
219         The patch also lets the tree in a consistent state after each node removal by clearing the previous
220         sibling pointer of the node following the one removed.
221         I haven't found any proof the performance will get worse if the detachment happens when the children
222         are still in the DOM tree.
223
224         Tests: No changed visible functionality.
225
226         * dom/ContainerNode.cpp:
227         (WebCore::ContainerNode::removeChildren):
228
229 2013-04-19  Dirk Schulze  <krit@webkit.org>
230
231         Refactor transform code in StyleResolver
232         https://bugs.webkit.org/show_bug.cgi?id=114874
233
234         Reviewed by Andreas Kling.
235
236         Move transform code frome StyleResolver into own files.
237
238         Refactoring, no changes in functionality.
239
240         * CMakeLists.txt:
241         * GNUmakefile.list.am:
242         * Target.pri:
243         * WebCore.vcproj/WebCore.vcproj:
244         * WebCore.vcxproj/WebCore.vcxproj:
245         * WebCore.vcxproj/WebCore.vcxproj.filters:
246         * WebCore.xcodeproj/project.pbxproj:
247         * css/StyleResolver.cpp:
248         (WebCore::StyleResolver::applyProperty):
249         (WebCore::StyleResolver::parseCustomFilterTransformParameter):
250         * css/StyleResolver.h:
251         * css/TransformFunctions.cpp: Added.
252         (WebCore):
253         (WebCore::transformOperationType):
254         (WebCore::convertToFloatLength):
255         (WebCore::transformsForValue):
256         * css/TransformFunctions.h: Added.
257         (WebCore):
258         * css/WebKitCSSMatrix.cpp:
259         (WebCore::WebKitCSSMatrix::setMatrixValue):
260
261 2013-04-19  Erik Arvidsson  <arv@chromium.org>
262
263         Rename TextTrackList owner to element for consistency
264         https://bugs.webkit.org/show_bug.cgi?id=79822
265
266         Reviewed by Eric Carlson.
267
268         No new tests. Covered by existing tests.
269
270         * bindings/js/JSTextTrackListCustom.cpp:
271         (WebCore::JSTextTrackListOwner::isReachableFromOpaqueRoots):
272         (WebCore::JSTextTrackList::visitChildren):
273         * html/HTMLMediaElement.cpp:
274         (WebCore::HTMLMediaElement::~HTMLMediaElement):
275         * html/track/TextTrackList.cpp:
276         (TextTrackList::append):
277         (TextTrackList::remove):
278         * html/track/TextTrackList.h:
279         (WebCore::TextTrackList::create):
280         * html/track/TrackListBase.cpp:
281         (TrackListBase::TrackListBase):
282         (TrackListBase::remove):
283         * html/track/TrackListBase.h:
284         (WebCore::TrackListBase::clearElement):
285         (WebCore::TrackListBase::element):
286         (TrackListBase):
287
288 2013-04-19  Andreas Kling  <akling@apple.com>
289
290         [Mac] ComplexTextController is slow with large numbers of text runs.
291         <http://webkit.org/b/114875>
292         <rdar://problem/13337036>
293
294         Reviewed by Dan Bernstein.
295
296         Instead of iterating over the text runs in indexOfCurrentRun() to figure out the leftmost glyph,
297         create a lookup table of [run# -> distance in glyphs] at ComplexTextController construction time.
298
299         This avoids O(n^2) behavior in indexOfCurrentRun().
300
301         * platform/graphics/mac/ComplexTextController.cpp:
302         (WebCore::ComplexTextController::ComplexTextController):
303         (WebCore::ComplexTextController::indexOfCurrentRun):
304         * platform/graphics/mac/ComplexTextController.h:
305         (ComplexTextController):
306
307 2013-04-19  Mario Sanchez Prada  <mario.prada@samsung.com>
308
309         [GTK] Minimize calls to GailTextUtil in AtkText implementation
310         https://bugs.webkit.org/show_bug.cgi?id=114868
311
312         Reviewed by Martin Robinson.
313
314         Create a new helper function to concentrate inside of it the calls to
315         gail_text_util_get_text(), so we can get rid of it later more easily.
316
317         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
318         (webkitAccessibleTextGetTextForOffset): New helper function.
319         (webkitAccessibleTextGetTextAfterOffset): Rely on the new function.
320         (webkitAccessibleTextGetTextAtOffset): Ditto.
321         (webkitAccessibleTextGetTextBeforeOffset): Ditto.
322
323 2013-04-19  Noam Rosenthal  <noam@webkit.org>
324
325         [Texmap] Implementation for pattern compositing
326         https://bugs.webkit.org/show_bug.cgi?id=109588
327
328         Reviewed by Allan Sandfeld Jensen.
329
330         Enable pattern compositing (background images) for CoordinatedGraphics/TextureMapperGL.
331         Use the existing patternTransform shader uniform, multiplying it by a matrix calculated
332         using the contentsRect, tileSize and tilePhase.
333
334         Covered by existing tests in compositing/patterns.
335
336         * platform/graphics/GraphicsLayer.h:
337         (GraphicsLayer):
338             Conditionally enable pattern compositing for coordinated graphics.
339
340         * platform/graphics/texmap/TextureMapper.cpp:
341         (WebCore::TextureMapper::TextureMapper):
342         * platform/graphics/texmap/TextureMapper.h:
343         (WebCore::TextureMapper::setPatternTransform):
344         (WebCore::TextureMapper::setWrapMode):
345         (WebCore::TextureMapper::wrapMode):
346         (WebCore::TextureMapper::patternTransform):
347             Add wrapMode and patternTransform properties to the TextureMapper state.
348
349         * platform/graphics/texmap/TextureMapperGL.cpp:
350         (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
351             Paint with GL_REPEAT and a pattern transform when needed.
352
353         * platform/graphics/texmap/TextureMapperLayer.cpp:
354         (WebCore::TextureMapperLayer::computePatternTransformIfNeeded):
355         (WebCore):
356         (WebCore::TextureMapperLayer::paintSelf):
357         (WebCore::TextureMapperLayer::setContentsRect):
358         (WebCore::TextureMapperLayer::setContentsTileSize):
359         (WebCore::TextureMapperLayer::setContentsTilePhase):
360             Apply the patternTransform from the tile size/phase.
361
362         * platform/graphics/texmap/TextureMapperLayer.h:
363         (WebCore::TextureMapperLayer::TextureMapperLayer):
364         (TextureMapperLayer):
365         (WebCore::TextureMapperLayer::setShouldMapBackingStoreToContentsRect):
366         (State):
367         (WebCore::TextureMapperLayer::State::State):
368             Allow the client to configure whether a layer uses its bounds or its
369             contents rect to paint the backing store.
370             This is needed now since layers with background images, unlike layers
371             with regular images, may have bounds that are greater than the contents
372             rect.
373
374         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
375         (WebCore::CoordinatedGraphicsLayer::setContentsTileSize):
376         (WebCore):
377         (WebCore::CoordinatedGraphicsLayer::setContentsTilePhase):
378         (WebCore::CoordinatedGraphicsLayer::setShouldSupportContentsTiling):
379         (WebCore::GraphicsLayer::supportsContentsTiling):
380         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
381         (CoordinatedGraphicsLayer):
382         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
383         (WebCore::CoordinatedGraphicsScene::setLayerState):
384         (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
385         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
386         (CoordinatedGraphicsLayerState):
387             Logic to pass the tileSize/tilePhase from CoordinatedGraphicsLayer
388             to TextureMapperLayer.
389
390         * rendering/RenderLayerBacking.cpp:
391         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
392             Don't reset the layer's image contents when this is a directly composited image.
393
394 2013-04-19  ChangSeok Oh  <changseok.oh@collabora.com>
395
396         [GTK][AC] Manage actor's children by using clutter's own way.
397         https://bugs.webkit.org/show_bug.cgi?id=114257
398
399         Reviewed by Gustavo Noronha Silva.
400
401         I believe we don't need to maintain a children list of GList. We can do it
402         by using clutter APIs like clutter_actor_get_children, clutter_actor_get_first_child, etc.
403
404         No new tests since no functionality changed.
405
406         * platform/graphics/clutter/GraphicsLayerActor.cpp:
407         (graphics_layer_actor_init):
408         (graphicsLayerActorAllocate):
409         (graphicsLayerActorPaint):
410         (graphicsLayerActorRemoveAll):
411         (graphicsLayerActorGetnChildren):
412         (graphicsLayerActorReplaceSublayer):
413         (graphicsLayerActorInsertSublayer):
414         * platform/graphics/clutter/GraphicsLayerActor.h:
415         (_GraphicsLayerActor):
416
417 2013-04-19  ChangSeok Oh  <changseok.oh@collabora.com>
418
419         [GTK][AC] Support masksToBounds for clutter AC backend.
420         https://bugs.webkit.org/show_bug.cgi?id=114113
421
422         Reviewed by Gustavo Noronha Silva.
423
424         We can support the masksToBounds property by using clutter_actor_set_clip simply.
425
426         Covered by existing AC tests.
427
428         * platform/graphics/clutter/GraphicsLayerActor.cpp:
429         (graphicsLayerActorSetMasksToBounds):
430         * platform/graphics/clutter/GraphicsLayerActor.h:
431         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
432         (WebCore::GraphicsLayerClutter::setMasksToBounds):
433         (WebCore):
434         (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
435         (WebCore::GraphicsLayerClutter::setupContentsLayer):
436         (WebCore::GraphicsLayerClutter::updateMasksToBounds):
437         * platform/graphics/clutter/GraphicsLayerClutter.h:
438         (GraphicsLayerClutter):
439
440 2013-04-19  Dan Beam  <dbeam@chromium.org>
441
442         Remove unmaintained feature REQUEST_AUTOCOMPLETE
443         https://bugs.webkit.org/show_bug.cgi?id=114846
444
445         Reviewed by Kent Tamura.
446
447         * GNUmakefile.list.am: Remove AutocompleteErrorEvent.h include.
448         * bindings/generic/RuntimeEnabledFeatures.cpp:
449         (WebCore): Remove requestAutocomplete() runtime feature.
450         * bindings/generic/RuntimeEnabledFeatures.h:
451         (RuntimeEnabledFeatures): Remove requestAutocomplete() runtime feature.
452         * dom/AutocompleteErrorEvent.h: Removed.
453         * dom/AutocompleteErrorEvent.idl: Removed.
454         * dom/EventNames.h: Remove `autocomplete` and `autocompleteerror` event names.
455         (WebCore):
456         * dom/EventNames.in: Remove `autocomplete` and `autocompleteerror` event names.
457         * html/HTMLAttributeNames.in: Remove `onautocomplete` and `onautocompleteerror` form attributes.
458         * html/HTMLFormElement.cpp: Remove requestAutocomplete() related code.
459         (WebCore::HTMLFormElement::HTMLFormElement): Remove timer and event queue for requestAutocomplete() related events.
460         (WebCore::HTMLFormElement::parseAttribute): Remove parsing of `onautocomplete` and `onautocompleterror`.
461         * html/HTMLFormElement.h: Remove requestAutocomplete() related members.
462         (HTMLFormElement):
463         * html/HTMLFormElement.idl: Remove public requestAutocomplete() API method.
464         * loader/EmptyClients.cpp: Remove stub implementation.
465         (WebCore):
466         * loader/EmptyClients.h: Remove stub interface.
467         (EmptyFrameLoaderClient):
468         * loader/FrameLoaderClient.h: Remove didRequestAutocomplete() from interface.
469         (FrameLoaderClient):
470         * page/DOMWindow.idl: Remove `AutocompleteErrorEvent` from window DOM interface.
471
472 2013-04-18  Timothy Hatcher  <timothy@apple.com>
473
474         Add CSS.setStyleText to the Web Inspector protocol.
475
476         This provides a direct path for the Safari Web Inspector to live edit whole style rules.
477
478         https://webkit.org/b/109340
479         rdar://problem/13337211
480
481         Reviewed by Joseph Pecoraro.
482
483         * inspector/Inspector.json:
484         (CSS.setStyleText): Added.
485         * inspector/InspectorCSSAgent.cpp:
486         (InspectorCSSAgent::SetStyleTextAction):
487         (WebCore::InspectorCSSAgent::SetStyleTextAction::SetStyleTextAction): Added.
488         (WebCore::InspectorCSSAgent::SetStyleTextAction::perform): Added.
489         (WebCore::InspectorCSSAgent::SetStyleTextAction::undo): Added.
490         (WebCore::InspectorCSSAgent::SetStyleTextAction::redo): Added.
491         (WebCore::InspectorCSSAgent::SetStyleTextAction::mergeId): Added.
492         (WebCore::InspectorCSSAgent::SetStyleTextAction::merge): Added.
493         (WebCore::InspectorCSSAgent::SetPropertyTextAction::redo):
494         (WebCore::InspectorCSSAgent::setStyleText): Added.
495         * inspector/InspectorCSSAgent.h:
496         * inspector/InspectorStyleSheet.cpp:
497         (WebCore::InspectorStyle::getText): Added.
498         (WebCore::InspectorStyle::setText): Added.
499         (WebCore::InspectorStyleSheet::setStyleText):
500         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
501         * inspector/InspectorStyleSheet.h:
502         (WebCore::InspectorStyle::styleText): Added as an alias to getText.
503         (WebCore::InspectorStyle::applyStyleText): Added as an alias to setText.
504
505 2013-04-18  Jer Noble  <jer.noble@apple.com>
506
507         Unreviewed gardening; fix bindings tests after r148700.
508
509         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
510         (WebCore::JSTestEventTargetOwner::isReachableFromOpaqueRoots):
511
512 2013-04-18  Andy Estes  <aestes@apple.com>
513
514         REGRESSION (r116645): Versions app's UI is munged in HiDPI due to background-size being reset to 'auto' when background short-hand is also specified
515         https://bugs.webkit.org/show_bug.cgi?id=114833
516
517         Reviewed by David Kilzer.
518
519         Added applicationIsVersions() to RuntimeApplicationChecks.
520
521         * WebCore.exp.in:
522         * platform/RuntimeApplicationChecks.cpp:
523         (WebCore::applicationIsVersions):
524         (WebCore):
525         * platform/RuntimeApplicationChecks.h:
526         (WebCore):
527
528 2013-04-18  Sam Weinig  <sam@webkit.org>
529
530         Network Process crashing trying to read in IDNScriptWhiteList.txt
531         https://bugs.webkit.org/show_bug.cgi?id=114827
532
533         Reviewed by Anders Carlsson.
534
535         Move IDNScriptWhiteList.txt from WebKit to WebCore, so that the NetworkProcess does not have to link against
536         WebKit. It was a layering violation for WebCore to be trying to access WebKit resources anyway.
537
538         * Resources/IDNScriptWhiteList.txt: Copied from Source/WebKit/mac/Resources/IDNScriptWhiteList.txt.
539         * WebCore.xcodeproj/project.pbxproj:
540         * platform/mac/WebCoreNSURLExtras.mm:
541         (WebCore::readIDNScriptWhiteList):
542
543 2013-04-18  Simon Fraser  <simon.fraser@apple.com>
544
545         Remove GraphicsLayerCA::constrainedSize() now that we can manage large layer memory use ourselves in TileController
546         https://bugs.webkit.org/show_bug.cgi?id=114834
547
548         Reviewed by Tim Horton.
549
550         GraphicsLayerCA::constrainedSize() was added to handle poor CATiledLayer behavior when layer sizes
551         got extremely large. Now that we no longer use CATiledLayer, remove this code. We can later add
552         tile memory bounding to TileController if that becomes necessary.
553
554         * platform/graphics/ca/GraphicsLayerCA.cpp:
555         (WebCore::GraphicsLayerCA::updateGeometry):
556         * platform/graphics/ca/GraphicsLayerCA.h:
557         (GraphicsLayerCA):
558
559 2013-04-18  Alberto Garcia  <agarcia@igalia.com>
560
561         Remove obsolete macros from libpng
562         https://bugs.webkit.org/show_bug.cgi?id=114817
563
564         Reviewed by Benjamin Poulain.
565
566         libpng 1.4 removes the png_voidp_NULL and png_error_ptr_NULL
567         macros. Null pointers must be used directly instead.
568
569         * platform/image-encoders/PNGImageEncoder.cpp:
570         (WebCore::compressRGBABigEndianToPNG):
571
572 2013-04-18  Jer Noble  <jer.noble@apple.com>
573
574         CodeGeneratorJS.pm should generate "isFiringEventListeners()" check in isReachableFromOpaqueRoots()
575         https://bugs.webkit.org/show_bug.cgi?id=114784
576
577         Reviewed by Geoffrey Garen.
578
579         EventTarget subclasses shouldn't have to use CustomIsReachable directives
580         in order to keep their wrappers alive while firing event listeners.
581
582         * bindings/scripts/CodeGeneratorJS.pm:
583         (GenerateImplementation):
584
585 2013-04-17  Geoffrey Garen  <ggaren@apple.com>
586
587         Renamed JSGlobalData to VM
588         https://bugs.webkit.org/show_bug.cgi?id=114777
589
590         Reviewed by Phil Pizlo.
591
592         * ForwardingHeaders/runtime/JSGlobalData.h: Removed.
593         * ForwardingHeaders/runtime/VM.h: Copied from Source/WebCore/ForwardingHeaders/runtime/JSGlobalData.h.
594         * WebCore.exp.in:
595         * WebCore.order:
596         * WebCore.vcxproj/WebCore.vcxproj:
597         * WebCore.vcxproj/WebCore.vcxproj.filters:
598         * bindings/js/DOMObjectHashTableMap.cpp:
599         (WebCore::DOMObjectHashTableMap::mapFor):
600         * bindings/js/DOMObjectHashTableMap.h:
601         (JSC):
602         (DOMObjectHashTableMap):
603         * bindings/js/DOMWrapperWorld.cpp:
604         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
605         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
606         (WebCore::normalWorld):
607         (WebCore::mainThreadNormalWorld):
608         * bindings/js/DOMWrapperWorld.h:
609         (WebCore::DOMWrapperWorld::create):
610         (WebCore::DOMWrapperWorld::vm):
611         (DOMWrapperWorld):
612         (WebCore):
613         * bindings/js/GCController.cpp:
614         (WebCore::collect):
615         (WebCore::GCController::garbageCollectSoon):
616         (WebCore::GCController::garbageCollectNow):
617         (WebCore::GCController::setJavaScriptGarbageCollectorTimerEnabled):
618         (WebCore::GCController::discardAllCompiledCode):
619         * bindings/js/IDBBindingUtilities.cpp:
620         (WebCore::get):
621         (WebCore::set):
622         (WebCore::deserializeIDBValue):
623         (WebCore::deserializeIDBValueBuffer):
624         (WebCore::idbKeyToScriptValue):
625         * bindings/js/JSCallbackData.h:
626         (WebCore::JSCallbackData::JSCallbackData):
627         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
628         (WebCore::JSSQLStatementErrorCallback::handleEvent):
629         * bindings/js/JSCustomXPathNSResolver.cpp:
630         (WebCore::JSCustomXPathNSResolver::JSCustomXPathNSResolver):
631         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
632         * bindings/js/JSDOMBinding.cpp:
633         (WebCore::getHashTableForGlobalData):
634         (WebCore::reportException):
635         (WebCore::cacheDOMStructure):
636         * bindings/js/JSDOMBinding.h:
637         (WebCore::DOMConstructorObject::createStructure):
638         (WebCore::DOMConstructorWithDocument::finishCreation):
639         (WebCore::getDOMStructure):
640         (WebCore::setInlineCachedWrapper):
641         (WebCore):
642         (WebCore::jsStringWithCache):
643         * bindings/js/JSDOMGlobalObject.cpp:
644         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
645         (WebCore::JSDOMGlobalObject::finishCreation):
646         * bindings/js/JSDOMGlobalObject.h:
647         (JSDOMGlobalObject):
648         (WebCore::JSDOMGlobalObject::createStructure):
649         (WebCore::getDOMConstructor):
650         * bindings/js/JSDOMWindowBase.cpp:
651         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
652         (WebCore::JSDOMWindowBase::finishCreation):
653         (WebCore::JSDOMWindowBase::updateDocument):
654         (WebCore::JSDOMWindowBase::commonVM):
655         * bindings/js/JSDOMWindowBase.h:
656         (JSDOMWindowBase):
657         (WebCore::JSDOMWindowBase::createStructure):
658         * bindings/js/JSDOMWindowCustom.cpp:
659         (WebCore::JSDOMWindow::setLocation):
660         (WebCore::DialogHandler::dialogCreated):
661         (WebCore::DialogHandler::returnValue):
662         * bindings/js/JSDOMWindowShell.cpp:
663         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
664         (WebCore::JSDOMWindowShell::finishCreation):
665         (WebCore::JSDOMWindowShell::setWindow):
666         * bindings/js/JSDOMWindowShell.h:
667         (JSDOMWindowShell):
668         (WebCore::JSDOMWindowShell::create):
669         (WebCore::JSDOMWindowShell::createStructure):
670         * bindings/js/JSDOMWrapper.h:
671         (WebCore::JSDOMWrapper::JSDOMWrapper):
672         * bindings/js/JSDeviceMotionEventCustom.cpp:
673         (WebCore::createAccelerationObject):
674         (WebCore::createRotationRateObject):
675         * bindings/js/JSDictionary.cpp:
676         (WebCore::JSDictionary::convertValue):
677         * bindings/js/JSDictionary.h:
678         (WebCore::JSDictionary::JSDictionary):
679         * bindings/js/JSErrorHandler.cpp:
680         (WebCore::JSErrorHandler::handleEvent):
681         * bindings/js/JSEventListener.cpp:
682         (WebCore::JSEventListener::handleEvent):
683         * bindings/js/JSEventListener.h:
684         (WebCore::JSEventListener::setWrapper):
685         (WebCore::JSEventListener::jsFunction):
686         * bindings/js/JSHTMLDocumentCustom.cpp:
687         (WebCore::JSHTMLDocument::all):
688         (WebCore::JSHTMLDocument::setAll):
689         * bindings/js/JSHTMLTemplateElementCustom.cpp:
690         (WebCore::JSHTMLTemplateElement::content):
691         * bindings/js/JSHistoryCustom.cpp:
692         (WebCore::JSHistory::state):
693         * bindings/js/JSImageConstructor.cpp:
694         (WebCore::JSImageConstructor::finishCreation):
695         * bindings/js/JSImageConstructor.h:
696         (WebCore::JSImageConstructor::createStructure):
697         * bindings/js/JSImageDataCustom.cpp:
698         (WebCore::toJS):
699         * bindings/js/JSInjectedScriptHostCustom.cpp:
700         (WebCore::InjectedScriptHost::nodeAsScriptValue):
701         (WebCore::JSInjectedScriptHost::functionDetails):
702         (WebCore::getJSListenerFunctions):
703         (WebCore::JSInjectedScriptHost::getEventListeners):
704         (WebCore::JSInjectedScriptHost::inspect):
705         * bindings/js/JSLazyEventListener.cpp:
706         (WebCore::JSLazyEventListener::initializeJSFunction):
707         * bindings/js/JSMessageEventCustom.cpp:
708         (WebCore::JSMessageEvent::data):
709         (WebCore::handleInitMessageEvent):
710         * bindings/js/JSMutationCallback.cpp:
711         (WebCore::JSMutationCallback::call):
712         * bindings/js/JSMutationObserverCustom.cpp:
713         (WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
714         * bindings/js/JSNodeFilterCondition.cpp:
715         (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
716         * bindings/js/JSNodeFilterCondition.h:
717         (WebCore::JSNodeFilterCondition::create):
718         (JSNodeFilterCondition):
719         * bindings/js/JSNodeFilterCustom.cpp:
720         (WebCore::toNodeFilter):
721         * bindings/js/JSPopStateEventCustom.cpp:
722         (WebCore::cacheState):
723         * bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:
724         (WebCore::JSRequestAnimationFrameCallback::handleEvent):
725         * bindings/js/JSSQLResultSetRowListCustom.cpp:
726         (WebCore::JSSQLResultSetRowList::item):
727         * bindings/js/JSWorkerContextBase.cpp:
728         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
729         (WebCore::JSWorkerContextBase::finishCreation):
730         * bindings/js/JSWorkerContextBase.h:
731         (WebCore::JSWorkerContextBase::createStructure):
732         (JSWorkerContextBase):
733         * bindings/js/PageScriptDebugServer.cpp:
734         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
735         * bindings/js/ScheduledAction.cpp:
736         (WebCore::ScheduledAction::ScheduledAction):
737         (WebCore::ScheduledAction::executeFunctionInContext):
738         * bindings/js/ScheduledAction.h:
739         (WebCore::ScheduledAction::ScheduledAction):
740         * bindings/js/ScriptCachedFrameData.cpp:
741         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
742         (WebCore::ScriptCachedFrameData::restore):
743         (WebCore::ScriptCachedFrameData::clear):
744         * bindings/js/ScriptCallStackFactory.cpp:
745         (WebCore::createScriptCallStack):
746         (WebCore::createScriptArguments):
747         * bindings/js/ScriptController.cpp:
748         (WebCore::ScriptController::createWindowShell):
749         (WebCore::ScriptController::evaluateInWorld):
750         (WebCore::ScriptController::createWorld):
751         (WebCore::ScriptController::getAllWorlds):
752         (WebCore::ScriptController::clearWindowShell):
753         (WebCore::ScriptController::initScript):
754         (WebCore::ScriptController::updateDocument):
755         (WebCore::ScriptController::cacheableBindingRootObject):
756         (WebCore::ScriptController::bindingRootObject):
757         (WebCore::ScriptController::clearScriptObjects):
758         (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
759         * bindings/js/ScriptControllerMac.mm:
760         (WebCore::ScriptController::windowScriptObject):
761         * bindings/js/ScriptDebugServer.cpp:
762         (WebCore::ScriptDebugServer::dispatchDidPause):
763         * bindings/js/ScriptEventListener.cpp:
764         (WebCore::eventListenerHandlerBody):
765         (WebCore::eventListenerHandler):
766         (WebCore::eventListenerHandlerLocation):
767         * bindings/js/ScriptFunctionCall.cpp:
768         (WebCore::ScriptFunctionCall::call):
769         (WebCore::ScriptCallback::call):
770         * bindings/js/ScriptGCEvent.cpp:
771         (WebCore::ScriptGCEvent::getHeapSize):
772         * bindings/js/ScriptObject.cpp:
773         (WebCore::ScriptObject::ScriptObject):
774         (WebCore::ScriptGlobalObject::set):
775         * bindings/js/ScriptState.h:
776         (WebCore):
777         * bindings/js/ScriptValue.cpp:
778         (WebCore::ScriptValue::deserialize):
779         * bindings/js/ScriptValue.h:
780         (WebCore::ScriptValue::ScriptValue):
781         * bindings/js/ScriptWrappable.h:
782         (JSC):
783         (ScriptWrappable):
784         * bindings/js/ScriptWrappableInlines.h:
785         (WebCore::ScriptWrappable::setWrapper):
786         * bindings/js/SerializedScriptValue.cpp:
787         (WebCore::CloneDeserializer::readTerminal):
788         (WebCore::SerializedScriptValue::deserializeForInspector):
789         (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
790         * bindings/js/WebCoreJSClientData.h:
791         (WebCoreJSClientData):
792         (WebCore::initNormalWorldClientData):
793         * bindings/js/WorkerScriptController.cpp:
794         (WebCore::WorkerScriptController::WorkerScriptController):
795         (WebCore::WorkerScriptController::~WorkerScriptController):
796         (WebCore::WorkerScriptController::initScript):
797         (WebCore::WorkerScriptController::evaluate):
798         (WebCore::WorkerScriptController::scheduleExecutionTermination):
799         (WebCore::WorkerScriptController::isExecutionTerminating):
800         (WebCore::WorkerScriptController::disableEval):
801         * bindings/js/WorkerScriptController.h:
802         (JSC):
803         (WebCore::WorkerScriptController::vm):
804         (WorkerScriptController):
805         * bindings/js/WorkerScriptDebugServer.cpp:
806         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
807         * bindings/objc/WebScriptObject.mm:
808         (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
809         * bindings/scripts/CodeGeneratorJS.pm:
810         (GenerateHeader):
811         (GenerateImplementation):
812         (GenerateCallbackImplementation):
813         (JSValueToNative):
814         (GenerateConstructorDeclaration):
815         (GenerateConstructorHelperMethods):
816         * bindings/scripts/test/JS/JSFloat64Array.cpp:
817         (WebCore::getJSFloat64ArrayConstructorTable):
818         (WebCore::JSFloat64ArrayConstructor::finishCreation):
819         (WebCore::getJSFloat64ArrayPrototypeTable):
820         (WebCore::getJSFloat64ArrayTable):
821         (WebCore::JSFloat64Array::finishCreation):
822         (WebCore::JSFloat64Array::createPrototype):
823         * bindings/scripts/test/JS/JSFloat64Array.h:
824         (WebCore::JSFloat64Array::create):
825         (WebCore::JSFloat64Array::createStructure):
826         (JSFloat64Array):
827         (WebCore::JSFloat64ArrayPrototype::create):
828         (WebCore::JSFloat64ArrayPrototype::createStructure):
829         (WebCore::JSFloat64ArrayPrototype::JSFloat64ArrayPrototype):
830         (WebCore::JSFloat64ArrayConstructor::createStructure):
831         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
832         (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
833         (WebCore::JSTestActiveDOMObject::finishCreation):
834         (WebCore::JSTestActiveDOMObject::createPrototype):
835         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
836         (WebCore::JSTestActiveDOMObject::create):
837         (WebCore::JSTestActiveDOMObject::createStructure):
838         (JSTestActiveDOMObject):
839         (WebCore::JSTestActiveDOMObjectPrototype::create):
840         (WebCore::JSTestActiveDOMObjectPrototype::createStructure):
841         (WebCore::JSTestActiveDOMObjectPrototype::JSTestActiveDOMObjectPrototype):
842         (WebCore::JSTestActiveDOMObjectConstructor::createStructure):
843         * bindings/scripts/test/JS/JSTestCallback.cpp:
844         (WebCore::JSTestCallback::callbackWithNoParam):
845         (WebCore::JSTestCallback::callbackWithClass1Param):
846         (WebCore::JSTestCallback::callbackWithClass2Param):
847         (WebCore::JSTestCallback::callbackWithStringList):
848         (WebCore::JSTestCallback::callbackWithBoolean):
849         (WebCore::JSTestCallback::callbackRequiresThisToPass):
850         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
851         (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
852         (WebCore::JSTestCustomNamedGetter::finishCreation):
853         (WebCore::JSTestCustomNamedGetter::createPrototype):
854         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
855         (WebCore::JSTestCustomNamedGetter::create):
856         (WebCore::JSTestCustomNamedGetter::createStructure):
857         (JSTestCustomNamedGetter):
858         (WebCore::JSTestCustomNamedGetterPrototype::create):
859         (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
860         (WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
861         (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
862         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
863         (WebCore::JSTestEventConstructorConstructor::finishCreation):
864         (WebCore::JSTestEventConstructor::finishCreation):
865         (WebCore::JSTestEventConstructor::createPrototype):
866         * bindings/scripts/test/JS/JSTestEventConstructor.h:
867         (WebCore::JSTestEventConstructor::create):
868         (WebCore::JSTestEventConstructor::createStructure):
869         (JSTestEventConstructor):
870         (WebCore::JSTestEventConstructorPrototype::create):
871         (WebCore::JSTestEventConstructorPrototype::createStructure):
872         (WebCore::JSTestEventConstructorPrototype::JSTestEventConstructorPrototype):
873         (WebCore::JSTestEventConstructorConstructor::createStructure):
874         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
875         (WebCore::JSTestEventTargetConstructor::finishCreation):
876         (WebCore::JSTestEventTarget::finishCreation):
877         (WebCore::JSTestEventTarget::createPrototype):
878         * bindings/scripts/test/JS/JSTestEventTarget.h:
879         (WebCore::JSTestEventTarget::create):
880         (WebCore::JSTestEventTarget::createStructure):
881         (JSTestEventTarget):
882         (WebCore::JSTestEventTargetPrototype::create):
883         (WebCore::JSTestEventTargetPrototype::createStructure):
884         (WebCore::JSTestEventTargetPrototype::JSTestEventTargetPrototype):
885         (WebCore::JSTestEventTargetConstructor::createStructure):
886         * bindings/scripts/test/JS/JSTestException.cpp:
887         (WebCore::JSTestExceptionConstructor::finishCreation):
888         (WebCore::JSTestException::finishCreation):
889         (WebCore::JSTestException::createPrototype):
890         * bindings/scripts/test/JS/JSTestException.h:
891         (WebCore::JSTestException::create):
892         (WebCore::JSTestException::createStructure):
893         (JSTestException):
894         (WebCore::JSTestExceptionPrototype::create):
895         (WebCore::JSTestExceptionPrototype::createStructure):
896         (WebCore::JSTestExceptionPrototype::JSTestExceptionPrototype):
897         (WebCore::JSTestExceptionConstructor::createStructure):
898         * bindings/scripts/test/JS/JSTestInterface.cpp:
899         (WebCore::JSTestInterfaceConstructor::finishCreation):
900         (WebCore::JSTestInterface::finishCreation):
901         (WebCore::JSTestInterface::createPrototype):
902         * bindings/scripts/test/JS/JSTestInterface.h:
903         (WebCore::JSTestInterface::create):
904         (WebCore::JSTestInterface::createStructure):
905         (JSTestInterface):
906         (WebCore::JSTestInterfacePrototype::create):
907         (WebCore::JSTestInterfacePrototype::createStructure):
908         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
909         (WebCore::JSTestInterfaceConstructor::createStructure):
910         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
911         (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
912         (WebCore::JSTestMediaQueryListListener::finishCreation):
913         (WebCore::JSTestMediaQueryListListener::createPrototype):
914         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
915         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
916         (WebCore::JSTestMediaQueryListListener::create):
917         (WebCore::JSTestMediaQueryListListener::createStructure):
918         (JSTestMediaQueryListListener):
919         (WebCore::JSTestMediaQueryListListenerPrototype::create):
920         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
921         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
922         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
923         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
924         (WebCore::JSTestNamedConstructorConstructor::finishCreation):
925         (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
926         (WebCore::JSTestNamedConstructor::finishCreation):
927         (WebCore::JSTestNamedConstructor::createPrototype):
928         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
929         (WebCore::JSTestNamedConstructor::create):
930         (WebCore::JSTestNamedConstructor::createStructure):
931         (JSTestNamedConstructor):
932         (WebCore::JSTestNamedConstructorPrototype::create):
933         (WebCore::JSTestNamedConstructorPrototype::createStructure):
934         (WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype):
935         (WebCore::JSTestNamedConstructorConstructor::createStructure):
936         (WebCore::JSTestNamedConstructorNamedConstructor::createStructure):
937         * bindings/scripts/test/JS/JSTestNode.cpp:
938         (WebCore::JSTestNodeConstructor::finishCreation):
939         (WebCore::JSTestNode::finishCreation):
940         (WebCore::JSTestNode::createPrototype):
941         * bindings/scripts/test/JS/JSTestNode.h:
942         (WebCore::JSTestNode::create):
943         (WebCore::JSTestNode::createStructure):
944         (JSTestNode):
945         (WebCore::JSTestNodePrototype::create):
946         (WebCore::JSTestNodePrototype::createStructure):
947         (WebCore::JSTestNodePrototype::JSTestNodePrototype):
948         (WebCore::JSTestNodeConstructor::createStructure):
949         * bindings/scripts/test/JS/JSTestObj.cpp:
950         (WebCore::JSTestObjConstructor::finishCreation):
951         (WebCore::JSTestObj::finishCreation):
952         (WebCore::JSTestObj::createPrototype):
953         (WebCore::jsTestObjCachedAttribute1):
954         (WebCore::jsTestObjCachedAttribute2):
955         (WebCore::setJSTestObjConditionalAttr4Constructor):
956         (WebCore::setJSTestObjConditionalAttr5Constructor):
957         (WebCore::setJSTestObjConditionalAttr6Constructor):
958         (WebCore::setJSTestObjAnyAttribute):
959         (WebCore::setJSTestObjReplaceableAttribute):
960         * bindings/scripts/test/JS/JSTestObj.h:
961         (WebCore::JSTestObj::create):
962         (WebCore::JSTestObj::createStructure):
963         (JSTestObj):
964         (WebCore::JSTestObjPrototype::create):
965         (WebCore::JSTestObjPrototype::createStructure):
966         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
967         (WebCore::JSTestObjConstructor::createStructure):
968         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
969         (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
970         (WebCore::JSTestOverloadedConstructors::finishCreation):
971         (WebCore::JSTestOverloadedConstructors::createPrototype):
972         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
973         (WebCore::JSTestOverloadedConstructors::create):
974         (WebCore::JSTestOverloadedConstructors::createStructure):
975         (JSTestOverloadedConstructors):
976         (WebCore::JSTestOverloadedConstructorsPrototype::create):
977         (WebCore::JSTestOverloadedConstructorsPrototype::createStructure):
978         (WebCore::JSTestOverloadedConstructorsPrototype::JSTestOverloadedConstructorsPrototype):
979         (WebCore::JSTestOverloadedConstructorsConstructor::createStructure):
980         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
981         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
982         (WebCore::JSTestSerializedScriptValueInterface::finishCreation):
983         (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
984         (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
985         (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
986         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
987         (WebCore::JSTestSerializedScriptValueInterface::create):
988         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
989         (JSTestSerializedScriptValueInterface):
990         (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
991         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
992         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
993         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
994         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
995         (WebCore::JSTestTypedefsConstructor::finishCreation):
996         (WebCore::JSTestTypedefs::finishCreation):
997         (WebCore::JSTestTypedefs::createPrototype):
998         * bindings/scripts/test/JS/JSTestTypedefs.h:
999         (WebCore::JSTestTypedefs::create):
1000         (WebCore::JSTestTypedefs::createStructure):
1001         (JSTestTypedefs):
1002         (WebCore::JSTestTypedefsPrototype::create):
1003         (WebCore::JSTestTypedefsPrototype::createStructure):
1004         (WebCore::JSTestTypedefsPrototype::JSTestTypedefsPrototype):
1005         (WebCore::JSTestTypedefsConstructor::createStructure):
1006         * bridge/c/CRuntimeObject.h:
1007         (JSC::Bindings::CRuntimeObject::createStructure):
1008         * bridge/c/c_instance.cpp:
1009         (JSC::Bindings::CRuntimeMethod::create):
1010         (JSC::Bindings::CRuntimeMethod::createStructure):
1011         (JSC::Bindings::CRuntimeMethod::finishCreation):
1012         * bridge/jsc/BridgeJSC.cpp:
1013         (JSC::Bindings::Instance::createRuntimeObject):
1014         * bridge/objc/ObjCRuntimeObject.h:
1015         (JSC::Bindings::ObjCRuntimeObject::createStructure):
1016         * bridge/objc/objc_instance.mm:
1017         (ObjCRuntimeMethod::create):
1018         (ObjCRuntimeMethod::createStructure):
1019         (ObjCRuntimeMethod::finishCreation):
1020         * bridge/objc/objc_runtime.h:
1021         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
1022         * bridge/objc/objc_runtime.mm:
1023         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1024         (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
1025         * bridge/qt/qt_instance.cpp:
1026         (JSC::Bindings::QtRuntimeObject::createStructure):
1027         (JSC::Bindings::QtInstance::~QtInstance):
1028         (JSC::Bindings::QtInstance::getQtInstance):
1029         * bridge/runtime_array.cpp:
1030         (JSC::RuntimeArray::RuntimeArray):
1031         (JSC::RuntimeArray::finishCreation):
1032         * bridge/runtime_array.h:
1033         (JSC::RuntimeArray::create):
1034         (JSC::RuntimeArray::createStructure):
1035         (RuntimeArray):
1036         * bridge/runtime_method.cpp:
1037         (JSC::RuntimeMethod::finishCreation):
1038         * bridge/runtime_method.h:
1039         (JSC::RuntimeMethod::create):
1040         (JSC::RuntimeMethod::createStructure):
1041         (RuntimeMethod):
1042         * bridge/runtime_object.cpp:
1043         (JSC::Bindings::RuntimeObject::RuntimeObject):
1044         (JSC::Bindings::RuntimeObject::finishCreation):
1045         * bridge/runtime_object.h:
1046         (JSC::Bindings::RuntimeObject::createStructure):
1047         * bridge/runtime_root.cpp:
1048         (JSC::Bindings::RootObject::RootObject):
1049         (JSC::Bindings::RootObject::gcProtect):
1050         (JSC::Bindings::RootObject::gcUnprotect):
1051         (JSC::Bindings::RootObject::updateGlobalObject):
1052         (JSC::Bindings::RootObject::addRuntimeObject):
1053         * bridge/runtime_root.h:
1054         (RootObject):
1055         * dom/Node.cpp:
1056         * dom/Node.h:
1057         (JSC):
1058         * dom/ScriptExecutionContext.cpp:
1059         (WebCore::ScriptExecutionContext::vm):
1060         * dom/ScriptExecutionContext.h:
1061         (JSC):
1062         (ScriptExecutionContext):
1063         * html/HTMLCanvasElement.cpp:
1064         (WebCore::HTMLCanvasElement::createImageBuffer):
1065         * html/HTMLImageLoader.cpp:
1066         (WebCore::HTMLImageLoader::notifyFinished):
1067         * inspector/ScriptArguments.cpp:
1068         (WebCore::ScriptArguments::ScriptArguments):
1069         * loader/icon/IconDatabaseBase.cpp:
1070         (WebCore):
1071         (WebCore::iconDatabase):
1072         (WebCore::setGlobalIconDatabase):
1073         * platform/qt/MemoryUsageSupportQt.cpp:
1074         (WebCore::memoryUsageKB):
1075         (WebCore::actualMemoryUsageKB):
1076         * platform/win/ClipboardUtilitiesWin.cpp:
1077         (WebCore::createGlobalData):
1078         * plugins/PluginView.cpp:
1079         (WebCore::PluginView::start):
1080         (WebCore::PluginView::stop):
1081         (WebCore::PluginView::performRequest):
1082         (WebCore::PluginView::npObject):
1083         (WebCore::PluginView::privateBrowsingStateChanged):
1084         * plugins/blackberry/PluginViewBlackBerry.cpp:
1085         (WebCore::PluginView::dispatchNPEvent):
1086         (WebCore::PluginView::setNPWindowIfNeeded):
1087         (WebCore::PluginView::platformStart):
1088         (WebCore::PluginView::getWindowInfo):
1089         * plugins/efl/PluginViewEfl.cpp:
1090         (WebCore::PluginView::dispatchNPEvent):
1091         * plugins/gtk/PluginViewGtk.cpp:
1092         (WebCore::PluginView::dispatchNPEvent):
1093         (WebCore::PluginView::handleKeyboardEvent):
1094         (WebCore::PluginView::handleMouseEvent):
1095         (WebCore::PluginView::setNPWindowIfNeeded):
1096         (WebCore::PluginView::platformStart):
1097         * plugins/mac/PluginViewMac.mm:
1098         (WebCore::PluginView::platformStart):
1099         * plugins/qt/PluginViewQt.cpp:
1100         (WebCore::PluginView::dispatchNPEvent):
1101         (WebCore::PluginView::setNPWindowIfNeeded):
1102         * plugins/win/PluginViewWin.cpp:
1103         (WebCore::PluginView::dispatchNPEvent):
1104         (WebCore::PluginView::handleKeyboardEvent):
1105         (WebCore::PluginView::handleMouseEvent):
1106         (WebCore::PluginView::setNPWindowRect):
1107         * testing/js/WebCoreTestSupport.cpp:
1108         (WebCoreTestSupport::injectInternalsObject):
1109         * xml/XMLHttpRequest.cpp:
1110         (WebCore::XMLHttpRequest::dropProtection):
1111
1112 2013-04-18  Oliver Hunt  <oliver@apple.com>
1113
1114         Fix windows build by moving template definition to JSDOMBinding.h
1115
1116         * bindings/js/JSDOMBinding.h:
1117         (WebCore):
1118         * bindings/scripts/CodeGeneratorJS.pm:
1119         (GenerateImplementation):
1120         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1121         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1122         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1123         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1124         * bindings/scripts/test/JS/JSTestException.cpp:
1125         * bindings/scripts/test/JS/JSTestInterface.cpp:
1126         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1127         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1128         * bindings/scripts/test/JS/JSTestObj.cpp:
1129         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1130         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1131         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1132
1133 2013-04-18  Eric Carlson  <eric.carlson@apple.com>
1134
1135         Forced subtitles never rendered
1136         https://bugs.webkit.org/show_bug.cgi?id=114818
1137
1138         Reviewed by Jer Noble.
1139
1140         No new tests, media/track/track-forced-subtitles-in-band.html was updated to test this change.
1141
1142         * html/track/TextTrack.cpp:
1143         (WebCore::TextTrack::isRendered): "forced" tracks are rendered.
1144
1145 2013-04-17  Anders Carlsson  <andersca@apple.com>
1146
1147         Change storage factory functions to take a PageGroup and Page respectively
1148         https://bugs.webkit.org/show_bug.cgi?id=114776
1149
1150         Reviewed by Beth Dakin.
1151
1152         Change StorageNamespace::localStorageNamespace to take a PageGroup since WebKit2 needs
1153         to know which local storage namespace belongs to which page group. Also remove the quota parameter from
1154         the sessionStorageNamespace function since that's trivial to get from the Page.
1155
1156         * WebCore.exp.in:
1157         * page/Page.cpp:
1158         (WebCore::Page::sessionStorage):
1159         * page/PageGroup.cpp:
1160         (WebCore::PageGroup::localStorage):
1161         * storage/StorageNamespace.cpp:
1162         (WebCore::StorageNamespace::localStorageNamespace):
1163         (WebCore::StorageNamespace::sessionStorageNamespace):
1164         * storage/StorageNamespace.h:
1165         * storage/StorageNamespaceImpl.cpp:
1166         (WebCore::StorageNamespaceImpl::localStorageNamespace):
1167         (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
1168         * storage/StorageNamespaceImpl.h:
1169         * storage/StorageStrategy.cpp:
1170         (WebCore::StorageStrategy::localStorageNamespace):
1171         (WebCore::StorageStrategy::sessionStorageNamespace):
1172         * storage/StorageStrategy.h:
1173
1174 2013-04-18  Martin Robinson  <mrobinson@igalia.com>
1175
1176         [GTK] fast/canvas/DrawImageSinglePixelStretch.html fails
1177         https://bugs.webkit.org/show_bug.cgi?id=58309
1178
1179         Reviewed by Alejandro G. Castro.
1180
1181         No new tests. This patch unskips a test.
1182
1183         Prevent sampling outside source boundaries, by creating subsurfaces from source surfaces.
1184         This also requires careful handling of negative and floating source rectangles.
1185
1186         * platform/graphics/cairo/PlatformContextCairo.cpp:
1187         (WebCore::PlatformContextCairo::drawSurfaceToContext): Use a subsurface to prevent sampling
1188         outside rectangle boundaries.
1189
1190 2013-04-18  Jonathan Feldstein  <jfeldstein@blackberry.com>
1191
1192         [BlackBerry] Improper initialization of ANGLEResources (resubmission)
1193         https://bugs.webkit.org/show_bug.cgi?id=114814
1194
1195         Reviewed by Yong Li, Rob Buis
1196         Internally reviewed by Maxim Mogilnitsky
1197
1198         MaxDrawBuffers, OES_standard_derivatives, OES_EGL_image_external and ARB_texture_rectangle
1199         are initialized through the ShBuiltInResources function so these fields do not need to be
1200         set again in GraphicsContext3DBlackBerry.cpp. In addition, the extension flags should not
1201         be set to true without getExtension being called (Khronos WebGL specs, section 5.14.14.).
1202         In fact, as a direct result of these extensions being enabled prior to calling
1203         getExtension, a WebGL conformance suite test for GL_OES_standard_derivatives was failing.
1204
1205         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
1206         (WebCore::GraphicsContext3D::GraphicsContext3D):
1207
1208 2013-04-18  Xuefei Ren  <xren@blackberry.com>
1209
1210         remove build warning(unused parameter)
1211         https://bugs.webkit.org/show_bug.cgi?id=114670
1212
1213         Reviewed by Rob Buis.
1214
1215         remove warning(unused parameter) in
1216         Source/WebCore/html/shadow/MediaControlsBlackBerry.cpp
1217         Source/WebCore/loader/blackberry/CookieJarBlackBerry.cpp
1218         Source/WebCore/platform/blackberry/AuthenticationChallengeManager.cpp
1219         Source/WebCore/platform/blackberry/RenderThemeBlackBerry.cpp
1220         Source/WebCore/platform/network/blackberry/ResourceResponseBlackBerry.cpp
1221         Source/WebCore/platform/network/blackberry/SocketStreamHandleBlackBerry.cpp
1222         Source/WebCore/plugins/blackberry/PluginViewBlackBerry.cpp
1223
1224
1225         * html/shadow/MediaControlsBlackBerry.cpp:
1226         (WebCore::MediaControlFullscreenFullscreenButtonElement::setIsFullscreen):
1227         * loader/blackberry/CookieJarBlackBerry.cpp:
1228         (WebCore::getRawCookies):
1229         (WebCore::deleteCookie):
1230         * platform/blackberry/AuthenticationChallengeManager.cpp:
1231         (WebCore::AuthenticationChallengeManager::notifyChallengeResult):
1232         * platform/blackberry/RenderThemeBlackBerry.cpp:
1233         (WebCore::RenderTheme::themeForPage):
1234         * platform/network/blackberry/ResourceResponseBlackBerry.cpp:
1235         (WebCore::ResourceResponse::doPlatformAdopt):
1236         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
1237         (WebCore::SocketStreamHandle::notifyStatusReceived):
1238         * plugins/blackberry/PluginViewBlackBerry.cpp:
1239         (WebCore::PluginView::invalidateRegion):
1240
1241 2013-04-18  Xuefei Ren  <xren@blackberry.com>
1242
1243
1244         remove build warning(unused parameter)
1245         https://bugs.webkit.org/show_bug.cgi?id=114670
1246
1247         Reviewed by Rob Buis.
1248
1249         remove builde warning (unused parameter) in
1250         Source/WebCore/platform/blackberry/CursorBlackBerry.cpp
1251
1252         * platform/blackberry/CursorBlackBerry.cpp:
1253         (WebCore::Cursor::Cursor):
1254
1255 2013-04-18  Andreas Kling  <akling@apple.com>
1256
1257         EditingStyle: Avoid some unnecessary CSSStyleDeclaration wrappers.
1258         <http://webkit.org/b/114763>
1259
1260         Reviewed by Antti Koivisto.
1261
1262         removeEquivalentProperties(CSSStyleDeclaration) and removeEquivalentProperties(StylePropertySet)
1263         only have different behavior if the CSSStyleDeclaration is computed style (they differ in handling
1264         of the 'font-size' property.)
1265
1266         Avoid creating a CSSStyleDeclaration for StylePropertySets where we can just pass them in directly.
1267
1268         * editing/EditingStyle.cpp:
1269         (WebCore::EditingStyle::removeStyleAddedByNode):
1270         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
1271
1272 2013-04-18  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1273
1274         Unset :hover in inner documents
1275         https://bugs.webkit.org/show_bug.cgi?id=114446
1276
1277         Reviewed by Antonio Gomes.
1278
1279         Fixes a regression from r145126 where hover nodes in inner documents was sometimes
1280         not unset. Additionally it uses the new api from r145126 to avoid an unnecessary
1281         hit test in touch-event handling.
1282
1283         Test: fast/events/touch/frame-hover-update.html
1284
1285         * dom/Document.cpp:
1286         (WebCore::Document::updateHoverActiveState):
1287         * page/EventHandler.cpp:
1288         (WebCore::shouldGesturesTriggerActive):
1289         (WebCore::EventHandler::handleTouchEvent):
1290
1291 2013-04-18  Seokju Kwon  <seokju.kwon@gmail.com>
1292
1293         Web Inspector: Toolbar icons are displayed incorrectly
1294         https://bugs.webkit.org/show_bug.cgi?id=114792
1295
1296         Reviewed by Timothy Hatcher.
1297
1298         Inspector uses small toolbar icons when docking the inspector.
1299         So icons should have different x position.
1300
1301         No tests because no behavior change is expected.
1302
1303         * inspector/front-end/inspector.css: Add missing 'background-position-x' values.
1304         (body.dock-to-bottom .toolbar-item.profiles .toolbar-icon):
1305         (body.dock-to-bottom .toolbar-item.cpu-profiler .toolbar-icon):
1306         (body.dock-to-bottom .toolbar-item.css-profiler .toolbar-icon):
1307         (body.dock-to-bottom .toolbar-item.heap-profiler .toolbar-icon):
1308         (body.dock-to-bottom .toolbar-item.canvas-profiler .toolbar-icon):
1309         (body.dock-to-bottom .toolbar-item.memory-chart-profiler .toolbar-icon):
1310         (body.dock-to-bottom .toolbar-item.memory-snapshot-profiler .toolbar-icon):
1311
1312 2013-04-17  Jaehun Lim  <ljaehun.lim@samsung.com>
1313
1314         [css3-text] Rendering -webkit-hanging value for text-indent from css3-text
1315         https://bugs.webkit.org/show_bug.cgi?id=114663
1316
1317         Reviewed by Beth Dakin.
1318
1319         This patch is the rendering part to support hanging value for text-indent.
1320         "hanging" means "Inverts which lines are affected."
1321         It's prefixed and guarded by CSS3_TEXT flag.
1322
1323         Spec: http://dev.w3.org/csswg/css-text/#text-indent
1324
1325         Test: fast/css3-text/css3-text-indent/text-indent-each-line-hanging.html
1326
1327         * rendering/RenderBlockLineLayout.cpp:
1328         (WebCore::requiresIndent): Inverted the return value when "-webkit-hanging" is applied.
1329
1330 2013-04-17  James Craig  <james@cookiecrook.com>
1331
1332         AX: aria-level does not override implicit level on h1, h2, etc
1333         https://bugs.webkit.org/show_bug.cgi?id=114692
1334
1335         Reviewed by Chris Fleizach.
1336
1337         aria-level now works on headings without an explicit role="heading" defined. Updated existing test coverage.
1338
1339         * accessibility/AccessibilityNodeObject.cpp:
1340         (WebCore::AccessibilityNodeObject::headingLevel):
1341
1342 2013-04-17  Chris Fleizach  <cfleizach@apple.com>
1343
1344         AX: VoiceOver says everything that isn't a link is a "clickable" in Safari reader?
1345         https://bugs.webkit.org/show_bug.cgi?id=114687
1346
1347         Reviewed by Tim Horton.
1348
1349         VoiceOver is saying all text is clickable, because AXPress is exposed as an action on static text.
1350         That is happening, because there's a click handler on the body element in this case.
1351
1352         I think the best plan to keep existing functionality, but fix this case is not to expose
1353         the press action for static text when the handler is on the body element.
1354
1355         Test: platform/mac/accessibility/press-action-not-exposed-when-body-is-click-handler.html
1356
1357         * accessibility/AccessibilityNodeObject.cpp:
1358         (WebCore::AccessibilityNodeObject::mouseButtonListener):
1359            Change from checking getAttributeEventListener to hasEventListeners. The former only
1360            checks if "onclick" is installed on the element and does not work with addEventListener!
1361
1362         * accessibility/AccessibilityObject.cpp:
1363         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
1364         * accessibility/AccessibilityObject.h:
1365         (WebCore::AccessibilityObject::isStaticText):
1366
1367 2013-04-17  Simon Fraser  <simon.fraser@apple.com>
1368
1369         Fix GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush() to do predictive visible rect expansion
1370         https://bugs.webkit.org/show_bug.cgi?id=114775
1371
1372         Reviewed by Tim Horton.
1373
1374         GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush() is intended to answer the question
1375         "if your visible rect is changed to X, would any tiles be created or destroyed?".
1376         
1377         However, for compositing layer tiled layers, we do some predictive visible rect expansion based on how
1378         the visible rect is changing when we actually commit visible rect changes. recursiveVisibleRectChangeRequiresFlush()
1379         was not doing that, causing it to give confusing answers, so fix it to do so.
1380         
1381         Both now call adjustTiledLayerVisibleRect(), and it's cleaner to make this a static function.
1382         
1383         A somewhat unrelated change is to take the layer bounds origin into account
1384         in GraphicsLayerCA::computeVisibleRect(). Desktop WebKit never sets this, but it's used
1385         on other platforms for composited scrolling, so needs to be taken into account
1386         when computing visible rects.
1387
1388         * platform/graphics/ca/GraphicsLayerCA.cpp:
1389         (WebCore::GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush):
1390         (WebCore::GraphicsLayerCA::computeVisibleRect):
1391         (WebCore::GraphicsLayerCA::adjustTiledLayerVisibleRect):
1392         (WebCore::GraphicsLayerCA::updateVisibleRect):
1393         * platform/graphics/ca/GraphicsLayerCA.h:
1394         (GraphicsLayerCA):
1395
1396 2013-04-17  Oliver Hunt  <oliver@apple.com>
1397
1398         Automate generation of toJS function for classes that need to report extra memory usage
1399         https://bugs.webkit.org/show_bug.cgi?id=114768
1400
1401         Reviewed by Geoff Garen.
1402
1403         Only really used by AudioBuffer for now.  The other classes that need it can be
1404         trivially refactored at a later date.
1405
1406         * Modules/webaudio/AudioBuffer.idl:
1407         * bindings/js/JSAudioBufferCustom.cpp:
1408         * bindings/js/JSDOMBinding.h:
1409         (WebCore):
1410         (HasMemoryCost):
1411         (NoType):
1412         (BaseMixin):
1413         * bindings/scripts/CodeGeneratorJS.pm:
1414         (GenerateImplementation):
1415
1416 2013-04-17  Dirk Schulze  <krit@webkit.org>
1417
1418         BasicShapeFunctions should use RenderStyle instead of StyleResolver
1419         https://bugs.webkit.org/show_bug.cgi?id=114743
1420
1421         Reviewed by Antti Koivisto.
1422
1423         BasicShapeFunctions does include RenderStyle instead of StyleResolver now.
1424         This is a simple refactoring patch, no new tests.
1425
1426         * css/BasicShapeFunctions.cpp:
1427         (WebCore::convertToLength): Use style and rootElementStyle directly.
1428         (WebCore::basicShapeForValue): Ditto.
1429         * css/BasicShapeFunctions.h:
1430         (WebCore):
1431         * css/DeprecatedStyleBuilder.cpp:
1432         (WebCore::ApplyPropertyClipPath::applyValue):
1433         (WebCore::ApplyPropertyExclusionShape::applyValue):
1434
1435 2013-04-17  Beth Dakin  <bdakin@apple.com>
1436
1437         Content inside frames and scrollbars in overflow areas hit-tests incorrectly when 
1438         the WKView has a header
1439         https://bugs.webkit.org/show_bug.cgi?id=114769
1440
1441         Reviewed by Simon Fraser.
1442
1443         convertToRenderer() and convertFromRenderer() need to factor in the headerHeight, 
1444         much like all of the conversion functions on ScrollView. 
1445         * page/FrameView.cpp:
1446         (WebCore::FrameView::convertFromRenderer):
1447         (WebCore::FrameView::convertToRenderer):
1448
1449         The scrollPosition equivalent of the existing scrollOffsetRelativeToDocument() 
1450         function. 
1451         * platform/ScrollView.cpp:
1452         (WebCore::ScrollView::scrollPositionRelativeToDocument):
1453         * platform/ScrollView.h:
1454         (ScrollView):
1455
1456 2013-04-17  Andreas Kling  <akling@apple.com>
1457
1458         Remove FragmentScriptingPermission.h include from Element.h.
1459         <http://webkit.org/b/114757>
1460
1461         Rubber-stamped by Anders Carlsson.
1462
1463         * dom/Element.h:
1464
1465 2013-04-17  Mark Lam  <mark.lam@apple.com>
1466
1467         Add LLINT and baseline JIT support for timing out scripts.
1468         https://bugs.webkit.org/show_bug.cgi?id=114577.
1469
1470         Reviewed by Geoffrey Garen.
1471
1472         Replaced use of the obsolete JSGlobalData.terminator methods with the
1473         JSGlobalData.watchdog equivalents.
1474
1475         * bindings/js/JSEventListener.cpp:
1476         (WebCore::JSEventListener::handleEvent):
1477         * bindings/js/SerializedScriptValue.cpp:
1478         (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
1479         * bindings/js/WorkerScriptController.cpp:
1480         (WebCore::WorkerScriptController::evaluate):
1481         (WebCore::WorkerScriptController::scheduleExecutionTermination):
1482         (WebCore::WorkerScriptController::isExecutionTerminating):
1483
1484 2013-04-16  Jer Noble <jer.noble@apple.com>
1485
1486         Crash in WebCore::HTMLMediaElement::~HTMLMediaElement.
1487         https://bugs.webkit.org/show_bug.cgi?id=113531
1488
1489         Reviewed by Eric Carlson.
1490
1491         No new tests, though this is intermittently reproducible with
1492         http/tests/misc/delete-frame-during-readystatechange.html under ASAN.
1493
1494         * html/HTMLMediaElement.cpp:
1495         (WebCore::HTMLMediaElement::~HTMLMediaElement): Clear the media player manually
1496             before the destructor exits. Clearing the media player may cancel a resource load,
1497             which can trigger a readystatechange event. It's possible for the HTMLMediaElement
1498             to attempt to fire an abort event within the readystatechange event, even though it is
1499             now in an inconsistent state. Clearling the media player before finishing the destructor
1500             ensures that the HTMLMediaElement will at least still be alive if this case is triggered.
1501             Set m_completelyLoaded to true to ensure that if userCancelledLoad() is called, it doesn't
1502             attempt to fire events while destructing.
1503
1504 2013-04-17  Sergio Correia  <sergio.correia@openbossa.org>
1505
1506         Web Inspector: make generate-inspector-protocol-version work with python3 
1507         https://bugs.webkit.org/show_bug.cgi?id=114717
1508
1509         Revision r146765 added print() calls that made the script complain about 
1510         invalid syntax when using python3.
1511
1512         This commit replaces such calls with calls to sys.stdout.write(), analogous
1513         to the sys.stderr.write() ones already used throughout the file.
1514
1515         Reviewed by Timothy Hatcher.
1516
1517         No new tests. No user visible behavior changed.
1518
1519         * inspector/generate-inspector-protocol-version:
1520         (main):
1521
1522 2013-04-17  Seokju Kwon  <seokju.kwon@gmail.com>
1523
1524         Web Inspector: Fix Localized string warngs
1525         https://bugs.webkit.org/show_bug.cgi?id=114718
1526
1527         Reviewed by Timothy Hatcher.
1528
1529         No tests because no behavior change is expected.
1530
1531         * English.lproj/localizedStrings.js:
1532
1533 2013-04-17  Csaba Osztrogon√°c  <ossy@webkit.org>
1534
1535         [Qt] Unreviewed Windows buildfix.
1536
1537         * platform/qt/DragDataQt.cpp: Add a missing include.
1538
1539 2013-04-17  ChangSeok Oh  <shivamidow@gmail.com>
1540
1541         Breaking Float: floated block level element following inline element in floated container breaks to next line
1542         https://bugs.webkit.org/show_bug.cgi?id=45274
1543
1544         Reviewed by David Hyatt.
1545
1546         Fix position issue of floating element in floating element.
1547         Inner floating element has placed at next line when outer floating element has text,
1548         even though previous line has spaces enough to fit it.
1549         To solve this, the width of a space added temporarily for prohibiting duplication more than 2 empty spaces
1550         is subtracted when floating element is checked whether it fits on a line.
1551
1552         Tests: css2.1/20110323/floats-001.html
1553                css2.1/20110323/floats-102.html
1554                fast/inline-block/float-both-whitespace.html
1555                fast/inline-block/float-leading-whitespace.html
1556                fast/inline-block/float-no-whitespace.html
1557                fast/inline-block/float-trailing-whitespace.html
1558                fast/inline-block/multiple-floats-with-whitespace.html
1559
1560         * rendering/RenderBlockLineLayout.cpp:
1561         (WebCore::LineWidth::LineWidth):
1562         (WebCore::LineWidth::fitsOnLine):
1563         (WebCore::LineWidth::trailingWhitespaceWidth):
1564         (WebCore::LineWidth::setTrailingWhitespaceWidth):
1565         (LineWidth):
1566         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1567
1568 2013-04-17  Leo Yang  <leoyang@rim.com>
1569
1570         Lots of unused parameter warnings in filesystem code
1571         https://bugs.webkit.org/show_bug.cgi?id=114747
1572
1573         Reviewed by Carlos Garcia Campos.
1574
1575         Comment out or remove unused parameter identifiers.
1576
1577         No functionalities changed, no new tests.
1578
1579         * Modules/filesystem/DOMFileSystem.cpp: Comment out |snapshot| because
1580         it is referred in the comments inside the function.
1581         (WebCore):
1582         * Modules/filesystem/DOMFileSystemSync.cpp: Ditto.
1583         (WebCore):
1584         * Modules/filesystem/FileWriter.cpp: Remove unused |ec|.
1585         (WebCore::FileWriter::abort):
1586         * Modules/filesystem/FileWriterSync.cpp:
1587         (WebCore::FileWriterSync::didWrite): Remove unused |bytes|.
1588         * platform/AsyncFileSystemCallbacks.h:
1589         (WebCore::AsyncFileSystemCallbacks::didOpenFileSystem): Comment out unused parameters
1590         because the function is inlined.
1591         (WebCore::AsyncFileSystemCallbacks::didCreateSnapshotFile): Ditto.
1592         (WebCore::AsyncFileSystemCallbacks::didReadDirectoryEntry): Ditto.
1593         (WebCore::AsyncFileSystemCallbacks::didReadDirectoryEntries): Ditto.
1594         (WebCore::AsyncFileSystemCallbacks::didCreateFileWriter): Ditto.
1595         * platform/blackberry/WorkerAsyncFileSystemBlackBerry.cpp:
1596         (WebCore::WorkerAsyncFileSystemBlackBerry::createWriterOnMainThread): Remove unused |client|.
1597
1598 2013-04-17  Brent Fulgham  <bfulgham@webkit.org>
1599
1600         [Windows, WinCairo] Stop individually building WTF files in WebCore
1601         https://bugs.webkit.org/show_bug.cgi?id=114705
1602
1603         Reviewed by Anders Carlsson.
1604
1605         * WebCore.vcproj/WebCore.vcproj: Remove references to WTF objects.
1606         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1607         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
1608
1609 2013-04-17  Dirk Schulze  <krit@webkit.org>
1610
1611         Make lengthConversion methods and arguments const
1612         https://bugs.webkit.org/show_bug.cgi?id=114749
1613
1614         Reviewed by Andreas Kling.
1615
1616         Refactoring, no new tests.
1617
1618         * css/CSSCalculationValue.cpp:
1619         (WebCore::CSSCalcValue::computeLengthPx):
1620         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
1621         (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
1622         (WebCore::CSSCalcBinaryOperation::toCalcValue):
1623         (WebCore::CSSCalcBinaryOperation::computeLengthPx):
1624         * css/CSSCalculationValue.h:
1625         (WebCore::CSSCalcValue::toCalcValue):
1626         (CSSCalcValue):
1627         * css/CSSPrimitiveValue.cpp:
1628         (WebCore::CSSPrimitiveValue::computeLength):
1629         (WebCore::CSSPrimitiveValue::computeLengthDouble):
1630         (WebCore::CSSPrimitiveValue::viewportPercentageLength):
1631         * css/CSSPrimitiveValue.h:
1632         (CSSPrimitiveValue):
1633         * css/CSSPrimitiveValueMappings.h:
1634         (WebCore::CSSPrimitiveValue::convertToLength):
1635         * css/StyleResolver.cpp:
1636         (WebCore::StyleResolver::convertToIntLength):
1637         (WebCore::StyleResolver::convertToFloatLength):
1638         * css/StyleResolver.h:
1639         (StyleResolver):
1640
1641 2013-04-17  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
1642
1643         [refactor] Moved ScriptedAnimationController common code to inline function
1644         https://bugs.webkit.org/show_bug.cgi?id=114681
1645
1646         Reviewed by Daniel Bates.
1647
1648         Avoided duplicated code by moving ScriptedAnimationController clearance
1649         code to a common function used by both Document::dispose() and
1650         Document::detach().
1651
1652         No new tests, no behavior changes.
1653
1654         * dom/Document.cpp:
1655         (WebCore::Document::dispose):
1656         (WebCore::Document::detach):
1657         (WebCore::Document::clearScriptedAnimationController): Added.
1658         * dom/Document.h:
1659         (Document):
1660
1661 2013-04-17  Chris Fleizach  <cfleizach@apple.com>
1662
1663         AX: When img@alt is undefined, WebKit should use @title as accessibility label if available
1664         https://bugs.webkit.org/show_bug.cgi?id=114535
1665
1666         Reviewed by Tim Horton.
1667
1668         Don't hide images from Accessibility that have the title attribute on them.
1669
1670         Test: accessibility/empty-image-with-title.html
1671
1672         * accessibility/AccessibilityRenderObject.cpp:
1673         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
1674
1675 2013-04-17  Arpita Bahuguna  <a.bah@samsung.com>
1676
1677         getAttribute does not behave correctly for mixed-case attributes on HTML elements
1678         https://bugs.webkit.org/show_bug.cgi?id=105713
1679
1680         Reviewed by Andreas Kling.
1681
1682         getAttribute() and getAttributeNode() APIs do not convert the
1683         passed attribute name to lowercase before comparing against the
1684         existing attributes.
1685         The specification however states that the passed name should
1686         be converted to ASCII lowercase before checking for the existence
1687         of the given attribute. [www.w3.org/TR/domcore/#dom-element-getattribute]
1688
1689         Test: fast/dom/Element/getAttribute-case-insensitivity.html
1690
1691         * dom/Element.h:
1692         (WebCore::ElementData::getAttributeItemIndex):
1693         getAttributeItemIndex() accepts a bool param 'shouldIgnoreAttributeCase'
1694         which specifies whether or not the attribute's case should be ignored
1695         before comparison but we don't really convert the passed name to lowercase
1696         before carrying out the comparison.
1697
1698         Thus, when called from APIs such as getAttribute() and getAttributeNode()
1699         which do not explicitally convert the attribute name to lowercase
1700         before calling on this method, it fails to carry out a case-insensitive
1701         search.
1702
1703         Have thus made changes to convert the passed attribute's name to
1704         lowercase if 'shouldIgnoreAttributeCase' is true.
1705
1706 2013-04-17  John Griggs  <jgriggs@blackberry.com>
1707
1708         [BlackBerry] Add support for filesystem: URLs to BlackBerry Media Player.
1709         https://bugs.webkit.org/show_bug.cgi?id=114686
1710         https://przilla.ott.qnx.com/bugzilla/show_bug.cgi?id=314865
1711
1712         Reviewed by Rob Buis.
1713
1714         Translate filesystem: URLs to file:// URLs for use by the media player, but only after the filesystem: URL has been checked for security, etc.
1715
1716         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1717         (WebCore::MediaPlayerPrivate::load):
1718         (WebCore::MediaPlayerPrivate::onError):
1719         (WebCore::MediaPlayerPrivate::onDurationChanged):
1720         (WebCore::MediaPlayerPrivate::notifyChallengeResult):
1721
1722 2013-04-17  Brendan Long  <b.long@cablelabs.com>
1723
1724         [GStreamer] Eclipse warnings in MediaPlayerPrivateGStreamer
1725         https://bugs.webkit.org/show_bug.cgi?id=114654
1726
1727         Reviewed by Philippe Normand.
1728
1729         No new tests (nothing added).
1730
1731         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1732         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
1733         Initialize m_volumeAndMuteInitialized
1734         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1735         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
1736         Initialize signal handlers to 0.
1737
1738 2013-04-17  Andrei Bucur  <abucur@adobe.com>
1739
1740         [CSS Regions] Remove m_flowThread from NodeRenderingContext
1741         https://bugs.webkit.org/show_bug.cgi?id=114732
1742
1743         Reviewed by Antti Koivisto.
1744
1745         Cleanup NodeRenderingContext. Remove unused member m_flowThread.
1746
1747         Tests: None needed.
1748
1749         * dom/NodeRenderingContext.cpp:
1750         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
1751         * dom/NodeRenderingContext.h: Removed m_flowThread.
1752
1753 2013-04-17  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1754
1755         [Qt] MediaPlayerPrivateQt.cpp doesn't build in debug
1756
1757         Unreviewed build fix.
1758
1759         We need to include Logging.h to get the LOG definitions.
1760
1761         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1762
1763 2013-04-17  Claudio Saavedra  <csaavedra@igalia.com>
1764
1765         execCommand("RemoveFormat") might remove format after the selection
1766         https://bugs.webkit.org/show_bug.cgi?id=112240
1767
1768         Reviewed by Ryosuke Niwa.
1769
1770         Tests: editing/execCommand/remove-format-multiple-elements-mac.html
1771
1772         This bug is hit when ApplyStyleCommand is used to change the
1773         style and the current selection ends in the beginning of a new node.
1774         The bug is actually a two-fold thing:
1775
1776         1. There was no check as to whether the end node is really
1777         selected or not, and format was always removed from it with
1778         pushDownInlineStyleAroundNode(). An equivalent check for the start
1779         node was already in place, so fix it analogously.
1780
1781         2. Previous stage might change the dom tree, resulting in a render
1782         tree that is not up-to-date. Position::upstream() is later used
1783         and, in order to be able to find a visually equivalent position in
1784         a text node, this method needs the render tree to be up-to-date,
1785         therefore, a call to updateLayoutIgnorePendingStylesheets() is
1786         necessary.
1787
1788         * editing/ApplyStyleCommand.cpp:
1789         (WebCore::ApplyStyleCommand::removeInlineStyle): Make sure that no
1790         format is removed from the end node if it's not fully selected.
1791         (WebCore::ApplyStyleCommand::nodeFullySelected): Call updateLayoutIgnorePendingStylesheets()
1792
1793 2013-04-17  Alberto Garcia  <agarcia@igalia.com>
1794
1795         [BlackBerry] GraphicsContext3D: don't initialize m_extensions in the constructor
1796         https://bugs.webkit.org/show_bug.cgi?id=114726
1797
1798         Reviewed by Carlos Garcia Campos.
1799
1800         m_extensions is now initialized on demand by
1801         GraphicsContext3D::getExtensions().
1802
1803         Doing it in the constructor produces a crash, because
1804         Extensions3DOpenGLES() calls glGetString before the WebGL context
1805         is current.
1806
1807         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
1808         (WebCore::GraphicsContext3D::GraphicsContext3D):
1809
1810 2013-04-16  Maciej Stachowiak  <mjs@apple.com>
1811
1812         Replace JSC-specific IDL extended attributes with generic (JSC+V8) ones, now that the distinction no longer matters
1813         https://bugs.webkit.org/show_bug.cgi?id=114712
1814
1815         Reviewed by Dan Bernstein.
1816
1817         No behavior change expected.
1818
1819         * bindings/scripts/IDLAttributes.txt: Remove the JSFoo attributes
1820         that have bare Foo equivalents.
1821         * bindings/scripts/CodeGeneratorJS.pm: Remove support for JSFoo
1822         aliases.
1823         (GetGenerateIsReachable):
1824         (GetCustomIsReachable):
1825         (ShouldGenerateToJSDeclaration):
1826         (ShouldGenerateToJSImplementation):
1827         (HasCustomConstructor):
1828         (HasCustomGetter):
1829         (HasCustomSetter):
1830         (HasCustomMethod):
1831
1832         Replace JSFoo attributes with equivalen Foo attributs in all files
1833         below:
1834         
1835         * Modules/geolocation/Geolocation.idl:
1836         * Modules/indexeddb/IDBDatabase.idl:
1837         * Modules/indexeddb/IDBObjectStore.idl:
1838         * Modules/webaudio/DOMWindowWebAudio.idl:
1839         * Modules/websockets/DOMWindowWebSocket.idl:
1840         * Modules/websockets/WorkerContextWebSocket.idl:
1841         * css/CSSRule.idl:
1842         * css/CSSRuleList.idl:
1843         * css/CSSStyleDeclaration.idl:
1844         * css/CSSValue.idl:
1845         * css/MediaList.idl:
1846         * css/StyleMedia.idl:
1847         * css/StyleSheet.idl:
1848         * dom/MessagePort.idl:
1849         * dom/MutationObserver.idl:
1850         * dom/Node.idl:
1851         * fileapi/Blob.idl:
1852         * html/HTMLDocument.idl:
1853         * html/HTMLTemplateElement.idl:
1854         * html/canvas/ArrayBuffer.idl:
1855         * html/canvas/CanvasRenderingContext.idl:
1856         * html/canvas/DataView.idl:
1857         * html/canvas/EXTDrawBuffers.idl:
1858         * html/canvas/EXTTextureFilterAnisotropic.idl:
1859         * html/canvas/OESElementIndexUint.idl:
1860         * html/canvas/OESStandardDerivatives.idl:
1861         * html/canvas/OESTextureFloat.idl:
1862         * html/canvas/OESTextureHalfFloat.idl:
1863         * html/canvas/OESVertexArrayObject.idl:
1864         * html/canvas/WebGLCompressedTextureATC.idl:
1865         * html/canvas/WebGLCompressedTexturePVRTC.idl:
1866         * html/canvas/WebGLCompressedTextureS3TC.idl:
1867         * html/canvas/WebGLDebugRendererInfo.idl:
1868         * html/canvas/WebGLDebugShaders.idl:
1869         * html/canvas/WebGLDepthTexture.idl:
1870         * html/canvas/WebGLLoseContext.idl:
1871         * html/track/TextTrack.idl:
1872         * html/track/TextTrackCue.idl:
1873         * html/track/TextTrackList.idl:
1874         * loader/appcache/DOMApplicationCache.idl:
1875         * page/BarInfo.idl:
1876         * page/Console.idl:
1877         * page/DOMSelection.idl:
1878         * page/DOMWindow.idl:
1879         * page/History.idl:
1880         * page/Location.idl:
1881         * page/MemoryInfo.idl:
1882         * page/Navigator.idl:
1883         * page/Screen.idl:
1884         * page/WorkerNavigator.idl:
1885         * plugins/DOMMimeTypeArray.idl:
1886         * plugins/DOMPluginArray.idl:
1887         * storage/Storage.idl:
1888         * workers/AbstractWorker.idl:
1889         * workers/SharedWorker.idl:
1890         * workers/Worker.idl:
1891         * workers/WorkerContext.idl:
1892         * workers/WorkerLocation.idl:
1893         * xml/XMLHttpRequestUpload.idl:
1894
1895 2013-04-16  Beth Dakin  <bdakin@apple.com>
1896
1897         Re-name Page::layoutMilestones() to Page::requestedLayoutMilestones()
1898         https://bugs.webkit.org/show_bug.cgi?id=114713
1899
1900         Reviewed by Simon Fraser.
1901
1902         * page/FrameView.cpp:
1903         (WebCore::FrameView::performPostLayoutTasks):
1904         * page/Page.cpp:
1905         (WebCore::Page::Page):
1906         (WebCore::Page::addLayoutMilestones):
1907         (WebCore::Page::removeLayoutMilestones):
1908         (WebCore::Page::isCountingRelevantRepaintedObjects):
1909         * page/Page.h:
1910         (WebCore::Page::requestedLayoutMilestones):
1911         (Page):
1912         * rendering/RenderLayerCompositor.cpp:
1913         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
1914
1915 2013-04-16  Patrick Gansterer  <paroga@webkit.org>
1916
1917         [CMake] Fix dependecy calculation for generated inspector files
1918         https://bugs.webkit.org/show_bug.cgi?id=114092
1919
1920         Reviewed by Brent Fulgham.
1921
1922         At least in a generated Visual Studio solution the files generated via
1923         CodeGeneratorInspector.py are considered outdated all the time because
1924         the code generator only touches the file when the content changed.
1925         Add an --write_always parameter to the script to touch the file always.
1926
1927         * CMakeLists.txt:
1928         * inspector/CodeGeneratorInspector.py:
1929
1930 2013-04-16  Anders Carlsson  <andersca@apple.com>
1931
1932         Clone storage namespaces for window.open
1933         https://bugs.webkit.org/show_bug.cgi?id=114703
1934
1935         Reviewed by Sam Weinig.
1936
1937         Pass the new page to StorageNamespace::copy.
1938
1939         * page/Chrome.cpp:
1940         (WebCore::Chrome::createWindow):
1941         * storage/StorageNamespace.h:
1942         (StorageNamespace):
1943         * storage/StorageNamespaceImpl.cpp:
1944         (WebCore::StorageNamespaceImpl::copy):
1945         * storage/StorageNamespaceImpl.h:
1946         (WebCore):
1947         (StorageNamespaceImpl):
1948
1949 2013-04-16  Sam Weinig  <sam@webkit.org>
1950
1951         Fix fallout after r148545.
1952
1953         * platform/text/TextChecking.h:
1954         Move Platform defines that were incorrectly in WebCore, into Platform.h
1955
1956 2013-04-16  Hans Muller  <hmuller@adobe.com>
1957
1958         [CSS Exclusions] polygon shape-inside layout fails
1959         https://bugs.webkit.org/show_bug.cgi?id=114402
1960
1961         Reviewed by Dirk Schulze.
1962
1963         The firstIncludedIntervalLogicalTop() method's implementation relied on optimistic
1964         assumptions about floating point accuracy which, in rare cases, caused it to discard
1965         first-fit locations based on the intersection of the minLogicalIntervalTop offset edge
1966         and a polygon offset edge. Now: we do not verify that first-fit locations based on the
1967         intersection of an offset edge and the minLogicalIntervalTop offset edge are below
1968         the horizontal minLogicalIntervalTop line. They're essentially below the line "by definition".
1969
1970         Test: fast/exclusions/shape-inside/shape-inside-polygon-layout.html
1971
1972         * rendering/ExclusionPolygon.cpp:
1973         (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Avoid floating point problems
1974             when checking intersections with the offset edge based on minLogicalIntervalTop.
1975         * rendering/ExclusionPolygon.h:
1976         (WebCore::OffsetPolygonEdge::OffsetPolygonEdge): Initialize the basis field.
1977         (WebCore::OffsetPolygonEdge::basis): Report what the offset edge is "based on": a polygon
1978             edge, the top of the line, or a (reflex) vertex.
1979         (OffsetPolygonEdge): Added the Basis enum to enable tracking what the geometry of
1980             an offset edge is based on.
1981
1982 2013-04-16  Jer Noble  <jer.noble@apple.com>
1983
1984         Further unreviewed build fix: protect JSAudioBufferCustom with a ENABLE(WEB_AUDIO) check.
1985
1986         * bindings/js/JSAudioBufferCustom.cpp:
1987
1988 2013-04-16  Jer Noble  <jer.noble@apple.com>
1989
1990         Unreviewed build fix; add new JSAudioBuffer.cpp file to more build systems.
1991
1992         * GNUmakefile.list.am:
1993         * Target.pri:
1994         * UseJSC.cmake:
1995
1996 2013-04-16  Jer Noble  <jer.noble@apple.com>
1997
1998         Repeated use of decodeAudioData() causes leak
1999         https://bugs.webkit.org/show_bug.cgi?id=114709
2000
2001         Reviewed by Geoffrey Garen.
2002
2003         Report the correct size of the AudioBuffer to the garbage collector so that creating
2004         these large buffers will trigger garbage collection.
2005
2006         * Modules/webaudio/AudioBuffer.cpp:
2007         (WebCore::AudioBuffer::memoryCost): Added; simple sum of the buffer sizes in m_channels;
2008         * Modules/webaudio/AudioBuffer.h:
2009         * Modules/webaudio/AudioBuffer.idl: Add the CustomToJSObject flag.
2010         * WebCore.xcodeproj/project.pbxproj:
2011         * bindings/js/JSAudioBufferCustom.cpp: Added.
2012         (WebCore::toJS): Added; report the extra size of an AudioBuffer when the wrapper
2013             is created.
2014
2015 2013-04-16  Beth Dakin  <bdakin@apple.com>
2016
2017         Need a new layout milestone to notify bundle clients when the header has been 
2018         flushed
2019         https://bugs.webkit.org/show_bug.cgi?id=114706
2020         -and corresponding-
2021         <rdar://problem/13657284>
2022
2023         Reviewed by Simon Fraser.
2024
2025         New LayoutMilestone is DidFirstFlushForHeaderLayer.
2026         * page/LayoutMilestones.h:
2027         
2028         New API to allow removing a LayoutMilestone.
2029         * WebCore.exp.in:
2030         * page/Page.cpp:
2031         (WebCore::Page::removeLayoutMilestones):
2032         * page/Page.h:
2033         (Page):
2034
2035         New boolean member variable m_headerLayerAwaitingFirstFlush keeps track of whether 
2036         we need to send the DidFirstFlushForHeaderLayer milestone.
2037         * rendering/RenderLayerCompositor.h:
2038         (RenderLayerCompositor):
2039         * rendering/RenderLayerCompositor.cpp:
2040         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
2041
2042         Send the milestone if appropriate.
2043         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
2044
2045          Set m_headerLayerAwaitingFirstFlush to true for a newly created layer.
2046         (WebCore::RenderLayerCompositor::updateLayerForHeader):
2047
2048 2013-04-16  Tim Horton  <timothy_horton@apple.com>
2049
2050         PlugIn Snapshotting: Crashes refreshing non-main-frame PDFPlugins
2051         https://bugs.webkit.org/show_bug.cgi?id=114702
2052         <rdar://problem/13542020>
2053
2054         Reviewed by Dean Jackson.
2055
2056         If:
2057
2058             a) a plugin fails all the tests in willCreatePlugIn, so it is WaitingForSnapshot there
2059             b) primary plugin detection attempts to restart a plugin between the
2060                time that willCreatePlugIn and didCreatePlugIn fire
2061             c) when didCreatePlugIn fires, shouldAlwaysAutoStart() returns true,
2062                because the plug-in is whitelisted,
2063
2064         we end up reattach()ing and going to Restarted state, and then going straight
2065         to Playing state in didCreatePlugIn.
2066
2067         Instead, primary plugin promotion should be deferred until after the plugin is created,
2068         so that we can take that one last bit of information (shouldAlwaysAutoStart) into account
2069         before restarting and reattaching the plug-in.
2070
2071         * html/HTMLPlugInImageElement.cpp:
2072         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
2073         (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn):
2074         (WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn):
2075         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
2076         (WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn):
2077         * html/HTMLPlugInImageElement.h:
2078
2079 2013-04-16  Wei James  <james.wei@intel.com>
2080
2081         ASSERTION FAILED: i < size(), UNKNOWN in WebCore::ChannelMergerNode::process
2082         https://bugs.webkit.org/show_bug.cgi?id=112657
2083
2084         Avoid to access input bus in checkNumberOfChannelsForInput() before the
2085         bus is updated with AudioNode::checkNumberOfChannelsForInput().
2086
2087         Reviewed by Chris Rogers.
2088
2089         * Modules/webaudio/ChannelMergerNode.cpp:
2090         (WebCore::ChannelMergerNode::checkNumberOfChannelsForInput):
2091
2092 2013-04-16  Ryosuke Niwa  <rniwa@webkit.org>
2093
2094         Even more Windows build fix and a Qt minimal build fix attempt.
2095
2096         * html/parser/XSSAuditorDelegate.cpp:
2097         * page/win/FrameCGWin.cpp:
2098
2099 2013-04-16  Ryosuke Niwa  <rniwa@webkit.org>
2100
2101         More Windows build fixes.
2102
2103         * platform/win/DragDataWin.cpp:
2104         * platform/win/PasteboardWin.cpp:
2105
2106 2013-04-16  Sam Weinig  <sam@webkit.org>
2107
2108         Windows build fix.
2109
2110         * page/win/FrameWin.cpp:
2111
2112 2013-04-16  Dean Jackson  <dino@apple.com>
2113
2114         PlugIns that resize in user gestures should be immune to snapshotting
2115         https://bugs.webkit.org/show_bug.cgi?id=114697
2116         <rdar://problem/13666258>
2117
2118         Reviewed by Tim Horton.
2119
2120         Now that we snapshot plugins if they resize above the snapshotting threshold,
2121         we need to make sure that we don't do it in response to a user gesture
2122         such as a click.
2123
2124         Due to the complexities of real-world content and the way they often do
2125         things using timeout, I copied the code from the generic user gesture
2126         timeout, which gives a 5 second grace period after clicks.
2127
2128         * html/HTMLPlugInImageElement.cpp:
2129         (WebCore::documentHadRecentUserGesture): New static function to share the code for
2130             checking the time since the last click (or whatever).
2131         (WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting): Make sure
2132             to test for a user gesture.
2133         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Move the
2134             code into the new function.
2135
2136 2013-04-15  Sam Weinig  <sam@webkit.org>
2137
2138         Remove more #includes from Frame.h
2139         https://bugs.webkit.org/show_bug.cgi?id=114642
2140
2141         Reviewed by Anders Carlsson.
2142
2143         Convert Editor, FrameSelection, EventHandler and AnimationController into
2144         OwnPtrs, to avoid inclusion.
2145
2146         * accessibility/AXObjectCache.cpp:
2147         * accessibility/AccessibilityObject.cpp:
2148         * accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:
2149         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2150         * bindings/objc/DOM.mm:
2151         * dom/CharacterData.cpp:
2152         * dom/ContainerNode.cpp:
2153         * dom/Element.cpp:
2154         * editing/AlternativeTextController.cpp:
2155         * editing/CompositeEditCommand.cpp:
2156         * editing/DeleteButtonController.h:
2157         * editing/EditingStyle.cpp:
2158         * editing/InsertLineBreakCommand.cpp:
2159         * editing/SpellChecker.cpp:
2160         * editing/SpellingCorrectionCommand.cpp:
2161         * editing/TextInsertionBaseCommand.cpp:
2162         * history/CachedFrame.cpp:
2163         * html/HTMLAnchorElement.cpp:
2164         * html/HTMLInputElement.cpp:
2165         * html/HTMLPlugInElement.cpp:
2166         * html/HTMLSelectElement.cpp:
2167         * html/HTMLTextAreaElement.cpp:
2168         * html/HTMLTextFormControlElement.cpp:
2169         * html/TextFieldInputType.cpp:
2170         * html/shadow/ClearButtonElement.cpp:
2171         * html/shadow/MediaControlElements.cpp:
2172         * html/shadow/SliderThumbElement.cpp:
2173         * inspector/InspectorPageAgent.h:
2174         * loader/FrameLoader.cpp:
2175         * page/DOMWindow.cpp:
2176         * page/Frame.cpp:
2177         * page/Frame.h:
2178         * page/FrameView.cpp:
2179         * page/FrameView.h:
2180         * page/Page.cpp:
2181         * page/TouchAdjustment.cpp:
2182         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2183         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2184         * platform/gtk/PasteboardGtk.cpp:
2185         * platform/qt/ClipboardQt.cpp:
2186         * rendering/HitTestResult.cpp:
2187         * rendering/RenderBlock.cpp:
2188         * rendering/RenderEmbeddedObject.cpp:
2189         * rendering/RenderLayer.cpp:
2190         * rendering/RenderNamedFlowThread.cpp:
2191         * rendering/RenderObject.cpp:
2192         * rendering/RenderSnapshottedPlugIn.cpp:
2193         * svg/graphics/SVGImage.cpp:
2194         * testing/Internals.cpp:
2195
2196 2013-04-16  Jessie Berlin  <jberlin@apple.com>
2197
2198         Speculative Windows build fix.
2199
2200         * platform/win/ContextMenuWin.cpp:
2201
2202 2013-04-16  Eric Carlson  <eric.carlson@apple.com>
2203
2204         [Mac] in-band cues sometimes displayed late
2205         https://bugs.webkit.org/show_bug.cgi?id=114629
2206
2207         Reviewed by Jer Noble.
2208
2209         No new tests, this deals with a platform-specific issue that is extremely timing dependent.
2210
2211         * html/track/InbandTextTrack.cpp:
2212         (WebCore::TextTrackCueMap::add): New, two way cue data <-> cue map.
2213         (WebCore::TextTrackCueMap::find): 
2214         (WebCore::TextTrackCueMap::remove):
2215         (WebCore::InbandTextTrack::updateCueFromCueData): New, update an existing cue. Set cue end time
2216             to video duration if it is unknown.
2217         (WebCore::InbandTextTrack::addGenericCue): Look for existing cues without considering duration
2218             so we can match incomplete cues.
2219         (WebCore::InbandTextTrack::updateGenericCue): New, update an existing cue. This allows us to 
2220             add in-band cues as soon as we get them from the media engine and update them as more
2221             information becomes available.
2222         (WebCore::InbandTextTrack::removeGenericCue): New, remove an existing cue. This is necessary
2223             because we never want to keep an incomplete cue when a seek happens.
2224         (WebCore::InbandTextTrack::removeCue): New, base class override so we can keep the two way
2225             map up to date.
2226         * html/track/InbandTextTrack.h:
2227
2228         * html/track/TextTrack.cpp:
2229         (WebCore::TextTrack::addCue): TextTrack::removeCue takes a RefPtr.
2230         (WebCore::TextTrack::removeCue): Take a RefPtr.
2231         (WebCore::TextTrack::hasCue): Allow caller to request match without considering end time.
2232         * html/track/TextTrack.h:
2233
2234         * html/track/TextTrackCue.cpp:
2235         (WebCore::TextTrackCue::TextTrackCue): Initialize m_processingCueChanges.
2236         (WebCore::TextTrackCue::willChange): Renamed from cueWillChange. Use m_processingCueChanges
2237             to avoid thrashing the track when many cue properties will change.
2238         (WebCore::TextTrackCue::didChange): Renamed from cueDidChange. Use m_processingCueChanges
2239             to avoid thrashing the track when many cue properties will change.
2240         (WebCore::TextTrackCue::setId): cueWillChange -> willChange. cueDidChange -> didChange. 
2241         (WebCore::TextTrackCue::setStartTime): Ditto.
2242         (WebCore::TextTrackCue::setEndTime): Ditto.
2243         (WebCore::TextTrackCue::setPauseOnExit): Ditto.
2244         (WebCore::TextTrackCue::setVertical): Ditto.
2245         (WebCore::TextTrackCue::setSnapToLines): Ditto.
2246         (WebCore::TextTrackCue::setLine): Ditto.
2247         (WebCore::TextTrackCue::setPosition): Ditto.
2248         (WebCore::TextTrackCue::setSize): Ditto.
2249         (WebCore::TextTrackCue::setAlign): Ditto.
2250         (WebCore::TextTrackCue::setText): Ditto.
2251         (WebCore::TextTrackCue::setRegionId): Ditto.
2252         (WebCore::TextTrackCue::isEqual): Renamed from operator==, take match rules param.
2253         * html/track/TextTrackCue.h:
2254
2255         * html/track/TextTrackCueGeneric.cpp:
2256         (WebCore::TextTrackCueGeneric::isEqual): Renamed from operator==, take match rules param.
2257         * html/track/TextTrackCueGeneric.h:
2258
2259         * platform/graphics/InbandTextTrackPrivateClient.h: Make GenericCueData refcounted.
2260         (WebCore::GenericCueData::create): New.
2261         (WebCore::GenericCueData::status): Ditto.
2262         (WebCore::GenericCueData::setStatus): Ditto.
2263         (WebCore::GenericCueData::GenericCueData):
2264
2265         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
2266         (WebCore::InbandTextTrackPrivateAVF::processCue): Add cues as soon as we get them from the media
2267             engine, update duration once we know it.
2268         (WebCore::InbandTextTrackPrivateAVF::resetCueValues): Tell the client to remove all incomplete
2269             cues we have delivered.
2270         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
2271
2272         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2273         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Do not flush cues when seek completes,
2274             we did that when the seek started and cues can be delivered before we get the the 
2275             seek completed  notification.
2276
2277 2013-04-16  James Craig  <james@cookiecrook.com>
2278
2279         dfn element should be exposed as AXGroup:AXDefinition
2280         https://bugs.webkit.org/show_bug.cgi?id=108980
2281
2282         Reviewed by Chris Fleizach.
2283
2284         dfn element now exposed as AXGroup:AXDefinition. Updated existing tests.
2285
2286         * accessibility/AccessibilityRenderObject.cpp:
2287         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
2288         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2289
2290 2013-04-16  Anders Carlsson  <andersca@apple.com>
2291
2292         Begin chipping away at ScriptState
2293         https://bugs.webkit.org/show_bug.cgi?id=114695
2294
2295         Reviewed by Geoffrey Garen.
2296
2297         Remove ScriptStateProtectedPtr as well as evalEnabled and setEvalEnabled.
2298
2299         * bindings/js/ScriptState.cpp:
2300         * bindings/js/ScriptState.h:
2301         * inspector/InjectedScriptBase.cpp:
2302         (WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
2303         * inspector/ScriptArguments.cpp:
2304         (WebCore::ScriptArguments::ScriptArguments):
2305         (WebCore::ScriptArguments::globalState):
2306         * inspector/ScriptArguments.h:
2307
2308 2013-04-15  Anders Carlsson  <andersca@apple.com>
2309
2310         Remove unneeded headers from ScriptExecutionContext.h
2311         https://bugs.webkit.org/show_bug.cgi?id=114631
2312
2313         Reviewed by Alexey Proskuryakov.
2314
2315         This shaves another minute off WebCore build time on my MacBook Pro.
2316
2317         * dom/ScriptExecutionContext.cpp:
2318         * dom/ScriptExecutionContext.h:
2319         * fileapi/Blob.cpp:
2320         * rendering/RenderBlock.cpp:
2321         * rendering/RenderBox.cpp:
2322         * rendering/RenderFlowThread.cpp:
2323         * rendering/RenderFrameSet.cpp:
2324         * rendering/RenderIFrame.cpp:
2325         * rendering/RenderImage.cpp:
2326         * rendering/RenderListBox.cpp:
2327         * rendering/RenderListItem.cpp:
2328         * rendering/RenderListMarker.cpp:
2329         * rendering/RenderMedia.cpp:
2330         * rendering/RenderObject.cpp:
2331         * rendering/RenderRegion.cpp:
2332         * rendering/RenderReplaced.cpp:
2333         * rendering/RenderReplica.cpp:
2334         * rendering/RenderRubyRun.cpp:
2335         * rendering/RenderScrollbarPart.cpp:
2336         * rendering/RenderSlider.cpp:
2337         * rendering/RenderTable.cpp:
2338         * rendering/RenderTableCell.cpp:
2339         * rendering/RenderTableRow.cpp:
2340         * rendering/RenderTableSection.cpp:
2341         * rendering/RenderTextControlSingleLine.cpp:
2342         * rendering/RenderTextTrackCue.cpp:
2343         * rendering/RenderVideo.cpp:
2344         * rendering/RenderView.cpp:
2345         * rendering/RenderWidget.cpp:
2346         * rendering/svg/RenderSVGContainer.cpp:
2347         * rendering/svg/RenderSVGForeignObject.cpp:
2348         * rendering/svg/RenderSVGGradientStop.cpp:
2349         * rendering/svg/RenderSVGHiddenContainer.cpp:
2350         * rendering/svg/RenderSVGImage.cpp:
2351         * rendering/svg/RenderSVGResourceContainer.cpp:
2352         * rendering/svg/RenderSVGResourceMarker.cpp:
2353         * rendering/svg/RenderSVGRoot.cpp:
2354         * rendering/svg/RenderSVGShape.cpp:
2355         * rendering/svg/RenderSVGText.cpp:
2356
2357 2013-04-16  Maciej Stachowiak  <mjs@apple.com>
2358
2359         Remove even yet still more traces of v8
2360         https://bugs.webkit.org/show_bug.cgi?id=114693
2361
2362         Reviewed by Anders Carlsson.
2363
2364         No behavior change.
2365
2366         * bindings/generic/ActiveDOMCallback.h:
2367         (WebCore::ActiveDOMCallback::isScriptControllerTerminating): Remove a V8-specific
2368         method and the comment referencing it.
2369         * bindings/generic/ActiveDOMCallback.cpp:
2370         (WebCore::ActiveDOMCallback::isScriptControllerTerminating): ditto
2371         * fileapi/File.cpp:
2372         (WebCore::File::File): Remove a comment referencing v8
2373         * inspector/InjectedScriptExterns.js: ditto
2374
2375 2013-04-16  Alexey Proskuryakov  <ap@apple.com>
2376
2377         Remove unused AlternativeTextClient::dismissDictationAlternativeUI
2378         https://bugs.webkit.org/show_bug.cgi?id=114598
2379
2380         Reviewed by Ryosuke Niwa.
2381
2382         Removing dead code.
2383
2384         * WebCore.exp.in:
2385         * editing/mac/AlternativeTextUIController.h: Made dismissAlternatives() private.
2386         * page/AlternativeTextClient.h:
2387
2388 2013-04-16  Robert Hogan  <robert@webkit.org>
2389
2390         Float at exact multiple of line-height affects too many lines
2391         https://bugs.webkit.org/show_bug.cgi?id=112744
2392
2393         Reviewed by David Hyatt.
2394
2395         Tests: fast/block/float/float-with-fractional-height-vertical-lr.html
2396                fast/block/float/float-with-fractional-height.html
2397
2398         When adding floats to the interval tree used for testing floats' overlap with lineboxes
2399         truncate the dimensions of the float rather than rounding them. This matches the
2400         treatment of linebox dimensions so ensures the test for overlap is comparing like
2401         with like.
2402
2403         * rendering/RenderBlock.cpp:
2404         (WebCore::::collectIfNeeded):
2405         (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
2406         (WebCore::::string):
2407
2408 2013-04-16  Chris Fleizach  <cfleizach@apple.com>
2409
2410         AX: aria-valuetext is not exposed on OS X.
2411         https://bugs.webkit.org/show_bug.cgi?id=114628
2412
2413         Reviewed by Tim Horton.
2414
2415         aria-valuetext is only being exposed on ARIA controls. That's because there were
2416         checks in place so that ONLY ARIA defined controls would return anything related to valuetext.
2417         We should allow this to work on native controls as well.
2418
2419         Test: platform/mac/accessibility/aria-valuetext-on-native-slider.html
2420
2421         * accessibility/AccessibilityNodeObject.cpp:
2422         (WebCore::AccessibilityNodeObject::valueDescription):
2423         (WebCore):
2424         (WebCore::AccessibilityNodeObject::valueForRange):
2425         (WebCore::AccessibilityNodeObject::maxValueForRange):
2426         (WebCore::AccessibilityNodeObject::minValueForRange):
2427         * accessibility/AccessibilityNodeObject.h:
2428         (AccessibilityNodeObject):
2429         * accessibility/AccessibilityObject.cpp:
2430         (WebCore::AccessibilityObject::isRangeControl):
2431              Rename isARIAControl to isRangeControl and make it apply to all elements.
2432         * accessibility/AccessibilityObject.h:
2433
2434 2013-04-15  Jon Lee  <jonlee@apple.com>
2435
2436         RenderView should bail out of paintBoxDecorations() when painting with a different renderer
2437         https://bugs.webkit.org/show_bug.cgi?id=114665
2438         <rdar://problem/13434884>
2439
2440         Reviewed by Simon Fraser.
2441
2442         * rendering/RenderView.cpp:
2443         (WebCore::RenderView::paintBoxDecorations): Add a check to see if we should paint within the renderer.
2444         This check exists in all other implementations of paintBoxDecorations(), and correctly avoids painting the
2445         decorations if the root provided is not the RenderView.
2446
2447 2013-04-16  Max Vujovic  <mvujovic@adobe.com>
2448
2449         [CSS Shaders] Remove the cache of validated programs
2450         https://bugs.webkit.org/show_bug.cgi?id=112844
2451
2452         Reviewed by Dean Jackson.
2453
2454         Since we're caching CustomFilterProgram(s) now, we don't need another cache for
2455         CustomFilterValidatedProgram(s). With this patch, CustomFilterProgram stores a reference
2456         to a lazily created CustomFilterValidatedProgram, and CustomFilterGlobalContext no longer
2457         has a validated program cache.
2458
2459         Also, this patch removes the CustomFilterValidatedProgram's stored reference to
2460         CustomFilterGlobalContext. The removal of the validated program cache would cause
2461         this reference to become weak. Validated programs only needed to keep the global context
2462         reference in order to create a CustomFilterCompiledProgram. In this patch, we create
2463         CustomFilterCompiledProgram(s) in FECustomFilter instead of in CustomFilterValidatedProgram,
2464         so validated programs don't need to store the global context reference anymore.
2465
2466         No new tests. Just Refactoring.
2467
2468         * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
2469         (WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
2470         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
2471         (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
2472         * platform/graphics/filters/CustomFilterGlobalContext.h:
2473         (CustomFilterGlobalContext):
2474         * platform/graphics/filters/CustomFilterProgram.cpp:
2475         (WebCore::CustomFilterProgram::validatedProgram):
2476         (WebCore::CustomFilterProgram::setValidatedProgram):
2477         * platform/graphics/filters/CustomFilterProgram.h:
2478         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
2479         (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
2480         (WebCore::CustomFilterValidatedProgram::compiledProgram):
2481         (WebCore::CustomFilterValidatedProgram::setCompiledProgram):
2482         (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram):
2483         * platform/graphics/filters/CustomFilterValidatedProgram.h:
2484         (CustomFilterValidatedProgram):
2485         * platform/graphics/filters/FECustomFilter.cpp:
2486         (WebCore::FECustomFilter::prepareForDrawing):
2487         * rendering/FilterEffectRenderer.cpp:
2488         * rendering/RenderLayer.cpp:
2489         (WebCore::RenderLayer::computeFilterOperations):
2490
2491 2013-04-16  Anthony Scian  <ascian@blackberry.com>
2492
2493         [BlackBerry] LayerTexture: check if the graphics context is NULL
2494         https://bugs.webkit.org/show_bug.cgi?id=114674
2495
2496         Reviewed by Rob Buis.
2497
2498         Internal PR: 256522
2499
2500         * platform/graphics/blackberry/LayerTexture.cpp:
2501         (WebCore::LayerTexture::setContentsToColor):
2502
2503 2013-04-13  Andreas Kling  <akling@apple.com>
2504
2505         REGRESSION(r148128): window.resizeTo doesn't work from Safari address bar.
2506         <rdar://problem/13635894>
2507         <http://webkit.org/b/114561>
2508
2509         Reviewed by Sam Weinig.
2510
2511         Suppressing window geometry changes while any user gesture is active was a bit too restrictive,
2512         and broke legitimate use-cases. Narrow it down to checking EventHandler::mousePressed().
2513
2514         No test yet, adding one is tracked by <http://webkit.org/b/114561>.
2515
2516         * page/DOMWindow.cpp:
2517         (WebCore::DOMWindow::allowedToChangeWindowGeometry):
2518
2519             Added to share code between all DOMWindow functions that alter window geometry.
2520
2521         (WebCore::DOMWindow::moveBy):
2522         (WebCore::DOMWindow::moveTo):
2523         (WebCore::DOMWindow::resizeBy):
2524         (WebCore::DOMWindow::resizeTo):
2525
2526 2013-04-16  Manuel Rego Casasnovas  <rego@igalia.com>
2527
2528         [GTK][EFL] Remove deprecated libsoup API usage
2529         https://bugs.webkit.org/show_bug.cgi?id=104894
2530
2531         Reviewed by Philippe Normand.
2532
2533         Based on a patch by Claudio Saavedra <csaavedra@igalia.com>.
2534         Remove LIBSOUP_USE_UNSTABLE_REQUEST_API and only include
2535         libsoup/soup.h.
2536
2537         * platform/network/ResourceHandleInternal.h:
2538         * platform/network/soup/GOwnPtrSoup.cpp:
2539         * platform/network/soup/ProxyResolverSoup.h:
2540         * platform/network/soup/ResourceErrorSoup.cpp:
2541         * platform/network/soup/ResourceHandleSoup.cpp:
2542         (WebCore::ensureSessionIsInitialized): No need to add the requester
2543         feature.
2544         (WebCore::createSoupRequestAndMessageForHandle): SoupSession has a
2545         requester API, use it.
2546
2547 2013-04-15  Maciej Stachowiak  <mjs@apple.com>
2548
2549         Remove more traces of the now-obsolete support for V8
2550         https://bugs.webkit.org/show_bug.cgi?id=114657
2551
2552         Reviewed by Ryosuke Niwa.
2553
2554         In addition to passing existing tests, I verified that the ElementFactory
2555         and ElementWrapperFactory files were all textually identical before and after.
2556
2557         * dom/CustomEvent.cpp:
2558         (WebCore): Remove Use(V8) bock.
2559         * dom/CustomEvent.h:
2560         (CustomEvent): ditto
2561         * dom/MessageEvent.cpp:
2562         (WebCore::MessageEvent::MessageEvent): ditto
2563         (WebCore::MessageEvent::initMessageEvent): ditto
2564         * dom/Node.h:
2565         (Node): ditto
2566         * dom/make_event_factory.pl:
2567         (generateImplementation): Remove V8 support.
2568         * dom/make_names.pl: Remove gobs of V8 support and simplify.
2569         (printJSElementIncludes): 
2570         (printConditionalElementIncludes):
2571         (printFactoryCppFile):
2572         (printWrapperFunctions):
2573         (printWrapperFactoryCppFile):
2574         (printWrapperFactoryHeaderFile):
2575         * inspector/InjectedScriptCanvasModuleSource.js: Remove V8 stack
2576         trace code.
2577         * platform/qt/PlatformSupport.h: Remove a macro only used for V8 
2578         bindings.
2579         * svg/SVGZoomAndPan.h:
2580         (SVGZoomAndPan): Remove mention of V8 from comment.
2581
2582 2013-04-15  Ryosuke Niwa  <rniwa@webkit.org>
2583
2584         Potential use after free in ApplyStyleCommand::splitAncestorsWithUnicodeBidi
2585         https://bugs.webkit.org/show_bug.cgi?id=114664
2586
2587         Reviewed by Oliver Hunt.
2588
2589         Use RefPtr as needed.
2590
2591         No new tests since this bug was discovered by code inspection.
2592
2593         * editing/ApplyStyleCommand.cpp:
2594         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
2595
2596 2013-04-15  Timothy Hatcher  <timothy@apple.com>
2597
2598         Web Inspector: Make var and function declarations work again in the Console.
2599
2600         https://webkit.org/b/114534
2601         rdar://problem/13614477
2602
2603         Reviewed by Oliver Hunt.
2604
2605         * inspector/InjectedScriptSource.js:
2606         (InjectedScript.prototype._evaluateOn): Use 'with' when not evaluating
2607         on a call frame.
2608
2609 2013-04-15  Seokju Kwon  <seokju.kwon@gmail.com>
2610
2611         Web Inspector: Add missing Localized strings
2612         https://bugs.webkit.org/show_bug.cgi?id=114656
2613
2614         Reviewed by Timothy Hatcher.
2615
2616         No tests because no behavior change is expected.
2617
2618         * English.lproj/localizedStrings.js:
2619
2620 2013-04-15  Dean Jackson  <dino@apple.com>
2621
2622         Rename restartedPlugin to isRestartedPlugin. This was
2623         review feedback from r148038 that I thought I fixed
2624         everywhere but failed.
2625         https://bugs.webkit.org/show_bug.cgi?id=114233
2626
2627         * html/HTMLPlugInElement.h:
2628         (WebCore::HTMLPlugInElement::isRestartedPlugin): Prefix with "is".
2629         * html/HTMLPlugInImageElement.cpp:
2630         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
2631         (WebCore::HTMLPlugInImageElement::setDisplayState):
2632         (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired):
2633         * html/HTMLPlugInImageElement.h:
2634         * rendering/RenderEmbeddedObject.cpp:
2635         (WebCore::RenderEmbeddedObject::paintContents):
2636         * rendering/RenderLayerBacking.cpp:
2637         (WebCore::isRestartedPlugin):
2638
2639 2013-04-15  Maciej Stachowiak  <mjs@apple.com>
2640
2641         Remove V8 attribtues from IDLAttributes.txt
2642         https://bugs.webkit.org/show_bug.cgi?id=114651
2643
2644         Reviewed by Sam Weinig.
2645
2646         No tests because no behavior change is expected.
2647
2648         * bindings/scripts/IDLAttributes.txt: Remove V8 attribtues.
2649         * html/track/TextTrackList.idl: Remove a stray V8-specific attribute
2650         (so I guess this change is not useless)
2651
2652 2013-04-15  James Craig  <james@cookiecrook.com>
2653
2654         WebKit should not expose AXSubrole:AXDescriptionList on Mountain Lion as it causes a regression in VoiceOver behavior
2655         https://bugs.webkit.org/show_bug.cgi?id=113975
2656
2657         Reviewed by Chris Fleizach.
2658
2659         Serve NSAccessibilityDescriptionListSubrole or NSAccessibilityDefinitionListSubrole
2660         depending on platform. Updated existing test coverage.
2661
2662         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2663         (-[WebAccessibilityObjectWrapper subrole]):
2664
2665 2013-04-15  Dean Jackson  <dino@apple.com>
2666
2667         Plugins that resize might need to be snapshotted.
2668         https://bugs.webkit.org/show_bug.cgi?id=102157
2669         <rdar://problem/12696259>
2670
2671         Reviewed by Tim Horton.
2672
2673         A plugin could avoid snapshotting if it started very
2674         small (below the threshold where we autostart), and then
2675         resized to be large (above the threshold). Detect this
2676         case and tell the plugin to snapshot.
2677
2678         There unfortunately is a bit of state to track when doing
2679         this. We have to start the snapshotting in a post-layout
2680         task, so we carry a flag to say we're checking size but
2681         not wanting the plugin to update (which would restart it).
2682         We also might be a plugin that would have already restarted
2683         due to a similar plugin being clicked or detected as dominant.
2684         So this patch introduces a member variable that tracks what
2685         decision has been made on snapshotting.
2686
2687         I also added some more logging to be more clear about what is
2688         happening to plugins going through the snapshot process, and
2689         changed the order of the tests in the algorithm so that domain
2690         detection comes before examining the size.
2691
2692         * html/HTMLPlugInImageElement.cpp:
2693         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initialise
2694             the two new member variables.
2695         (WebCore::HTMLPlugInImageElement::setDisplayState): Mark a restarted
2696             plugin as NeverSnapshot. This means that if it later resizes above the
2697             threshold, it won't trigger the snapshot detection.
2698         (WebCore::HTMLPlugInImageElement::checkSnapshotStatus): Renamed from
2699             updateSnapshotInfo. This now updates the snapshot, but also runs
2700             the check for size changes.
2701         (WebCore::addPlugInsFromNodeListMatchingPlugInOrigin): Gather all plugins
2702             that look like a restarting plugin, not just those snapshotted. That
2703             way they can all be marked as NeverSnapshot.
2704         (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns): Bless every
2705             plugin that looks similar, whether or not it is snapshotted.
2706         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): More logging.
2707         (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Ditto.
2708         (WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting): New
2709             method. If the plugin was below the threshold and is now above it,
2710             begin the snapshotting process.
2711         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Plugins
2712             that were marked as NeverSnapshot should start immediately. Move the origin
2713             test earlier in the method. If a plugin avoided snapshotting due to size,
2714             remember the size.
2715         (WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn): Mark the
2716             plugin as NeverSnapshot.
2717
2718         * html/HTMLPlugInImageElement.h:
2719         (HTMLPlugInImageElement): Four new member variables:
2720             - the decision we made regarding snapshotting (or not), uses the SnapshotDecision enum
2721             - the size when it avoided snapshotting
2722             - a flag to indicate the post layout update was triggered due to
2723               a size change
2724         (WebCore::HTMLPlugInImageElement::needsCheckForSizeChange): New method.
2725         (WebCore::HTMLPlugInImageElement::setNeedsCheckForSizeChange): New method.
2726         (WebCore::HTMLPlugInImageElement::snapshotDecision): Return the decision
2727             regarding snapshotting or not snapshotting.
2728
2729         * page/FrameView.cpp:
2730         (WebCore::FrameView::addWidgetToUpdate): Guard updating the widget. We don't
2731             want to do it when we're checking for a size change in the plugin.
2732         (WebCore::FrameView::updateWidget): Call new name.
2733
2734         * plugins/PluginViewBase.h:
2735         (WebCore::PluginViewBase::beginSnapshottingRunningPlugin): Empty virtual
2736             method to snapshot a running plugin.
2737
2738         * rendering/RenderEmbeddedObject.cpp:
2739         (WebCore::RenderEmbeddedObject::layout): If the plugin has increased in
2740             size add it to the post layout list so that it will be checked.
2741
2742 2013-04-15  Chris Fleizach  <cfleizach@apple.com>
2743
2744         activating a focused link to an in-page fragment ID should transfer focus to the target of the link when possible
2745         https://bugs.webkit.org/show_bug.cgi?id=17450
2746
2747         Reviewed by Maciej Stachowiak.
2748
2749         When a fragment is scrolled to due to an activation event or on load, focus should attempt to 
2750         move to the fragment if possible.
2751
2752         Test: fast/dom/fragment-activation-focuses-target.html
2753
2754         * page/FrameView.cpp:
2755         (WebCore::FrameView::scrollToAnchor):
2756
2757 2013-04-12  Maciej Stachowiak  <mjs@apple.com>
2758
2759         Remove V8-specific extended attributes from IDL files
2760         https://bugs.webkit.org/show_bug.cgi?id=114523
2761
2762         Reviewed by Geoffrey Garen.
2763
2764         No tests because no behavior change is expected.
2765
2766         * Modules/encryptedmedia/MediaKeyMessageEvent.idl:
2767         * Modules/encryptedmedia/MediaKeyNeededEvent.idl:
2768         * Modules/encryptedmedia/MediaKeySession.idl:
2769         * Modules/encryptedmedia/MediaKeys.idl:
2770         * Modules/filesystem/HTMLInputElementFileSystem.idl:
2771         * Modules/indexeddb/IDBAny.idl:
2772         * Modules/mediasource/MediaSource.idl:
2773         * Modules/mediasource/SourceBuffer.idl:
2774         * Modules/mediasource/SourceBufferList.idl:
2775         * Modules/mediastream/MediaStream.idl:
2776         * Modules/webaudio/AudioDestinationNode.idl:
2777         * html/track/TextTrackCue.idl:
2778         * html/track/TextTrackCueList.idl:
2779         * html/track/TextTrackList.idl:
2780         * html/track/TextTrackRegion.idl:
2781         * html/track/TextTrackRegionList.idl:
2782         * html/track/TrackEvent.idl:
2783         * storage/Storage.idl:
2784         * svg/SVGDocument.idl:
2785         * svg/SVGElement.idl:
2786         * workers/WorkerContext.idl:
2787         * xml/XMLHttpRequest.idl:
2788         * xml/XPathNSResolver.idl:
2789
2790 2013-04-15  Anders Carlsson  <andersca@apple.com>
2791
2792         ScriptWrappable subclasses shouldn't have to include WeakInlines.h
2793         https://bugs.webkit.org/show_bug.cgi?id=114641
2794
2795         Reviewed by Alexey Proskuryakov.
2796
2797         Remove ScriptWrappableInlines.h includes, they're not needed anymore.
2798
2799         * css/WebKitCSSMatrix.cpp:
2800         * dom/ClientRect.cpp:
2801         * dom/ClientRectList.cpp:
2802         * dom/Clipboard.cpp:
2803         * dom/DOMStringMap.cpp:
2804         * dom/Event.cpp:
2805         * dom/MutationRecord.cpp:
2806         * fileapi/FileList.cpp:
2807         * page/BarInfo.cpp:
2808         * plugins/DOMMimeTypeArray.cpp:
2809         * plugins/DOMPlugin.cpp:
2810         * plugins/DOMPluginArray.cpp:
2811         * storage/Storage.cpp:
2812
2813 2013-04-15  Igor Oliveira  <igor.o@sisa.samsung.com>
2814
2815         Call directly RenderBlock::deleteLineBoxTree
2816         https://bugs.webkit.org/show_bug.cgi?id=102761
2817
2818         Reviewed by Darin Adler.
2819
2820         Instead of implementing RenderLineBoxList::deleteLineBoxTree logic inside 
2821         RenderBlock::determineStartPosition, we can reuse the code. The commentaries added
2822         in the changeset #86628 are not valid anymore, nextRootBox is casting m_nextLineBox 
2823         and nextLineBox is returning m_nextLineBox.
2824
2825         * rendering/RenderBlockLineLayout.cpp:
2826         (WebCore::RenderBlock::determineStartPosition):
2827
2828 2013-04-15  Anders Carlsson  <andersca@apple.com>
2829
2830         Remove files related to quota and proximity events from the Xcode project
2831         https://bugs.webkit.org/show_bug.cgi?id=114635
2832
2833         Reviewed by Benjamin Poulain.
2834
2835         * WebCore.xcodeproj/project.pbxproj:
2836         * history/PageCache.cpp:
2837         * page/DOMWindow.cpp:
2838
2839 2013-04-15  Patrick Gansterer  <paroga@webkit.org>
2840
2841         [CMake] Add WTF_USE_*_UNICODE variables
2842         https://bugs.webkit.org/show_bug.cgi?id=114556
2843
2844         Reviewed by Brent Fulgham.
2845
2846         WTF_USE_ICU_UNICODE and WTF_USE_WCHAR_UNICODE are used to
2847         reduce duplication in the platform specific CMake files.
2848
2849         * CMakeLists.txt:
2850         * PlatformBlackBerry.cmake:
2851         * PlatformEfl.cmake:
2852         * PlatformWinCE.cmake:
2853
2854 2013-04-15  Eric Carlson  <eric.carlson@apple.com>
2855
2856         HTMLMediaElement::removeTextTrack should clear track client
2857         https://bugs.webkit.org/show_bug.cgi?id=114630
2858
2859         Reviewed by Jer Noble.
2860
2861         No new tests, this is clean-up that prevents a potential crash.
2862
2863         * html/HTMLMediaElement.cpp:
2864         (WebCore::HTMLMediaElement::removeTextTrack): Clear the track client.
2865
2866 2013-04-15  Robert Hogan  <robert@webkit.org>
2867
2868         An inline element with an absolutely positioned child does not correctly calculate/render padding and margin
2869         https://bugs.webkit.org/show_bug.cgi?id=47554
2870
2871         Reviewed by David Hyatt.
2872
2873         When looking for padding/margin to add from the start of a child's parent skip past any leading positioned siblings as 
2874         we don't add the padding/margin of the common parent when skipping past them in |skipLeadingWhitespace|. We
2875         don't need to worry about the case of trailing positioned objects as we will account for their parent's
2876         border/margin/padding when we encounter them in |nextSegmentBreak|.
2877
2878         Test: fast/inline/padding-before-leading-positioned-element-contributes-width.html
2879
2880         * rendering/RenderBlockLineLayout.cpp:
2881         (WebCore::previousInFlowSibling):
2882         (WebCore):
2883         (WebCore::inlineLogicalWidth):
2884
2885 2013-04-15  peavo@outlook.com  <peavo@outlook.com>
2886
2887         [WinCairo] Compile fix.
2888         https://bugs.webkit.org/show_bug.cgi?id=114623
2889
2890         Reviewed by Brent Fulgham.
2891
2892         * platform/network/curl/CookieJarCurl.cpp: Added required header files.
2893
2894 2013-04-15  Rob Buis  <rbuis@rim.com>
2895
2896         Fix some compiler warnings (miscellaneous)
2897         https://bugs.webkit.org/show_bug.cgi?id=80790
2898
2899         Reviewed by Darin Adler.
2900
2901         It does not seem needed to initialize jpeg_create_compress struct to zero,
2902         all that is needed is set the err field. See for instance SkImageDecoder_libjpeg.cpp.
2903
2904         * platform/image-encoders/JPEGImageEncoder.cpp:
2905         (WebCore::compressRGBABigEndianToJPEG):
2906
2907 2013-04-15  Patrick Gansterer  <paroga@webkit.org>
2908
2909         [GTK] Remove platform specific implementation of KURL::fileSystemPath()
2910         https://bugs.webkit.org/show_bug.cgi?id=114133
2911
2912         Reviewed by Martin Robinson.
2913
2914         r147883 added a generic implementation of this function,
2915         which can be used by all ports to share the code.
2916
2917         * GNUmakefile.list.am:
2918         * platform/KURL.cpp:
2919         (WebCore):
2920         * platform/gtk/KURLGtk.cpp: Removed.
2921
2922 2013-04-15  Csaba Osztrogon√°c  <ossy@webkit.org>
2923
2924         Debug buildfix after r148433.
2925         https://bugs.webkit.org/show_bug.cgi?id=108295
2926
2927         Reviewed by Allan Sandfeld Jensen.
2928
2929         * platform/graphics/texmap/TextureMapperLayer.h:
2930         (WebCore::TextureMapperLayer::children): Added.
2931
2932 2013-04-15  Noam Rosenthal  <noam@webkit.org>
2933
2934         Coordinated Graphics: Remove GraphicsLayerTextureMapper dependency from CoordinatedGraphicsScene.
2935         https://bugs.webkit.org/show_bug.cgi?id=108295
2936
2937         Since all the changes to the TextureMapperLayer tree now come in a single IPC message via
2938         CoordinatedGraphicsState, we don't need the additional buffering done in GraphicsLayerTextureMapper.
2939
2940         This reduces unnecessary function calls, and also streamlines GraphicsLayerTextureMapper to be used
2941         only in WebKit1 (without CoordinatedGraphics).
2942
2943         Reviewed by Allan Sandfeld Jensen.
2944
2945         No new tests, refactor only.
2946
2947         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2948         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
2949         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
2950         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
2951         (WebCore::GraphicsLayerTextureMapper::setDrawsContent):
2952         (WebCore::GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded):
2953         (WebCore::GraphicsLayerTextureMapper::updateDebugBorderAndRepaintCount):
2954         (WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
2955         (WebCore):
2956         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2957         (GraphicsLayerTextureMapper):
2958             Removed references to m_hasOwnBackingStore, which was done to separate the CoordinatedGraphics
2959             path from the WK1 path.
2960
2961         * platform/graphics/texmap/TextureMapperLayer.h:
2962         (WebCore::TextureMapperLayer::drawsContent):
2963         (WebCore::TextureMapperLayer::contentsAreVisible):
2964         (WebCore::TextureMapperLayer::size):
2965         (WebCore::TextureMapperLayer::opacity):
2966         (WebCore::TextureMapperLayer::transform):
2967         (WebCore::TextureMapperLayer::isShowingRepaintCounter):
2968         (WebCore::TextureMapperLayer::fixedToViewport):
2969         (TextureMapperLayer):
2970             Added a few public functions needed by CoordinatedGraphicsScene.
2971
2972         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2973         (WebCore::layerShouldHaveBackingStore):
2974         (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
2975         (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
2976         (WebCore::CoordinatedGraphicsScene::adjustPositionForFixedLayers):
2977         (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
2978         (WebCore::CoordinatedGraphicsScene::syncCanvasIfNeeded):
2979         (WebCore::CoordinatedGraphicsScene::destroyCanvasIfNeeded):
2980         (WebCore::CoordinatedGraphicsScene::setLayerRepaintCountIfNeeded):
2981         (WebCore::CoordinatedGraphicsScene::setLayerChildrenIfNeeded):
2982         (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
2983         (WebCore::CoordinatedGraphicsScene::setLayerState):
2984         (WebCore::CoordinatedGraphicsScene::getLayerByIDIfExists):
2985         (WebCore::CoordinatedGraphicsScene::createLayer):
2986         (WebCore::CoordinatedGraphicsScene::deleteLayer):
2987         (WebCore::CoordinatedGraphicsScene::setRootLayerID):
2988         (WebCore::CoordinatedGraphicsScene::prepareContentBackingStore):
2989         (WebCore::CoordinatedGraphicsScene::createBackingStoreIfNeeded):
2990         (WebCore::CoordinatedGraphicsScene::removeBackingStoreIfNeeded):
2991         (WebCore::CoordinatedGraphicsScene::resetBackingStoreSizeToLayerSize):
2992         (WebCore::CoordinatedGraphicsScene::createTilesIfNeeded):
2993         (WebCore::CoordinatedGraphicsScene::removeTilesIfNeeded):
2994         (WebCore::CoordinatedGraphicsScene::updateTilesIfNeeded):
2995         (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
2996         (WebCore::CoordinatedGraphicsScene::commitSceneState):
2997         (WebCore::CoordinatedGraphicsScene::ensureRootLayer):
2998         (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
2999         (WebCore::CoordinatedGraphicsScene::findScrollableContentsLayerAt):
3000         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
3001         (CoordinatedGraphicsScene):
3002         (WebCore::CoordinatedGraphicsScene::layerByID):
3003         (WebCore::CoordinatedGraphicsScene::rootLayer):
3004             Use TextureMapperLayer instead of GraphicsLayer and GraphicsLayerTextureMapper.
3005
3006 2013-04-15  Antti Koivisto  <antti@apple.com>
3007
3008         Dynamically triggered subframe loads are causing tile churn
3009         https://bugs.webkit.org/show_bug.cgi?id=114440
3010         
3011         Reviewed by Andreas Kling.
3012         
3013         In some cases we switch in and out of minimal tiles multiple times during page loading. This
3014         creates tile churn where we create speculative tiles and then throw them out. This can be
3015         caused by various reasons including dynamically created subframes.
3016
3017         * page/FrameView.cpp:
3018         (WebCore::FrameView::setIsVisuallyNonEmpty):
3019         
3020             Stay in minimal tiles modes until there is some visual contents. This avoids switching out from minimal
3021             tiles while awaiting response for the initial requests.
3022
3023         * page/FrameView.h:
3024         * rendering/RenderLayerBacking.cpp:
3025         (WebCore::RenderLayerBacking::RenderLayerBacking):
3026         (WebCore::computeTileCoverage):
3027         * rendering/RenderLayerBacking.h:
3028         (WebCore::RenderLayerBacking::didSwitchToFullTileCoverageDuringLoading):
3029         (WebCore::RenderLayerBacking::setDidSwitchToFullTileCoverageDuringLoading):
3030         
3031             Only switch into minimal coverage mode once per page load.
3032
3033         (RenderLayerBacking):
3034
3035 2013-04-15  Rune Lillesveen  <rune@opera.com>
3036
3037         color-index media feature not supported
3038         https://bugs.webkit.org/show_bug.cgi?id=114468
3039
3040         Reviewed by Kenneth Rohde Christiansen.
3041
3042         Support the color-index media feature. Currently assumes that no WebKit
3043         browser will have an output device that uses a color lookup table.
3044
3045         Tests: fast/media/mq-color-index-01.html
3046                fast/media/mq-color-index-02.html
3047
3048         * css/MediaFeatureNames.h:
3049         (MediaFeatureNames):
3050         * css/MediaQueryEvaluator.cpp:
3051         (WebCore::color_indexMediaFeatureEval):
3052         (WebCore):
3053         (WebCore::min_color_indexMediaFeatureEval):
3054         (WebCore::max_color_indexMediaFeatureEval):
3055         * css/MediaQueryExp.cpp:
3056         (WebCore::featureWithPositiveInteger):
3057         (WebCore::featureWithoutValue):
3058
3059 2013-04-15  Balazs Kelemen  <kbalazs@webkit.org>
3060
3061         [CoordGfx] Background color should not be part of GraphicsLayerState
3062         https://bugs.webkit.org/show_bug.cgi?id=113785
3063
3064         Page background is independent from layer state, send it to the UI
3065         as soon as possible.
3066
3067         Should not cause observable change in behavior so no new tests.
3068
3069         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
3070         (WebCore::CoordinatedGraphicsScene::commitSceneState):
3071         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
3072
3073 2013-04-15  Carlos Garcia Campos  <cgarcia@igalia.com>
3074
3075         [BlackBerry] Filesystem callback notifyCreateSnapshotFileAndReadMetadata can be called on the wring thread
3076         https://bugs.webkit.org/show_bug.cgi?id=114610
3077
3078         Reviewed by Xan Lopez.
3079
3080         Override notifyCreateSnapshotFileAndReadMetadata to make sure the
3081         callback is called on the right thread.
3082
3083         Fixes a crash in several fast/filesystem test in debug builds.
3084
3085         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp:
3086         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadata):
3087         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadataOnWorkerThread):
3088         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.h:
3089
3090 2013-04-15  Arvid Nilsson  <anilsson@rim.com>
3091
3092         [BlackBerry][CSS Filters] Non-image content disappears when filter applied
3093         https://bugs.webkit.org/show_bug.cgi?id=114498
3094
3095         Reviewed by Carlos Garcia Campos.
3096
3097         Applying a filter to a div with simple text content caused the div to
3098         disappear.
3099
3100         In https://bugs.webkit.org/show_bug.cgi?id=114276, we added some GL
3101         state save/restore code for vertex attributes to make sure the state
3102         changes done by BlackBerry::Platform::Graphics don't interfere with
3103         GL code executing in WebKit. However, saving and restoring vertex
3104         attribute state won't do much good if those attributes were never
3105         enabled to begin with. Fixed by enabling vertex attributes
3106         appropriately when setting them, so that state can be saved and
3107         restored.
3108
3109         All the CSS Filters layout tests apply the filters to simple rectangles
3110         or images, there's nothing sufficiently complex that we manage to
3111         trigger this GL state conflict in the BlackBerry port. This suggests
3112         adding a new platform-specific layout test would be appropriate, but
3113         since we don't use pixel tests yet, such a test would not help detect
3114         regressions. Ultimately we decided against adding a layout test for
3115         this bug at this time.
3116
3117         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
3118         (WebCore::LayerFilterRenderer::applyActions):
3119
3120 2013-04-14  Jaehun Lim  <ljaehun.lim@samsung.com>
3121
3122         [css3-text] Parsing -webkit-hanging value for text-indent from css3-text
3123         https://bugs.webkit.org/show_bug.cgi?id=113680
3124
3125         Reviewed by Andreas Kling.
3126
3127         This patch is the parsing part to support hanging value for text-indent.
3128         "hanging" means "Inverts which lines are affected."
3129         It's prefixed and guarded by CSS3_TEXT flag.
3130
3131         No new tests, this patch updates existing tests.
3132
3133         * css/CSSComputedStyleDeclaration.cpp:
3134         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3135         * css/CSSParser.cpp:
3136         (WebCore::CSSParser::parseTextIndent): Parsed "-webkit-hanging" with "-webkit-each-line".
3137         * css/CSSValueKeywords.in: Added "-webkit-hanging" keyword.
3138         * css/DeprecatedStyleBuilder.cpp:
3139         (WebCore::ApplyPropertyTextIndent::applyInheritValue):
3140         (WebCore::ApplyPropertyTextIndent::applyInitialValue):
3141         (WebCore::ApplyPropertyTextIndent::applyValue):
3142         * rendering/style/RenderStyle.h:
3143         * rendering/style/RenderStyleConstants.h: Added enum TextIndentType.
3144         * rendering/style/StyleRareInheritedData.cpp:
3145         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
3146         (WebCore::StyleRareInheritedData::operator==):
3147         * rendering/style/StyleRareInheritedData.h: Added m_textIndentType.
3148         (StyleRareInheritedData):
3149             Added the usual getter / setter / initial methods for m_textIndentType.
3150
3151 2013-04-14  Sam Weinig  <sam@webkit.org>
3152
3153         Move Mac specific snapshotting code into its own file
3154         https://bugs.webkit.org/show_bug.cgi?id=114597
3155
3156         Reviewed by Andreas Kling.
3157
3158         * WebCore.exp.in:
3159         * WebCore.xcodeproj/project.pbxproj:
3160         * bindings/objc/DOM.mm:
3161         (-[DOMRange renderedImageForcingBlackText:]):
3162         * page/Frame.h:
3163         * page/mac/FrameMac.mm:
3164         (WebCore::Frame::nodeImage):
3165         (WebCore::Frame::dragImageForSelection):
3166         * page/mac/FrameSnapshottingMac.h: Added.
3167         * page/mac/FrameSnapshottingMac.mm: Added.
3168         (WebCore::imageFromRect):
3169         (WebCore::selectionImage):
3170         (WebCore::rangeImage):
3171         (WebCore::snapshotDragImage):
3172         * platform/mac/ClipboardMac.mm:
3173         (WebCore::ClipboardMac::dragNSImage):
3174         Move the four Mac specific snapshotting functions in Frame.h into FrameSnapshottingMac.h/mm and turn
3175         them into free standing functions.
3176
3177 2013-04-14  Andreas Kling  <akling@apple.com>
3178
3179         Hawtfix Mac build.
3180
3181         * WebCore.exp.in:
3182
3183 2013-04-14  Andreas Kling  <akling@apple.com>
3184
3185         Only MutableStylePropertySets should be able to have CSSOM wrappers.
3186         <http://webkit.org/b/114595>
3187
3188         Reviewed by Antti Koivisto.
3189
3190         Tighten typing so that only MutableStylePropertySets can have CSSOM wrappers associated.
3191         This allows us to get rid of the out-of-line base class destructor.
3192
3193         * WebCore.exp.in:
3194         * css/StylePropertySet.cpp:
3195         (WebCore::MutableStylePropertySet::~MutableStylePropertySet):
3196         (WebCore::MutableStylePropertySet::cssStyleDeclaration):
3197         (WebCore::MutableStylePropertySet::ensureInlineCSSStyleDeclaration):
3198         * css/StylePropertySet.h:
3199         (StylePropertySet):
3200         (MutableStylePropertySet):
3201         * dom/StyledElement.cpp:
3202         (WebCore::StyledElement::inlineStyleCSSOMWrapper):
3203
3204 2013-04-14  Andreas Kling  <akling@apple.com>
3205
3206         Remove unused function declaration StylePropertySet::setNeedsStyleRecalc().
3207
3208         Rubber-stamped by Antti Koivisto.
3209
3210         * css/StylePropertySet.h:
3211         (StylePropertySet):
3212
3213 2013-04-14  Andreas Kling  <akling@apple.com>
3214
3215         Move StylePropertySet internal storage access helpers to subclass.
3216         <http://webkit.org/b/114592>
3217
3218         Reviewed by Antti Koivisto.
3219
3220         Removed mutablePropertyVector() since most call sites are inside MutableStylePropertySet
3221         and can access m_propertyVector directly. The few ones that aren't can just cast.
3222
3223         For ImmutableStylePropertySet, moved value/metadata array accessors to the subclass
3224         and remove "immutable" from their names.
3225
3226         * css/StylePropertySet.cpp:
3227         (WebCore::StylePropertySet::immutableCopyIfNeeded):
3228         (WebCore::ImmutableStylePropertySet::ImmutableStylePropertySet):
3229         (WebCore::ImmutableStylePropertySet::~ImmutableStylePropertySet):
3230         (WebCore::MutableStylePropertySet::MutableStylePropertySet):
3231         (WebCore::MutableStylePropertySet::removeProperty):
3232         (WebCore::MutableStylePropertySet::removePrefixedOrUnprefixedProperty):
3233         (WebCore::MutableStylePropertySet::setProperty):
3234         (WebCore::MutableStylePropertySet::appendPrefixingVariantProperty):
3235         (WebCore::MutableStylePropertySet::parseDeclaration):
3236         (WebCore::MutableStylePropertySet::addParsedProperties):
3237         (WebCore::MutableStylePropertySet::clear):
3238         (WebCore::MutableStylePropertySet::removePropertiesInSet):
3239         (WebCore::MutableStylePropertySet::findCSSPropertyWithID):
3240         (WebCore::MutableStylePropertySet::removeEquivalentProperties):
3241         (WebCore::StylePropertySet::reportMemoryUsage):
3242         * css/StylePropertySet.h:
3243         (PropertyReference):
3244         (StylePropertySet):
3245         (ImmutableStylePropertySet):
3246         (WebCore::ImmutableStylePropertySet::valueArray):
3247         (WebCore::ImmutableStylePropertySet::metadataArray):
3248         (WebCore::StylePropertySet::PropertyReference::propertyMetadata):
3249         (WebCore::StylePropertySet::PropertyReference::propertyValue):
3250         (WebCore::StylePropertySet::propertyCount):
3251
3252 2013-04-14  Andreas Kling  <akling@apple.com>
3253
3254         Specialize propertyCount() in StylePropertySet subclasses.
3255         <http://webkit.org/b/114590>
3256
3257         Reviewed by Antti Koivisto.
3258
3259         Avoid branching on m_isMutable in code that already knows which type of set it is.
3260
3261         * css/StylePropertySet.h:
3262         (WebCore::ImmutableStylePropertySet::propertyCount):
3263         (ImmutableStylePropertySet):
3264         (WebCore::MutableStylePropertySet::propertyCount):
3265         (MutableStylePropertySet):
3266
3267 2013-04-14  Andreas Kling  <akling@apple.com>
3268
3269         Move property setting/removing functions to MutableStylePropertySet.
3270         <http://webkit.org/b/114589>
3271
3272         Reviewed by Antti Koivisto.
3273
3274         Move all functions for setting/removing properties from StylePropertySet to MutableStylePropertySet.
3275         Had to change SVGElement::animatedSMILStyleProperties() & friends to hand out MutableStylePropertySet*
3276         which was always the internal type anyway.
3277
3278         * css/StylePropertySet.cpp:
3279         (WebCore::MutableStylePropertySet::removeShorthandProperty):
3280         (WebCore::MutableStylePropertySet::removeProperty):
3281         (WebCore::MutableStylePropertySet::removePrefixedOrUnprefixedProperty):
3282         (WebCore::MutableStylePropertySet::setProperty):
3283         (WebCore::MutableStylePropertySet::appendPrefixingVariantProperty):
3284         (WebCore::MutableStylePropertySet::setPrefixingVariantProperty):
3285         (WebCore::MutableStylePropertySet::mergeAndOverrideOnConflict):
3286         (WebCore::MutableStylePropertySet::removeBlockProperties):
3287         (WebCore::MutableStylePropertySet::removePropertiesInSet):
3288         (WebCore::MutableStylePropertySet::findCSSPropertyWithID):
3289         (WebCore::MutableStylePropertySet::removeEquivalentProperties):
3290         * css/StylePropertySet.h:
3291         (StylePropertySet):
3292         (MutableStylePropertySet):
3293         * editing/ApplyStyleCommand.cpp:
3294         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3295         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
3296         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
3297         * editing/EditingStyle.cpp:
3298         (WebCore::EditingStyle::triStateOfStyle):
3299         (WebCore::removePropertiesInStyle):
3300         (WebCore::reconcileTextDecorationProperties):
3301         * svg/SVGAnimateElement.cpp:
3302         (WebCore::applyCSSPropertyToTarget):
3303         * svg/SVGElement.cpp:
3304         (WebCore::SVGElement::animatedSMILStyleProperties):
3305         (WebCore::SVGElement::ensureAnimatedSMILStyleProperties):
3306         * svg/SVGElement.h:
3307         (SVGElement):
3308         * svg/SVGElementRareData.h:
3309         (WebCore::SVGElementRareData::animatedSMILStyleProperties):
3310         (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
3311         (SVGElementRareData):
3312
3313 2013-04-14  Andreas Kling  <akling@apple.com>
3314
3315         EditingStyle should have a MutableStylePropertySet internally.
3316         <http://webkit.org/b/114588>
3317
3318         Reviewed by Anders Carlsson.
3319
3320         Switch EditingStyle::m_mutableStyle to a RefPtr<MutableStylePropertySet>.
3321
3322         * css/StylePropertySet.cpp:
3323         (WebCore::StylePropertySet::copyBlockProperties):
3324         * css/StylePropertySet.h:
3325         (StylePropertySet):
3326         * editing/EditingStyle.cpp:
3327         (WebCore::EditingStyle::setStyle):
3328         (WebCore::EditingStyle::mergeStyleFromRules):
3329         (WebCore::StyleChange::StyleChange):
3330         (WebCore::setTextDecorationProperty):
3331         (WebCore::StyleChange::extractTextStyles):
3332         (WebCore::diffTextDecorations):
3333         (WebCore::getPropertiesNotIn):
3334         * editing/EditingStyle.h:
3335         (WebCore::EditingStyle::style):
3336         (EditingStyle):
3337         (StyleChange):
3338
3339 2013-04-14  Andreas Kling  <akling@apple.com>
3340
3341         Move addParsedProperty/addParsedProperties to MutableStylePropertySet.
3342         <http://webkit.org/b/114587>
3343
3344         Reviewed by Antti Koivisto.
3345
3346         All CSSParser methods that mutate an existing StylePropertySet now take a MutableStylePropertySet*
3347         instead of a StylePropertySet*.
3348
3349         * css/CSSParser.cpp:
3350         (WebCore::parseColorValue):
3351         (WebCore::parseSimpleLengthValue):
3352         (WebCore::parseKeywordValue):
3353         (WebCore::parseTranslateTransformValue):
3354         (WebCore::CSSParser::parseValue):
3355         (WebCore::CSSParser::parseDeclaration):
3356         * css/CSSParser.h:
3357         (CSSParser):
3358         * css/StylePropertySet.cpp:
3359         (WebCore::StylePropertySet::setProperty):
3360         (WebCore::MutableStylePropertySet::addParsedProperties):
3361         (WebCore::MutableStylePropertySet::addParsedProperty):
3362         * css/StylePropertySet.h:
3363         (StylePropertySet):
3364         (MutableStylePropertySet):
3365         * css/ViewportStyleResolver.h:
3366         (ViewportStyleResolver):
3367
3368 2013-04-14  Andreas Kling  <akling@apple.com>
3369
3370         CSSParser should return ImmutableStylePropertySets.
3371         <http://webkit.org/b/114585>
3372
3373         Reviewed by Anders Carlsson.
3374
3375         The StylePropertySets created by CSSParser were already immutable.
3376         Let this be reflected in the pointer types returned.
3377
3378         * css/CSSParser.cpp:
3379         (WebCore::CSSParser::parseInlineStyleDeclaration):
3380         (WebCore::CSSParser::parseDeclaration):
3381         (WebCore::CSSParser::createStylePropertySet):
3382         * css/CSSParser.h:
3383         (CSSParser):
3384
3385 2013-04-14  Andreas Kling  <akling@apple.com>
3386
3387         Move StylePropertySet::createImmutable() to ImmutableStylePropertySet.
3388         <http://webkit.org/b/114584>
3389
3390         Reviewed by Anders Carlsson.
3391
3392         StylePropertySet::createImmutable() -> ImmutableStylePropertySet::create()
3393         Also, immutableCopyIfNeeded() now returns a PassRefPtr<ImmutableStylePropertySet>.
3394
3395         * css/CSSParser.cpp:
3396         (WebCore::CSSParser::createStylePropertySet):
3397         * css/StylePropertySet.cpp:
3398         (WebCore::ImmutableStylePropertySet::create):
3399         (WebCore::StylePropertySet::immutableCopyIfNeeded):
3400         * css/StylePropertySet.h:
3401         (StylePropertySet):
3402         (ImmutableStylePropertySet):
3403
3404 2013-04-14  Andreas Kling  <akling@apple.com>
3405
3406         Move parseDeclaration() and clear() to MutableStylePropertySet.
3407         <http://webkit.org/b/114583>
3408
3409         Reviewed by Anders Carlsson.
3410
3411         ...and remove ASSERT(isMutable()) from the function bodies.
3412
3413         * svg/SVGFontFaceElement.cpp:
3414         (WebCore::SVGFontFaceElement::removedFrom):
3415
3416             Use clear() directly instead of taking an empty string through the CSS parser.
3417
3418         * css/StylePropertySet.cpp:
3419         (WebCore::MutableStylePropertySet::parseDeclaration):
3420         (WebCore::MutableStylePropertySet::clear):
3421         * css/StylePropertySet.h:
3422         (StylePropertySet):
3423         (MutableStylePropertySet):
3424         * dom/StyledElement.cpp:
3425         (WebCore::StyledElement::setInlineStyleFromString):
3426
3427 2013-04-14  Andreas Kling  <akling@apple.com>
3428
3429         Move CSSOM classes to using MutableStylePropertySet over StylePropertySet.
3430         <http://webkit.org/b/114581>
3431
3432         Reviewed by Anders Carlsson.
3433
3434         Moved ensureCSSStyleDeclaration() and ensureInlineCSSStyleDeclaration() from StylePropertySet
3435         to MutableStylePropertySet.
3436
3437         StyleRule & co now return a MutableStylePropertySet* from mutableProperties() to aid with...
3438
3439         CSSStyleDeclaration now only deals with MutableStylePropertySets. This was already the case
3440         in practice, we just didn't have any compile-time foot-shooting protection.
3441         In other words, if there's a CSSOM wrapper for a given StylePropertySet, it's guaranteed to
3442         be mutable, and the pointer types now reflect this.
3443
3444         * WebCore.exp.in:
3445         * css/PropertySetCSSStyleDeclaration.cpp:
3446         (WebCore::StyleRuleCSSStyleDeclaration::StyleRuleCSSStyleDeclaration):
3447         (WebCore::StyleRuleCSSStyleDeclaration::reattach):
3448         * css/PropertySetCSSStyleDeclaration.h:
3449         (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
3450         (PropertySetCSSStyleDeclaration):
3451         (WebCore::StyleRuleCSSStyleDeclaration::create):
3452         (StyleRuleCSSStyleDeclaration):
3453         (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
3454         * css/StylePropertySet.cpp:
3455         (WebCore::MutableStylePropertySet::ensureCSSStyleDeclaration):
3456         (WebCore::MutableStylePropertySet::ensureInlineCSSStyleDeclaration):
3457         * css/StylePropertySet.h:
3458         (StylePropertySet):
3459         (MutableStylePropertySet):
3460         * css/StyleRule.cpp:
3461         (WebCore::StyleRule::mutableProperties):
3462         (WebCore::StyleRulePage::mutableProperties):
3463         (WebCore::StyleRuleFontFace::mutableProperties):
3464         (WebCore::StyleRuleViewport::mutableProperties):
3465         (WebCore::StyleRuleFilter::mutableProperties):
3466         * css/StyleRule.h:
3467         (StyleRule):
3468         (StyleRuleFontFace):
3469         (StyleRulePage):
3470         (StyleRuleViewport):
3471         (StyleRuleFilter):
3472         * css/WebKitCSSKeyframeRule.cpp:
3473         (WebCore::StyleKeyframe::mutableProperties):
3474         * css/WebKitCSSKeyframeRule.h:
3475         (StyleKeyframe):
3476         * dom/Attr.cpp:
3477         (WebCore::Attr::style):
3478         * dom/Attr.h:
3479         (Attr):
3480         * editing/EditingStyle.cpp:
3481         (WebCore::EditingStyle::removeStyleAddedByNode):