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