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