Try to fix the debug build after r130699
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-10-08  Martin Robinson  <mrobinson@igalia.com>
2
3         Try to fix the debug build after r130699
4
5         Move the assignment of the ResourceHandleInternal local to before
6         the include statement where it is used.
7
8         * platform/network/soup/ResourceHandleSoup.cpp:
9         (WebCore::createSoupMessageForHandleAndRequest):
10
11 2012-10-08  Nate Chapin  <japhet@chromium.org>
12
13         Post-r130226 Cleanup: Comment a complicated if statement and make it a helper.
14         https://bugs.webkit.org/show_bug.cgi?id=98463
15
16         Reviewed by Eric Seidel.
17
18         No new tests, refactor only.
19
20         * rendering/RenderLayer.cpp:
21         (WebCore::frameElementAndViewPermitScroll):
22         (WebCore::RenderLayer::scrollRectToVisible):
23
24 2012-10-06  Martin Robinson  <mrobinson@igalia.com>
25
26         [Soup] Simplify the way that requests are started
27         https://bugs.webkit.org/show_bug.cgi?id=98532
28
29         Reviewed by Gustavo Noronha Silva.
30
31         Simplify the creation of the libsoup request and message when kicking off
32         requests, by elminating a bit of duplicate code.
33
34         No new tests. This should not change any behavior.
35
36         * platform/network/ResourceHandle.h:
37         (ResourceHandle):
38         * platform/network/soup/ResourceHandleSoup.cpp:
39         (WebCore):
40         (WebCore::ResourceHandleInternal::soupSession): Ensure the session
41         is initialized when passing it to the caller.
42         (WebCore::createSoupMessageForHandleAndRequest): Added this helper which
43         takes care of creating the SoupMessage for HTTP/HTTPS requests.
44         (WebCore::createSoupRequestAndMessageForHandle): Collapsed the HTTP and
45         non-HTTP request creation into this helper.
46         (WebCore::ResourceHandle::start): Call the new helper now and then sendPendingRequest.
47         (WebCore::ResourceHandle::sendPendingRequest): Instead of having special
48         helpers to create and send the request, duplicating the logic for sending it
49         across the file, add this method which can be used in both cases.
50         (WebCore::waitingToSendRequest): Reworked the hasBeenSent method to answer
51         the question of whether or not the request is ready to be sent, but is unsent.
52         (WebCore::ResourceHandle::platformSetDefersLoading): Use the new helper.
53         * platform/network/soup/ResourceRequest.h:
54         (ResourceRequest): Added a new method for getting the URL string for soup.
55         * platform/network/soup/ResourceRequestSoup.cpp:
56         (WebCore::ResourceRequest::urlStringForSoup): Added.
57
58 2012-10-08  Eric Seidel  <eric@webkit.org>
59
60         Make no-column table-layout cases a little faster with inlining
61         https://bugs.webkit.org/show_bug.cgi?id=98566
62
63         Reviewed by Julien Chaffraix.
64
65         This change is almost not worth it at only a couple percent boost on
66         http://www.robohornet.org/tests/resizecol.html
67         However, I think the logicalWidthFromTableColumn split it kinda nice
68         so I've decided to post it anyway.
69
70         * rendering/RenderTable.cpp:
71         (WebCore::RenderTable::slowColElement):
72         * rendering/RenderTable.h:
73         (WebCore::RenderTable::colElement):
74         (RenderTable):
75         * rendering/RenderTableCell.cpp:
76         (WebCore::RenderTableCell::logicalWidthFromTableColumn):
77         * rendering/RenderTableCell.h:
78         (WebCore::RenderTableCell::styleOrColLogicalWidth):
79         (RenderTableCell):
80
81 2012-10-08  Arpita Bahuguna  <arpitabahuguna@gmail.com>
82
83         Rename RenderObject::firstLineStyleSlowCase() to a more appropriate cachedFirstLineStyle()
84         https://bugs.webkit.org/show_bug.cgi?id=98631
85
86         Reviewed by Eric Seidel.
87
88         Renaming firstLineStyleSlowCase() to cachedFirstLineStyle().
89
90         The current name is confusing since the function actually gets the
91         the cached first-line styles.
92         It also makes the name more descriptive of its functionality
93         and in accordance with RenderObject::uncachedFirstLineStyle().
94
95         No new tests required for this change since no change in behavior is expected.
96
97         * rendering/RenderObject.cpp:
98         (WebCore::RenderObject::cachedFirstLineStyle):
99         * rendering/RenderObject.h:
100         (WebCore::RenderObject::firstLineStyle):
101         (RenderObject):
102         Renamed RenderObject::firstLineStyleSlowCase() to cachedFirstLineStyle()
103         and made the associated changes.
104
105 2012-10-08  Sami Kyostila  <skyostil@chromium.org>
106
107         Some non-scrollable elements are added to non-fast-scrollable region
108         https://bugs.webkit.org/show_bug.cgi?id=97927
109
110         Reviewed by James Robinson.
111
112         Only RenderLayers that can actually be scrolled should be added to the
113         ScrollingCoordinator's non-fast scrollable region. Otherwise we may
114         needlessly fall back to main thread scrolling.
115
116         Test: ScrollingCoordinatorChromiumTest.clippedBodyTest
117
118         * rendering/RenderLayer.cpp:
119         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
120         (WebCore::RenderLayer::updateScrollbarsAfterStyleChange):
121
122 2012-10-08  Simon Fraser  <simon.fraser@apple.com>
123
124         Move layerTreeAsText to window.internals
125         https://bugs.webkit.org/show_bug.cgi?id=98690
126
127         Reviewed by James Robinson.
128
129         Add window.internals.layerTreeAsText(document), and change the tests to use it.
130         I'll remove testRunner.layerTreeAsText() in a later patch.
131
132         * testing/Internals.cpp:
133         (WebCore::Internals::layerTreeAsText):
134         * testing/Internals.h:
135         (Internals):
136         * testing/Internals.idl:
137
138 2012-10-08  Jon Lee  <jonlee@apple.com>
139
140         Add render object that paints plugin snapshots
141         https://bugs.webkit.org/show_bug.cgi?id=98322
142         <rdar://problem/12426546>
143
144         Reviewed by Simon Fraser.
145
146         First, teach plugins to maintain a set of states when plugin snapshotting is enabled.
147
148         Second, a new RenderSnapshottedPlugIn class is a RenderEmbeddedObject that knows how to paint
149         snapshots when the plugin is not visibly playing. It maintains a RenderImageResource to
150         the generated poster image.
151
152         * html/HTMLPlugInElement.cpp:
153         (WebCore::HTMLPlugInElement::HTMLPlugInElement): By default all plugins play on load.
154         * html/HTMLPlugInElement.h: Move the inheritance of ImageLoaderClientBase down to
155         HTMLPlugInImageElement, since that is the class that actually deals with image-based plugins.
156         (WebCore::HTMLPlugInElement::displayState): Add bit for display state.
157         (WebCore::HTMLPlugInElement::setDisplayState):
158         (WebCore::HTMLPlugInElement::updateSnapshot):
159
160         * html/HTMLPlugInImageElement.cpp:
161         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): If plugin snapshotting is
162         enabled, plugin state is set to wait for a poster image.
163         (WebCore::HTMLPlugInImageElement::createRenderer): Create RenderSnapshottedPlugIn if
164         plugin snapshotting is enabled.
165         (WebCore::HTMLPlugInImageElement::updateSnapshot): Once a snapshot is available, update the
166         renderer and set its state to wait for user input to start the plugin.
167         * html/HTMLPlugInImageElement.h:
168         (HTMLPlugInImageElement):
169
170         * rendering/RenderObject.h:
171         (WebCore::RenderObject::isSnapshottedPlugIn): Add new function to identify
172         RenderSnapshottedPlugIn instances. Since RenderSnapshottedPlugIn inherits from
173         RenderEmbeddedObject, isEmbeddedObject() still returns true.
174         * rendering/RenderEmbeddedObject.h:
175         (RenderEmbeddedObject): Elevate a few virtual methods to protected for
176         RenderSnapshottedPlugIn to override.
177
178         * rendering/RenderSnapshottedPlugIn.cpp: Added.
179         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): Initialize snapshot
180         resource.
181         (WebCore::RenderSnapshottedPlugIn::~RenderSnapshottedPlugIn): Shut down snapshot
182         image resource to remove the renderer as a client, and remove image from memory cache.
183         (WebCore::RenderSnapshottedPlugIn::plugInImageElement): Convenience function to get the
184         HTML element.
185         (WebCore::RenderSnapshottedPlugIn::updateSnapshot): Cache the snapshot, and repaint.
186         (WebCore::RenderSnapshottedPlugIn::paint): If the plugin is not playing, paint like a
187         RenderImage does.
188         (WebCore::RenderSnapshottedPlugIn::paintReplaced): Paint the snapshot and overlay if the
189         plugin is not playing.
190         (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshot): Inspired by
191         RenderImage::paintReplaced() and RenderImage::paintIntoRect().
192         * rendering/RenderSnapshottedPlugIn.h: Added.
193         (WebCore::RenderSnapshottedPlugIn::isSnapshottedPlugin): Returns true.
194
195         * rendering/RenderTheme.h: Add a function that paints the overlay on top of the snapshot.
196         * rendering/RenderThemeMac.h:
197         * rendering/RenderThemeMac.mm:
198         (WebCore::RenderThemeMac::paintPlugInSnapshotOverlay):
199
200         * WebCore.xcodeproj/project.pbxproj: Add new RenderSnapshottedPlugIn class.
201         * CMakeLists.txt: Ditto.
202         * GNUmakefile.list.am: Ditto.
203         * Target.pri: Ditto.
204         * WebCore.gypi: Ditto.
205         * WebCore.vcproj/WebCore.vcproj: Ditto.
206         * rendering/RenderingAllInOne.cpp: Ditto.
207
208 2012-10-08  Hans Muller  <hmuller@adobe.com>
209
210         [CSS Exclusions] Add support for polygonal shapes
211         https://bugs.webkit.org/show_bug.cgi?id=96811
212
213         Reviewed by Dirk Schulze.
214
215         Initial version of the layout support for polygonal exclusion shapes: the ExclusionPolygon class.
216         Supports the public ExclusionShape operations using the algorithm described here:
217         http://hansmuller-webkit.blogspot.com/2012/06/horizontal-box-polygon-intersection-for.html.
218         Although both the "included" and "excluded" operations are supported, only the former is
219         used, since only shape-inside is supported at the moment.
220
221         The ExclusionPolygon class stores the polygon's edges in an interval tree.
222
223         Polygon edges are represented by the ExclusionPolygonEdge struct, which records the indices of
224         the pair of vertices joined by the edge.  Edge vertex index1 is usually less than index2, except
225         the last edge where index2 is 0.  We plan to improve the algorithm that creates the edges
226         by spanning vertices contained in sequences of more than two colinear vertices. For example,
227         a triangular polygon might be specified with 5 vertices like this: 3,0 5,0, 5,5, 4,4 2,2, 0,0.
228         By spanning the extra colinear points: 0,0 5,0, 5,5, which implies index1-index2 edges: 5-1 1-2 2-5.
229
230         Although the implementation supports complex polygons, the layout code is limited to
231         essentially rectangular shapes until a patch for https://bugs.webkit.org/show_bug.cgi?id=96813
232         lands.
233
234         Tests: fast/exclusions/shape-inside/shape-inside-polygon-rectangle.html
235                fast/exclusions/shape-inside/shape-inside-simple-polygon-001.html
236                fast/exclusions/shape-inside/shape-inside-simple-polygon-002.html
237                fast/exclusions/shape-inside/shape-inside-simple-polygon-003.html
238                fast/exclusions/shape-inside/shape-inside-simple-polygon-004.html
239
240         * CMakeLists.txt:
241         * GNUmakefile.list.am:
242         * Target.pri:
243         * WebCore.gypi:
244         * WebCore.vcproj/WebCore.vcproj:
245         * WebCore.xcodeproj/project.pbxproj:
246         * rendering/ExclusionPolygon.cpp: Added.
247         (WebCore):
248         (EdgeIntersection): Internal description of the intersection of a polygon edge and a horizontal line.
249         (WebCore::ExclusionPolygon::ExclusionPolygon): See the introductory text above for a description of this type.
250         (WebCore::computeXIntersection): Find and classify the X intercept of a polygon edge with horizontal line, if any.
251         (WebCore::ExclusionPolygon::rightVertexY): This method is used to decide if a horizontal line "crosses" a vertex.
252         (WebCore::appendIntervalX): Append an x coordinate to a vector of ExclusionIntervals.
253         (WebCore::ExclusionPolygon::computeXIntersections): Return a vector of the intersections of a horizontal line with the polygon's edges.
254         (WebCore::ExclusionPolygon::computeEdgeIntersections): Return a vector of the X projections of the edges that overlap a horizonal rectangle.
255         (WebCore::ExclusionPolygon::getExcludedIntervals): Return a SegmentList of the X intervals within a horizontal rectangle that overlap the polygon.
256         (WebCore::ExclusionPolygon::getIncludedIntervals): Return the X intervals within a horizontal rectangle that fit inside the polygon.
257         * rendering/ExclusionPolygon.h: Added.
258         (WebCore):
259         (ExclusionPolygon):
260         (WebCore::ExclusionPolygon::getXAt): X coordinate of a polygon vertex
261         (WebCore::ExclusionPolygon::getYAt): Y coordinate of a polygon vertex
262         (WebCore::ExclusionPolygon::numberOfVertices):
263         (WebCore::ExclusionPolygon::fillRule): A WindRule value that defines "inside" for self-intersecting polygons.
264         (ExclusionPolygonEdge):
265         (WebCore::ExclusionPolygonEdge::ExclusionPolygonEdge):
266         (WebCore::ExclusionPolygonEdge::vertex1):
267         (WebCore::ExclusionPolygonEdge::vertex2):
268         (WebCore::ExclusionPolygonEdge::minX):
269         (WebCore::ExclusionPolygonEdge::minY):
270         (WebCore::ExclusionPolygonEdge::maxX):
271         (WebCore::ExclusionPolygonEdge::maxY):
272         * rendering/ExclusionShape.cpp:
273         (WebCore::createExclusionPolygon): Return a new ExclusionPolygon.
274         (WebCore):
275         (WebCore::ExclusionShape::createExclusionShape): Added support for BasicShape::BASIC_SHAPE_POLYGON.
276         * rendering/ExclusionShapeInsideInfo.cpp:
277         (WebCore::ExclusionShapeInsideInfo::isExclusionShapeInsideInfoEnabledForRenderBlock): Enable BASIC_SHAPE_POLYGON shapes for RenderBlocks.
278
279 2012-10-08  Tony Chang  <tony@chromium.org>
280
281         Replace 2 uses of updateLogicalHeight with computeLogicalHeight
282         https://bugs.webkit.org/show_bug.cgi?id=98677
283
284         Reviewed by Ojan Vafai.
285
286         This is part of bug 96804.  Convert RenderTextControl and RenderSVGForeignObject to
287         override the const computeLogicalHeight method rather than the updateLogicalHeight
288         setter method.
289
290         No new tests, there should be no behavior change as this is just a refactor.
291
292         * rendering/RenderTextControl.cpp:
293         (WebCore::RenderTextControl::computeLogicalHeight): Pass logicalHeight through rather than setting height.
294         This is a slight correctness fix, although we don't support vertical inputs yet.
295         * rendering/RenderTextControl.h:
296         (RenderTextControl):
297         * rendering/svg/RenderSVGForeignObject.cpp:
298         (WebCore::RenderSVGForeignObject::computeLogicalHeight):
299         * rendering/svg/RenderSVGForeignObject.h:
300         (RenderSVGForeignObject):
301
302 2012-10-08  Min Qin  <qinmin@chromium.org>
303
304         Upstream some tweaks for overlay play button on Android
305         https://bugs.webkit.org/show_bug.cgi?id=98671
306
307         Reviewed by Adam Barth.
308
309         This change stops displaying the overlay play button if video height is too small
310         No test for this. Will rebase layout test expectations for android later.
311
312         * css/mediaControlsChromiumAndroid.css:
313         (video::-webkit-media-controls-overlay-enclosure):
314
315 2012-10-08  Simon Fraser  <simon.fraser@apple.com>
316
317         Some GraphicsLayer cleanup to separate the concepts of using a tile cache, and being the main tile cache layer
318         https://bugs.webkit.org/show_bug.cgi?id=98574
319
320         Reviewed by Dean Jackson.
321
322         GraphicsLayerCA assumed that using a TileCache equated to being the main page tile
323         cache layer, which has some special considerations. Make these two concepts separate
324         to get closer to being able to use TileCaches in place of CATiledLayer.
325
326         * platform/graphics/GraphicsLayer.h:
327         (GraphicsLayer): Remove m_usingTileCache member, which was not appropriate
328         for this class to have.
329         * platform/graphics/GraphicsLayer.cpp:
330         (WebCore::GraphicsLayer::GraphicsLayer): Remove init of m_usingTileCache.
331         (WebCore::GraphicsLayer::debugBorderInfo): Can no longer use m_usingTileCache to
332         get the blue color, so moved code into a virtual debugBorderInfo() method.
333         (WebCore::GraphicsLayer::updateDebugIndicators): Call the virtual debugBorderInfo().
334         * platform/graphics/GraphicsLayerClient.h: Remove the usingTileCache() callback;
335         we now just cache this information in the GraphicsLayerCA on creation.
336         * platform/graphics/ca/GraphicsLayerCA.cpp:
337         (WebCore::GraphicsLayerCA::GraphicsLayerCA): Init m_isPageTileCacheLayer to false,
338         then set to m_isPageTileCacheLayer if the client says we should create a tile cache.
339         (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter): Overidden to avoid duplicate repaint
340         counters in the top-left tile.
341         (WebCore::GraphicsLayerCA::updateLayerBackgroundColor): If this layer is the page tile cache layer,
342         we allow setting of its background color.
343         (WebCore::GraphicsLayerCA::debugBorderInfo): Overidden to use a blue color for tiles.
344         (WebCore::GraphicsLayerCA::requiresTiledLayer): Don't make CATiledLayers for the page tile cache.
345         * platform/graphics/ca/GraphicsLayerCA.h:
346         (GraphicsLayerCA):
347         * platform/graphics/ca/PlatformCALayerClient.h:
348         (PlatformCALayerClient): Need to pass the platform layer into platformCALayerShowRepaintCounter()
349         so we can distinguish between calls for tiles, and calls for the tile cache layer itself.
350         * platform/graphics/ca/mac/TileCache.mm:
351         (WebCore::TileCache::shouldShowRepaintCounters): Pass 0 to platformCALayerShowRepaintCounter() to
352         indicate that we're asking about a tile.
353         * platform/graphics/mac/WebLayer.mm:
354         (drawLayerContents): Now we can just rely on platformCALayerShowRepaintCounter() to tell us whether
355         to draw the repaint counter.
356         (-[WebLayer setNeedsDisplayInRect:]):
357         * platform/graphics/mac/WebTiledLayer.mm:
358         (-[WebTiledLayer setNeedsDisplayInRect:]):
359         * rendering/RenderLayerBacking.h:
360         (WebCore::RenderLayerBacking::usingTileCache):
361         (RenderLayerBacking):
362         * rendering/RenderLayerCompositor.cpp:
363         (WebCore::RenderLayerCompositor::documentBackgroundColorDidChange): We can ask the RenderLayerBacking
364         whether it's for the tile cache, rather than going to the GraphicsLayer.
365         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
366         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowRepaintCounter):
367
368 2012-10-08  Huang Dongsung  <luxtella@company100.net>
369
370         [Qt] Make ImageBufferQt use premultiplied converting functions in Color.h instead of its own mechanism.
371         https://bugs.webkit.org/show_bug.cgi?id=98582
372
373         Reviewed by Eric Seidel.
374
375         Only Qt port failed canvas/philip/tests/2d.imageData.put.unchanged.html because
376         ImageBufferQt converts from or to a premultiplied color using its own code. When
377         we convert twice from an unmultiplied color to a premultiplied color and then to
378         an unmultiplied color using this code, the calculated result are pretty
379         different against the input color. It is why Gtk passes this test although Qt
380         fails. Gtk port uses them in Color.h.
381
382         In addition, Qt should use the functions in Color.h to reduce duplicated codes.
383
384         Tests: canvas/philip/tests/2d.imageData.put.unchanged.html: Fixed a test case
385
386         * platform/graphics/qt/ImageBufferQt.cpp:
387         (WebCore::getImageData):
388         (WebCore::convertBGRAToRGBA):
389         (WebCore::ImageBuffer::putByteArray):
390
391 2012-10-08  Tab Atkins  <jackalmage@gmail.com>
392
393         Remove "orphaned units" quirk
394         https://bugs.webkit.org/show_bug.cgi?id=98553
395
396         Reviewed by Eric Seidel.
397
398         This patch removes our "orphaned units" quirk.
399         We have an "orphaned units" quirk to match IE, which allows things like "width: 20 px;".
400         But FF and Opera don't have it and aren't aware of bugs for it,
401         and it's not in Simon Pieters' Quirks Mode spec <http://dvcs.w3.org/hg/quirks-mode/raw-file/tip/Overview.html>
402
403         No new tests, because I'm killing a quirk.
404
405         * css/CSSParser.cpp:
406         (WebCore::CSSParser::parseValue):
407         * css/CSSParser.h:
408         (CSSParser):
409
410 2012-10-08  Robert Hogan  <robert@webkit.org>
411
412         Border, margin and padding of an inline's inline ancestors counted twice
413         https://bugs.webkit.org/show_bug.cgi?id=63074
414
415         Reviewed by David Hyatt.
416
417         In a line such as '<span><span><img>Text' the border, padding and margin belonging
418         to the two spans was counted twice by RenderBlockLineLayout::nextLineBreak(): once
419         when adding the width of the <img> object to the line, and a second time when adding
420         the 'Text'. The result was that nextLineBreak() now had a length for the line that 
421         exceeded the line's maximum length and inserted a bogus line break.
422
423         This all happened because the helper function that is used to add in the border etc.
424         from inline ancestors was crawling up the tree each time. It doesn't need to do that, it
425         should stop crawling up the tree when the current object is not the first or last sibling below a parent.
426
427         Test: fast/inline/bpm-inline-ancestors.html
428
429         * rendering/RenderBlockLineLayout.cpp:
430         (WebCore::shouldAddBorderPaddingMargin): Broke this check out into a helper function so that it 
431         can help inlineLogicalWidth() return early and also treat empty RenderTexts the same as no previous/next
432         sibling on the line. This ensures that collapsed leading space does not interfere with the decision to
433         crawl up the ancestors accumulating border, padding, and margin.
434         (WebCore):
435         (WebCore::inlineLogicalWidth): Return early once the current child is no longer on the edge of its line - 
436         this ensures the border, padding and margin of ancestors is not counted twice. 
437
438 2012-10-08  Mike West  <mkwst@chromium.org>
439
440         Null-check for DOMWindow before feeding it to FeatureObserver.
441         https://bugs.webkit.org/show_bug.cgi?id=98624
442
443         Reviewed by Adam Barth.
444
445         We shouldn't call out to FeatureObserver in
446         ContentSecurityPolicy::didReceiveHeader if the policy's document doesn't
447         have a DOMWindow.
448
449         Test: http/tests/security/contentSecurityPolicy/xmlhttprequest-protected-resource-does-not-crash.html
450
451         * page/ContentSecurityPolicy.cpp:
452         (WebCore::ContentSecurityPolicy::didReceiveHeader):
453             Null check 'document->domWindow' before passing it on.
454         * page/FeatureObserver.cpp:
455         (WebCore::FeatureObserver::observe):
456             ASSERT 'domWindow'.
457
458 2012-10-08  Nate Chapin  <japhet@chromium.org>
459
460         Loader cleanup : Simplify FrameLoader/DocumentLoader setupForReplace()
461         https://bugs.webkit.org/show_bug.cgi?id=49072
462
463         Reviewed by Eric Seidel.
464
465         This patch contains one small known behavior change: multipart/x-mixed-replace main resources with text/html parts
466         will no longer load the text/html progressively. In practice, loading the html progressively causes the document
467         to get cleared as soon as the next part's data starts arriving, which leads to a blank page most of the time. This case
468         seems to be pathological, as IE, FF, Opera and WebKit all do something different currently. This patch will cause
469         us to behave like Firefox, which is the most sane of the current behaviors.
470
471         Test: http/tests/multipart/multipart-html.php
472
473         * loader/DocumentLoader.cpp:
474         (WebCore::DocumentLoader::commitData): Use isMultipartReplacingLoad() helper.
475         (WebCore::DocumentLoader::receivedData):
476         (WebCore::DocumentLoader::setupForReplace): Renamed from setupForReplaceByMIMEType(). Call maybeFinishLoadingMultipartContent()
477             instead of doing identical work inline. After we call frameLoader()->setReplacing(), we will never load progressively, so remove
478             the if (doesProgressiveLoad(newMIMEType)) {} block.
479         (WebCore::DocumentLoader::isMultipartReplacingLoad):
480         (WebCore::DocumentLoader::maybeFinishLoadingMultipartContent): Inline the old DocumentLoader::setupForeReplace(), check
481             frameLoader()->isReplacing() instead of the delete doesProgressiveLoad().
482         * loader/DocumentLoader.h:
483         * loader/FrameLoader.cpp:
484         (WebCore::FrameLoader::setupForReplace): Move all calls to revertToProvisionalState here.
485         * loader/MainResourceLoader.cpp:
486         (WebCore::MainResourceLoader::didReceiveResponse): Call setupForReplace(), renamed from setupForReplaceByMIMEType().
487
488 2012-10-08  Zoltan Horvath  <zoltan@webkit.org>
489
490         [Qt] r122720 causes performance regression with DirectFB on ARMv7
491         https://bugs.webkit.org/show_bug.cgi?id=97548
492
493         Reviewed by Jocelyn Turcotte.
494
495         Revert the rest of r122720. This change modifies the NativeImagePtr from QImage* to QPixmap*.
496
497         Covered by existing tests.
498
499         * bridge/qt/qt_pixmapruntime.cpp:
500         (JSC::Bindings::assignToHTMLImageElement):
501         (JSC::Bindings::QtPixmapRuntime::toQt):
502         * platform/DragImage.h:
503         (WebCore):
504         * platform/graphics/GraphicsContext.h:
505         (GraphicsContext):
506         * platform/graphics/Image.h:
507         (Image):
508         * platform/graphics/NativeImagePtr.h:
509         (WebCore):
510         * platform/graphics/gstreamer/ImageGStreamer.h:
511         * platform/graphics/gstreamer/ImageGStreamerQt.cpp:
512         (ImageGStreamer::ImageGStreamer):
513         * platform/graphics/qt/GraphicsContext3DQt.cpp:
514         (WebCore::GraphicsContext3D::getImageData):
515         * platform/graphics/qt/GraphicsContextQt.cpp:
516         (WebCore::GraphicsContext::pushTransparencyLayerInternal):
517         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
518         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
519         * platform/graphics/qt/ImageBufferDataQt.h:
520         (ImageBufferData):
521         * platform/graphics/qt/ImageBufferQt.cpp:
522         (WebCore::ImageBufferData::ImageBufferData):
523         (WebCore):
524         (WebCore::ImageBufferData::toQImage):
525         (WebCore::ImageBuffer::copyImage):
526         (WebCore::ImageBuffer::clip):
527         (WebCore::ImageBuffer::platformTransformColorSpace):
528         (WebCore::getImageData):
529         (WebCore::ImageBuffer::putByteArray):
530         (WebCore::encodeImage):
531         (WebCore::ImageBuffer::toDataURL):
532         * platform/graphics/qt/ImageDecoderQt.cpp:
533         (WebCore::ImageFrame::asNewNativeImage):
534         * platform/graphics/qt/ImageQt.cpp:
535         (graphics):
536         (loadResourcePixmap):
537         (WebCore::Image::loadPlatformResource):
538         (WebCore::Image::setPlatformResource):
539         (WebCore::Image::drawPattern):
540         (WebCore::BitmapImage::BitmapImage):
541         (WebCore::BitmapImage::draw):
542         (WebCore::BitmapImage::checkForSolidColor):
543         (WebCore::BitmapImage::create):
544         * platform/graphics/qt/PatternQt.cpp:
545         (WebCore::Pattern::createPlatformPattern):
546         * platform/graphics/qt/StillImageQt.cpp:
547         (WebCore::StillImage::StillImage):
548         (WebCore::StillImage::~StillImage):
549         (WebCore::StillImage::currentFrameHasAlpha):
550         (WebCore::StillImage::size):
551         (WebCore::StillImage::nativeImageForCurrentFrame):
552         (WebCore::StillImage::draw):
553         * platform/graphics/qt/StillImageQt.h:
554         (WebCore::StillImage::create):
555         (WebCore::StillImage::createForRendering):
556         (StillImage):
557         * platform/graphics/qt/TransparencyLayer.h:
558         (WebCore::TransparencyLayer::TransparencyLayer):
559         (TransparencyLayer):
560         * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:
561         (WebCore::GraphicsSurface::createReadOnlyImage):
562         * platform/graphics/texmap/TextureMapperGL.cpp:
563         (WebCore::BitmapTextureGL::updateContents):
564         * platform/qt/ClipboardQt.cpp:
565         (WebCore::ClipboardQt::createDragImage):
566         (WebCore::ClipboardQt::declareAndWriteDragImage):
567         * platform/qt/CursorQt.cpp:
568         (WebCore::createCustomCursor):
569         * platform/qt/DragImageQt.cpp:
570         (WebCore::createDragImageFromImage):
571         * platform/qt/PasteboardQt.cpp:
572         (WebCore::Pasteboard::writeImage):
573
574 2012-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
575
576         Unreviewed. Fix make distcheck.
577
578         * GNUmakefile.list.am: Add missing header file to compilation.
579
580 2012-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
581
582         Unreviewed, rolling out r130619.
583         http://trac.webkit.org/changeset/130619
584         https://bugs.webkit.org/show_bug.cgi?id=98634
585
586         Causes many crashes on the EFL bots. (Requested by rakuco on
587         #webkit).
588
589         * platform/RunLoop.h:
590         (RunLoop):
591         * platform/efl/RunLoopEfl.cpp:
592         (WebCore::RunLoop::RunLoop):
593         (WebCore::RunLoop::wakeUpEvent):
594         (WebCore::RunLoop::wakeUp):
595
596 2012-10-08  Byungwoo Lee  <bw80.lee@samsung.com>
597
598         [EFL] Use ecore_main_loop_thread_safe_call_async() to wakeup main loop.
599         https://bugs.webkit.org/show_bug.cgi?id=98505
600
601         Reviewed by Kenneth Rohde Christiansen.
602
603         Instead of ecore_pipe_write(),
604         use ecore_main_loop_thread_safe_call_async() to wakeup ecore main loop.
605
606         According to the EFL API document, this function is designed to dispatch
607         a function on ecore main loop by avoiding dead lock or race condition. 
608         With this function, webkit doesn't need to maintain ecore pipe also.
609
610         No new tests. The function to wakeup main loop is changed.
611
612         * platform/RunLoop.h:
613         (RunLoop):
614         * platform/efl/RunLoopEfl.cpp:
615         (WebCore::RunLoop::RunLoop):
616         (WebCore::RunLoop::wakeUpEvent):
617         (WebCore::RunLoop::wakeUp):
618
619 2012-10-07  Arpita Bahuguna  <arpitabahuguna@gmail.com>
620
621         :first-line pseudo selector ignoring words created from :before
622         https://bugs.webkit.org/show_bug.cgi?id=80794
623
624         Reviewed by Daniel Bates.
625
626         The :first-line pseudo-element style is not applied for content
627         which is generated from the :before/:after pseudo-elements.
628
629         Test: fast/css/first-line-style-for-before-after-content.html
630
631         * rendering/RenderObject.cpp:
632         (WebCore::firstLineStyleForCachedUncachedType):
633         Added a new static helper function incorporating the common
634         functionality of both uncachedFirstLineStyle() and firstLineStyleSlowCase()
635         functions. It also modifies the functionality to handle the
636         scenario when :first-line style needs to be applied on content
637         generated from :before/:after.
638
639         While getting the :first-line style we should also consider the case
640         when the content is generated from a :before/:after pseudo-element in
641         which case the RenderInline's parent should be considered for
642         obtaining the first-line style.
643
644         (WebCore):
645         (WebCore::RenderObject::uncachedFirstLineStyle):
646         (WebCore::RenderObject::firstLineStyleSlowCase):
647         Moved the duplicate code between the two functions to the common
648         helper function firstLineStyleForCachedUncachedType().
649
650 2012-10-07  Peter Wang  <peter.wang@torchmobile.com.cn>
651
652         Web Inspector: The front-end should provide the position in original source file when set a breakpoint
653         https://bugs.webkit.org/show_bug.cgi?id=93473
654
655         Reviewed by Yury Semikhatsky.
656
657         Since frontend truncates the indent, the first statement in a line must match the breakpoint (line, 0).
658         With this patch JSC debugger can support both normal and "Pretty Print" mode.
659
660         No new test case. This patch can be verified with cases in "LayoutTests/inspector/debugger/".
661
662         * bindings/js/ScriptDebugServer.cpp:
663         (WebCore::ScriptDebugServer::ScriptDebugServer):
664         (WebCore::ScriptDebugServer::hasBreakpoint):
665         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
666         (WebCore::ScriptDebugServer::pauseIfNeeded):
667         * bindings/js/ScriptDebugServer.h:
668         (ScriptDebugServer):
669
670 2012-10-07  Martin Robinson  <mrobinson@igalia.com>
671
672         [Soup] Clean up ResourceError creation
673         https://bugs.webkit.org/show_bug.cgi?id=98521
674
675         Reviewed by Carlos Garcia Campos.
676
677         Simplify the creation of ResourcErrors in ResourceHandleSoup. This is
678         part of a process to make the libsoup networking backend more hackable.
679
680         No new tests. This shouldn't change functionality.
681
682         * GNUmakefile.list.am: Added new file.
683         * PlatformEfl.cmake: Added new file.
684         * platform/network/soup/ResourceError.h:
685         (ResourceError): Added new factories.
686         * platform/network/soup/ResourceErrorSoup.cpp: Added.
687         (WebCore::failingURI): Added this helper.
688         (WebCore::ResourceError::httpError): New factory.
689         (WebCore::ResourceError::genericIOError): Ditto.
690         (WebCore::ResourceError::tlsError): Ditto.
691         (WebCore::ResourceError::timeoutError): Ditto.
692         * platform/network/soup/ResourceHandleSoup.cpp:
693         (WebCore::handleUnignoredTLSErrors): Created this helper which merges
694         some of the logic from sendRequestCallback.
695         (WebCore::sendRequestCallback): Use the new helper.
696         (WebCore::requestTimeoutCallback): Use the new factory.
697
698 2012-10-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
699
700         Rename first/second to key/value in HashMap iterators
701         https://bugs.webkit.org/show_bug.cgi?id=82784
702
703         Reviewed by Eric Seidel.
704
705         * Modules/geolocation/Geolocation.cpp:
706         (WebCore::Geolocation::Watchers::find):
707         (WebCore::Geolocation::Watchers::remove):
708         * Modules/indexeddb/IDBDatabase.cpp:
709         (WebCore::IDBDatabase::objectStoreNames):
710         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
711         (WebCore::IDBDatabaseBackendImpl::metadata):
712         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
713         (WebCore::IDBFactoryBackendImpl::deleteDatabase):
714         (WebCore::IDBFactoryBackendImpl::openBackingStore):
715         (WebCore::IDBFactoryBackendImpl::open):
716         * Modules/indexeddb/IDBObjectStore.cpp:
717         (WebCore::IDBObjectStore::indexNames):
718         (WebCore::IDBObjectStore::put):
719         (WebCore::IDBObjectStore::index):
720         (WebCore::IDBObjectStore::deleteIndex):
721         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
722         (WebCore::IDBObjectStoreBackendImpl::metadata):
723         (WebCore::makeIndexWriters):
724         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
725         * Modules/indexeddb/IDBTransaction.cpp:
726         (WebCore::IDBTransaction::objectStore):
727         (WebCore::IDBTransaction::objectStoreDeleted):
728         (WebCore::IDBTransaction::onAbort):
729         (WebCore::IDBTransaction::dispatchEvent):
730         * Modules/mediastream/MediaConstraintsImpl.cpp:
731         (WebCore::MediaConstraintsImpl::getMandatoryConstraints):
732         (WebCore::MediaConstraintsImpl::getMandatoryConstraintValue):
733         * Modules/webdatabase/AbstractDatabase.cpp:
734         (WebCore::AbstractDatabase::performOpenAndVerify):
735         * Modules/webdatabase/DatabaseTracker.cpp:
736         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
737         * Modules/webdatabase/OriginUsageRecord.cpp:
738         (WebCore::OriginUsageRecord::diskUsage):
739         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
740         (WebCore::SQLTransactionCoordinator::acquireLock):
741         (WebCore::SQLTransactionCoordinator::releaseLock):
742         (WebCore::SQLTransactionCoordinator::shutdown):
743         * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
744         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
745         * Modules/webdatabase/chromium/QuotaTracker.cpp:
746         (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin):
747         (WebCore::QuotaTracker::updateDatabaseSize):
748         * Modules/websockets/WebSocketDeflateFramer.cpp:
749         (WebCore::WebSocketExtensionDeflateFrame::processResponse):
750         * Modules/websockets/WebSocketExtensionDispatcher.cpp:
751         (WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension):
752         * accessibility/AXObjectCache.cpp:
753         (WebCore::AXObjectCache::~AXObjectCache):
754         * bindings/gobject/DOMObjectCache.cpp:
755         (WebKit::DOMObjectCache::clearByFrame):
756         * bindings/js/DOMObjectHashTableMap.h:
757         (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
758         (WebCore::DOMObjectHashTableMap::get):
759         * bindings/js/JSDOMBinding.cpp:
760         (WebCore::cacheDOMStructure):
761         * bindings/js/JSDOMGlobalObject.cpp:
762         (WebCore::JSDOMGlobalObject::visitChildren):
763         * bindings/js/JSDOMGlobalObject.h:
764         (WebCore::getDOMConstructor):
765         * bindings/js/PageScriptDebugServer.cpp:
766         (WebCore::PageScriptDebugServer::addListener):
767         (WebCore::PageScriptDebugServer::removeListener):
768         * bindings/js/ScriptCachedFrameData.cpp:
769         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
770         (WebCore::ScriptCachedFrameData::restore):
771         * bindings/js/ScriptController.cpp:
772         (WebCore::ScriptController::~ScriptController):
773         (WebCore::ScriptController::clearWindowShell):
774         (WebCore::ScriptController::attachDebugger):
775         (WebCore::ScriptController::updateDocument):
776         (WebCore::ScriptController::createRootObject):
777         (WebCore::ScriptController::collectIsolatedContexts):
778         (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
779         (WebCore::ScriptController::clearScriptObjects):
780         * bindings/js/ScriptController.h:
781         (WebCore::ScriptController::windowShell):
782         (WebCore::ScriptController::existingWindowShell):
783         * bindings/js/ScriptDebugServer.cpp:
784         (WebCore::ScriptDebugServer::setBreakpoint):
785         (WebCore::ScriptDebugServer::removeBreakpoint):
786         (WebCore::ScriptDebugServer::hasBreakpoint):
787         * bindings/js/SerializedScriptValue.cpp:
788         (WebCore::CloneSerializer::checkForDuplicate):
789         (WebCore::CloneSerializer::dumpIfTerminal):
790         (WebCore::CloneSerializer::write):
791         * bindings/scripts/CodeGeneratorV8.pm:
792         (GenerateImplementation):
793         * bindings/scripts/test/V8/V8Float64Array.cpp:
794         (WebCore::V8Float64Array::GetRawTemplate):
795         (WebCore::V8Float64Array::GetTemplate):
796         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
797         (WebCore::V8TestActiveDOMObject::GetRawTemplate):
798         (WebCore::V8TestActiveDOMObject::GetTemplate):
799         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
800         (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
801         (WebCore::V8TestCustomNamedGetter::GetTemplate):
802         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
803         (WebCore::V8TestEventConstructor::GetRawTemplate):
804         (WebCore::V8TestEventConstructor::GetTemplate):
805         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
806         (WebCore::V8TestEventTarget::GetRawTemplate):
807         (WebCore::V8TestEventTarget::GetTemplate):
808         * bindings/scripts/test/V8/V8TestException.cpp:
809         (WebCore::V8TestException::GetRawTemplate):
810         (WebCore::V8TestException::GetTemplate):
811         * bindings/scripts/test/V8/V8TestInterface.cpp:
812         (WebCore::V8TestInterface::GetRawTemplate):
813         (WebCore::V8TestInterface::GetTemplate):
814         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
815         (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
816         (WebCore::V8TestMediaQueryListListener::GetTemplate):
817         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
818         (WebCore::V8TestNamedConstructor::GetRawTemplate):
819         (WebCore::V8TestNamedConstructor::GetTemplate):
820         * bindings/scripts/test/V8/V8TestNode.cpp:
821         (WebCore::V8TestNode::GetRawTemplate):
822         (WebCore::V8TestNode::GetTemplate):
823         * bindings/scripts/test/V8/V8TestObj.cpp:
824         (WebCore::V8TestObj::GetRawTemplate):
825         (WebCore::V8TestObj::GetTemplate):
826         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
827         (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
828         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
829         * bindings/v8/DOMWrapperWorld.cpp:
830         (WebCore::DOMWrapperWorld::deallocate):
831         (WebCore::DOMWrapperWorld::ensureIsolatedWorld):
832         * bindings/v8/NPV8Object.cpp:
833         (WebCore::freeV8NPObject):
834         (WebCore::npCreateV8ScriptObject):
835         * bindings/v8/ScriptController.cpp:
836         (WebCore::ScriptController::clearScriptObjects):
837         (WebCore::ScriptController::resetIsolatedWorlds):
838         (WebCore::ScriptController::ensureIsolatedWorldContext):
839         (WebCore::ScriptController::existingWindowShellInternal):
840         (WebCore::ScriptController::evaluateInIsolatedWorld):
841         (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
842         (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
843         (WebCore::ScriptController::collectIsolatedContexts):
844         * bindings/v8/SerializedScriptValue.cpp:
845         * bindings/v8/V8DOMMap.h:
846         (WebCore::WeakReferenceMap::removeIfPresent):
847         (WebCore::WeakReferenceMap::visit):
848         * bindings/v8/V8PerContextData.cpp:
849         (WebCore::V8PerContextData::dispose):
850         * bindings/v8/npruntime.cpp:
851         * bridge/IdentifierRep.cpp:
852         (WebCore::IdentifierRep::get):
853         * bridge/NP_jsobject.cpp:
854         (ObjectMap::add):
855         (ObjectMap::remove):
856         * bridge/runtime_root.cpp:
857         (JSC::Bindings::RootObject::invalidate):
858         * css/CSSCanvasValue.cpp:
859         (WebCore::CSSCanvasValue::canvasChanged):
860         (WebCore::CSSCanvasValue::canvasResized):
861         * css/CSSComputedStyleDeclaration.cpp:
862         (WebCore::counterToCSSValue):
863         * css/CSSCrossfadeValue.cpp:
864         (WebCore::CSSCrossfadeValue::crossfadeChanged):
865         * css/CSSFontFaceSource.cpp:
866         (WebCore::CSSFontFaceSource::getFontData):
867         * css/CSSFontSelector.cpp:
868         (WebCore::CSSFontSelector::addFontFaceRule):
869         (WebCore::CSSFontSelector::getFontData):
870         * css/CSSImageGeneratorValue.cpp:
871         (WebCore::CSSImageGeneratorValue::addClient):
872         (WebCore::CSSImageGeneratorValue::removeClient):
873         (WebCore::CSSImageGeneratorValue::getImage):
874         * css/CSSSegmentedFontFace.cpp:
875         (WebCore::CSSSegmentedFontFace::getFontData):
876         * css/CSSSelector.cpp:
877         (WebCore::CSSSelector::parsePseudoType):
878         * css/CSSValuePool.cpp:
879         (WebCore::CSSValuePool::createColorValue):
880         (WebCore::CSSValuePool::createFontFamilyValue):
881         (WebCore::CSSValuePool::createFontFaceValue):
882         * css/PropertySetCSSStyleDeclaration.cpp:
883         (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
884         * css/RuleSet.cpp:
885         (WebCore::reportAtomRuleMap):
886         (WebCore::RuleSet::addToRuleSet):
887         (WebCore::shrinkMapVectorsToFit):
888         * css/StyleBuilder.cpp:
889         (WebCore::ApplyPropertyCounter::applyInheritValue):
890         (WebCore::ApplyPropertyCounter::applyValue):
891         * css/StyleResolver.cpp:
892         (WebCore::StyleResolver::collectFeatures):
893         (WebCore::StyleResolver::ruleSetForScope):
894         (WebCore::StyleResolver::appendAuthorStylesheets):
895         (WebCore::StyleResolver::sweepMatchedPropertiesCache):
896         (WebCore::StyleResolver::collectMatchingRulesForList):
897         * css/StyleSheetContents.cpp:
898         (WebCore::StyleSheetContents::parserAddNamespace):
899         (WebCore::StyleSheetContents::determineNamespace):
900         * dom/CheckedRadioButtons.cpp:
901         (WebCore::CheckedRadioButtons::addButton):
902         (WebCore::CheckedRadioButtons::removeButton):
903         * dom/ChildListMutationScope.cpp:
904         (WebCore::ChildListMutationAccumulator::getOrCreate):
905         * dom/Document.cpp:
906         (WebCore::Document::windowNamedItems):
907         (WebCore::Document::documentNamedItems):
908         (WebCore::Document::getCSSCanvasElement):
909         (WebCore::Document::cachedImmutableAttributeData):
910         (WebCore::Document::getCachedLocalizer):
911         * dom/DocumentMarkerController.cpp:
912         (WebCore::DocumentMarkerController::markerContainingPoint):
913         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
914         (WebCore::DocumentMarkerController::removeMarkers):
915         (WebCore::DocumentMarkerController::repaintMarkers):
916         (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
917         (WebCore::DocumentMarkerController::showMarkers):
918         * dom/DocumentOrderedMap.cpp:
919         (WebCore::DocumentOrderedMap::remove):
920         * dom/DocumentStyleSheetCollection.cpp:
921         (WebCore::DocumentStyleSheetCollection::pageGroupUserSheets):
922         * dom/ElementAttributeData.cpp:
923         (WebCore::ensureAttrListForElement):
924         * dom/EventDispatcher.cpp:
925         (WebCore::EventRelatedTargetAdjuster::findRelatedTarget):
926         * dom/IdTargetObserverRegistry.cpp:
927         (WebCore::IdTargetObserverRegistry::addObserver):
928         (WebCore::IdTargetObserverRegistry::removeObserver):
929         * dom/MutationObserverInterestGroup.cpp:
930         (WebCore::MutationObserverInterestGroup::isOldValueRequested):
931         (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
932         * dom/Node.cpp:
933         (WebCore::Node::dumpStatistics):
934         (WebCore::Node::clearRareData):
935         (WebCore::NodeListsNodeData::invalidateCaches):
936         (WebCore::collectMatchingObserversForMutation):
937         * dom/NodeRareData.h:
938         (WebCore::NodeListsNodeData::addCacheWithAtomicName):
939         (WebCore::NodeListsNodeData::addCacheWithName):
940         (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
941         (WebCore::NodeListsNodeData::adoptTreeScope):
942         * dom/ProcessingInstruction.cpp:
943         (WebCore::ProcessingInstruction::checkStyleSheet):
944         * dom/ScriptExecutionContext.cpp:
945         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
946         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
947         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
948         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
949         (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
950         * dom/SelectorQuery.cpp:
951         (WebCore::SelectorQueryCache::add):
952         * dom/SpaceSplitString.cpp:
953         (WebCore::SpaceSplitStringData::create):
954         * dom/StyledElement.cpp:
955         (WebCore::StyledElement::updateAttributeStyle):
956         * editing/mac/AlternativeTextUIController.mm:
957         (WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext):
958         * html/FormController.cpp:
959         (WebCore::SavedFormState::serializeTo):
960         (WebCore::SavedFormState::appendControlState):
961         (WebCore::SavedFormState::takeControlState):
962         (WebCore::SavedFormState::getReferencedFilePaths):
963         (WebCore::FormKeyGenerator::formKey):
964         (WebCore::FormController::createSavedFormStateMap):
965         (WebCore::FormController::formElementsState):
966         (WebCore::FormController::takeStateForFormElement):
967         (WebCore::FormController::getReferencedFilePaths):
968         * html/HTMLCollection.cpp:
969         (WebCore::HTMLCollectionCacheBase::append):
970         * html/canvas/WebGLFramebuffer.cpp:
971         (WebCore::WebGLFramebuffer::getAttachment):
972         (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
973         (WebCore::WebGLFramebuffer::checkStatus):
974         (WebCore::WebGLFramebuffer::deleteObjectImpl):
975         (WebCore::WebGLFramebuffer::initializeAttachments):
976         * inspector/CodeGeneratorInspector.py:
977         * inspector/DOMPatchSupport.cpp:
978         (WebCore::DOMPatchSupport::diff):
979         (WebCore::DOMPatchSupport::innerPatchChildren):
980         (WebCore::DOMPatchSupport::removeChildAndMoveToNew):
981         * inspector/InjectedScriptManager.cpp:
982         (WebCore::InjectedScriptManager::injectedScriptForId):
983         (WebCore::InjectedScriptManager::injectedScriptIdFor):
984         (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
985         (WebCore::InjectedScriptManager::releaseObjectGroup):
986         (WebCore::InjectedScriptManager::injectedScriptFor):
987         * inspector/InspectorCSSAgent.cpp:
988         (WebCore::SelectorProfile::commitSelector):
989         (WebCore::SelectorProfile::commitSelectorTime):
990         (WebCore::SelectorProfile::toInspectorObject):
991         (WebCore::UpdateRegionLayoutTask::onTimer):
992         (WebCore::InspectorCSSAgent::forcePseudoState):
993         (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
994         (WebCore::InspectorCSSAgent::assertStyleSheetForId):
995         (WebCore::InspectorCSSAgent::didRemoveDOMNode):
996         (WebCore::InspectorCSSAgent::didModifyDOMAttr):
997         (WebCore::InspectorCSSAgent::resetPseudoStates):
998         * inspector/InspectorConsoleAgent.cpp:
999         (WebCore::InspectorConsoleAgent::stopTiming):
1000         (WebCore::InspectorConsoleAgent::count):
1001         * inspector/InspectorDOMAgent.cpp:
1002         (WebCore::InspectorDOMAgent::nodeForId):
1003         (WebCore::InspectorDOMAgent::performSearch):
1004         (WebCore::InspectorDOMAgent::getSearchResults):
1005         * inspector/InspectorDOMDebuggerAgent.cpp:
1006         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
1007         * inspector/InspectorDOMStorageAgent.cpp:
1008         (WebCore::InspectorDOMStorageAgent::clearFrontend):
1009         (WebCore::InspectorDOMStorageAgent::enable):
1010         (WebCore::InspectorDOMStorageAgent::storageId):
1011         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
1012         (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
1013         (WebCore::InspectorDOMStorageAgent::memoryBytesUsedByStorageCache):
1014         * inspector/InspectorDatabaseAgent.cpp:
1015         (WebCore::InspectorDatabaseAgent::enable):
1016         (WebCore::InspectorDatabaseAgent::databaseId):
1017         (WebCore::InspectorDatabaseAgent::findByFileName):
1018         (WebCore::InspectorDatabaseAgent::databaseForId):
1019         * inspector/InspectorDebuggerAgent.cpp:
1020         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1021         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
1022         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1023         (WebCore::InspectorDebuggerAgent::searchInContent):
1024         (WebCore::InspectorDebuggerAgent::getScriptSource):
1025         (WebCore::InspectorDebuggerAgent::didParseSource):
1026         * inspector/InspectorIndexedDBAgent.cpp:
1027         (WebCore):
1028         * inspector/InspectorMemoryAgent.cpp:
1029         (WebCore):
1030         * inspector/InspectorPageAgent.cpp:
1031         (WebCore::cachedResourcesForFrame):
1032         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
1033         (WebCore::InspectorPageAgent::frameDetached):
1034         * inspector/InspectorProfilerAgent.cpp:
1035         (WebCore::InspectorProfilerAgent::getProfileHeaders):
1036         (WebCore):
1037         (WebCore::InspectorProfilerAgent::getProfile):
1038         * inspector/InspectorResourceAgent.cpp:
1039         (WebCore::buildObjectForHeaders):
1040         (WebCore::InspectorResourceAgent::willSendRequest):
1041         (WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient):
1042         (WebCore::InspectorResourceAgent::willLoadXHR):
1043         (WebCore::InspectorResourceAgent::replayXHR):
1044         * inspector/InspectorState.cpp:
1045         (WebCore::InspectorState::getBoolean):
1046         (WebCore::InspectorState::getString):
1047         (WebCore::InspectorState::getLong):
1048         (WebCore::InspectorState::getDouble):
1049         (WebCore::InspectorState::getObject):
1050         * inspector/InspectorStyleSheet.cpp:
1051         (WebCore::InspectorStyle::styleWithProperties):
1052         (WebCore::InspectorStyleSheet::inspectorStyleForId):
1053         * inspector/InspectorValues.cpp:
1054         (WebCore::InspectorObjectBase::get):
1055         (WebCore::InspectorObjectBase::writeJSON):
1056         * inspector/InspectorWorkerAgent.cpp:
1057         (WebCore::InspectorWorkerAgent::workerContextTerminated):
1058         (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
1059         (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
1060         * inspector/MemoryInstrumentationImpl.cpp:
1061         (WebCore::MemoryInstrumentationClientImpl::countObjectSize):
1062         * inspector/MemoryInstrumentationImpl.h:
1063         (WebCore::MemoryInstrumentationClientImpl::totalSize):
1064         (WebCore::MemoryInstrumentationClientImpl::reportedSizeForAllTypes):
1065         * inspector/NetworkResourcesData.cpp:
1066         (WebCore::NetworkResourcesData::setXHRReplayData):
1067         (WebCore::NetworkResourcesData::removeCachedResource):
1068         (WebCore::NetworkResourcesData::clear):
1069         * loader/CrossOriginAccessControl.cpp:
1070         (WebCore::isSimpleCrossOriginAccessRequest):
1071         (WebCore::createAccessControlPreflightRequest):
1072         * loader/CrossOriginPreflightResultCache.cpp:
1073         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
1074         (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
1075         * loader/DocumentLoader.cpp:
1076         (WebCore::DocumentLoader::getSubresources):
1077         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
1078         * loader/MainResourceLoader.cpp:
1079         (WebCore::MainResourceLoader::didReceiveResponse):
1080         * loader/ResourceLoadScheduler.cpp:
1081         (WebCore::ResourceLoadScheduler::servePendingRequests):
1082         * loader/appcache/ApplicationCache.cpp:
1083         (WebCore::ApplicationCache::removeResource):
1084         (WebCore::ApplicationCache::clearStorageID):
1085         (WebCore::ApplicationCache::dump):
1086         * loader/appcache/ApplicationCacheGroup.cpp:
1087         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
1088         (WebCore::ApplicationCacheGroup::startLoadingEntry):
1089         (WebCore::ApplicationCacheGroup::addEntry):
1090         * loader/appcache/ApplicationCacheHost.cpp:
1091         (WebCore::ApplicationCacheHost::fillResourceList):
1092         * loader/appcache/ApplicationCacheResource.cpp:
1093         (WebCore::ApplicationCacheResource::estimatedSizeInStorage):
1094         * loader/appcache/ApplicationCacheStorage.cpp:
1095         (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
1096         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
1097         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
1098         (WebCore::ApplicationCacheStorage::store):
1099         (WebCore::ApplicationCacheStorage::empty):
1100         (WebCore::ApplicationCacheStorage::storeCopyOfCache):
1101         * loader/archive/ArchiveFactory.cpp:
1102         (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
1103         * loader/cache/CachedRawResource.cpp:
1104         (WebCore::CachedRawResource::canReuse):
1105         * loader/cache/CachedResource.cpp:
1106         (WebCore::CachedResource::switchClientsToRevalidatedResource):
1107         (WebCore::CachedResource::updateResponseAfterRevalidation):
1108         * loader/cache/CachedResourceClientWalker.h:
1109         (WebCore::CachedResourceClientWalker::CachedResourceClientWalker):
1110         * loader/cache/CachedResourceLoader.cpp:
1111         (WebCore::CachedResourceLoader::~CachedResourceLoader):
1112         (WebCore::CachedResourceLoader::requestResource):
1113         (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
1114         (WebCore::CachedResourceLoader::removeCachedResource):
1115         (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
1116         * loader/cache/MemoryCache.cpp:
1117         (WebCore::MemoryCache::removeResourcesWithOrigin):
1118         (WebCore::MemoryCache::getOriginsWithCache):
1119         (WebCore::MemoryCache::getStatistics):
1120         (WebCore::MemoryCache::setDisabled):
1121         * loader/icon/IconDatabase.cpp:
1122         (WebCore::IconDatabase::removeAllIcons):
1123         (WebCore::IconDatabase::iconRecordCountWithData):
1124         (WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
1125         * page/DOMWindow.cpp:
1126         (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
1127         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
1128         * page/EventHandler.cpp:
1129         (WebCore::EventHandler::handleTouchEvent):
1130         * page/Frame.cpp:
1131         (WebCore::Frame::injectUserScripts):
1132         * page/PageGroup.cpp:
1133         (WebCore::PageGroup::pageGroup):
1134         (WebCore::PageGroup::closeLocalStorage):
1135         (WebCore::PageGroup::clearLocalStorageForAllOrigins):
1136         (WebCore::PageGroup::clearLocalStorageForOrigin):
1137         (WebCore::PageGroup::syncLocalStorage):
1138         (WebCore::PageGroup::addUserScriptToWorld):
1139         (WebCore::PageGroup::addUserStyleSheetToWorld):
1140         (WebCore::PageGroup::removeUserScriptFromWorld):
1141         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
1142         * page/PageSerializer.cpp:
1143         (WebCore::PageSerializer::urlForBlankFrame):
1144         * page/SecurityPolicy.cpp:
1145         (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
1146         (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
1147         * page/Settings.cpp:
1148         (WebCore::setGenericFontFamilyMap):
1149         (WebCore::getGenericFontFamilyForScript):
1150         * page/SpeechInput.cpp:
1151         (WebCore::SpeechInput::registerListener):
1152         * page/TouchDisambiguation.cpp:
1153         (WebCore::findGoodTouchTargets):
1154         * page/WindowFeatures.cpp:
1155         (WebCore::WindowFeatures::boolFeature):
1156         (WebCore::WindowFeatures::floatFeature):
1157         * page/animation/AnimationController.cpp:
1158         (WebCore::AnimationControllerPrivate::updateAnimations):
1159         (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
1160         (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
1161         (WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
1162         * page/animation/CompositeAnimation.cpp:
1163         (WebCore::CompositeAnimation::clearRenderer):
1164         (WebCore::CompositeAnimation::updateTransitions):
1165         (WebCore::CompositeAnimation::updateKeyframeAnimations):
1166         (WebCore::CompositeAnimation::animate):
1167         (WebCore::CompositeAnimation::getAnimatedStyle):
1168         (WebCore::CompositeAnimation::setAnimating):
1169         (WebCore::CompositeAnimation::timeToNextService):
1170         (WebCore::CompositeAnimation::getAnimationForProperty):
1171         (WebCore::CompositeAnimation::suspendAnimations):
1172         (WebCore::CompositeAnimation::resumeAnimations):
1173         (WebCore::CompositeAnimation::overrideImplicitAnimations):
1174         (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
1175         (WebCore::CompositeAnimation::isAnimatingProperty):
1176         (WebCore::CompositeAnimation::numberOfActiveAnimations):
1177         * platform/Language.cpp:
1178         (WebCore::languageDidChange):
1179         * platform/MIMETypeRegistry.cpp:
1180         (WebCore::MIMETypeRegistry::getNormalizedMIMEType):
1181         * platform/audio/HRTFElevation.cpp:
1182         (WebCore::getConcatenatedImpulseResponsesForSubject):
1183         * platform/blackberry/CookieManager.cpp:
1184         (WebCore::CookieManager::generateHtmlFragmentForCookies):
1185         (WebCore::CookieManager::removeAllCookies):
1186         * platform/blackberry/CookieMap.cpp:
1187         (WebCore::CookieMap::removeOldestCookie):
1188         (WebCore::CookieMap::getAllChildCookies):
1189         * platform/cf/BinaryPropertyList.cpp:
1190         (WebCore::BinaryPropertyListPlan::writeIntegerArray):
1191         * platform/chromium/support/WebHTTPLoadInfo.cpp:
1192         (WebKit::addHeader):
1193         * platform/chromium/support/WebURLRequest.cpp:
1194         (WebKit::WebURLRequest::visitHTTPHeaderFields):
1195         * platform/chromium/support/WebURLResponse.cpp:
1196         (WebKit::WebURLResponse::addHTTPHeaderField):
1197         (WebKit::WebURLResponse::visitHTTPHeaderFields):
1198         * platform/graphics/DisplayRefreshMonitor.cpp:
1199         (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient):
1200         (WebCore::DisplayRefreshMonitorManager::unregisterClient):
1201         * platform/graphics/FontCache.cpp:
1202         (WebCore::FontCache::getCachedFontPlatformData):
1203         (WebCore::FontCache::getVerticalData):
1204         (WebCore::FontCache::getCachedFontData):
1205         (WebCore::FontCache::releaseFontData):
1206         (WebCore::FontCache::purgeInactiveFontData):
1207         * platform/graphics/GlyphPageTreeNode.cpp:
1208         (WebCore::GlyphPageTreeNode::treeGlyphPageCount):
1209         (WebCore::GlyphPageTreeNode::pageCount):
1210         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
1211         (WebCore::GlyphPageTreeNode::pruneTreeFontData):
1212         (WebCore::GlyphPageTreeNode::pruneCustomFontData):
1213         (WebCore::GlyphPageTreeNode::pruneFontData):
1214         (WebCore::GlyphPageTreeNode::showSubtree):
1215         (showGlyphPageTrees):
1216         * platform/graphics/TiledBackingStore.cpp:
1217         (WebCore::TiledBackingStore::updateTileBuffers):
1218         (WebCore::TiledBackingStore::resizeEdgeTiles):
1219         (WebCore::TiledBackingStore::setKeepRect):
1220         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1221         (WebCore::AVFWrapper::avfWrapperForCallbackContext):
1222         * platform/graphics/blackberry/LayerTiler.cpp:
1223         (WebCore::LayerTiler::layerVisibilityChanged):
1224         (WebCore::LayerTiler::uploadTexturesIfNeeded):
1225         (WebCore::LayerTiler::addTileJob):
1226         (WebCore::LayerTiler::deleteTextures):
1227         (WebCore::LayerTiler::pruneTextures):
1228         (WebCore::LayerTiler::bindContentsTexture):
1229         * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
1230         (WebCore::TextureCacheCompositingThread::textureForTiledContents):
1231         (WebCore::TextureCacheCompositingThread::textureForColor):
1232         * platform/graphics/ca/GraphicsLayerCA.cpp:
1233         (WebCore::GraphicsLayerCA::moveOrCopyAnimations):
1234         (WebCore::GraphicsLayerCA::pauseAnimation):
1235         (WebCore::GraphicsLayerCA::layerDidDisplay):
1236         (WebCore::GraphicsLayerCA::updateGeometry):
1237         (WebCore::GraphicsLayerCA::updateTransform):
1238         (WebCore::GraphicsLayerCA::updateChildrenTransform):
1239         (WebCore::GraphicsLayerCA::updateMasksToBounds):
1240         (WebCore::GraphicsLayerCA::updateContentsVisibility):
1241         (WebCore::GraphicsLayerCA::updateContentsOpaque):
1242         (WebCore::GraphicsLayerCA::updateBackfaceVisibility):
1243         (WebCore::GraphicsLayerCA::updateFilters):
1244         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
1245         (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
1246         (WebCore::GraphicsLayerCA::updateContentsImage):
1247         (WebCore::GraphicsLayerCA::updateContentsRect):
1248         (WebCore::GraphicsLayerCA::updateMaskLayer):
1249         (WebCore::GraphicsLayerCA::updateLayerAnimations):
1250         (WebCore::GraphicsLayerCA::setAnimationOnLayer):
1251         (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer):
1252         (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer):
1253         (WebCore::GraphicsLayerCA::suspendAnimations):
1254         (WebCore::GraphicsLayerCA::resumeAnimations):
1255         (WebCore::GraphicsLayerCA::findOrMakeClone):
1256         (WebCore::GraphicsLayerCA::setOpacityInternal):
1257         (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
1258         * platform/graphics/ca/mac/TileCache.mm:
1259         (WebCore::TileCache::~TileCache):
1260         (WebCore::TileCache::setNeedsDisplay):
1261         (WebCore::TileCache::setScale):
1262         (WebCore::TileCache::setAcceleratesDrawing):
1263         (WebCore::TileCache::setTileDebugBorderWidth):
1264         (WebCore::TileCache::setTileDebugBorderColor):
1265         (WebCore::TileCache::revalidateTiles):
1266         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1267         (PlatformCALayer::animationStarted):
1268         (resubmitAllAnimations):
1269         (PlatformCALayer::animationForKey):
1270         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1271         (WebCore::LookupAltName):
1272         (WebCore::fontContainsCharacter):
1273         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
1274         (WebCore::getDerivedFontData):
1275         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
1276         (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
1277         (WebCore::CustomFilterGlobalContext::getValidatedProgram):
1278         (WebCore::CustomFilterGlobalContext::removeValidatedProgram):
1279         * platform/graphics/filters/CustomFilterProgram.cpp:
1280         (WebCore::CustomFilterProgram::notifyClients):
1281         * platform/graphics/harfbuzz/HarfBuzzSkia.cpp:
1282         (WebCore::getCachedHarfbuzzFace):
1283         (WebCore::releaseCachedHarfbuzzFace):
1284         * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp:
1285         (WebCore::HarfBuzzNGFace::HarfBuzzNGFace):
1286         (WebCore::HarfBuzzNGFace::~HarfBuzzNGFace):
1287         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
1288         (WebCore::SimpleFontData::getCFStringAttributes):
1289         * platform/graphics/mac/SimpleFontDataMac.mm:
1290         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
1291         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1292         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
1293         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1294         (WebCore::GraphicsContext3D::compileShader):
1295         (WebCore::GraphicsContext3D::mappedSymbolName):
1296         (WebCore::GraphicsContext3D::getShaderiv):
1297         (WebCore::GraphicsContext3D::getShaderInfoLog):
1298         (WebCore::GraphicsContext3D::getShaderSource):
1299         * platform/graphics/openvg/EGLDisplayOpenVG.cpp:
1300         (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG):
1301         (WebCore::EGLDisplayOpenVG::destroySurface):
1302         (WebCore::EGLDisplayOpenVG::contextForSurface):
1303         * platform/graphics/texmap/TextureMapperGL.cpp:
1304         (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
1305         (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
1306         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
1307         (WebCore::TextureMapperShaderManager::getShaderProgram):
1308         (WebCore::TextureMapperShaderManager::getShaderForFilter):
1309         * platform/graphics/wince/FontPlatformData.cpp:
1310         (WebCore::FixedSizeFontData::create):
1311         * platform/gtk/DataObjectGtk.cpp:
1312         (WebCore::DataObjectGtk::forClipboard):
1313         * platform/gtk/GtkDragAndDropHelper.cpp:
1314         (WebCore::GtkDragAndDropHelper::handleGetDragData):
1315         (WebCore::GtkDragAndDropHelper::handleDragLeave):
1316         (WebCore::GtkDragAndDropHelper::handleDragMotion):
1317         (WebCore::GtkDragAndDropHelper::handleDragDataReceived):
1318         (WebCore::GtkDragAndDropHelper::handleDragDrop):
1319         * platform/gtk/RedirectedXCompositeWindow.cpp:
1320         (WebCore::filterXDamageEvent):
1321         * platform/gtk/RenderThemeGtk3.cpp:
1322         (WebCore::gtkStyleChangedCallback):
1323         (WebCore::getStyleContext):
1324         * platform/mac/ScrollbarThemeMac.mm:
1325         (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
1326         * platform/network/CredentialStorage.cpp:
1327         (WebCore::CredentialStorage::set):
1328         (WebCore::CredentialStorage::get):
1329         * platform/network/HTTPHeaderMap.cpp:
1330         (WebCore::HTTPHeaderMap::copyData):
1331         (WebCore::HTTPHeaderMap::get):
1332         * platform/network/MIMEHeader.cpp:
1333         (WebCore::MIMEHeader::parseHeader):
1334         * platform/network/ResourceHandle.cpp:
1335         (WebCore::ResourceHandle::create):
1336         * platform/network/ResourceRequestBase.cpp:
1337         (WebCore::ResourceRequestBase::addHTTPHeaderField):
1338         (WebCore::ResourceRequestBase::addHTTPHeaderFields):
1339         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
1340         (WebCore::ResourceRequest::targetTypeFromMimeType):
1341         (WebCore::ResourceRequest::initializePlatformRequest):
1342         * platform/network/cf/ResourceHandleCFNet.cpp:
1343         (WebCore::makeFinalRequest):
1344         * platform/network/cf/ResourceRequestCFNet.cpp:
1345         (WebCore::setHeaderFields):
1346         * platform/network/curl/ResourceHandleManager.cpp:
1347         (WebCore::ResourceHandleManager::initializeHandle):
1348         * platform/network/mac/ResourceRequestMac.mm:
1349         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1350         * platform/network/qt/ResourceRequestQt.cpp:
1351         (WebCore::ResourceRequest::toNetworkRequest):
1352         * platform/network/soup/ResourceHandleSoup.cpp:
1353         (WebCore::sendRequestCallback):
1354         (WebCore::ResourceHandle::setClientCertificate):
1355         * platform/network/soup/ResourceRequestSoup.cpp:
1356         (WebCore::ResourceRequest::updateSoupMessage):
1357         (WebCore::ResourceRequest::toSoupMessage):
1358         * platform/network/soup/ResourceResponseSoup.cpp:
1359         (WebCore::ResourceResponse::toSoupMessage):
1360         * platform/network/win/ResourceHandleWin.cpp:
1361         (WebCore::ResourceHandle::start):
1362         * platform/qt/RunLoopQt.cpp:
1363         (WebCore::RunLoop::TimerBase::timerFired):
1364         * platform/text/LocaleToScriptMappingDefault.cpp:
1365         (WebCore::scriptNameToCode):
1366         (WebCore::localeToScriptCodeForFontSelection):
1367         * platform/text/TextEncodingRegistry.cpp:
1368         (WebCore::pruneBlacklistedCodecs):
1369         (WebCore::dumpTextEncodingNameMap):
1370         * platform/text/transcoder/FontTranscoder.cpp:
1371         (WebCore::FontTranscoder::converterType):
1372         * platform/text/win/TextCodecWin.cpp:
1373         (WebCore::LanguageManager::LanguageManager):
1374         (WebCore::getCodePage):
1375         (WebCore::TextCodecWin::registerExtendedEncodingNames):
1376         (WebCore::TextCodecWin::registerExtendedCodecs):
1377         (WebCore::TextCodecWin::enumerateSupportedEncodings):
1378         * platform/win/ClipboardUtilitiesWin.cpp:
1379         (WebCore::getDataMapItem):
1380         (WebCore::getClipboardData):
1381         (WebCore::setClipboardData):
1382         * platform/win/ClipboardWin.cpp:
1383         (WebCore::ClipboardWin::types):
1384         * platform/win/FileSystemWin.cpp:
1385         (WebCore::cachedStorageDirectory):
1386         * platform/win/RunLoopWin.cpp:
1387         (WebCore::RunLoop::TimerBase::timerFired):
1388         * platform/win/WCDataObject.cpp:
1389         (WebCore::WCDataObject::createInstance):
1390         * platform/wince/MIMETypeRegistryWinCE.cpp:
1391         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
1392         * platform/wx/ContextMenuWx.cpp:
1393         (WebCore::ContextMenu::appendItem):
1394         * plugins/PluginDatabase.cpp:
1395         (WebCore::PluginDatabase::refresh):
1396         (WebCore::PluginDatabase::MIMETypeForExtension):
1397         (WebCore::PluginDatabase::remove):
1398         * plugins/PluginMainThreadScheduler.cpp:
1399         (WebCore::PluginMainThreadScheduler::scheduleCall):
1400         (WebCore::PluginMainThreadScheduler::dispatchCalls):
1401         * plugins/PluginStream.cpp:
1402         (WebCore::PluginStream::startStream):
1403         * plugins/blackberry/PluginDataBlackBerry.cpp:
1404         (WebCore::PluginData::initPlugins):
1405         * plugins/wx/PluginDataWx.cpp:
1406         (WebCore::PluginData::initPlugins):
1407         * rendering/ExclusionShapeInsideInfo.cpp:
1408         (WebCore::ExclusionShapeInsideInfo::ensureExclusionShapeInsideInfoForRenderBlock):
1409         * rendering/FlowThreadController.cpp:
1410         (WebCore::FlowThreadController::unregisterNamedFlowContentNode):
1411         * rendering/InlineFlowBox.cpp:
1412         (WebCore::InlineFlowBox::requiresIdeographicBaseline):
1413         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1414         * rendering/RenderBlock.cpp:
1415         (WebCore::RenderBlock::clearFloats):
1416         * rendering/RenderBlockLineLayout.cpp:
1417         (WebCore::setLogicalWidthForTextRun):
1418         * rendering/RenderBoxModelObject.cpp:
1419         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
1420         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
1421         * rendering/RenderCounter.cpp:
1422         (WebCore::RenderCounter::destroyCounterNodes):
1423         (WebCore::RenderCounter::destroyCounterNode):
1424         (WebCore::updateCounters):
1425         (WebCore::RenderCounter::rendererStyleChanged):
1426         * rendering/RenderFlowThread.cpp:
1427         (WebCore::RenderFlowThread::setRegionRangeForBox):
1428         (WebCore::RenderFlowThread::getRegionRangeForBox):
1429         * rendering/RenderLayer.cpp:
1430         (WebCore::RenderLayer::paint):
1431         (WebCore::performOverlapTests):
1432         * rendering/RenderLayerFilterInfo.cpp:
1433         (WebCore::RenderLayerFilterInfo::filterInfoForRenderLayer):
1434         (WebCore::RenderLayerFilterInfo::createFilterInfoForRenderLayerIfNeeded):
1435         * rendering/RenderNamedFlowThread.cpp:
1436         (WebCore::RenderNamedFlowThread::dependsOn):
1437         (WebCore::RenderNamedFlowThread::pushDependencies):
1438         * rendering/RenderRegion.cpp:
1439         (WebCore::RenderRegion::setRenderBoxRegionInfo):
1440         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
1441         (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
1442         (WebCore::RenderRegion::computeChildrenStyleInRegion):
1443         * rendering/RenderTableSection.cpp:
1444         (WebCore::RenderTableSection::cachedCollapsedBorder):
1445         * rendering/RenderThemeMac.mm:
1446         (WebCore::RenderThemeMac::systemColor):
1447         * rendering/RenderView.cpp:
1448         (WebCore::RenderView::selectionBounds):
1449         (WebCore::RenderView::setSelection):
1450         * rendering/RenderWidget.cpp:
1451         (WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):
1452         * rendering/RootInlineBox.cpp:
1453         (WebCore::RootInlineBox::ascentAndDescentForBox):
1454         * rendering/VerticalPositionCache.h:
1455         (WebCore::VerticalPositionCache::get):
1456         * rendering/svg/RenderSVGInlineText.cpp:
1457         (WebCore::RenderSVGInlineText::characterStartsNewTextChunk):
1458         * rendering/svg/RenderSVGResourceFilter.cpp:
1459         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
1460         * rendering/svg/RenderSVGResourceGradient.cpp:
1461         (WebCore::RenderSVGResourceGradient::applyResource):
1462         * rendering/svg/RenderSVGResourcePattern.cpp:
1463         (WebCore::RenderSVGResourcePattern::applyResource):
1464         * rendering/svg/SVGResourcesCache.cpp:
1465         (WebCore::SVGResourcesCache::resourceDestroyed):
1466         * rendering/svg/SVGRootInlineBox.cpp:
1467         (WebCore::swapItemsInLayoutAttributes):
1468         * rendering/svg/SVGTextLayoutAttributes.cpp:
1469         (WebCore::SVGTextLayoutAttributes::dump):
1470         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
1471         (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap):
1472         (WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap):
1473         * rendering/svg/SVGTextLayoutEngine.cpp:
1474         (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
1475         * rendering/svg/SVGTextMetricsBuilder.cpp:
1476         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
1477         * storage/StorageAreaSync.cpp:
1478         (WebCore::StorageAreaSync::syncTimerFired):
1479         (WebCore::StorageAreaSync::performImport):
1480         (WebCore::StorageAreaSync::sync):
1481         * storage/StorageMap.cpp:
1482         (WebCore::StorageMap::key):
1483         (WebCore::StorageMap::setItem):
1484         * storage/StorageNamespaceImpl.cpp:
1485         (WebCore::StorageNamespaceImpl::localStorageNamespace):
1486         (WebCore::StorageNamespaceImpl::copy):
1487         (WebCore::StorageNamespaceImpl::close):
1488         (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion):
1489         (WebCore::StorageNamespaceImpl::sync):
1490         * svg/SVGDocumentExtensions.cpp:
1491         (WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget):
1492         (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget):
1493         (WebCore::SVGDocumentExtensions::addPendingResource):
1494         (WebCore::SVGDocumentExtensions::isElementPendingResources):
1495         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
1496         (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget):
1497         (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement):
1498         (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget):
1499         * svg/SVGElement.cpp:
1500         (WebCore::SVGElement::~SVGElement):
1501         * svg/animation/SMILTimeContainer.cpp:
1502         (WebCore::SMILTimeContainer::setElapsed):
1503         (WebCore::SMILTimeContainer::updateAnimations):
1504         * svg/graphics/SVGImageCache.cpp:
1505         (WebCore::SVGImageCache::~SVGImageCache):
1506         (WebCore::SVGImageCache::removeClientFromCache):
1507         (WebCore::SVGImageCache::requestedSizeAndScales):
1508         (WebCore::SVGImageCache::imageContentChanged):
1509         (WebCore::SVGImageCache::redraw):
1510         (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
1511         * svg/graphics/filters/SVGFilterBuilder.h:
1512         (WebCore::SVGFilterBuilder::effectReferences):
1513         (WebCore::SVGFilterBuilder::addBuiltinEffects):
1514         * svg/properties/SVGAnimatedProperty.h:
1515         (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
1516         * svg/properties/SVGAttributeToPropertyMap.cpp:
1517         (WebCore::SVGAttributeToPropertyMap::addProperties):
1518         (WebCore::SVGAttributeToPropertyMap::synchronizeProperties):
1519         * workers/WorkerContext.cpp:
1520         (WebCore::WorkerContext::hasPendingActivity):
1521         * workers/WorkerEventQueue.cpp:
1522         (WebCore::WorkerEventQueue::close):
1523         * xml/XMLHttpRequest.cpp:
1524         (WebCore::XMLHttpRequest::setRequestHeaderInternal):
1525         (WebCore::XMLHttpRequest::getAllResponseHeaders):
1526         * xml/XPathFunctions.cpp:
1527         (WebCore::XPath::createFunction):
1528         * xml/XPathParser.cpp:
1529         (isAxisName):
1530         * xml/XSLTProcessorLibxslt.cpp:
1531         (WebCore::xsltParamArrayFromParameterMap):
1532         * xml/XSLTProcessorQt.cpp:
1533         (WebCore::XSLTProcessor::transformToString):
1534
1535 2012-10-07  Geoffrey Garen  <ggaren@apple.com>
1536
1537         REGRESSION (r130584): Crashes in JSC::MarkedAllocator::allocateSlowCase, failing fast/dom/gc-dom-tree-lifetime.html
1538         https://bugs.webkit.org/show_bug.cgi?id=98612
1539
1540         Reviewed by Darin Adler.
1541
1542         Since DOM modification can happen outside of JS, calls into JS due to
1543         DOM modification need to take the JS lock.
1544
1545         * bindings/js/JSNodeCustom.cpp:
1546         (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): Take the JS
1547         lock before doing a JS allocation, since this may be a JS entrypoint.
1548
1549         * bindings/js/JSNodeCustom.h:
1550         (WebCore::willCreatePossiblyOrphanedTreeByRemoval): Split out a slow case
1551         to help the inliner.
1552
1553 2012-10-07  Nick Carter  <nick@chromium.org>
1554
1555         [chromium] Crash in WebCore::GraphicsLayerChromium::setContentsToImage
1556         https://bugs.webkit.org/show_bug.cgi?id=98456
1557
1558         Reviewed by James Robinson.
1559
1560         Handle null return of nativeImageForCurrentFrame.
1561
1562         Test: compositing/images/truncated-direct-png-image.html
1563
1564         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1565         (WebCore::GraphicsLayerChromium::setContentsToImage):
1566
1567 2012-10-07  Benjamin Poulain  <benjamin@webkit.org>
1568
1569         WTFURL: implement URL port removal for HTMLAnchorElement
1570         https://bugs.webkit.org/show_bug.cgi?id=98604
1571
1572         Reviewed by Adam Barth.
1573
1574         * platform/KURLWTFURL.cpp:
1575         (WebCore::KURL::hasPort):
1576         (WebCore::KURL::removePort):
1577         (WebCore::KURL::isHierarchical):
1578         Implement those methods to pass the port removal test of HTMLAnchorElement.
1579
1580 2012-10-05  Dirk Schulze  <krit@webkit.org>
1581
1582         SVG radialGradient should support 'fr' for focal radius (just like Canvas)
1583         https://bugs.webkit.org/show_bug.cgi?id=97986
1584
1585         Reviewed by Daniel Bates.
1586
1587         Update SVGRadialGradient to the changed behavior in SVG2: http://www.w3.org/TR/SVG2/pservers.html#RadialGradients
1588         SVG2 adds the focal radius for radial gradients. Color stops will start from the edge of
1589         the focal radius.
1590         The new specification does not limit the focal point to be inside the radial gradients radius.
1591         This makes SVGRadialGradient consistent with the radial gradient on Canvas.
1592
1593         Test: svg/custom/radialGradient-focal-radius.svg
1594
1595         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
1596             Remove checks for position of focal point. The focal point
1597             can be placed every where outside the radius of the gradient now.
1598         (WebCore::RenderSVGResourceRadialGradient::focalRadius):
1599             Add new method to get the focal radius from SVGRadialGradientElement.
1600         (WebCore::RenderSVGResourceRadialGradient::buildGradient):
1601         * rendering/svg/RenderSVGResourceRadialGradient.h:
1602         (RenderSVGResourceRadialGradient):
1603         * rendering/svg/SVGRenderTreeAsText.cpp:
1604         (WebCore::writeSVGResourceContainer):
1605             Modify DRT output to include the focal radius.
1606         * svg/RadialGradientAttributes.h:
1607         (WebCore::RadialGradientAttributes::RadialGradientAttributes):
1608         (WebCore::RadialGradientAttributes::fr):
1609         (WebCore::RadialGradientAttributes::setFr):
1610         (WebCore::RadialGradientAttributes::hasFr):
1611         (RadialGradientAttributes):
1612             New setters and getters for focal radius.
1613         * svg/SVGRadialGradientElement.cpp:
1614         (WebCore):
1615         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
1616         (WebCore::SVGRadialGradientElement::isSupportedAttribute):
1617         (WebCore::SVGRadialGradientElement::parseAttribute):
1618         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
1619         (WebCore::SVGRadialGradientElement::selfHasRelativeLengths):
1620             Ditto.
1621         * svg/SVGRadialGradientElement.h:
1622         (SVGRadialGradientElement):
1623         * svg/SVGRadialGradientElement.idl:
1624         * svg/svgattrs.in:
1625             Add 'fr' as new attribute to the SVG attribute list.
1626
1627 2012-10-07  Glenn Adams  <glenn@skynav.com>
1628
1629         Use start instead of -webkit-auto in default and quirks mode stylesheets.
1630         https://bugs.webkit.org/show_bug.cgi?id=98609
1631
1632         Reviewed by Antti Koivisto.
1633
1634         Change text-align use of legacy '-webkit-auto' to 'start' in the few places where it is used
1635         in default/quirks stylesheets.
1636         
1637         No new tests. No change of rendering/styling behavior. No performance impact.
1638
1639         * css/html.css:
1640         (input, textarea, keygen, select, button, isindex):
1641         (ruby > rt):
1642         * css/quirks.css:
1643         (table):
1644
1645 2012-10-06  Raul Hudea  <rhudea@adobe.com>
1646
1647         -webkit-clip-path should parse IRIs
1648         https://bugs.webkit.org/show_bug.cgi?id=96381
1649
1650         Reviewed by Andreas Kling.
1651
1652         Implemented the clipping via referencing a SVG clipPath. Currently it works only if the clipPath is defined
1653         before using it on an HTML element. The forward reference issue is tracked via https://bugs.webkit.org/show_bug.cgi?id=90405.
1654
1655         Tests: css3/masking/clip-path-reference-userSpaceOnUse.html
1656                css3/masking/clip-path-reference.html
1657                fast/masking/parsing-clip-path-iri.html
1658
1659         * css/CSSComputedStyleDeclaration.cpp:
1660         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add handling for SVG clipPath references.
1661         * css/CSSParser.cpp:
1662         (WebCore::CSSParser::parseValue): Add handling for SVG clipPath references.
1663         * css/StyleBuilder.cpp:
1664         (WebCore::ApplyPropertyClipPath::applyValue): Add handling for SVG references.
1665         * rendering/ClipPathOperation.h:
1666         (ReferenceClipPathOperation): Added a new class corresponding to SVG referenced clipPath.
1667         (WebCore::ReferenceClipPathOperation::create):
1668         (WebCore::ReferenceClipPathOperation::url):
1669         (WebCore::ReferenceClipPathOperation::fragment):
1670         (WebCore::ReferenceClipPathOperation::operator==):
1671         (WebCore::ReferenceClipPathOperation::ReferenceClipPathOperation):
1672         (WebCore):
1673         * rendering/RenderLayer.cpp:
1674         (WebCore::RenderLayer::paintLayerContents): Add handling for ReferenceClipPathOperation.
1675         * rendering/svg/RenderSVGResourceClipper.h:
1676         (RenderSVGResourceClipper): Made applyClippingToContext public as it needs to be called directly for HTML elements.
1677
1678 2012-10-06  Pratik Solanki  <psolanki@apple.com>
1679
1680         Reduce calls to CGImageSourceCopyPropertiesAtIndex from frameSizeAtIndex
1681         https://bugs.webkit.org/show_bug.cgi?id=98607
1682
1683         Reviewed by Dan Bernstein.
1684
1685         Refactor code so that we avoid a second call to CGImageSourceCopyPropertiesAtIndex under
1686         ImageSource::frameSizeAtIndex().
1687
1688         No new tests because no functional change.
1689
1690         * platform/graphics/cg/ImageSourceCG.cpp:
1691         (WebCore::orientationFromProperties):
1692         (WebCore):
1693         (WebCore::ImageSource::frameSizeAtIndex):
1694         (WebCore::ImageSource::orientationAtIndex):
1695
1696 2012-10-06  Mark Rowe  <mrowe@apple.com>
1697
1698         Build fix.
1699
1700         Stop calling -[NSSliderCell setTitle:]. It's never done anything on OS X.
1701
1702         * rendering/RenderThemeMac.mm:
1703         (WebCore::RenderThemeMac::sliderThumbHorizontal):
1704         (WebCore::RenderThemeMac::sliderThumbVertical):
1705
1706 2012-10-06  Andreas Kling  <kling@webkit.org>
1707
1708         Clipboard::types() should return an ordered collection.
1709         <http://webkit.org/b/98547>
1710
1711         Reviewed by Darin Adler.
1712
1713         Let Clipboard::types() return a ListHashSet<String> instead of a HashSet<String> to make sure
1714         it retains the order in which type strings are added.
1715
1716         No test, this fixes an issue that was uncovered when lowering the default table size of WTF
1717         hash tables, causing the HashSet<String> to rehash and reorder itself.
1718
1719         * bindings/js/JSClipboardCustom.cpp:
1720         (WebCore::JSClipboard::types):
1721         * bindings/v8/custom/V8ClipboardCustom.cpp:
1722         (WebCore::V8Clipboard::typesAccessorGetter):
1723         * dom/Clipboard.h:
1724         (Clipboard):
1725         * platform/blackberry/ClipboardBlackBerry.cpp:
1726         (WebCore::ClipboardBlackBerry::types):
1727         * platform/blackberry/ClipboardBlackBerry.h:
1728         (ClipboardBlackBerry):
1729         * platform/chromium/ChromiumDataObject.cpp:
1730         (WebCore::ChromiumDataObject::types):
1731         * platform/chromium/ChromiumDataObject.h:
1732         (ChromiumDataObject):
1733         * platform/chromium/ClipboardChromium.cpp:
1734         (WebCore::ClipboardChromium::types):
1735         * platform/chromium/ClipboardChromium.h:
1736         (ClipboardChromium):
1737         * platform/efl/ClipboardEfl.cpp:
1738         (WebCore::ClipboardEfl::types):
1739         * platform/efl/ClipboardEfl.h:
1740         (ClipboardEfl):
1741         * platform/gtk/ClipboardGtk.cpp:
1742         (WebCore::ClipboardGtk::types):
1743         * platform/gtk/ClipboardGtk.h:
1744         (ClipboardGtk):
1745         * platform/mac/ClipboardMac.h:
1746         (ClipboardMac):
1747         * platform/mac/ClipboardMac.mm:
1748         (WebCore::addHTMLClipboardTypesForCocoaType):
1749         (WebCore::ClipboardMac::types):
1750         * platform/qt/ClipboardQt.cpp:
1751         (WebCore::ClipboardQt::types):
1752         * platform/qt/ClipboardQt.h:
1753         (ClipboardQt):
1754         * platform/win/ClipboardWin.cpp:
1755         (WebCore::addMimeTypesForFormat):
1756         (WebCore::ClipboardWin::types):
1757         * platform/win/ClipboardWin.h:
1758         (ClipboardWin):
1759         * platform/wx/ClipboardWx.cpp:
1760         (WebCore::ClipboardWx::types):
1761         * platform/wx/ClipboardWx.h:
1762         (ClipboardWx):
1763
1764 2012-10-06  Geoffrey Garen  <ggaren@apple.com>
1765
1766         If Node X is reachable from JavaScript, all Nodes in the same tree should be kept alive
1767         https://bugs.webkit.org/show_bug.cgi?id=88834
1768
1769         Reviewed by Gavin Barraclough.
1770
1771         Follow-up patch to address some comments by Darin Adler.
1772
1773         * bindings/js/JSNodeCustom.h:
1774         (WebCore::willCreatePossiblyOrphanedTreeByRemoval): Save some space by
1775         collapsing comment lines. Use Node::hasChildNodes() for brevity.
1776
1777 2012-10-06  Benjamin Poulain  <benjamin@webkit.org>
1778
1779         Fix weird use of KURL's protocolIs
1780         https://bugs.webkit.org/show_bug.cgi?id=98584
1781
1782         Reviewed by Adam Barth.
1783
1784         Converting a KURL to string is a bad idea.
1785
1786         Invalid URLs can return a string that pass the tests, while an
1787         invalid URL will fail protocolIs().
1788
1789         * loader/cache/CachedResource.cpp:
1790         (WebCore::CachedResource::removeClient):
1791         * platform/graphics/MediaPlayer.cpp:
1792         (WebCore::MediaPlayer::load):
1793         * platform/network/DataURL.cpp:
1794         (WebCore::handleDataURL):
1795
1796 2012-10-06  Dan Bernstein  <mitz@apple.com>
1797
1798         WebCore part of <rdar://problem/12446507> [mac] WebKit clients cannot change the behavior of text-rendering: auto
1799         https://bugs.webkit.org/show_bug.cgi?id=98601
1800
1801         Reviewed by Darin Adler.
1802
1803         * WebCore.exp.in: Exported Font::setDefaultTypesettingFeatures().
1804         * platform/graphics/Font.cpp:
1805         (WebCore::Font::s_defaultTypesettingFeatures): Defined this static.
1806         (WebCore::Font::setDefaultTypesettingFeatures): Added this setter.
1807         (WebCore::Font::defaultTypesettingFeatures): Added this getter.
1808         * platform/graphics/Font.h:
1809         (WebCore::Font::typesettingFeatures): Changed to use the value of the new static member
1810         s_defaultTypesettingFeatures, rather than 0, if text-redering is set to auto.
1811
1812 2012-10-04  Geoffrey Garen  <ggaren@apple.com>
1813
1814         If Node X is reachable from JavaScript, all Nodes in the same tree should be kept alive
1815         https://bugs.webkit.org/show_bug.cgi?id=88834
1816
1817         Reviewed by Gavin Barraclough.
1818
1819         * bindings/js/JSNodeCustom.cpp:
1820         (WebCore::isObservable): Clarified this comment, since it seems to have
1821         misled some folks. 
1822
1823         * bindings/js/JSNodeCustom.h:
1824         (WebCore::willCreatePossiblyOrphanedTreeByRemoval): New helper function
1825         to ensure that a disconnected tree is visible to JavaScript.
1826
1827         * bindings/js/ScriptState.cpp:
1828         (WebCore::mainWorldScriptState): Need to check for null because a document's
1829         frame can be null.
1830
1831         * dom/ContainerNode.cpp:
1832         (WebCore::dispatchChildRemovalEvents): When we remove a subtree from the
1833         document, we sever the reference that JavaScript previously held by
1834         referencing its root. So, we give JavaScript an opportunity to establish
1835         a reference to the new root.
1836
1837 2012-10-06  Byungwoo Lee  <bw80.lee@samsung.com>
1838
1839         Fix build warning : -Wunused-parameter.
1840         https://bugs.webkit.org/show_bug.cgi?id=98583
1841
1842         Reviewed by Kentaro Hara.
1843
1844         Use ASSERT_UNUSED() macro to remove build warning.
1845
1846         * plugins/PluginStream.cpp:
1847         (WebCore::PluginStream::delayDeliveryTimerFired):
1848         (WebCore::PluginStream::didReceiveResponse):
1849         (WebCore::PluginStream::didReceiveData):
1850         (WebCore::PluginStream::didFail):
1851         (WebCore::PluginStream::didFinishLoading):
1852         * plugins/PluginView.cpp:
1853         (WebCore::PluginView::requestTimerFired):
1854         (WebCore::PluginView::invalidateTimerFired):
1855
1856 2012-10-05  Adam Barth  <abarth@webkit.org>
1857
1858         [V8] toV8(Node*, ...) does more work than needed (6% faster on dom-traverse)
1859         https://bugs.webkit.org/show_bug.cgi?id=98567
1860
1861         Reviewed by Kentaro Hara.
1862
1863         This patch introduces toV8Fast for Node*. This function works a
1864         differently from the existing toV8 function in two ways:
1865
1866         1) It uses the inline wrapper cache in Node to determine if we're
1867            executing in the main world. This is faster both in the case when
1868            isolated worlds exist because we don't need to retrieve any state
1869            for the current context.
1870
1871         2) It doesn't attempt to inline the hash table lookup used to find the
1872            wrapper in the isolated world. There isn't a big need to inline this
1873            code since performance in the isolated world case is dominated by
1874            the hash table lookup.
1875
1876         Because of these two changes, toV8Fast is small enough to inline into
1877         each attribute getter profitably. Over time, I would like to convert
1878         all the performance critical uses of toV8(Node*) to toV8Fast. At that
1879         point, we can delete toV8 and rename toV8Slow to toV8.
1880
1881         * bindings/scripts/CodeGeneratorV8.pm:
1882         (GenerateHeader):
1883         (GenerateNormalAttrGetter):
1884
1885 2012-10-05  Huang Dongsung  <luxtella@company100.net>
1886
1887         [mac] REGRESSION (r122215): Animated GIF outside the viewport doesn't play when scrolled into view.
1888         https://bugs.webkit.org/show_bug.cgi?id=94874
1889
1890         Reviewed by Simon Fraser.
1891
1892         Rollback previous patch because this patch caused two problems.
1893         1. GIF animation is occasionally paused when tiled scrolling is enabled.
1894         2. This change regressed Apple's Membuster benchmark by ~20% (80MB.)
1895
1896         * loader/cache/CachedImage.cpp:
1897         (WebCore::CachedImage::shouldPauseAnimation):
1898         * loader/cache/CachedImage.h:
1899         (CachedImage):
1900         * loader/cache/CachedResource.h:
1901         * loader/cache/MemoryCache.cpp:
1902         (WebCore::MemoryCache::pruneLiveResourcesToSize):
1903         * rendering/RenderObject.cpp:
1904         (WebCore::RenderObject::willRenderImage):
1905
1906 2012-10-05  Xianzhu Wang  <wangxianzhu@chromium.org>
1907
1908         OpenTypeVerticalData issue with DroidSansFallback.ttf on chromium-android and chromium-linux
1909         https://bugs.webkit.org/show_bug.cgi?id=97824
1910
1911         Reviewed by Tony Chang.
1912
1913         The issue occurred when a font that contains vert GSUB table but doesn't have
1914         a DFLT script and the first script doesn't have vert feature. Added logic to
1915         handle the case.
1916
1917         Test: fast/writing-mode/vertical-subst-font-vert-no-dflt.html
1918
1919         * platform/graphics/opentype/OpenTypeVerticalData.cpp:
1920         (FeatureList):
1921         (WebCore::OpenType::FeatureList::findFeature): Added to find the matching feature in FeatureList.
1922         (WebCore::OpenType::GSUBTable::feature): Added logic to handle the case of no DFLT script and no vert feature under the first script.
1923
1924 2012-10-05  Tony Chang  <tony@chromium.org>
1925
1926         Form controls should always be horizontal
1927         https://bugs.webkit.org/show_bug.cgi?id=98563
1928
1929         Reviewed by Ojan Vafai.
1930
1931         Fix a regression where we didn't force form controls to be horizontal.
1932
1933         Tests: fast/dom/HTMLMeterElement/meter-writing-mode.html
1934                fast/dom/HTMLProgressElement/progress-writing-mode.html
1935                fast/table/colspanMinWidth-vertical.html
1936
1937         * css/html.css:
1938         (input, textarea, keygen, select, button, isindex, meter, progress):
1939
1940 2012-10-05  Sheriff Bot  <webkit.review.bot@gmail.com>
1941
1942         Unreviewed, rolling out r130556 and r130564.
1943         http://trac.webkit.org/changeset/130556
1944         http://trac.webkit.org/changeset/130564
1945         https://bugs.webkit.org/show_bug.cgi?id=98572
1946
1947         The patch wasn't reviewed by a reviewer and it is breaking
1948         Chromium Windows (Requested by jchaffraix on #webkit).
1949
1950         * WebCore.exp.in:
1951         * WebCore.xcodeproj/project.pbxproj:
1952         * css/mediaControls.css:
1953         (video::-webkit-media-text-track-container):
1954         (video::-webkit-media-text-track-past-nodes):
1955         (video::-webkit-media-text-track-future-nodes):
1956         (video::-webkit-media-text-track-display):
1957         * html/HTMLMediaElement.cpp:
1958         (WebCore::HTMLMediaElement::HTMLMediaElement):
1959         (WebCore::HTMLMediaElement::attach):
1960         (WebCore::HTMLMediaElement::userIsInterestedInThisLanguage):
1961         (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind):
1962         (WebCore::HTMLMediaElement::setClosedCaptionsVisible):
1963         (WebCore::HTMLMediaElement::updateClosedCaptionsControls):
1964         * html/HTMLMediaElement.h:
1965         (HTMLMediaElement):
1966         * html/shadow/MediaControlElements.cpp:
1967         (WebCore):
1968         (WebCore::MediaControlTextTrackContainerElement::updateSizes):
1969         * html/shadow/MediaControlElements.h:
1970         (MediaControlTextTrackContainerElement):
1971         * html/shadow/MediaControlRootElement.cpp:
1972         (WebCore::MediaControlRootElement::updateTextTrackDisplay):
1973         * html/shadow/MediaControlRootElement.h:
1974         (MediaControlRootElement):
1975         * html/shadow/MediaControls.h:
1976         (MediaControls):
1977         * html/track/TextTrack.cpp:
1978         (WebCore::TextTrack::TextTrack):
1979         (WebCore::TextTrack::isValidKindKeyword):
1980         (WebCore::TextTrack::setKind):
1981         (WebCore::TextTrack::setMode):
1982         (WebCore::TextTrack::mode):
1983         * html/track/TextTrack.h:
1984         (WebCore::TextTrack::create):
1985         (WebCore::TextTrack::kind):
1986         (TextTrack):
1987         (WebCore::TextTrack::label):
1988         (WebCore::TextTrack::setLabel):
1989         (WebCore::TextTrack::language):
1990         (WebCore::TextTrack::setLanguage):
1991         * html/track/TextTrackCue.cpp:
1992         (WebCore::TextTrackCueBox::TextTrackCueBox):
1993         (WebCore::TextTrackCueBox::shadowPseudoId):
1994         (WebCore):
1995         (WebCore::TextTrackCue::updateDisplayTree):
1996         * html/track/TextTrackCue.h:
1997         (TextTrackCueBox):
1998         (TextTrackCue):
1999         * platform/mac/WebCoreSystemInterface.h:
2000         * platform/mac/WebCoreSystemInterface.mm:
2001         * rendering/CaptionPreferencesChangedListener.h: Removed.
2002         * rendering/RenderTheme.h:
2003         (WebCore):
2004         (RenderTheme):
2005         * rendering/RenderThemeMac.h:
2006         (RenderThemeMac):
2007         * rendering/RenderThemeMac.mm:
2008         (WebCore):
2009         (WebCore::RenderThemeMac::RenderThemeMac):
2010         (WebCore::RenderThemeMac::~RenderThemeMac):
2011
2012 2012-10-05  Tim Horton  <timothy_horton@apple.com>
2013
2014         [cg] GraphicsContextCG should ask CG whether the shadow offset workaround is required
2015         https://bugs.webkit.org/show_bug.cgi?id=98565
2016         <rdar://problem/12436468>
2017
2018         Reviewed by Simon Fraser.
2019
2020         On Mountain Lion and above, CG can tell us whether we need to work around incorrect
2021         shadow offsets. Prior to Mountain Lion, we should assume we need to apply the workaround.
2022
2023         No new tests, as this requires an obscure configuration to test.
2024
2025         * WebCore.exp.in:
2026         * platform/graphics/cg/GraphicsContextCG.cpp:
2027         (WebCore::applyShadowOffsetWorkaroundIfNeeded):
2028         (WebCore::GraphicsContext::setPlatformShadow):
2029         * platform/mac/WebCoreSystemInterface.h: Add wkCGContextDrawsWithCorrectShadowOffsets.
2030         * platform/mac/WebCoreSystemInterface.mm: Add wkCGContextDrawsWithCorrectShadowOffsets.
2031
2032 2012-10-05  Anders Carlsson  <andersca@apple.com>
2033
2034         Try to fix the build.
2035
2036         * rendering/RenderThemeMac.mm:
2037         (WebCore::RenderThemeMac::captionsWindowColor):
2038
2039 2012-10-05  Eric Seidel  <eric@webkit.org>
2040
2041         Remove needless virtual calls and inline RenderStyle::logical* to make table layout faster
2042         https://bugs.webkit.org/show_bug.cgi?id=98550
2043
2044         Reviewed by Andreas Kling.
2045
2046         This shaved another 5% (100ms) off of the runtime of resizecol.html microbenchmark:
2047         http://www.robohornet.org/tests/resizecol.html
2048
2049         * rendering/AutoTableLayout.cpp:
2050         (WebCore::AutoTableLayout::recalcColumn):
2051         * rendering/style/RenderStyle.cpp:
2052         * rendering/style/RenderStyle.h:
2053
2054 2012-10-04  Eric Carlson  <eric.carlson@apple.com>
2055
2056         Allow ports to override text track rendering style
2057         https://bugs.webkit.org/show_bug.cgi?id=97800
2058         <rdar://problem/12044964>
2059
2060         Reviewed by Silvia Pfeiffer.
2061
2062         * WebCore.exp.in: Export new WebkitSystemInterface functions.
2063         * WebCore.xcodeproj/project.pbxproj: Add CaptionPreferencesChangedListener.h.
2064
2065         * css/mediaControls.css: Rearrange the caption CSS so it is possible to style the cue window,
2066             background, and text independently.
2067
2068         * html/HTMLMediaElement.cpp:
2069         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_disableCaptions with theme->userPrefersCaptions().
2070         (WebCore::HTMLMediaElement::attach): Register for caption preferences change callbacks.
2071         (WebCore::HTMLMediaElement::detach): Unregister for caption preferences change callbacks.
2072         (WebCore::HTMLMediaElement::userPrefersCaptions): Return theme->userPrefersCaptions().
2073         (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Consider userPrefersCaptions().
2074         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Move the code that marks all tracks as
2075             un-configured to markCaptionAndSubtitleTracksAsUnconfigured so it can be reused.
2076         (WebCore::HTMLMediaElement::captionPreferencesChanged): New, force a reevaluation of all text tracks.
2077         (WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): New, code moved from 
2078             setClosedCaptionsVisible
2079         * html/HTMLMediaElement.h: Inherit from CaptionPreferencesChangedListener.
2080
2081         * html/shadow/MediaControlElements.cpp:
2082         (WebCore::MediaControlTextTrackContainerElement::userCaptionPreferencesChanged): New, if theme
2083             has a captions style sheet override, inject it into the current page group, otherwise
2084             remove injected sheet.
2085         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Get rid of unnecessary member
2086             variable. Get caption font scale from theme instead of hard coding.
2087         * html/shadow/MediaControlElements.h:
2088
2089         * html/shadow/MediaControlRootElement.cpp:
2090         (WebCore::MediaControlRootElement::userCaptionPreferencesChanged): New.
2091         (WebCore::MediaControlRootElement::updateTextTrackDisplay):
2092         * html/shadow/MediaControlRootElement.h: Add userCaptionPreferencesChanged, minor cleanup.
2093
2094         * html/shadow/MediaControls.h:
2095         (WebCore::MediaControls::userCaptionPreferencesChanged): New.
2096
2097         * html/track/TextTrackCue.cpp:
2098         (WebCore::TextTrackCueBox::TextTrackCueBox): Set the shadow pseudo id.
2099         (WebCore::TextTrackCueBox::textTrackCueBoxShadowPseudoId): New, class method to return the 
2100             shadow pseudo id so it can be used elsewhere.
2101         (WebCore::TextTrackCueBox::shadowPseudoId): Call textTrackCueBoxShadowPseudoId.
2102         (WebCore::TextTrackCue::pastNodesShadowPseudoId): New, class method to return the 
2103             shadow pseudo id so it can be used elsewhere.
2104         (WebCore::TextTrackCue::futureNodesShadowPseudoId): Ditto.
2105         (WebCore::TextTrackCue::updateDisplayTree):
2106         * html/track/TextTrackCue.h:
2107
2108         * platform/mac/WebCoreSystemInterface.h: Updated.
2109         * platform/mac/WebCoreSystemInterface.mm: Ditto.
2110
2111         * rendering/CaptionPreferencesChangedListener.h: Added.
2112
2113         * rendering/RenderTheme.h:
2114         (WebCore::RenderTheme::userPrefersCaptions): New, default do-nothing implementation.
2115         (WebCore::RenderTheme::userHasCaptionPreferences): Ditto.
2116         (WebCore::RenderTheme::captionFontSizeScale): Ditto.
2117         (WebCore::RenderTheme::captionsStyleSheetOverride): Ditto.
2118         (WebCore::RenderTheme::registerForCaptionPreferencesChangedCallbacks): Ditto.
2119         (WebCore::RenderTheme::unregisterForCaptionPreferencesChangedCallbacks): Ditto.
2120
2121         * rendering/RenderThemeMac.h:
2122         * rendering/RenderThemeMac.mm:
2123         (WebCore::userCaptionPreferencesChangedNotificationCallback): New, receives preference changed notifications.
2124         (WebCore::RenderThemeMac::RenderThemeMac): Initialize m_listeningForCaptionPreferenceNotifications.
2125         (WebCore::RenderThemeMac::~RenderThemeMac): Unregister for notifications if necessary.
2126         (WebCore::RenderThemeMac::userHasCaptionPreferences): New, passthrough to WKSI function.
2127         (WebCore::RenderThemeMac::userPrefersCaptions): Ditto.
2128         (WebCore::RenderThemeMac::captionsWindowColor): Return Color with user's caption window color preference.
2129         (WebCore::RenderThemeMac::captionsBackgroundColor): Return Color with user's caption 
2130             background color preference.
2131         (WebCore::RenderThemeMac::captionsTextColor): Return Color with user's caption text color preference.
2132         (WebCore::RenderThemeMac::captionsEdgeColorForTextColor): Return Color for text edge effect.
2133         (WebCore::RenderThemeMac::cssPropertyWithTextEdgeColor): Return String with CSS to set a text-shadow
2134             or webkit-text-stroke property.
2135         (WebCore::RenderThemeMac::cssColorProperty): Return a String with css to set a property 
2136             with a color value.
2137         (WebCore::RenderThemeMac::captionsTextEdgeStyle): Return a String with css to style caption 
2138             text with the user's preferred text edge stye.
2139         (WebCore::RenderThemeMac::captionsDefaultFont): Return a String with css to style caption
2140             text with the user's preferred font.
2141         (WebCore::RenderThemeMac::captionsStyleSheetOverride): Return a String with css to style captions
2142             with the user's preferred style.
2143         (WebCore::RenderThemeMac::captionFontSizeScale): Return the user's preferred caption font scale.
2144         (WebCore::RenderThemeMac::captionPreferencesChanged): Notify listeners of caption preference change.
2145         (WebCore::RenderThemeMac::registerForCaptionPreferencesChangedCallbacks): Add a caption preferences 
2146             changes listener.
2147         (WebCore::RenderThemeMac::unregisterForCaptionPreferencesChangedCallbacks): Remove a caption preferences
2148             changes listener.
2149
2150 2012-10-05  Takashi Sakamoto  <tasak@google.com>
2151
2152         Inline continuations create :after generated content on style recalcs
2153         https://bugs.webkit.org/show_bug.cgi?id=93170
2154
2155         Reviewed by Abhishek Arya.
2156
2157         The bug is caused by RenderInline::styleDidChange's setContinuation(0).
2158         RenderObjectChildList uses continuation to know whether the given
2159         renderer should have AFTER render object or not.
2160         However, setContinuation(0) makes RenderObjectChildList to
2161         misunderstand that all continuations are last continuation.
2162         To avoid the misunderstanding, added a new flag to class
2163         RenderObejctChildList to enable/disable updating :after content (and
2164         also :before content).
2165
2166         Tests: fast/css-generated-content/after-with-inline-continuation.html
2167                fast/css-generated-content/dynamic-apply-after-for-inline.html
2168
2169         * rendering/RenderInline.cpp:
2170         (WebCore::RenderInline::styleDidChange):
2171         Disable upating :after content for continuations which are not
2172         the last one during setStyle just after setContinuation(0).
2173         The setStyle invokes RenderInline::styleDidChange and also invokes
2174         updateBeforeAfterContent via the styleDidChange. This means,
2175         the last continuation's updateBeforeAfterContent is also invoked
2176         after setContinuation(0). We have to update :after for the last
2177         continuation.
2178         * rendering/RenderObjectChildList.cpp:
2179         (WebCore):
2180         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
2181         If s_updateBeforeAfterContent is false, quickly exit
2182         updateBeforeAfterContent.
2183         * rendering/RenderObjectChildList.h:
2184         (RenderObjectChildList):
2185         Added a new flag s_enableUpdateBeforeAfterContent to enable/disable
2186         updating :before or :after content.
2187
2188 2012-10-05  Simon Fraser  <simon.fraser@apple.com>
2189
2190         Don't assume that TileCache layers are opaque
2191         https://bugs.webkit.org/show_bug.cgi?id=98555
2192
2193         Reviewed by Dean Jackson.
2194
2195         TileCache previously set all its tile CALayers as opaque.
2196         However, we will need non-opaque tile caches when we use this
2197         tile cache for tiled layers, so add a member function to
2198         control tile opacity.
2199         
2200         RenderLayerBacking already calls m_graphicsLayer->setContentsOpaque()
2201         using the FrameView's notion of opaqueness, so this change will
2202         cause the main tile cache to be non-opaque if external forces have
2203         set the FrameView to be non-opaque.
2204         
2205         Also tweak the layer border widths on tiled layers.
2206
2207         * platform/graphics/ca/mac/TileCache.h:
2208         (TileCache):
2209         (WebCore::TileCache::tilesAreOpaque):
2210         * platform/graphics/ca/mac/TileCache.mm:
2211         (WebCore::TileCache::TileCache):
2212         (WebCore::TileCache::setTilesOpaque):
2213         (WebCore::TileCache::createTileLayer):
2214         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
2215         (-[WebTileCacheLayer setOpaque:]):
2216         (-[WebTileCacheLayer isOpaque]):
2217         (-[WebTileCacheLayer setBorderWidth:]):
2218
2219 2012-10-05  Tony Chang  <tony@chromium.org>
2220
2221         Fix margin box ascent computation in flexbox
2222         https://bugs.webkit.org/show_bug.cgi?id=98540
2223
2224         Reviewed by Ojan Vafai.
2225
2226         The margin box ascent doesn't depend on the margin below the box.
2227
2228         Tests: css3/flexbox/flex-align.html: Fixed a test case and removed a FIXME.
2229                css3/flexbox/flex-align-vertical-writing-mode.html: Similar test case.
2230
2231         * rendering/RenderFlexibleBox.cpp:
2232         (WebCore::RenderFlexibleBox::marginBoxAscentForChild):
2233
2234 2012-10-05  Ojan Vafai  <ojan@chromium.org>
2235
2236         Deprecated flexboxes subtract scrollbar width/height twice
2237         https://bugs.webkit.org/show_bug.cgi?id=98552
2238
2239         Reviewed by Tony Chang.
2240
2241         This is a regression from http://trac.webkit.org/changeset/119507.
2242         The problem is that contentHeight subtracts the scrollbar and
2243         RenderDeprecatedFlexbox subtracts the scrollbar.
2244
2245         -Make it so that we only access override sizes if one has been set.
2246         I think this makes the calling code more clear.
2247         -If we don't have one set, grab the height/width - borderAndPadding.
2248         -Add a FIXME to change this all back to being borderbox sizes.
2249         There's something trick with making table padding/border work right for that
2250         though (noted in the original patch).
2251
2252         Test: fast/flexbox/flexing-overflow-scroll-item.html
2253
2254         * rendering/RenderBox.cpp:
2255         (WebCore::RenderBox::overrideLogicalContentWidth):
2256         (WebCore::RenderBox::overrideLogicalContentHeight):
2257         (WebCore::RenderBox::availableLogicalHeightUsing):
2258         * rendering/RenderBox.h:
2259         (RenderBox):
2260         * rendering/RenderDeprecatedFlexibleBox.cpp:
2261         (WebCore::contentWidthForChild):
2262         (WebCore):
2263         (WebCore::contentHeightForChild):
2264         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
2265         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
2266         (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
2267
2268 2012-10-05  Eric Seidel  <eric@webkit.org>
2269
2270         Make tables which don't use col/row span much faster to layout
2271         https://bugs.webkit.org/show_bug.cgi?id=98221
2272
2273         Reviewed by Julien Chaffraix.
2274
2275         My sense is that most tables on webpages do not use colspan/rowspan
2276         so I stole another bit from RenderTableCell::m_column to avoid
2277         having to re-parse the colSpan/rowSpan attributes for every cell
2278         when doing table layout.
2279         This made these symbols disappear from biggrid.html/redraw.html (dglazkov's spreadsheets benchmarks)
2280         as well as moved our robohornet/resizecol.html number from an average of 3221ms to 2608ms (~20%!).
2281
2282         I removed m_hasHTMLTableCellElement (from http://trac.webkit.org/changeset/97691)
2283         since it was attempting to do the same sort of optimization.
2284
2285         * rendering/RenderTableCell.cpp:
2286         (WebCore::RenderTableCell::RenderTableCell):
2287         (WebCore::RenderTableCell::parseColSpanFromDOM):
2288         (WebCore::RenderTableCell::parseRowSpanFromDOM):
2289         (WebCore::RenderTableCell::layout):
2290         * rendering/RenderTableCell.h:
2291         (WebCore::RenderTableCell::colSpan):
2292         (WebCore::RenderTableCell::rowSpan):
2293         (RenderTableCell):
2294
2295 2012-10-05  Oli Lan  <olilan@chromium.org>
2296
2297         Allow EventHandler to handle longpress gestures, including longpress selection on Android.
2298         https://bugs.webkit.org/show_bug.cgi?id=98173
2299         
2300         Reviewed by Ryosuke Niwa.
2301
2302         Adds handling for GestureLongPress to EventHandler::handleGestureEvent, with a new
2303         handleGestureLongPress method. On Android, this method selects the closest word
2304         if the gesture event was over non-link text.
2305
2306         This is tested via a new chromium test WebViewTest.LongPressSelection.  
2307
2308         * page/EventHandler.cpp:
2309         (WebCore::EventHandler::selectClosestWordFromHitTestResult):
2310         (WebCore::EventHandler::selectClosestWordFromMouseEvent):
2311         (WebCore):
2312         (WebCore::EventHandler::handleGestureEvent):
2313         (WebCore::EventHandler::handleGestureLongPress):
2314         * page/EventHandler.h:
2315         (EventHandler):
2316
2317 2012-10-05  Tab Atkins  <jackalmage@gmail.com>
2318
2319         <marquee> element forces itself to be at least 1em high, regardless of 'height' declaration
2320         https://bugs.webkit.org/show_bug.cgi?id=18098
2321
2322         Reviewed by Eric Seidel.
2323
2324         This restriction originally existed to match IE, but IE changed some time ago to be normal instead.
2325         We're the last browser, afaict, to still enforce this de-facto restriction.
2326         This patch makes <marquee> instead act like a normal element.
2327
2328         Tests: fast/css/MarqueeLayoutTest.html (rewritten from the older, bad version)
2329
2330         * rendering/RenderMarquee.cpp:
2331         (WebCore::RenderMarquee::updateMarqueeStyle):
2332
2333 2012-10-05  Joe Mason  <jmason@rim.com>
2334
2335         [BlackBerry] Fix regression in proxy auth
2336         https://bugs.webkit.org/show_bug.cgi?id=98533
2337
2338         Reviewed by Yong Li.
2339
2340         The proxy auth dialog gets the proxy address from
2341         BlackBerry::Platform::Settings::proxyAddress, which returns
2342         "host:port", but we try to parse it with a KURL, which expects
2343         "scheme://host:port".  Since this is an http proxy, add http:// to the
2344         url to get it to parse.
2345
2346         PR 220567.
2347
2348         * platform/network/blackberry/NetworkJob.cpp:
2349         (WebCore::NetworkJob::sendRequestWithCredentials):
2350
2351 2012-10-05  Jer Noble  <jer.noble@apple.com>
2352
2353         No autorelease pool in place, causing buildup of autoreleased objects.
2354         https://bugs.webkit.org/show_bug.cgi?id=98522
2355         <rdar://problem/11647950>
2356
2357         Reviewed by Alexey Proskuryakov.
2358
2359         Wrap each timer callback in an AutodrainPool, ensuring an autorelease
2360         pool is present during calls from C/C++ into ObjC.
2361
2362         * platform/cf/RunLoopTimerCF.cpp:
2363         (WebCore::timerFired):
2364
2365 2012-10-05  Ryosuke Niwa  <rniwa@webkit.org>
2366
2367         Deleting across multiple paragraphs can change the style of surrounding text
2368         https://bugs.webkit.org/show_bug.cgi?id=97266
2369
2370         Reviewed by Levi Weintraub.
2371
2372         Preserve editing styles from CSS rules in wrappingStyleForSerialization as well as inline styles
2373         even when we're not annotating. We don't want to preserve all styles because it's against
2374         the user expectation to keep borders, etc... when merging paragraphs. We also don't want to copy
2375         styles from a mail blockquote because that's not a style the user has applied. See the comment
2376         in EditingStyle::wrappingStyleForSerialization.
2377
2378         Test: editing/deleting/merge-paragraph-with-style-from-rule.html
2379
2380         * editing/EditingStyle.cpp:
2381         (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
2382         (WebCore::EditingStyle::wrappingStyleForSerialization):
2383
2384 2012-10-05  Dan Bernstein  <mitz@apple.com>
2385
2386         Reversing a GlyphBuffer needlessly queries its size multiple times
2387         https://bugs.webkit.org/show_bug.cgi?id=98530
2388
2389         Reviewed by Simon Fraser.
2390
2391         No new tests because there is no change in behavior.
2392
2393         * WebCore.xcodeproj/project.pbxproj:
2394         * platform/graphics/FontFastPath.cpp:
2395         (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Replaced the condition
2396         (i < glyphBuffer.size() / 2) with the equivalent test (i < end).
2397         * platform/graphics/mac/FontComplexTextMac.cpp:
2398         (WebCore::Font::getGlyphsAndAdvancesForComplexText): Ditto.
2399
2400 2012-10-05  JosĂ© Dapena Paz  <jdapena@igalia.com>
2401
2402         [GTK] Add support for creating EGL contexts
2403         https://bugs.webkit.org/show_bug.cgi?id=77921
2404
2405         Reviewed by Martin Robinson.
2406
2407         This patch adds support for EGL, using OpenGL and OpenGL ES 2. Both
2408         options are set up on compile time, with the configure options
2409         --enable-egl and --enable-gles2.
2410
2411         The implementation only adds support for EGL on top of X11, to
2412         isolate the changes to the minimum. More changes should come
2413         later to enable EGL for other targets (as Wayland).
2414
2415         No new tests required, as existing WebGL and AC tests should cover
2416         the cases.
2417
2418         * GNUmakefile.am:
2419         * GNUmakefile.list.am:
2420         * platform/graphics/GraphicsContext3D.h:
2421         (GraphicsContext3D):
2422         * platform/graphics/OpenGLESShims.h:
2423         * platform/graphics/cairo/GLContext.cpp:
2424         (WebCore):
2425         (WebCore::GLContext::sharedX11Display):
2426         (WebCore::GLContext::cleanupSharedX11Display):
2427         (WebCore::activeContextList):
2428         (WebCore::GLContext::addActiveContext):
2429         (WebCore::GLContext::removeActiveContext):
2430         (WebCore::GLContext::cleanupActiveContextsAtExit):
2431         (WebCore::GLContext::createContextForWindow):
2432         (WebCore::GLContext::createOffscreenContext):
2433         * platform/graphics/cairo/GLContext.h:
2434         (GLContext):
2435         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
2436         (WebCore::GraphicsContext3D::create):
2437         (WebCore::GraphicsContext3D::GraphicsContext3D):
2438         (WebCore::GraphicsContext3D::~GraphicsContext3D):
2439         (WebCore::GraphicsContext3D::isGLES2Compliant):
2440         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
2441         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
2442         * platform/graphics/clutter/GraphicsContext3DClutter.cpp:
2443         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
2444         * platform/graphics/egl/GLContextEGL.cpp: Added.
2445         (WebCore):
2446         (WebCore::sharedEGLDisplay):
2447         (WebCore::getEGLConfig):
2448         (WebCore::GLContextEGL::createWindowContext):
2449         (WebCore::GLContextEGL::createPbufferContext):
2450         (WebCore::GLContextEGL::createPixmapContext):
2451         (WebCore::GLContextEGL::createContext):
2452         (WebCore::GLContextEGL::GLContextEGL):
2453         (WebCore::GLContextEGL::~GLContextEGL):
2454         (WebCore::GLContextEGL::canRenderToDefaultFramebuffer):
2455         (WebCore::GLContextEGL::defaultFrameBufferSize):
2456         (WebCore::GLContextEGL::makeContextCurrent):
2457         (WebCore::GLContextEGL::swapBuffers):
2458         (WebCore::GLContextEGL::waitNative):
2459         (WebCore::GLContextEGL::platformContext):
2460         * platform/graphics/egl/GLContextEGL.h: Added.
2461         (WebCore):
2462         (GLContextEGL):
2463         * platform/graphics/glx/GLContextGLX.cpp:
2464         (WebCore::GLContextGLX::createWindowContext):
2465         (WebCore::GLContextGLX::createPbufferContext):
2466         (WebCore::GLContextGLX::createPixmapContext):
2467         (WebCore::GLContextGLX::createContext):
2468         (WebCore::GLContextGLX::~GLContextGLX):
2469         (WebCore::GLContextGLX::defaultFrameBufferSize):
2470         (WebCore::GLContextGLX::makeContextCurrent):
2471         (WebCore::GLContextGLX::swapBuffers):
2472         (WebCore):
2473         (WebCore::GLContextGLX::waitNative):
2474         * platform/graphics/glx/GLContextGLX.h:
2475         (GLContextGLX):
2476         * platform/graphics/mac/GraphicsContext3DMac.mm:
2477         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2478         (WebCore::GraphicsContext3D::releaseShaderCompiler):
2479         (WebCore):
2480         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
2481         (WebCore::GraphicsContext3D::readPixels):
2482         (WebCore::GraphicsContext3D::reshapeFBOs):
2483         (WebCore::GraphicsContext3D::renderbufferStorage):
2484         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2485         * platform/graphics/texmap/TextureMapper.h:
2486         * platform/gtk/RedirectedXCompositeWindow.cpp:
2487         (WebCore::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
2488         (WebCore::RedirectedXCompositeWindow::~RedirectedXCompositeWindow):
2489         (WebCore::RedirectedXCompositeWindow::resize):
2490         * platform/gtk/RedirectedXCompositeWindow.h:
2491
2492 2012-10-04  Jon Lee  <jonlee@apple.com>
2493
2494         Add a setting to enable plugin snapshotting
2495         https://bugs.webkit.org/show_bug.cgi?id=98319
2496         <rdar://problem/12426480>
2497
2498         Reviewed by Brady Eidson.
2499
2500         Add a new bit for this preference.
2501
2502         * page/Settings.cpp:
2503         (WebCore::Settings::Settings): Preference is false by default.
2504         * page/Settings.h: Added m_plugInSnapshottingEnabled bit.
2505         (WebCore::Settings::setPlugInSnapshottingEnabled): Set the bit.
2506         (WebCore::Settings::plugInSnapshottingEnabled): Return the bit.
2507
2508 2012-10-05  Vsevolod Vlasov  <vsevik@chromium.org>
2509
2510         Unreviewed inspector front-end closure compilaiton fixes.
2511
2512         * inspector/InjectedScriptCanvasModuleSource.js:
2513         * inspector/InjectedScriptExterns.js:
2514         (InjectedScriptHost.prototype.getInternalProperties):
2515         * inspector/front-end/DockController.js:
2516         * inspector/front-end/externs.js:
2517         (InspectorFrontendHostAPI.prototype.requestSetDockSide):
2518
2519 2012-10-05  Tab Atkins  <jackalmage@gmail.com>
2520
2521         Replace uses of prefixed properties with unprefixed versions in the UA stylesheets
2522         https://bugs.webkit.org/show_bug.cgi?id=98453
2523
2524         Reviewed by Ojan Vafai.
2525
2526         Switched 'border-radius' and 'box-shadow' to their unprefixed version in the UA stylesheets.
2527
2528         No new tests, because the unprefixed properties have the same behavior as the prefixed.
2529
2530         * css/fullscreenQuickTime.css:
2531         (video:-webkit-full-screen::-webkit-media-controls-panel):
2532         * css/html.css:
2533         (keygen, select):
2534         (select[size][multiple]):
2535         (select[size="1"]):
2536         (::-webkit-validation-bubble-message):
2537         * css/themeBlackBerry.css:
2538         (input, textarea):
2539         * css/themeChromiumAndroid.css:
2540         (select[size][multiple]):
2541         * css/themeQtNoListboxes.css:
2542         (select[size][multiple]):
2543         * css/themeWin.css:
2544         (select[size="1"]):
2545         * css/view-source.css:
2546         (.webkit-html-message-bubble):
2547
2548 2012-10-05  Kevin Ellis  <kevers@chromium.org>
2549
2550         [chromium] Only inflate the height of rows in a popup menu when a touch device is detected.
2551         https://bugs.webkit.org/show_bug.cgi?id=98515
2552
2553         Reviewed by Adam Barth.
2554
2555         Enforces a minimum row height for popup menus when a touch device is
2556         detected.  In a previous patch (r127597), the sizing of popup was 
2557         consolidated for touch and non-touch.  Based on user feedback, reverting
2558         to the old behavior for non-touch and only adding padding for touch
2559         devices seems like a much safer strategy.  This patch is not a direct
2560         revert of r127567 since the padding previously used for touch is a bit
2561         excessive.
2562
2563         Covered by existing tests.
2564
2565         * platform/chromium/PopupListBox.cpp:
2566         (WebCore::PopupListBox::getRowHeight):
2567         * platform/chromium/PopupMenuChromium.cpp:
2568         (WebCore):
2569         * platform/chromium/PopupMenuChromium.h:
2570         (WebCore::PopupMenuChromium::optionRowHeightForTouch):
2571         (WebCore::PopupMenuChromium::setOptionRowHeightForTouch):
2572         (PopupMenuChromium):
2573
2574 2012-10-05  Alexander Pavlov  <apavlov@chromium.org>
2575
2576         Web Inspector: [Styles] Unable to edit properties in broken stylesheets
2577         https://bugs.webkit.org/show_bug.cgi?id=98246
2578
2579         Reviewed by Vsevolod Vlasov.
2580
2581         Pop source data for invalid rules off the stack whenever we have consecutive CSSParser::markRuleHeaderStart() invocations.
2582
2583         Test: inspector/styles/parse-stylesheet-errors.html
2584
2585         * css/CSSParser.cpp:
2586         (WebCore::CSSParser::popRuleData):
2587         (WebCore::CSSParser::markRuleHeaderStart):
2588         (WebCore::CSSParser::markRuleBodyStart):
2589         * css/CSSParser.h:
2590         (CSSParser):
2591
2592 2012-10-05  Gabor Rapcsanyi  <rgabor@webkit.org>
2593
2594         Add ARM-NEON support to VectorMath in WebAudio
2595         https://bugs.webkit.org/show_bug.cgi?id=98131
2596
2597         Reviewed by Zoltan Herczeg.
2598
2599         Speed up vector operations in WebAudio with NEON intrinsics.
2600
2601         * platform/audio/VectorMath.cpp:
2602         (WebCore::VectorMath::vsma):
2603         (WebCore::VectorMath::vsmul):
2604         (WebCore::VectorMath::vadd):
2605         (WebCore::VectorMath::vmul):
2606         (WebCore::VectorMath::zvmul):
2607         (WebCore::VectorMath::vsvesq):
2608         (WebCore::VectorMath::vmaxmgv):
2609
2610 2012-10-05  Simon Hausmann  <simon.hausmann@digia.com>
2611
2612         Unreviewed, rolling out r130495.
2613         http://trac.webkit.org/changeset/130495
2614         https://bugs.webkit.org/show_bug.cgi?id=98268
2615
2616         Made WK2 tests crash.
2617
2618         * Target.pri:
2619         * platform/qt/QStyleFacade.cpp: Removed.
2620         * platform/qt/QStyleFacade.h: Removed.
2621
2622 2012-10-05  Simon Hausmann  <simon.hausmann@digia.com>
2623
2624         [Qt] Make RenderThemeQStyle/ScrollbarThemeQStyle compile without QStyle/QtWidgets
2625         https://bugs.webkit.org/show_bug.cgi?id=98268
2626
2627         Reviewed by Tor Arne Vestbø.
2628
2629         Extracted QStyle/QWidget related code into a QWebStyle class that implements the QStyleFacade interface.
2630
2631         QStyleFacade is a pure interface that lives in WebCore/platform/qt
2632         (next to RenderThemeQStyle and ScrollbarThemeQStyle) and provides a
2633         minimal interface of what we need to draw with QStyle as well as basic
2634         hit testing and metric retrieval. It also provides a
2635         QStyleFacadeOption class that aggregates common meta-data for
2636         rendering primitives, such as direction, rectangle, state (sunken,
2637         enabled, etc.) or palette. It also provides some more slider/scrollbar
2638         specific fields in a slider sub-structure.
2639
2640         RenderThemeQStyle/ScrollbarThemeQStyle used to instantiate specific QStyleOption sub-classes and populate
2641         them with state information from render objects, before calling straight to QStyle. Most of the common code
2642         was encapsulated in StylePainterQStyle.
2643
2644         The new RenderThemeQStyle/ScrolllbarThemeQStyle uses common code in
2645         StylePainterQStyle to populate state into QStyleFacadeOption before
2646         calling into QStyleFacade.
2647
2648         The style facade is then implemented by QStyleFacadeImp, which extracts
2649         meta-data from QStyleFacadeOption arguments, populates style
2650         primitive specific QStyleOption objects and then calls on QStyle.
2651
2652         RenderThemeQStyle/ScrollbarThemeQStyle can only use interface methods
2653         from QStyleFacade. QStyleFacadeImp on the other hand will live in the
2654         separate QtWebKitWidgets library in the future and therefore cannot use
2655         any WebCore types.
2656
2657         * Target.pri:
2658         * platform/qt/QStyleFacade.cpp: Added.
2659         (WebCore):
2660         (WebCore::QStyleFacade::styleForPage):
2661         * platform/qt/QStyleFacade.h: Added.
2662         (WebCore):
2663         (QStyleFacade):
2664         (WebCore::QStyleFacade::~QStyleFacade):
2665         (WebCore::QStyleFacadeOption::QStyleFacadeOption):
2666         (QStyleFacadeOption):
2667         * platform/qt/RenderThemeQStyle.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/RenderThemeQStyle.cpp.
2668         (WebCore):
2669         (WebCore::RenderThemeQStyle::getStylePainter):
2670         (WebCore::StylePainterQStyle::StylePainterQStyle):
2671         (WebCore::StylePainterQStyle::init):
2672         (WebCore::RenderThemeQStyle::create):
2673         (WebCore::RenderThemeQStyle::setStyleFactoryFunction):
2674         (WebCore::RenderThemeQStyle::styleFactory):
2675         (WebCore::RenderThemeQStyle::RenderThemeQStyle):
2676         (WebCore::RenderThemeQStyle::~RenderThemeQStyle):
2677         (WebCore::RenderThemeQStyle::setPaletteFromPageClientIfExists):
2678         (WebCore::RenderThemeQStyle::inflateButtonRect):
2679         (WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
2680         (WebCore::RenderThemeQStyle::adjustButtonStyle):
2681         (WebCore::RenderThemeQStyle::setButtonPadding):
2682         (WebCore::RenderThemeQStyle::paintButton):
2683         (WebCore::RenderThemeQStyle::paintTextField):
2684         (WebCore::RenderThemeQStyle::adjustTextAreaStyle):
2685         (WebCore::RenderThemeQStyle::paintTextArea):
2686         (WebCore::RenderThemeQStyle::setPopupPadding):
2687         (WebCore::RenderThemeQStyle::colorPalette):
2688         (WebCore::RenderThemeQStyle::paintMenuList):
2689         (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
2690         (WebCore::RenderThemeQStyle::paintMenuListButton):
2691         (WebCore::RenderThemeQStyle::animationDurationForProgressBar):
2692         (WebCore::RenderThemeQStyle::paintProgressBar):
2693         (WebCore::RenderThemeQStyle::paintSliderTrack):
2694         (WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
2695         (WebCore::RenderThemeQStyle::paintSliderThumb):
2696         (WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
2697         (WebCore::RenderThemeQStyle::paintSearchField):
2698         (WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
2699         (WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
2700         (WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
2701         (WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
2702         (WebCore::RenderThemeQStyle::paintInnerSpinButton):
2703         (WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
2704         (WebCore::RenderThemeQStyle::adjustSliderThumbSize):
2705         * platform/qt/RenderThemeQStyle.h: Renamed from Source/WebKit/qt/WebCoreSupport/RenderThemeQStyle.h.
2706         (WebCore):
2707         (RenderThemeQStyle):
2708         (WebCore::RenderThemeQStyle::qStyle):
2709         (StylePainterQStyle):
2710         (WebCore::StylePainterQStyle::isValid):
2711         (WebCore::StylePainterQStyle::paintButton):
2712         (WebCore::StylePainterQStyle::paintTextField):
2713         (WebCore::StylePainterQStyle::paintComboBox):
2714         (WebCore::StylePainterQStyle::paintComboBoxArrow):
2715         (WebCore::StylePainterQStyle::paintSliderTrack):
2716         (WebCore::StylePainterQStyle::paintSliderThumb):
2717         (WebCore::StylePainterQStyle::paintInnerSpinButton):
2718         (WebCore::StylePainterQStyle::paintProgressBar):
2719         (WebCore::StylePainterQStyle::paintScrollCorner):
2720         (WebCore::StylePainterQStyle::paintScrollBar):
2721         * platform/qt/ScrollbarThemeQStyle.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/ScrollbarThemeQStyle.cpp.
2722         (WebCore):
2723         (WebCore::ScrollbarThemeQStyle::ScrollbarThemeQStyle):
2724         (WebCore::ScrollbarThemeQStyle::~ScrollbarThemeQStyle):
2725         (WebCore::scPart):
2726         (WebCore::scrollbarPart):
2727         (WebCore::initSliderStyleOption):
2728         (WebCore::ScrollbarThemeQStyle::paint):
2729         (WebCore::ScrollbarThemeQStyle::hitTest):
2730         (WebCore::ScrollbarThemeQStyle::shouldCenterOnThumb):
2731         (WebCore::ScrollbarThemeQStyle::invalidatePart):
2732         (WebCore::ScrollbarThemeQStyle::scrollbarThickness):
2733         (WebCore::ScrollbarThemeQStyle::thumbPosition):
2734         (WebCore::ScrollbarThemeQStyle::thumbLength):
2735         (WebCore::ScrollbarThemeQStyle::trackPosition):
2736         (WebCore::ScrollbarThemeQStyle::trackLength):
2737         (WebCore::ScrollbarThemeQStyle::paintScrollCorner):
2738         * platform/qt/ScrollbarThemeQStyle.h: Renamed from Source/WebKit/qt/WebCoreSupport/ScrollbarThemeQStyle.h.
2739         (WebCore):
2740         (ScrollbarThemeQStyle):
2741         (WebCore::ScrollbarThemeQStyle::qStyle):
2742
2743 2012-10-05  Andrei Bucur  <abucur@adobe.com>
2744
2745         Incomplete repaint of boxes with inset box-shadow and padding when resized
2746         https://bugs.webkit.org/show_bug.cgi?id=59863
2747
2748         Reviewed by Simon Fraser.
2749
2750         The patch extends the repaint rectangle to include the inset shadow extent for renderers that resize and need to be repainted. The rectangle computations are also better fragmented and easier to read.
2751
2752         New Test: fast/repaint/box-shadow-inset-repaint.html
2753
2754         * rendering/RenderObject.cpp:
2755         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2756         * rendering/style/RenderStyle.cpp:
2757         (WebCore::RenderStyle::getShadowInsetExtent):
2758         (WebCore):
2759         * rendering/style/RenderStyle.h:
2760
2761 2012-10-04  Kent Tamura  <tkent@chromium.org>
2762
2763         Fix sub-field width to the maximum width of a placeholder and the maximum value
2764         https://bugs.webkit.org/show_bug.cgi?id=98481
2765
2766         Reviewed by Hajime Morita.
2767
2768         We can't assume a placeholder text is shorter than the width of
2769         digits. The placeholder string for the year field of
2770         input[type=week] is "----", but input[type=date] will have a
2771         localized string for it.
2772
2773         We should set the 'width' CSS property to the maximum of the
2774         placeholder width and the maximum value width in order to prevent
2775         the field width from growing/narrowing.
2776
2777         Before this patch, we secured four digits space for a year field,
2778         and allowed the field to grow its width when a larger year is
2779         set. After this patch, we don't allow it to grow because the
2780         'width' property is set to the maximum width.
2781
2782         Update week-multiple-fields-appearance-basic.html, and the
2783         following tests are affected.
2784         - fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes.html
2785         - fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements.html
2786         - fast/forms/week-multiple-fields/week-multiple-fields-appearance-style.html
2787
2788         * html/shadow/DateTimeNumericFieldElement.cpp:
2789         (WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement):
2790         Enable customStyleForRenderer.
2791         (WebCore::DateTimeNumericFieldElement::customStyleForRenderer):
2792         Added. The code is similar to DateTimeSymbolicFieldElement::customStyleForRenderer().
2793         (WebCore::DateTimeNumericFieldElement::formatValue):
2794         Made a function with the code in value(). This is used in
2795         customStyleForRenderer() and value().
2796         (WebCore::DateTimeNumericFieldElement::value): Use formatValue().
2797         * html/shadow/DateTimeNumericFieldElement.h:
2798         (DateTimeNumericFieldElement): Declare new functions.
2799
2800 2012-10-05  Kent Tamura  <tkent@chromium.org>
2801
2802         Improve spelling and performance of Localizer.cpp
2803         https://bugs.webkit.org/show_bug.cgi?id=98485
2804
2805         Reviewed by Kentaro Hara.
2806
2807         Some improvements pointed in webkit.org/b/98229#c5.
2808
2809         No new tests because of no behavior change.
2810
2811         * platform/text/Localizer.h:
2812         (Localizer):
2813          - Rename dateTimeFormatWithSecond to dateTimeFormatWithSeconds
2814          - Rename dateTimeFormatWithoutSecond to dateTimeFormatWithoutSeconds
2815          - Add data members: m_dateTimeFormatWithSeconds and m_dateTimeFormatWithoutSeconds.
2816         * platform/text/Localizer.cpp:
2817         (WebCore::Localizer::timeFormat): Check isNull instead of isEmpty
2818         (WebCore::Localizer::shortTimeFormat): Ditto.
2819         (WebCore::Localizer::dateTimeFormatWithSeconds):
2820         - Renamed.
2821         - Cache the concatenation result to a data member.
2822         (WebCore::Localizer::dateTimeFormatWithoutSeconds): Ditto.
2823
2824         * html/DateTimeInputType.cpp:
2825         (WebCore::DateTimeInputType::setupLayoutParameters): Follow the renaming.
2826         * html/DateTimeLocalInputType.cpp:
2827         (WebCore::DateTimeLocalInputType::setupLayoutParameters): Ditto.
2828
2829 2012-10-04  Kenichi Ishibashi  <bashi@chromium.org>
2830
2831         [WebSocket] ExtensionParser should have its own file
2832         https://bugs.webkit.org/show_bug.cgi?id=98475
2833
2834         Reviewed by Yuta Kitamura.
2835
2836         Factor out ExtensionParser from WebSocketExtensionDispatcher and rename it as WebSocketExtensionParser.
2837         WebSocketExtensionParser has its own file.
2838
2839         No changes in behavior. Added a test case for parsing Sec-WebSocket-Extensions field as a chromium unit test.
2840
2841         * CMakeLists.txt: Added WebSocketExtensionParser.
2842         * GNUmakefile.list.am: Ditto.
2843         * Modules/websockets/WebSocketExtensionDispatcher.cpp:
2844         (WebCore::WebSocketExtensionDispatcher::processHeaderValue):
2845         Use WebSocketExtensionParser::parseExtension() to parser extension header value.
2846         * Modules/websockets/WebSocketExtensionParser.cpp: Added.
2847         (WebCore):
2848         (WebCore::WebSocketExtensionParser::finished): Moved from ExtensionParser.
2849         (WebCore::WebSocketExtensionParser::parsedSuccessfully): Ditto.
2850         (WebCore::isSeparator): Ditto.
2851         (WebCore::WebSocketExtensionParser::skipSpaces): Ditto.
2852         (WebCore::WebSocketExtensionParser::consumeToken): Ditto.
2853         (WebCore::WebSocketExtensionParser::consumeQuotedString): Ditto.
2854         (WebCore::WebSocketExtensionParser::consumeQuotedStringOrToken): Ditto.
2855         (WebCore::WebSocketExtensionParser::consumeCharacter): Ditto.
2856         (WebCore::WebSocketExtensionParser::parseExtension): Moved from WebSocketExtensionDispatcher.
2857         * Modules/websockets/WebSocketExtensionParser.h: Added.
2858         (WebCore):
2859         (WebSocketExtensionParser):
2860         (WebCore::WebSocketExtensionParser::WebSocketExtensionParser):
2861         (WebCore::WebSocketExtensionParser::currentToken):
2862         * Target.pri: Added WebSocketExtensionParser.
2863         * WebCore.gypi: Ditto.
2864         * WebCore.vcproj/WebCore.vcproj: Ditto.
2865         * WebCore.xcodeproj/project.pbxproj: Ditto.
2866
2867 2012-10-04  Kunihiko Sakamoto  <ksakamoto@chromium.org>
2868
2869         <input> size attribute should throw INDEX_SIZE_ERR when set to 0
2870         https://bugs.webkit.org/show_bug.cgi?id=61675
2871
2872         Reviewed by Kent Tamura.
2873
2874         According to the spec, the size IDL attribute of input elements is limited
2875         to only non-negative numbers greater than zero. It should throw INDEX_SIZE_ERR
2876         exception when set to 0. New behavior matches both Firefox and IE.
2877         Spec: http://www.w3.org/TR/html5/common-input-element-attributes.html#the-size-attribute
2878
2879         Test: fast/dom/HTMLInputElement/input-size-attribute.html
2880
2881         * html/HTMLInputElement.cpp:
2882         (WebCore::HTMLInputElement::setSize):
2883         * html/HTMLInputElement.h:
2884         (HTMLInputElement):
2885         * html/HTMLInputElement.idl:
2886
2887 2012-10-04  Kent Tamura  <tkent@chromium.org>
2888
2889         Fix font for date/time input types.
2890         https://bugs.webkit.org/show_bug.cgi?id=98478
2891
2892         Reviewed by Kentaro Hara.
2893
2894         input[type=date] should use monospace font if
2895         ENABLE_INPUT_MULTIPLE_FIELDS_UI && ENABLE_INPUT_TYPE_DATE.
2896
2897         For other date/time types, they should use monospace font only
2898         if their types are enabled. input[type="foo"] matches input
2899         element with type="foo" even if the foo type is not supported.
2900
2901         The input[type=date] change is covered by
2902         fast/forms/date/calendar-picker-appearance.html,
2903         platform/chromium/fast/forms/date/date-suggestion-picker-appearance*.html
2904
2905         * css/html.css:
2906         (input[type="date"]):
2907         (input[type="datetime"]):
2908         (input[type="datetime-local"]):
2909         (input[type="month"]):
2910         (input[type="time"]):
2911
2912 2012-10-04  Hajime Morrita  <morrita@google.com>
2913
2914         [Refactoring] Some classes in StyleResolver.cpp/h could have its own file.
2915         https://bugs.webkit.org/show_bug.cgi?id=98469
2916
2917         Reviewed by Dimitri Glazkov.
2918
2919         This change extracts RuleData, RuleSet, RuleFeature and Featurs class
2920         to its own file: RuleSet.h/cpp and RuleFeature.h/cpp
2921
2922         RuleFeature class is moved fro StyleResolver inner class to plain WebCore class.
2923         Feaures class is renamed to RuleFeatureSet to avoid possible name conflict.
2924
2925         No new tests. Just splitting file and doing simple rename.
2926
2927         * CMakeLists.txt:
2928         * GNUmakefile.list.am:
2929         * Target.pri:
2930         * WebCore.gypi:
2931         * WebCore.xcodeproj/project.pbxproj:
2932         * css/CSSAllInOne.cpp:
2933         * css/RuleFeature.cpp: Added.
2934         (WebCore):
2935         (WebCore::RuleFeatureSet::add):
2936         (WebCore::RuleFeatureSet::clear):
2937         (WebCore::RuleFeatureSet::reportMemoryUsage):
2938         * css/RuleFeature.h: Added.
2939         (WebCore):
2940         (RuleFeature):
2941         (WebCore::RuleFeature::RuleFeature):
2942         (RuleFeatureSet):
2943         (WebCore::RuleFeatureSet::RuleFeatureSet):
2944         * css/RuleSet.cpp: Added.
2945         (WebCore):
2946         (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
2947         (WebCore::selectorListContainsUncommonAttributeSelector):
2948         (WebCore::isCommonAttributeSelectorAttribute):
2949         (WebCore::containsUncommonAttributeSelector):
2950         (WebCore::RuleData::RuleData):
2951         (WebCore::RuleData::reportMemoryUsage):
2952         (WebCore::reportAtomRuleMap):
2953         (WebCore::RuleSet::reportMemoryUsage):
2954         (WebCore::RuleSet::RuleSetSelectorPair::reportMemoryUsage):
2955         (WebCore::collectFeaturesFromSelector):
2956         (WebCore::collectFeaturesFromRuleData):
2957         (WebCore::RuleSet::addToRuleSet):
2958         (WebCore::RuleSet::addRule):
2959         (WebCore::RuleSet::addPageRule):
2960         (WebCore::RuleSet::addRegionRule):
2961         (WebCore::RuleSet::addRulesFromSheet):
2962         (WebCore::RuleSet::addStyleRule):
2963         (WebCore::shrinkMapVectorsToFit):
2964         (WebCore::RuleSet::shrinkToFit):
2965         * css/RuleSet.h: Added.
2966         (WebCore):
2967         (RuleData):
2968         (WebCore::RuleData::position):
2969         (WebCore::RuleData::rule):
2970         (WebCore::RuleData::selector):
2971         (WebCore::RuleData::selectorIndex):
2972         (WebCore::RuleData::hasFastCheckableSelector):
2973         (WebCore::RuleData::hasMultipartSelector):
2974         (WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash):
2975         (WebCore::RuleData::containsUncommonAttributeSelector):
2976         (WebCore::RuleData::specificity):
2977         (WebCore::RuleData::linkMatchType):
2978         (WebCore::RuleData::hasDocumentSecurityOrigin):
2979         (WebCore::RuleData::isInRegionRule):
2980         (WebCore::RuleData::descendantSelectorIdentifierHashes):
2981         (SameSizeAsRuleData):
2982         (RuleSet):
2983         (WebCore::RuleSet::create):
2984         (WebCore::RuleSet::disableAutoShrinkToFit):
2985         (WebCore::RuleSet::features):
2986         (WebCore::RuleSet::idRules):
2987         (WebCore::RuleSet::classRules):
2988         (WebCore::RuleSet::tagRules):
2989         (WebCore::RuleSet::shadowPseudoElementRules):
2990         (WebCore::RuleSet::linkPseudoClassRules):
2991         (WebCore::RuleSet::focusPseudoClassRules):
2992         (WebCore::RuleSet::universalRules):
2993         (WebCore::RuleSet::pageRules):
2994         (WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
2995         (RuleSetSelectorPair):
2996         (WebCore::RuleSet::RuleSet):
2997         * css/StyleResolver.cpp:
2998         (WebCore):
2999         (WebCore::makeRuleSet):
3000         (WebCore::StyleResolver::collectMatchingRulesForList):
3001         * css/StyleResolver.h:
3002         (StyleResolver):
3003
3004 2012-10-04  Adam Barth  <abarth@webkit.org>
3005
3006         FeatureObserver should distinguish between legacy HTML and text notifications
3007         https://bugs.webkit.org/show_bug.cgi?id=98441
3008
3009         Reviewed by Tony Chang.
3010
3011         We might be able to drop support for legacy HTML notifications before
3012         we can drop support for legacy text notifications. We should measure
3013         and find out.
3014
3015         * Modules/notifications/NotificationCenter.idl:
3016         * page/FeatureObserver.h:
3017
3018 2012-10-04  Pravin D  <pravind.2k4@gmail.com>
3019
3020         Removing the unused member variable m_wasMalformed from HTMLFormElement class and its related code frgment.
3021         https://bugs.webkit.org/show_bug.cgi?id=98444
3022
3023         Reviewed by Eric Seidel.
3024
3025         The member variable m_wasMalformed of HTMLFormElement class was used to determine if the <form> tag was malformed or not.
3026         This information was used elsewhere to decide if bottom margins have to be included for such a <form>.
3027         However currently this member variable is not being set by any code following code refactoring in HTML parser class.
3028
3029         Code cleanup patch. No new tests required.
3030
3031         * html/HTMLFormElement.cpp:
3032         (WebCore::HTMLFormElement::HTMLFormElement):
3033           Removed m_wasMalformed initialization.
3034
3035         * html/HTMLFormElement.h:
3036         (HTMLFormElement):
3037          Removed m_wasMalformed variable.
3038          Removed m_wasMalformed variable's setter and getter functions.
3039
3040         * rendering/RenderBlock.cpp:
3041         (WebCore::RenderBlock::layoutBlock):
3042          Removed code fragment using/dependent on m_wasMalformed.
3043
3044 2012-10-04  Rik Cabanier  <cabanier@adobe.com>
3045
3046         Turn Compositing on by default in WebKit build
3047         https://bugs.webkit.org/show_bug.cgi?id=98315
3048
3049         Reviewed by Simon Fraser.
3050
3051         enable -webkit-blend-mode on trunk.
3052
3053         No new tests. Existing blending test were updated.
3054
3055         * Configurations/FeatureDefines.xcconfig:
3056         * css/CSSPropertyNames.in:
3057         * css/CSSValueKeywords.in:
3058
3059 2012-10-04  Hayato Ito  <hayato@chromium.org>
3060
3061         [Refactoring] Introduce a traversal strategy in SelectorChecker
3062         https://bugs.webkit.org/show_bug.cgi?id=97298
3063
3064         Reviewed by Antti Koivisto.
3065
3066         We extract DOM traversal code from SelectorChecker so that we can use another traversal strategy.
3067         Another traversal strategy will be introduced in Bug 96990.
3068
3069         Since this code path is very hot, we were very careful not to regress performance.
3070         We will use template specialization to change the traversal implementation.
3071
3072         We confirmed that this patch does not regress SelectorCheckerPerformance. I have checked the performance of
3073         the added test in my Linux Box using run-perf-tests.
3074
3075         The performance of the added test before using this patch was:
3076
3077           RESULT CSS: PseudoClassSelectors= 3399.68308031 runs/s
3078           median= 3404.48685564 runs/s, stdev= 37.3480114449 runs/s, min= 3272.64871114 runs/s, max= 3438.72385184 runs/s
3079
3080         When we used this patch, the performance was:
3081
3082           RESULT CSS: PseudoClassSelectors= 3367.74473886 runs/s
3083           median= 3367.12072755 runs/s, stdev= 14.1464547639 runs/s, min= 3348.55881171 runs/s, max= 3395.98212857 runs/s
3084
3085         Test: PerformanceTests/CSS/PseudoClass-Selectors.html
3086
3087         * css/SelectorChecker.cpp:
3088         (WebCore):
3089         (WebCore::SelectorChecker::checkSelector): Make this a template method to accept another Context type.
3090         Another Context type will be introduced in coming patch.
3091         (WebCore::SelectorChecker::checkOneSelector):
3092         (WebCore::SelectorChecker::DOMTraversalStrategy::isFirstChild):
3093         (WebCore::SelectorChecker::DOMTraversalStrategy::isLastChild):
3094         (WebCore::SelectorChecker::DOMTraversalStrategy::isFirstOfType):
3095         (WebCore::SelectorChecker::DOMTraversalStrategy::isLastOfType):
3096         (WebCore::SelectorChecker::DOMTraversalStrategy::countElementsBefore):
3097         (WebCore::SelectorChecker::DOMTraversalStrategy::countElementsOfTypeBefore):
3098         (WebCore::SelectorChecker::DOMTraversalStrategy::countElementsAfter):
3099         (WebCore::SelectorChecker::DOMTraversalStrategy::countElementsOfTypeAfter):
3100         * css/SelectorChecker.h:
3101         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
3102         (SelectorCheckingContext):
3103         (SelectorChecker):
3104         (DOMTraversalStrategy): Extracted the DOM traversal code from SelectorChecker. Another traversal code
3105         will be introduced the coming patch.
3106
3107 2012-10-04  Eric Seidel  <eric@webkit.org>
3108
3109         SVGAttributeHashTranslator does not need to copy QualifiedName in the common case
3110         https://bugs.webkit.org/show_bug.cgi?id=98473
3111
3112         Reviewed by Adam Barth.
3113
3114         I tested this using instruments on a test case which modified SVG attributes in a loop.
3115         I believe pdr has some perf-tests in this area, but they weren't needed here.  A simple sample showed this as a huge win,
3116         since we're no longer creating a QualifiedName (and thus adding it to the hash) on each QualifiedName-based lookup in SVG.
3117
3118         * svg/SVGElement.h:
3119         (WebCore::SVGAttributeHashTranslator::hash):
3120         (WebCore::SVGAttributeHashTranslator::equal):
3121
3122 2012-10-04  Julien Chaffraix  <jchaffraix@webkit.org>
3123
3124         Split the intrinsic padding update code out of RenderTableSection::layoutRows
3125         https://bugs.webkit.org/show_bug.cgi?id=98454
3126
3127         Reviewed by Eric Seidel.
3128
3129         RenderTableSection::layoutRows is very long and it's difficult to see what's
3130         going on. This change moves the intrinsic padding update code into RenderTableCell
3131         for clarity. While at it, cleaned up a bit the code (renaming variables, functions).
3132
3133         Change covered by existing table tests.
3134
3135         * rendering/RenderTableCell.cpp:
3136         (WebCore::RenderTableCell::computeIntrinsicPadding):
3137         Added this new function that does the update. Removed the 'default' case, replaced by
3138         the explicit label BASELINE_MIDDLE.
3139
3140         * rendering/RenderTableCell.h:
3141         (WebCore::RenderTableCell::setIntrinsicPaddingBefore):
3142         (WebCore::RenderTableCell::setIntrinsicPaddingAfter):
3143         (WebCore::RenderTableCell::setIntrinsicPadding):
3144         Moved those setters to the private section as we want other classes
3145         to use computeIntrinsicPadding.
3146
3147         * rendering/RenderTableSection.cpp:
3148         (WebCore::RenderTableSection::layoutRows):
3149         Replaced the code with a call to RenderTableCell::computeIntrinsicPadding.
3150         Also moved 2 variables in the loop per our coding style.
3151
3152         * rendering/RenderTableSection.h:
3153         (WebCore::RenderTableSection::rowBaseline):
3154         Renamed to match our coding style.
3155
3156 2012-10-04  Nate Chapin  <japhet@chromium.org>
3157
3158         Crash in EventHandler::mouseMoved().
3159         https://bugs.webkit.org/show_bug.cgi?id=98460
3160
3161         Reviewed by Abhishek Arya.
3162
3163         No new tests, this fixes fast/events/mouse-moved-remove-frame-crash.html.
3164
3165         * page/EventHandler.cpp:
3166         (WebCore::EventHandler::mouseMoved):
3167
3168 2012-10-04  Adam Barth  <abarth@webkit.org>
3169
3170         [V8] NotificationCenter leaks because it uses buggy custom bindings
3171         https://bugs.webkit.org/show_bug.cgi?id=98445
3172
3173         Reviewed by Tony Chang.
3174
3175         There's no reason to use custom bindings here. All they do is cause leaks..
3176
3177         * Modules/notifications/NotificationCenter.idl:
3178         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
3179
3180 2012-10-04  Tab Atkins  <jackalmage@gmail.com>
3181
3182         Selector specificity categories "overflow" into higher categories
3183         https://bugs.webkit.org/show_bug.cgi?id=98295
3184
3185         Reviewed by Eric Seidel.
3186
3187         This patch adds per-component overflow guards for CSS selector specificity.
3188         Previously, we didn't guard against overflow. 
3189         Since we stored each component as a byte mapped into a single unsigned int for the whole specificity,
3190         256 of a particular simple selector was equivalent to 1 of the next-higher-group selector.
3191         This violated the Selectors specification,
3192         which requires the components to be compared lexicographically.
3193
3194         Tests: /fast/selectors/specificity-overflow.html
3195
3196         * css/CSSSelector.cpp:
3197         (WebCore::CSSSelector::specificity):
3198
3199 2012-10-04  Enrica Casucci  <enrica@apple.com>
3200
3201         Font::glyphDataAndPageForCharacter doesn't account for text orientation when using systemFallback on a cold cache.
3202         https://bugs.webkit.org/show_bug.cgi?id=98452.
3203
3204         Reviewed by Dan Bernstein.
3205
3206         The text orientation was considered only when there is a cache hit.
3207         This change moves the logic to handle text orientation to a separate
3208         inline function that is called also when the glyph is added to the cache.
3209
3210         Test: fast/text/vertical-rl-rtl-linebreak.html
3211
3212         * platform/graphics/FontFastPath.cpp:
3213         (WebCore::applyTextOrientationForCharacter): Added.
3214         (WebCore::Font::glyphDataAndPageForCharacter): Modified to use the new function in
3215         both cases of cold and warm cache.
3216
3217 2012-10-04  Adam Klein  <adamk@chromium.org>
3218
3219         MutationRecord attributeName should be null for non attribute changes
3220         https://bugs.webkit.org/show_bug.cgi?id=98438
3221
3222         Reviewed by Ojan Vafai.
3223
3224         Test: fast/mutation/mutation-record-nullity.html
3225
3226         * dom/MutationRecord.idl:
3227
3228 2012-10-04  Simon Fraser  <simon.fraser@apple.com>
3229
3230         Final part of "sync" to "flush" renaming
3231         https://bugs.webkit.org/show_bug.cgi?id=98430
3232
3233         Reviewed by Tim Horton.
3234
3235         Change method names on GraphicsLayer and GraphicsLayerClient that
3236         refer to "sync" to use the term "flush" instead, to be consistent
3237         with the rest of the code.
3238
3239         * platform/graphics/GraphicsLayer.h:
3240         (WebCore::GraphicsLayer::flushCompositingState):
3241         (WebCore::GraphicsLayer::flushCompositingStateForThisLayerOnly):
3242         * platform/graphics/GraphicsLayerClient.h:
3243         (GraphicsLayerClient):
3244         * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
3245         (WebCore::GraphicsLayerBlackBerry::notifyFlushRequired):
3246         * platform/graphics/blackberry/LayerWebKitThread.cpp:
3247         (WebCore::LayerWebKitThread::setNeedsCommit):
3248         * platform/graphics/ca/GraphicsLayerCA.cpp:
3249         (WebCore::GraphicsLayerCA::flushCompositingState):
3250         (WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly):
3251         (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
3252         (WebCore::GraphicsLayerCA::positionForCloneRootLayer):
3253         (WebCore::GraphicsLayerCA::noteLayerPropertyChanged):
3254         * platform/graphics/ca/GraphicsLayerCA.h:
3255         (GraphicsLayerCA):
3256         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3257         (WebCore::GraphicsLayerTextureMapper::notifyChange):
3258         (WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
3259         (WebCore::GraphicsLayerTextureMapper::flushCompositingState):
3260         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
3261         (GraphicsLayerTextureMapper):
3262         * platform/graphics/texmap/TextureMapperLayer.cpp:
3263         (WebCore::TextureMapperLayer::flushCompositingState):
3264         (WebCore::TextureMapperLayer::flushCompositingStateSelf):
3265         * platform/graphics/texmap/TextureMapperLayer.h:
3266         (TextureMapperLayer):
3267         * rendering/RenderLayerBacking.cpp:
3268         (WebCore::RenderLayerBacking::notifyFlushRequired):
3269         * rendering/RenderLayerBacking.h:
3270         (RenderLayerBacking):
3271         * rendering/RenderLayerCompositor.cpp:
3272         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
3273         * rendering/RenderLayerCompositor.h:
3274         (WebCore::RenderLayerCompositor::notifyFlushRequired):
3275
3276 2012-10-04  Tab Atkins  <tabatkins@google.com>
3277
3278         1ex should equal .5em when the font has no x-height metric
3279         https://bugs.webkit.org/show_bug.cgi?id=80360
3280
3281         Reviewed by Eric Seidel.
3282
3283         Updated FontMetrics and CSSPrimitiveValue to have/use an explicit "hasXHeight" flag to determine how to size an 'ex' unit.
3284
3285         Updated a few of the platform font files to set the flag properly.
3286
3287         Patch cleanup by David Barr <davidbarr@chromium.org>.
3288
3289         Test: fast/css/ex-unit-with-no-x-height.html
3290
3291         * css/CSSPrimitiveValue.cpp:
3292         (WebCore::CSSPrimitiveValue::computeLengthDouble):
3293         * platform/graphics/FontMetrics.h:
3294         (WebCore::FontMetrics::FontMetrics):
3295         (WebCore::FontMetrics::setXHeight):
3296         (FontMetrics):
3297         (WebCore::FontMetrics::hasXHeight):
3298         (WebCore::FontMetrics::setHasXHeight):
3299         (WebCore::FontMetrics::reset):
3300         * platform/graphics/skia/SimpleFontDataSkia.cpp:
3301         (WebCore::SimpleFontData::platformInit):
3302
3303 2012-10-04  Ryosuke Niwa  <rniwa@webkit.org>
3304
3305         Build fix after r130411. Add the right offset.
3306         Also use RefPtr instead of a raw pointer for next and previous pointers.
3307
3308         * editing/ReplaceSelectionCommand.cpp:
3309         (WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition):
3310
3311 2012-10-04  Alec Flett  <alecflett@chromium.org>
3312
3313         IndexedDB: promote objectstore/index backend ids to the frontend
3314         https://bugs.webkit.org/show_bug.cgi?id=97834
3315
3316         Reviewed by Tony Chang.
3317
3318         Expose int64-based database/objectStore/index ids to the renderer,
3319         step 1 of 2. Support both styles of createObjectStore and
3320         createIndex: those that take an explicit id, and those that take
3321         -1, meaning to autogenerate an id on the backend. In part 2, after
3322         the chromium side lands, support for the autogenerated ids will be
3323         removed. (See https://bugs.webkit.org/show_bug.cgi?id=98085)
3324
3325         This is a part of larger refactoring work to ultimately make the interface
3326         between the frontend and the backend simpler.
3327
3328         No new tests, extensive ASSERTs and existing tests cover correctness.
3329
3330         * Modules/indexeddb/IDBBackingStore.h:
3331         (IDBBackingStore):
3332         * Modules/indexeddb/IDBDatabase.cpp:
3333         (WebCore::IDBDatabase::createObjectStore):
3334         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3335         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
3336         (WebCore::IDBDatabaseBackendImpl::openInternal):
3337         (WebCore::IDBDatabaseBackendImpl::metadata):
3338         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
3339         (WebCore):
3340         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
3341         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
3342         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
3343         (IDBDatabaseBackendImpl):
3344         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
3345         (IDBDatabaseBackendInterface):
3346         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
3347         (WebCore::IDBIndexBackendImpl::metadata):
3348         * Modules/indexeddb/IDBIndexBackendImpl.h:
3349         (WebCore::IDBIndexBackendImpl::create):
3350         (IDBIndexBackendImpl):
3351         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
3352         (WebCore):
3353         (WebCore::getMaxObjectStoreId):
3354         (WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
3355         (WebCore::IDBLevelDBBackingStore::deleteDatabase):
3356         (WebCore::IDBLevelDBBackingStore::getObjectStores):
3357         (WebCore::setMaxObjectStoreId):
3358         (WebCore::IDBLevelDBBackingStore::createObjectStore):
3359         (WebCore::getMaxIndexId):
3360         (WebCore::setMaxIndexId):
3361         (WebCore::IDBLevelDBBackingStore::createIndex):
3362         * Modules/indexeddb/IDBLevelDBBackingStore.h:
3363         (IDBLevelDBBackingStore):
3364         * Modules/indexeddb/IDBMetadata.h:
3365         (WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
3366         (IDBDatabaseMetadata):
3367         (WebCore::IDBObjectStoreMetadata::IDBObjectStoreMetadata):
3368         (IDBObjectStoreMetadata):
3369         (WebCore::IDBIndexMetadata::IDBIndexMetadata):
3370         (IDBIndexMetadata):
3371         * Modules/indexeddb/IDBObjectStore.cpp:
3372         (WebCore::IDBObjectStore::createIndex):
3373         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3374         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
3375         (WebCore::IDBObjectStoreBackendImpl::metadata):
3376         (WebCore::IDBObjectStoreBackendImpl::createIndex):
3377         (WebCore):
3378         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
3379         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
3380         (WebCore::IDBObjectStoreBackendImpl::create):
3381         (IDBObjectStoreBackendImpl):
3382         * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
3383 2012-10-04  Pravin D  <pravind.2k4@gmail.com>
3384
3385         Layout broken after cloning and re-inserting a table with a misplaced <form>
3386         https://bugs.webkit.org/show_bug.cgi?id=86746
3387
3388         Reviewed by Julien Chaffraix.
3389
3390         There is a concept of demotion for a <form> contained in a table. A <form> is demoted if its immediate parent
3391         is either a <table>, table sections (tbody, etc) or a table row (tr). A renderer for such a <form> is created only
3392         if its display is one of the table display types (TABLE, INLINE_TABLE, TABLE_FOOTER_GROUP, etc).
3393         However when a <table> containing a demoted <form> is cloned, the <form> does not retain its demotion state and 
3394         results in the table getting improperly rendered.
3395
3396         Test: fast/table/form-with-non-table-display-inside-table-elements.html
3397
3398         * html/HTMLFormElement.cpp:
3399         (WebCore::HTMLFormElement::copyNonAttributePropertiesFromElement):
3400           Extended the virtual function for HTMLFormElement class specific implementation.
3401           The function is used to copy any necessary state information(member variables) associated with
3402           the <form> element being cloned to the current node.
3403           For HTMLFormElement node the member variable can be classified into five groups based on the 
3404           information they hold:
3405             1) Variables containing information regarding <form> subtree and elements associated with it.
3406                These get updated as and when an element is added to the <form> subtree.
3407             2) Variables containing <form> submit state information.
3408             3) Flag to hold information if reset() has been called.