[wx] Build fix, don't use the new FPD implementation yet, until we can merge ours...
[WebKit.git] / Source / WebCore / ChangeLog
1 2011-03-25  Kevin Ollivier  <kevino@theolliviers.com>
2
3         [wx] Build fix, don't use the new FPD implementation yet, until we can merge ours with it.
4
5         * platform/graphics/FontPlatformData.h:
6
7 2011-03-25  Jer Noble  <jer.noble@apple.com>
8
9         Reviewed by Eric Carlson.
10
11         MediaPlayerPrivateQuickTimeVisualContext should use the Application Cache during load.
12         https://bugs.webkit.org/show_bug.cgi?id=57047
13
14         No new tests.
15         
16         When loading a URL, checkk osee if the Appplication Cache has a version of that URL
17         stored; if so, use the local path to that cached media instead of the remote URL.
18
19         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
20         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal):
21         * platform/graphics/win/QTMovie.cpp:
22         (QTMovie::loadPath):
23         * platform/graphics/win/QTMovie.h:
24
25 2011-03-25  Dan Bernstein  <mitz@apple.com>
26
27         Reviewed by Darin Adler.
28
29         <rdar://problem/9134330> Missing expansion before ideograph at the beginning or end of a text run
30         https://bugs.webkit.org/show_bug.cgi?id=57106
31
32         Test: fast/text/justify-ideograph-leading-expansion.html
33
34         * platform/graphics/TextRun.h:
35         Replaced TrailingExpansionBehavior enum with ExpansionBehavior flags.
36         (WebCore::TextRun::TextRun): Constructors now take an expansionBehavior parameter.
37         (WebCore::TextRun::allowsLeadingExpansion): Added this accessor.
38         (WebCore::TextRun::allowsTrailingExpansion): Changed to use the m_expansionBehavior member.
39         * platform/graphics/WidthIterator.cpp:
40         (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion from the TextRun, allowing
41         leading expansion when appropriate.
42         (WebCore::WidthIterator::advance): Moved the last-glyph-in-run check to only apply to expansion
43         after the glyph, not expansion before the glyph, since that is not trailing expansion. Added code
44         to handle expansion before the first glyph.
45         * platform/graphics/mac/ComplexTextController.cpp:
46         (WebCore::ComplexTextController::ComplexTextController): Initialize m_afterExpansion from the
47         TextRun, allowing leading expansion when appropriate. Set m_runWidthSoFar to the leading expansion.
48         (WebCore::ComplexTextController::offsetForPosition): Account for leading expansion.
49         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Similar to WidthIterator::advance()
50         * platform/graphics/mac/ComplexTextController.h: Added m_leadingExpansion member variable.
51         * rendering/InlineBox.h:
52         (WebCore::InlineBox::InlineBox): Renamed m_hasSelectedChildren to m_hasSelectedChildrenOrCanHaveLeadingExpansion
53         to reflect the use of this bit by InlineTextBox.
54         * rendering/InlineTextBox.cpp:
55         (WebCore::InlineTextBox::selectionRect): Replaced calls to trailingExpansionBehavior() with expansionBehavior().
56         (WebCore::InlineTextBox::paint): Ditto.
57         (WebCore::InlineTextBox::paintSelection): Ditto.
58         (WebCore::InlineTextBox::paintCompositionBackground): Ditto.
59         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
60         (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
61         (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
62         (WebCore::InlineTextBox::offsetForPosition): Ditto.
63         (WebCore::InlineTextBox::positionForOffset): Ditto.
64         * rendering/InlineTextBox.h:
65         (WebCore::InlineTextBox::canHaveLeadingExpansion): Added this accessor.
66         (WebCore::InlineTextBox::setCanHaveLeadingExpansion): Ditto.
67         (WebCore::InlineTextBox::expansionBehavior): Replaced trailingExpansionBehavior() with this function,
68         which also considers canHaveLeadingExpansion().
69         * rendering/RenderBlockLineLayout.cpp:
70         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Call setCanHaveLeadingExpansion() on
71         text boxes that can have leading expansion. Avoid negative expansion.
72         * rendering/RootInlineBox.cpp:
73         * rendering/RootInlineBox.h:
74         (WebCore::RootInlineBox::hasSelectedChildren): Updated for renaming of the flag.
75         (WebCore::RootInlineBox::setHasSelectedChildren): Ditto.
76
77 2011-03-23  Jer Noble  <jer.noble@apple.com>
78
79         Reviewed by Maciej Stachowiak.
80
81         MediaPlayerPrivateAVFoundation should use the Application Cache during load.
82         https://bugs.webkit.org/show_bug.cgi?id=56997
83
84         No new tests.
85
86         When loading a URL, check to see if the Application Cache has a version of that URL
87         stored; if so, use the local path to that cached media instead of the remote URL.
88
89         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
90         (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Check to see if the media should be loaded
91             from the application cache.
92         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
93         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
94         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
95         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL):
96         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForCacheResource): Added.
97         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Split out from createAVPlayerForURL.
98
99 2011-03-25  Ben Taylor  <bentaylor.solx86@gmail.com>
100
101         Reviewed by Darin Adler.
102
103         https://bugs.webkit.org/show_bug.cgi?id=57122. Solaris 10/SunStudio 12 expect
104         both sides of a ?: operation to have the same types.  Extracted from original
105         https://bugs.webkit.org/show_bug.cgi?id=24932, patch 13 of 17, and originally
106         created by Thiago Macieira.
107
108         fixes a compile issue on Solaris 10/SunStudio 12
109
110         * loader/DocumentLoader.h:
111         (WebCore::DocumentLoader::serverRedirectSourceForHistory):
112         * loader/FrameLoader.cpp:
113         (WebCore::FrameLoader::load):
114         (WebCore::FrameLoader::loadWithNavigationAction):
115
116 2011-02-03  Jer Noble  <jer.noble@apple.com>
117
118         Reviewed by Maciej Stachowiak.
119
120         MediaPlayerPrivateQTKit should use the Application Cache during load.        
121         https://bugs.webkit.org/show_bug.cgi?id=53818
122
123         No new tests.
124
125         When loading a URL, check to see if the Application Cache has a version of that URL
126         stored; if so, use that data instead of the remote URL.
127
128         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
129         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
130         (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes):
131         (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
132         (WebCore::MediaPlayerPrivateQTKit::loadInternal):
133
134 2011-03-25  James Robinson  <jamesr@chromium.org>
135
136         Reviewed by Kenneth Russell.
137
138         [chromium] Move draw implementations to CCLayerImpl for everything except content layers
139         https://bugs.webkit.org/show_bug.cgi?id=56793
140
141         Moves the implementation of the layer's draw() function from LayerChromium subclasses to CCLayerImpl subclasses for
142         all layer types except content layers.  This gets us closer to decoupling the composite step itself from updating the layers.
143
144         The biggest change in this patch is adding a set of CCLayerImpl subclasses to implement the different drawing routines
145         and moving the code from each XXXLayerChromium to CCXXXLayerImpl.  In order to render from the CCLayerImpl side all state
146         needed at draw time also has to be synchronized, which is performed in pushPropertiesTo().
147
148         On the LayerRendererChromium side there are a few changes.  I've split the updateContents calls on LayerChromiums into two operations
149         tentatively named 'paintContentsIfNeeded' and 'updateCompositorResources'.  paintContents() is used for any code that calls into WebKit in order to generate
150         new pixel data.  It's expected that this call may take a long period of time and may involve "odd" side effects.  updateCompositorResources() is used for
151         code that needs to update the compositor's texture data or other state.  It is not expected that this callback will take long (since it's just inserting
152         commands into the GL command stream, ideally) and this call is expected to have access to the compositor's context, unlike paintContents().
153
154         The updateAndDrawLayers cycle now looks like this:
155         1.) update the root content layer
156         2.) update the root layer scrollbars
157         3.) for each LayerChromium in tree order:
158           a.) ensure a CCLayerImpl of the correct type exists for this layer
159           b.) push all draw time properties from the LayerChromium to the CCLayerImpl
160           c.) construct the appropriate draw transforms, render surfaces and render surface z-order sublayer lists
161         4.) for each LayerChromium in tree order, paint the layer's contents
162         5.) for each LayerChromium in tree order, update the associate compositor resources (textures, etc)
163         6.) draw the root layer and its scrollbars
164         7.) for each CCLayerImpl in render surface order, draw it
165
166         Step 3 should really happen after step 5, but right now painting a content layer requires knowledge of the render surface properties and draw transforms
167         in order to paint.  We also currently push layer properties from LayerChromium->CCLayerImpls twice now - once at 3.b and once after 5 so we can pick
168         up any texture updates.  This will also get fixed when the paint dependency on render surfaces is resolved.
169
170         I haven't modified the root layer or content layers in order to minimize conflicts with the other pending work in that area.
171
172         Tests: compositing/
173
174         * WebCore.gypi:
175         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
176         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
177         * platform/graphics/chromium/Canvas2DLayerChromium.h:
178         * platform/graphics/chromium/CanvasLayerChromium.cpp:
179         (WebCore::CanvasLayerChromium::createCCLayerImpl):
180         (WebCore::CanvasLayerChromium::pushPropertiesTo):
181         * platform/graphics/chromium/CanvasLayerChromium.h:
182         * platform/graphics/chromium/ContentLayerChromium.cpp:
183         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
184         (WebCore::ContentLayerChromium::paintContentsIfDirty):
185         (WebCore::ContentLayerChromium::updateCompositorResources):
186         (WebCore::ContentLayerChromium::bindContentsTexture):
187         * platform/graphics/chromium/ContentLayerChromium.h:
188         * platform/graphics/chromium/ImageLayerChromium.cpp:
189         (WebCore::ImageLayerChromium::paintContentsIfDirty):
190         * platform/graphics/chromium/ImageLayerChromium.h:
191         * platform/graphics/chromium/LayerChromium.cpp:
192         (WebCore::LayerChromium::LayerChromium):
193         (WebCore::LayerChromium::cleanupResources):
194         (WebCore::LayerChromium::setLayerRenderer):
195         (WebCore::LayerChromium::setName):
196         (WebCore::LayerChromium::pushPropertiesTo):
197         (WebCore::LayerChromium::dumpLayer):
198         (WebCore::LayerChromium::createCCLayerImpl):
199         (WebCore::LayerChromium::createCCLayerImplIfNeeded):
200         (WebCore::LayerChromium::ccLayerImpl):
201         (WebCore::LayerChromium::layerRenderer):
202         * platform/graphics/chromium/LayerChromium.h:
203         (WebCore::LayerChromium::paintContentsIfDirty):
204         (WebCore::LayerChromium::updateCompositorResources):
205         * platform/graphics/chromium/LayerRendererChromium.cpp:
206         (WebCore::LayerRendererChromium::updateLayers):
207         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
208         (WebCore::LayerRendererChromium::paintContentsRecursive):
209         (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
210         (WebCore::LayerRendererChromium::drawLayer):
211         (WebCore::LayerRendererChromium::initializeSharedObjects):
212         * platform/graphics/chromium/LayerRendererChromium.h:
213         (WebCore::LayerRendererChromium::canvasLayerProgram):
214         (WebCore::LayerRendererChromium::pluginLayerProgram):
215         (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
216         (WebCore::LayerRendererChromium::videoLayerYUVProgram):
217         * platform/graphics/chromium/PluginLayerChromium.cpp:
218         (WebCore::PluginLayerChromium::createCCLayerImpl):
219         (WebCore::PluginLayerChromium::setTextureId):
220         (WebCore::PluginLayerChromium::pushPropertiesTo):
221         * platform/graphics/chromium/PluginLayerChromium.h:
222         (WebCore::PluginLayerChromium::textureId):
223         * platform/graphics/chromium/VideoLayerChromium.cpp:
224         (WebCore::VideoLayerChromium::createCCLayerImpl):
225         (WebCore::VideoLayerChromium::updateCompositorResources):
226         (WebCore::VideoLayerChromium::pushPropertiesTo):
227         * platform/graphics/chromium/VideoLayerChromium.h:
228         * platform/graphics/chromium/WebGLLayerChromium.cpp:
229         (WebCore::WebGLLayerChromium::updateCompositorResources):
230         * platform/graphics/chromium/WebGLLayerChromium.h:
231         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp.
232         (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl):
233         (WebCore::CCCanvasLayerImpl::~CCCanvasLayerImpl):
234         (WebCore::CCCanvasLayerImpl::draw):
235         (WebCore::CCCanvasLayerImpl::dumpLayerProperties):
236         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
237         (WebCore::CCCanvasLayerImpl::create):
238         (WebCore::CCCanvasLayerImpl::setTextureId):
239         (WebCore::CCCanvasLayerImpl::setPremultipliedAlpha):
240         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
241         (WebCore::CCLayerImpl::descendantsDrawsContent):
242         (WebCore::CCLayerImpl::updateCompositorResources):
243         (WebCore::CCLayerImpl::writeIndent):
244         * platform/graphics/chromium/cc/CCLayerImpl.h:
245         (WebCore::CCLayerImpl::setAnchorPoint):
246         (WebCore::CCLayerImpl::setAnchorPointZ):
247         (WebCore::CCLayerImpl::setMasksToBounds):
248         (WebCore::CCLayerImpl::setOpacity):
249         (WebCore::CCLayerImpl::setPosition):
250         (WebCore::CCLayerImpl::setPreserves3D):
251         (WebCore::CCLayerImpl::setSublayerTransform):
252         (WebCore::CCLayerImpl::setTransform):
253         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp.
254         (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
255         (WebCore::CCPluginLayerImpl::~CCPluginLayerImpl):
256         (WebCore::CCPluginLayerImpl::draw):
257         (WebCore::CCPluginLayerImpl::dumpLayerProperties):
258         * platform/graphics/chromium/cc/CCPluginLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
259         (WebCore::CCPluginLayerImpl::create):
260         (WebCore::CCPluginLayerImpl::setTextureId):
261         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: Added.
262         (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
263         (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
264         (WebCore::CCVideoLayerImpl::setTexture):
265         (WebCore::CCVideoLayerImpl::draw):
266         (WebCore::CCVideoLayerImpl::drawYUV):
267         (WebCore::CCVideoLayerImpl::drawRGBA):
268         (WebCore::CCVideoLayerImpl::dumpLayerProperties):
269         * platform/graphics/chromium/cc/CCVideoLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
270         (WebCore::CCVideoLayerImpl::create):
271         (WebCore::CCVideoLayerImpl::setSkipsDraw):
272         (WebCore::CCVideoLayerImpl::setFrameFormat):
273
274 2011-03-25  Oliver Hunt  <oliver@apple.com>
275
276         Reviewed by Darin Adler.
277
278         Allow defineOwnProperty to work on DOMObjects
279         https://bugs.webkit.org/show_bug.cgi?id=57129
280
281         As other engines are allowing defineOwnProperty to be applied
282         to host objects there's no reason for us to retain this
283         restriction.
284
285         * bindings/js/JSDOMWrapper.cpp:
286         * bindings/js/JSDOMWrapper.h:
287
288 2011-03-25  Andy Estes  <aestes@apple.com>
289
290         Reviewed by Adele Peterson.
291
292         REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
293         https://bugs.webkit.org/show_bug.cgi?id=49016
294
295         AC_QuickTime.js uses the common <object>/<embed> paradigm to embed the 
296         QuickTime plug-in in web pages. r70748 removed our mapping of classids 
297         to MIME types, which causes WebKit to fall back from the object to the 
298         embed tag when QuickTime is embedded by this script. The script emits 
299         the following embed tag to embed a QuickTime movie with a poster frame: 
300
301         <embed src="poster-frame.png" target="quicktimeplayer" href="movie.mov"> 
302
303         The expectation is that a QuickTime plug-in is instantiated to display the 
304         poster frame, since QuickTime registers for many common image MIME 
305         types. This is how Gecko behaves for embed. However, WebKit prefers to 
306         use its native image rendering for image embeds, in which case no movie 
307         is played when the poster frame is clicked. 
308
309         Fix this by changing embed to check for a plug-in that can handle the 
310         image type before rendering the image natively. This matches Gecko. 
311
312         Test: plugins/embed-prefers-plugins-for-images.html
313
314         * html/HTMLEmbedElement.cpp:
315         (WebCore::HTMLEmbedElement::HTMLEmbedElement):
316         * html/HTMLObjectElement.cpp:
317         (WebCore::HTMLObjectElement::HTMLObjectElement):
318         (WebCore::HTMLObjectElement::parametersForPlugin):
319         * html/HTMLPlugInImageElement.cpp:
320         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
321         (WebCore::HTMLPlugInImageElement::isImageType):
322         (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
323         * html/HTMLPlugInImageElement.h:
324         (WebCore::HTMLPlugInImageElement::shouldPreferPlugInsForImages):
325         * loader/EmptyClients.h:
326         (WebCore::EmptyFrameLoaderClient::objectContentType):
327         * loader/FrameLoader.cpp:
328         (WebCore::FrameLoader::defaultObjectContentType):
329         * loader/FrameLoader.h:
330         * loader/FrameLoaderClient.h:
331         * loader/SubframeLoader.cpp:
332         (WebCore::SubframeLoader::resourceWillUsePlugin):
333         (WebCore::SubframeLoader::requestPlugin):
334         (WebCore::SubframeLoader::requestObject):
335         (WebCore::SubframeLoader::shouldUsePlugin):
336         * loader/SubframeLoader.h:
337
338 2011-03-23  Jer Noble  <jer.noble@apple.com>
339
340         Reviewed by Eric Carlson.
341
342         Application Cache should save audio/ and video/ mime types as flat files
343         https://bugs.webkit.org/show_bug.cgi?id=53784
344         <rdar://problem/8932473>
345
346         No new tests, as this behavior is not possible to test without changes to the MediaPlayer engines.
347
348         Store certain mime types as flat files alongside the Application Cache database.
349         This requires plumbing the saved file path from ApplicationCacheStorage through
350         to ApplicationCacheResource.
351
352         (WebCore::ApplicationCacheStorage::openDatabase): Modify the CacheResourceData schema and
353             add a new DeletedCacheResources table, add a new CacheResourceDataDeleted trigger.
354         (WebCore::ApplicationCacheStorage::store): Add the new path data when adding new rows in 
355             CacheResourceData, and store media resources as flat files.
356         (WebCore::ApplicationCacheStorage::loadCache): Pull the "path" column from CacheResourceData
357             when loading cache items.
358         (WebCore::ApplicationCacheStorage::remove): Call checkForDeletedResources.
359         (WebCore::ApplicationCacheStorage::empty): Ditto.
360         (WebCore::ApplicationCacheStorage::storeCopyOfCache): Ditto.
361         (WebCore::ApplicationCacheStorage::deleteCacheGroup): Ditto.
362         (WebCore::ApplicationCacheStorage::checkForDeletedResources): Walk through DeletedCacheResourceData
363             looking for entries with non-empty "path" columns; if found, delete.
364         (WebCore::ApplicationCacheStorage::flatFileAreaSize): Walk through CacheResourceData rows
365             and sum the file size of those rows with flat file storage.
366         (WebCore::ApplicationCacheStorage::verifySchemaVersion): Call deleteTables() instead of 
367             clearAllTables() directly.
368         (WebCore::ApplicationCacheStorage::deleteTables): Call empty() before deleting the tables,
369             so that flat files get deleted.
370         (WebCore::ApplicationCacheStorage::shouldStoreResourceAsFlatFile): Added.
371         (WebCore::ApplicationCacheStorage::writeDataToUniqueFileInDirectory): Added.
372         * loader/appcache/ApplicationCacheStorage.h:
373         * platform/win/FileSystemWin.cpp:
374         (WebCore::openFile): Implement openFile on Windows.
375
376 2011-03-24  David Hyatt  <hyatt@apple.com>
377
378         Reviewed by Dan Bernstein.
379
380         https://bugs.webkit.org/show_bug.cgi?id=56909
381         
382         Add a simplified normal flow layout path optimization for overflow recomputation
383         and for positioned objects inside relative positioned containers.
384
385         Currently there is an optimized code path for positioned objects, but as soon as
386         we encounter a normal flow object in the containing block chain, we lose the
387         optimization.
388
389         This patch adds a new type of style difference called SimplifiedLayout that is
390         returned when only overflow needs to be recomputed. Whenever a transform changes,
391         this is the hint returned now instead of a full layout.
392         
393         In addition, when positioned objects need layout and start marking up the
394         containing block chain, we now propagate the fact that the layout is simplified
395         all the way up to the root, even when we encounter normal flow containing
396         blocks.
397         
398         The layoutOnlyPositionedObjects function has been renamed to simplifiedLayout()
399         and is now used for all of these cases (in addition to what it handled before).
400         
401         The simplified layout optimization (even in ToT) did not work correctly when
402         static distances needed to be recomputed. In order to make static distance
403         computations work with simplified layout, positioned objects now always compute
404         their static offsets, even if they explicitly specify left/top.  That way normal
405         flow layout never has to re-run when the positioned object moves.  This makes
406         movement of a positioned object along a single non-auto axis much faster when the
407         other axis is auto. Because this code kicked in more often for absolutely positioned
408         objects whose original display was inline, I went ahead and fixed the trailing space
409         issue with those objects.  This causes a bunch of layout tests to progress.
410
411         Added fast/block/positioning/static-inline-position-dynamic.html and trailing-space-test.html.
412
413         * rendering/RenderBlock.cpp:
414         (WebCore::RenderBlock::layoutBlock):
415         (WebCore::RenderBlock::adjustPositionedBlock):
416         (WebCore::RenderBlock::simplifiedNormalFlowLayout):
417         (WebCore::RenderBlock::simplifiedLayout):
418         * rendering/RenderBlock.h:
419         * rendering/RenderBlockLineLayout.cpp:
420         (WebCore::setStaticPositions):
421         (WebCore::RenderBlock::findNextLineBreak):
422         * rendering/RenderBox.cpp:
423         (WebCore::RenderBox::styleDidChange):
424         (WebCore::RenderBox::positionLineBox):
425         * rendering/RenderBoxModelObject.cpp:
426         (WebCore::RenderBoxModelObject::styleWillChange):
427         * rendering/RenderFlexibleBox.cpp:
428         (WebCore::RenderFlexibleBox::layoutBlock):
429         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
430         (WebCore::RenderFlexibleBox::layoutVerticalBox):
431         * rendering/RenderObject.cpp:
432         (WebCore::RenderObject::RenderObject):
433         (WebCore::RenderObject::adjustStyleDifference):
434         (WebCore::RenderObject::setStyle):
435         (WebCore::RenderObject::styleDidChange):
436         * rendering/RenderObject.h:
437         (WebCore::RenderObject::needsLayout):
438         (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
439         (WebCore::RenderObject::needsSimplifiedNormalFlowLayout):
440         (WebCore::RenderObject::setNeedsLayout):
441         (WebCore::RenderObject::setChildNeedsLayout):
442         (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
443         (WebCore::RenderObject::markContainingBlocksForLayout):
444         * rendering/RenderTable.cpp:
445         (WebCore::RenderTable::layout):
446         * rendering/style/RenderStyle.cpp:
447         (WebCore::RenderStyle::diff):
448         * rendering/style/RenderStyleConstants.h:
449         * rendering/svg/RenderSVGText.cpp:
450         (WebCore::RenderSVGText::layout):
451
452 2011-03-25  Martin Robinson  <mrobinson@igalia.com>
453
454         Fix the GTK+ build until we can implement the new cross-platform
455         FontPlatformData.h bits.
456
457         * platform/graphics/FontPlatformData.h: Include the proper old font headers.
458         (WebCore::FontPlatformData::FontPlatformData): Eliminate GTK+ specific bits of this file
459         which reference our obsolete font implementation.
460         (WebCore::FontPlatformData::hash): Ditto.
461
462 2011-03-25  Steve Falkenburg  <sfalken@apple.com>
463
464         Reviewed by Brian Weinstein.
465
466         Microsoft Windows Presentation Foundation (WPF) plug-in complains about missing xpcom.dll
467         https://bugs.webkit.org/show_bug.cgi?id=57119
468         <rdar://problem/9054148>
469         
470         This plug-in from Microsoft links against xpcom.dll, which is a Firefox-specific DLL
471         not available in WebKit. The plug-in is fairly widespread, since it was included in
472         a Windows Update push at one point.
473
474         * plugins/win/PluginPackageWin.cpp:
475         (WebCore::PluginPackage::isPluginBlacklisted): Blacklist npwpf.dll.
476
477 2011-03-25  Tony Chang  <tony@chromium.org>
478
479         Try to fix the chromium mac build.
480         We used the mac FontPlatformData on chromium mac.
481
482         * WebCore.gyp/WebCore.gyp:
483         * WebCore.gypi:
484         * platform/graphics/FontPlatformData.h:
485
486 2011-03-25  Tony Chang  <tony@chromium.org>
487
488         Build fix:
489         have chromium and qt use the correct FontPlatformData.h
490         https://bugs.webkit.org/show_bug.cgi?id=57115
491
492         * platform/graphics/FontPlatformData.h:
493
494 2011-03-25  Beth Dakin  <bdakin@apple.com>
495
496         Reviewed by Dave Hyatt.
497
498         Fix for https://bugs.webkit.org/show_bug.cgi?id=57057 Overlay scrollbars in overflow 
499         areas paint behind positive z-index content
500         -and corresponding-
501         <rdar://problem/9070500>
502
503         Since overlay scrollbars don't clip the scrollable content like other scrollbars do, 
504         the only way to get them to paint on top of all possible scrollable content is to 
505         make them paint on top of everything. To do this, this patch adds a second trip 
506         through the layer tree if it contains overlay scrollbars that need painting.
507
508         After calling paint() on the rootLayer, call paintOverlayScrollers() if 
509         containsDirtyOverlayScrollbars() is true. 
510         * page/FrameView.cpp:
511         (WebCore::FrameView::paintContents):
512
513         RenderLayer has two new member variable. m_containsDirtyOverlayScrollbars is a bool 
514         that is set on the root layer when it has child layers that need overlay scrollbars 
515         to be painted. m_cachedOverlayScrollbarOffset is an IntPoint to cache the tx and ty 
516         of the overlay scrollbars on the first (normal) pass through the layer tree. This 
517         prevents us from having to re-enter the render tree during the second (overlay-only) 
518         pass. Finally, there is also a new paint flag: PaintLayerPaintingOverlayScrollbars.
519         * rendering/RenderLayer.h:
520         (WebCore::RenderLayer::containsDirtyOverlayScrollbars):
521         (WebCore::RenderLayer::setContainsDirtyOverlayScrollbars):
522         * rendering/RenderLayer.cpp:
523         (WebCore::RenderLayer::RenderLayer):
524         (WebCore::RenderLayer::paintOverflowControls):
525         (WebCore::RenderLayer::paintOverlayScrollbars):
526         (WebCore::RenderLayer::paintLayer):
527
528 2011-03-25  Jessie Berlin  <jberlin@apple.com>
529
530         Reviewed by Sam Weinig.
531
532         WebKit2: Need to be able to set and get the Cookie Storage Policy.
533         https://bugs.webkit.org/show_bug.cgi?id=50780
534
535         * platform/network/cf/CookieStorageCFNet.cpp:
536         (WebCore::privateCookieStorage):
537         Rename privateBrowsingCookieStorage to privateCookieStorage.
538         (WebCore::currentCookieStorage):
539         Ditto.
540         (WebCore::setCurrentCookieStorage):
541         Ditto.
542         (WebCore::setCookieStoragePrivateBrowsingEnabled):
543         Ditto.
544         (WebCore::defaultCookieStorage):
545         Return the default cookie storage.
546         (WebCore::privateBrowsingCookieStorage):
547         Return privateCookieStorage().get()
548         * platform/network/cf/CookieStorageCFNet.h:
549
550 2011-03-25  Emil A Eklund  <eae@chromium.org>
551
552         Reviewed by Dimitri Glazkov.
553
554         Text field "onchange" event is triggered if actual value unchanged
555         https://bugs.webkit.org/show_bug.cgi?id=36314
556
557         Change RenderTextControl::subtreeHasChanged to only return true if the
558         subtree has changed since the last event was triggered.
559
560         * html/HTMLFormControlElement.cpp:
561         (WebCore::HTMLTextFormControlElement::insertedIntoDocument):
562         (WebCore::HTMLTextFormControlElement::dispatchFormControlChangeEvent):
563         * html/HTMLFormControlElement.h:
564         (WebCore::HTMLTextFormControlElement::setTextAsOfLastFormControlChangeEvent):
565         * html/HTMLInputElement.cpp:
566         (WebCore::HTMLInputElement::setChecked):
567         (WebCore::HTMLInputElement::setValue):
568         * html/HTMLTextAreaElement.cpp:
569         (WebCore::HTMLTextAreaElement::setValue):
570         (WebCore::HTMLTextAreaElement::setNonDirtyValue):
571
572 2011-03-25  Brent Fulgham  <bfulgham@webkit.org>
573
574         Reviewed by David Hyatt.
575
576         Clean up FontPlatformData structure so that a single implementation
577         is used across all ports.  This first patch works for the Windows
578         build (both CG and WinCairo), and Cocoa.
579
580         * WebCore.vcproj/WebCore.vcproj:
581         * platform/graphics/FontPlatformData.cpp: Added.
582         (WebCore::FontPlatformData::FontPlatformData):
583         (WebCore::FontPlatformData::operator=):
584         * platform/graphics/FontPlatformData.h: Added.
585         (WebCore::toCTFontRef):
586         (WebCore::FontPlatformData::FontPlatformData):
587         (WebCore::FontPlatformData::hfont):
588         (WebCore::FontPlatformData::useGDI):
589         (WebCore::FontPlatformData::font):
590         (WebCore::FontPlatformData::cgFont):
591         (WebCore::FontPlatformData::size):
592         (WebCore::FontPlatformData::setSize):
593         (WebCore::FontPlatformData::syntheticBold):
594         (WebCore::FontPlatformData::syntheticOblique):
595         (WebCore::FontPlatformData::isColorBitmapFont):
596         (WebCore::FontPlatformData::orientation):
597         (WebCore::FontPlatformData::textOrientation):
598         (WebCore::FontPlatformData::widthVariant):
599         (WebCore::FontPlatformData::setOrientation):
600         (WebCore::FontPlatformData::scaledFont):
601         (WebCore::FontPlatformData::fontFace):
602         (WebCore::FontPlatformData::hash):
603         (WebCore::FontPlatformData::operator==):
604         (WebCore::FontPlatformData::isHashTableDeletedValue):
605         (WebCore::FontPlatformData::hashTableDeletedFontValue):
606         * platform/graphics/cg/FontPlatformData.h: Removed.
607         * platform/graphics/cocoa/FontPlatformData.h: Removed.
608         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
609         (WebCore::~FontPlatformData):
610         (WebCore::FontPlatformData::platformDataInit):
611         (WebCore::FontPlatformData::platformDataAssign):
612         * platform/graphics/win/FontPlatformDataCGWin.cpp:
613         (WebCore::FontPlatformData::FontPlatformData):
614         (WebCore::FontPlatformData::~FontPlatformData):
615         (WebCore::FontPlatformData::platformDataInit):
616         (WebCore::FontPlatformData::platformDataAssign):
617         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
618         (WebCore::FontPlatformData::FontPlatformData):
619         (WebCore::FontPlatformData::~FontPlatformData):
620         (WebCore::FontPlatformData::platformDataInit):
621         (WebCore::FontPlatformData::platformDataAssign):
622         * platform/graphics/win/FontPlatformDataWin.cpp:
623         (WebCore::FontPlatformData::FontPlatformData):
624         * platform/graphics/win/cairo/FontPlatformData.h: Removed.
625
626 2011-03-25  Enrica Casucci  <enrica@apple.com>
627
628         Reviewed by Oliver Hunt.
629
630         Pasteboard data's RTF data doesn't always include URLs via NSLinkAttributeName.
631         https://bugs.webkit.org/show_bug.cgi?id=57107
632         <rdar://problem/9084267>
633
634         If the selection is at the beginning of content inside an anchor tag
635         we move the selection start to include the anchor.
636         
637         * platform/mac/PasteboardMac.mm:
638         (WebCore::Pasteboard::writeSelection): Modified to change the selection
639         start according to the new rule.
640
641 2011-03-25  Pavel Feldman  <pfeldman@chromium.org>
642
643         Reviewed by Yury Semikhatsky.
644
645         Web Inspector: refactor Network domain's frame tree API
646         https://bugs.webkit.org/show_bug.cgi?id=57103
647
648         * inspector/Inspector.json:
649         * inspector/InspectorResourceAgent.cpp:
650         (WebCore::buildObjectForFrameResource):
651         (WebCore::buildObjectForCachedResource):
652         (WebCore::InspectorResourceAgent::willSendRequest):
653         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
654         (WebCore::buildObjectForFrame):
655         (WebCore::buildObjectForFrameTree):
656         (WebCore::InspectorResourceAgent::didCommitLoad):
657         (WebCore::InspectorResourceAgent::enable):
658         * inspector/front-end/NetworkManager.js:
659         (WebInspector.NetworkManager.prototype.requestContent):
660         (WebInspector.NetworkDispatcher):
661         (WebInspector.NetworkDispatcher.prototype.willSendRequest):
662         (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
663         (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
664         (WebInspector.NetworkDispatcher.prototype.frameDetachedFromParent):
665         (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
666         (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket):
667         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
668         (WebInspector.NetworkDispatcher.prototype._addFramesRecursively):
669         (WebInspector.NetworkDispatcher.prototype._createResource):
670         * inspector/front-end/ResourceTreeModel.js:
671         (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
672         (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
673         (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
674         (WebInspector.ResourceTreeModel.prototype._clearResources):
675         * inspector/front-end/ResourcesPanel.js:
676         (WebInspector.ResourcesPanel.prototype.addOrUpdateFrame):
677         (WebInspector.ResourcesPanel.prototype.addResourceToFrame):
678
679 2011-03-25  Dave Hyatt  <hyatt@apple.com>
680
681         Reviewed by Adele Peterson.
682
683         REGRESSION(r77257): Only first page of a document is printed
684         https://bugs.webkit.org/show_bug.cgi?id=56958
685
686         Test: printing/page-count-layout-overflow.html
687
688         * page/FrameView.cpp:
689         (WebCore::FrameView::forceLayoutForPagination): Moved clearing of overflow
690             to the right place.
691
692 2011-03-25  Benjamin Poulain  <benjamin.poulain@nokia.com>
693
694         Reviewed by Andreas Kling.
695
696         [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
697         https://bugs.webkit.org/show_bug.cgi?id=57087
698
699         Use explicit conversion for string to avoid depending on the default codec
700         installed by the user code.
701
702         * bridge/qt/qt_pixmapruntime.cpp:
703         (JSC::Bindings::QtPixmapToDataUrlMethod::invoke):
704         (JSC::Bindings::QtPixmapInstance::valueOf):
705         * platform/qt/LanguageQt.cpp:
706         (WebCore::platformDefaultLanguage):
707         * platform/qt/PasteboardQt.cpp:
708         (WebCore::Pasteboard::writeSelection):
709         * plugins/qt/PluginPackageQt.cpp:
710         (WebCore::initializeGtk):
711         * plugins/qt/PluginViewQt.cpp:
712         (WebCore::getPluginDisplay):
713
714 2011-03-25  Chang Shu  <cshu@webkit.org>
715
716         Reviewed by Ryosuke Niwa.
717
718         rename Node::isContentEditable and all call sites to rendererIsEditable
719         https://bugs.webkit.org/show_bug.cgi?id=54290
720
721         This is part of the effort to separate JS API HTMLElement isContentEditable from
722         internal Node::rendererIsEditable.
723
724         Code refactoring. No new tests.
725
726         * accessibility/AccessibilityRenderObject.cpp:
727         (WebCore::AccessibilityRenderObject::isReadOnly):
728         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
729         * dom/Document.cpp:
730         (WebCore::acceptsEditingFocus):
731         * dom/Node.cpp:
732         (WebCore::Node::rendererIsEditable):
733         (WebCore::Node::shouldUseInputMethod):
734         (WebCore::Node::canStartSelection):
735         (WebCore::Node::rootEditableElement):
736         * dom/Node.h:
737         (WebCore::Node::isContentEditable):
738         (WebCore::Node::rendererIsEditable):
739         (WebCore::Node::rendererIsRichlyEditable):
740         * dom/Position.cpp:
741         (WebCore::nextRenderedEditable):
742         (WebCore::previousRenderedEditable):
743         (WebCore::Position::atEditingBoundary):
744         (WebCore::Position::parentEditingBoundary):
745         (WebCore::Position::upstream):
746         (WebCore::Position::downstream):
747         (WebCore::Position::isCandidate):
748         * dom/PositionIterator.cpp:
749         (WebCore::PositionIterator::isCandidate):
750         * editing/AppendNodeCommand.cpp:
751         (WebCore::AppendNodeCommand::AppendNodeCommand):
752         (WebCore::AppendNodeCommand::doApply):
753         (WebCore::AppendNodeCommand::doUnapply):
754         * editing/ApplyStyleCommand.cpp:
755         (WebCore::containsNonEditableRegion):
756         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
757         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
758         (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
759         * editing/CompositeEditCommand.cpp:
760         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
761         * editing/DeleteButtonController.cpp:
762         (WebCore::isDeletableElement):
763         (WebCore::enclosingDeletableElement):
764         * editing/DeleteFromTextNodeCommand.cpp:
765         (WebCore::DeleteFromTextNodeCommand::doApply):
766         (WebCore::DeleteFromTextNodeCommand::doUnapply):
767         * editing/DeleteSelectionCommand.cpp:
768         (WebCore::DeleteSelectionCommand::removeNode):
769         * editing/Editor.cpp:
770         (WebCore::Editor::canDeleteRange):
771         (WebCore::Editor::markMisspellingsOrBadGrammar):
772         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
773         * editing/EditorCommand.cpp:
774         (WebCore::verticalScrollDistance):
775         * editing/FormatBlockCommand.cpp:
776         (WebCore::enclosingBlockToSplitTreeTo):
777         * editing/IndentOutdentCommand.cpp:
778         (WebCore::IndentOutdentCommand::outdentParagraph):
779         * editing/InsertIntoTextNodeCommand.cpp:
780         (WebCore::InsertIntoTextNodeCommand::doApply):
781         (WebCore::InsertIntoTextNodeCommand::doUnapply):
782         * editing/InsertNodeBeforeCommand.cpp:
783         (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand):
784         (WebCore::InsertNodeBeforeCommand::doApply):
785         (WebCore::InsertNodeBeforeCommand::doUnapply):
786         * editing/JoinTextNodesCommand.cpp:
787         (WebCore::JoinTextNodesCommand::doApply):
788         (WebCore::JoinTextNodesCommand::doUnapply):
789         * editing/MergeIdenticalElementsCommand.cpp:
790         (WebCore::MergeIdenticalElementsCommand::doApply):
791         (WebCore::MergeIdenticalElementsCommand::doUnapply):
792         * editing/RemoveNodeCommand.cpp:
793         (WebCore::RemoveNodeCommand::doApply):
794         (WebCore::RemoveNodeCommand::doUnapply):
795         * editing/ReplaceSelectionCommand.cpp:
796         (WebCore::ReplacementFragment::ReplacementFragment):
797         * editing/SelectionController.cpp:
798         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
799         (WebCore::SelectionController::setSelectionFromNone):
800         * editing/SplitElementCommand.cpp:
801         (WebCore::SplitElementCommand::executeApply):
802         (WebCore::SplitElementCommand::doUnapply):
803         * editing/SplitTextNodeCommand.cpp:
804         (WebCore::SplitTextNodeCommand::doApply):
805         (WebCore::SplitTextNodeCommand::doUnapply):
806         (WebCore::SplitTextNodeCommand::doReapply):
807         * editing/SplitTextNodeContainingElementCommand.cpp:
808         (WebCore::SplitTextNodeContainingElementCommand::doApply):
809         * editing/VisiblePosition.cpp:
810         (WebCore::VisiblePosition::canonicalPosition):
811         * editing/WrapContentsInDummySpanCommand.cpp:
812         (WebCore::WrapContentsInDummySpanCommand::doUnapply):
813         (WebCore::WrapContentsInDummySpanCommand::doReapply):
814         * editing/htmlediting.cpp:
815         (WebCore::highestEditableRoot):
816         (WebCore::lowestEditableAncestor):
817         (WebCore::isEditablePosition):
818         (WebCore::isRichlyEditablePosition):
819         (WebCore::firstEditablePositionAfterPositionInRoot):
820         (WebCore::extendRangeToWrappingNodes):
821         (WebCore::enclosingNodeWithTag):
822         (WebCore::enclosingNodeOfType):
823         (WebCore::highestEnclosingNodeOfType):
824         (WebCore::canMergeLists):
825         * editing/visible_units.cpp:
826         (WebCore::previousLeafWithSameEditability):
827         (WebCore::previousLinePosition):
828         (WebCore::nextLeafWithSameEditability):
829         (WebCore::nextLinePosition):
830         (WebCore::startOfParagraph):
831         (WebCore::endOfParagraph):
832         * html/HTMLAnchorElement.cpp:
833         (WebCore::HTMLAnchorElement::supportsFocus):
834         (WebCore::HTMLAnchorElement::defaultEventHandler):
835         (WebCore::HTMLAnchorElement::setActive):
836         (WebCore::HTMLAnchorElement::canStartSelection):
837         (WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType):
838         * html/HTMLBodyElement.cpp:
839         (WebCore::HTMLBodyElement::supportsFocus):
840         * html/HTMLElement.cpp:
841         (WebCore::HTMLElement::supportsFocus):
842         (WebCore::HTMLElement::isContentEditable):
843         (WebCore::HTMLElement::contentEditable):
844         * html/HTMLElement.h:
845         * page/DragController.cpp:
846         (WebCore::DragController::operationForLoad):
847         (WebCore::DragController::canProcessDrag):
848         * page/EventHandler.cpp:
849         (WebCore::EventHandler::handleMouseReleaseEvent):
850         (WebCore::EventHandler::selectCursor):
851         * page/FocusController.cpp:
852         (WebCore::relinquishesEditingFocus):
853         * rendering/HitTestResult.cpp:
854         (WebCore::HitTestResult::isContentEditable):
855         * rendering/RenderBlock.cpp:
856         (WebCore::positionForPointRespectingEditingBoundaries):
857         (WebCore::RenderBlock::hasLineIfEmpty):
858         * rendering/RenderBlockLineLayout.cpp:
859         (WebCore::RenderBlock::addOverflowFromInlineChildren):
860         * rendering/RenderBox.cpp:
861         (WebCore::RenderBox::canBeProgramaticallyScrolled):
862         * rendering/RenderObject.cpp:
863         (WebCore::RenderObject::createVisiblePosition):
864         * rendering/RootInlineBox.cpp:
865         (WebCore::isEditableLeaf):
866         * svg/SVGAElement.cpp:
867         (WebCore::SVGAElement::supportsFocus):
868
869 2011-03-25  Maciej Stachowiak  <mjs@apple.com>
870
871         Reviewed by Antti Koivisto.
872
873         Crash when a wbr element is inserted inside mroot
874         https://bugs.webkit.org/show_bug.cgi?id=56352
875
876         Test: mathml/wbr-in-mroot-crash.html
877
878         * rendering/mathml/RenderMathMLRoot.cpp:
879         (WebCore::RenderMathMLRoot::layout): Look for the first box model child of the first
880         child, instead of just assuming.
881
882 2011-03-25  Vsevolod Vlasov  <vsevik@chromium.org>
883
884         Reviewed by Pavel Feldman.
885
886         XML Viewer: extensions can't render original XML
887         https://bugs.webkit.org/show_bug.cgi?id=56263
888
889         Added source xml to transformed document, renamed onload function.
890
891         * xml/XMLTreeViewer.cpp:
892         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
893         * xml/XMLViewer.xsl:
894
895 2011-03-25  Benjamin Poulain  <benjamin.poulain@nokia.com>
896
897         Reviewed by Andreas Kling.
898
899         [Qt] Get rid of the invalid string conversion with ::fromAscii()
900         https://bugs.webkit.org/show_bug.cgi?id=57102
901
902         Replace ::fromAscii() with ::fromLatin1() to make sure the codec does not depend on the user code.
903
904         * platform/network/qt/QNetworkReplyHandler.cpp:
905         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
906         * platform/qt/CookieJarQt.cpp:
907         (WebCore::cookies):
908         (WebCore::cookieRequestHeaderFieldValue):
909
910 2011-03-25  Sheriff Bot  <webkit.review.bot@gmail.com>
911
912         Unreviewed, rolling out r81953.
913         http://trac.webkit.org/changeset/81953
914         https://bugs.webkit.org/show_bug.cgi?id=57096
915
916         "inspector test breakage: part 2/2" (Requested by apavlov on
917         #webkit).
918
919         * inspector/Inspector.json:
920         * inspector/InspectorCSSAgent.cpp:
921         (WebCore::InspectorCSSAgent::getAllStyles):
922         * inspector/InspectorCSSAgent.h:
923         * inspector/InspectorStyleSheet.cpp:
924         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
925         * inspector/InspectorStyleSheet.h:
926         * inspector/front-end/AuditRules.js:
927         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
928         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
929         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
930         * inspector/front-end/CSSStyleModel.js:
931         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
932         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
933         (WebInspector.CSSStyleModel.prototype._onRevert):
934         (WebInspector.CSSStyleSheet):
935         (WebInspector.CSSStyleSheet.prototype.setText):
936
937 2011-03-15  Alexander Pavlov  <apavlov@chromium.org>
938
939         Reviewed by Pavel Feldman.
940
941         Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js
942         https://bugs.webkit.org/show_bug.cgi?id=56310
943
944         Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing
945         "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned
946         by CSSAgent.getStyleSheet() anymore.
947
948         Test: inspector/styles/get-set-stylesheet-text.html
949
950         * inspector/Inspector.json:
951         * inspector/InspectorCSSAgent.cpp:
952         (WebCore::InspectorCSSAgent::getAllStyleSheets):
953         * inspector/InspectorCSSAgent.h:
954         * inspector/InspectorStyleSheet.cpp:
955         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
956         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
957         * inspector/InspectorStyleSheet.h:
958         * inspector/front-end/AuditRules.js:
959         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
960         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
961         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
962         * inspector/front-end/CSSStyleModel.js:
963         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
964         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
965         (WebInspector.CSSStyleModel.prototype._onRevert):
966         (WebInspector.CSSStyleSheet):
967         (WebInspector.CSSStyleSheet.prototype.setText):
968
969 2011-03-25  Pavel Feldman  <pfeldman@chromium.org>
970
971         Reviewed by Yury Semikhatsky.
972
973         Web Inspector: extension server should not convert all resources to HAR when there are no extensions.
974         https://bugs.webkit.org/show_bug.cgi?id=57044
975
976         * inspector/front-end/ExtensionServer.js:
977         (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
978         (WebInspector.ExtensionServer.prototype._hasSubscribers):
979
980 2011-03-25  Leo Yang  <leo.yang@torchmobile.com.cn>
981
982         Reviewed by Nikolas Zimmermann.
983
984         SVG <use> element performance improvement
985         https://bugs.webkit.org/show_bug.cgi?id=57077
986
987         SVG <use> element was expanding nesting <use> and <symbol> elements
988         in an inefficient way. After it expanded an <use> or a <symbol>
989         element it would restart expanding from the shadow tree root.
990         This behavior was leading about 160 millions of calls to
991         expandUseElementInShadowTree or expandSymbolElementInShadowTree for
992         a single shadow tree which is illustrated by
993         http://upload.wikimedia.org/wikipedia/commons/4/4e/Sierpinski_carpet_6.svg.
994         But the effective calls, which really expand <use> or <symbol>
995         elements, were about 5200; others were passing-by calls, which are
996         recursively down to the children.
997
998         This patch is altering the expanding path to reduce the passing-by
999         calls. It will expand elements in sibling chain where there is an
1000         effective call, because the effective call replaces element which is
1001         expanded and the replacement results lose of the sibling chain of
1002         the replaced on the upper recursion stack. With this patch the
1003         passing-by calls are reduced from about 160 millions to about 30
1004         thousands.
1005
1006         No functionality change, no new tests.
1007
1008         * svg/SVGUseElement.cpp:
1009         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
1010         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
1011         * svg/SVGUseElement.h:
1012
1013 2011-03-25  Dominic Cooney  <dominicc@google.com>
1014
1015         Reviewed by Kent Tamura.
1016
1017         Makes keygen support autofocus attribute.
1018         https://bugs.webkit.org/show_bug.cgi?id=57091
1019
1020         Test: fast/forms/autofocus-keygen.html
1021
1022         * html/HTMLFormControlElement.cpp:
1023         (WebCore::HTMLFormControlElement::attach):
1024
1025 2011-03-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1026
1027         Reviewed by Antonio Gomes.
1028
1029         [EFL] Add sound / mute button to MediaControl UI
1030         https://bugs.webkit.org/show_bug.cgi?id=56726
1031
1032         Add sound / mute button to MediaControl UI.
1033
1034         * platform/efl/RenderThemeEfl.cpp:
1035         (WebCore::RenderThemeEfl::edjeGroupFromFormType):
1036         (WebCore::RenderThemeEfl::emitMediaButtonSignal):
1037         (WebCore::RenderThemeEfl::paintMediaMuteButton):
1038         * platform/efl/RenderThemeEfl.h:
1039
1040 2011-03-24  Nikolas Zimmermann  <nzimmermann@rim.com>
1041
1042         Reviewed by Darin Adler.
1043
1044         Introduce WTF HexNumber.h
1045         https://bugs.webkit.org/show_bug.cgi?id=56099
1046
1047         Introduce a set of functions that ease converting from a bye or a number to a hex string,
1048         replacing several of these conversions and String::format("%x") usages all over WebCore.
1049
1050         * ForwardingHeaders/wtf/HexNumber.h: Added.
1051         * css/CSSOMUtils.cpp:
1052         (WebCore::serializeCharacterAsCodePoint):
1053         * css/CSSParser.cpp:
1054         (WebCore::quoteCSSString):
1055         * inspector/InspectorResourceAgent.cpp:
1056         (WebCore::createReadableStringFromBinary):
1057         * platform/FileSystem.cpp:
1058         (WebCore::encodeForFileName):
1059         * platform/KURL.cpp:
1060         (WebCore::appendEscapedChar):
1061         * platform/UUID.cpp:
1062         (WebCore::createCanonicalUUIDString):
1063         * platform/graphics/Color.cpp:
1064         (WebCore::Color::serialized):
1065         * platform/network/FormDataBuilder.cpp:
1066         (WebCore::FormDataBuilder::encodeStringAsFormData):
1067         * rendering/RenderTreeAsText.cpp:
1068         (WebCore::quoteAndEscapeNonPrintables):
1069
1070 2011-03-24  Stephanie Lewis  <slewis@apple.com>
1071
1072         Reviewed by Geoff Garen.
1073
1074         <rdar://problem/9146716> REGRESSION: ~10 MB increase in memory under CachedScripts
1075         Add back a call to destroy decoded data after access.  Keep the SourceProviderCache 
1076         around as long as their are still clients to use it.
1077
1078         No new tests because there is no change in behavior.  Current tests pass.
1079
1080         * loader/cache/CachedScript.cpp:
1081         (WebCore::CachedScript::script):
1082         (WebCore::CachedScript::destroyDecodedData):
1083
1084 2011-03-24  Stephanie Lewis  <slewis@apple.com>
1085
1086         Reviewed by Geoff Garen.
1087
1088         https://bugs.webkit.org/show_bug.cgi?id=57073
1089         Rework the AtomicHTMLConstructor to reserve space for attributes based on the size of the attribute list.
1090         Saves 1.5 MB on Membuster.
1091
1092         No new tests because there was no change in behavior.  Current tests pass.
1093
1094         * html/parser/HTMLToken.h:
1095         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
1096         (WebCore::AtomicHTMLToken::initializeAttributes):
1097
1098 2011-03-24  Sheriff Bot  <webkit.review.bot@gmail.com>
1099
1100         Unreviewed, rolling out r81916 and r81917.
1101         http://trac.webkit.org/changeset/81916
1102         http://trac.webkit.org/changeset/81917
1103         https://bugs.webkit.org/show_bug.cgi?id=57071
1104
1105         broke a test on platforms that do not have QuickTime installed
1106         (Requested by estes on #webkit).
1107
1108         * html/HTMLEmbedElement.cpp:
1109         (WebCore::HTMLEmbedElement::HTMLEmbedElement):
1110         * html/HTMLObjectElement.cpp:
1111         (WebCore::HTMLObjectElement::HTMLObjectElement):
1112         (WebCore::HTMLObjectElement::parametersForPlugin):
1113         * html/HTMLPlugInImageElement.cpp:
1114         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
1115         (WebCore::HTMLPlugInImageElement::isImageType):
1116         (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
1117         * html/HTMLPlugInImageElement.h:
1118         * loader/EmptyClients.h:
1119         (WebCore::EmptyFrameLoaderClient::objectContentType):
1120         * loader/FrameLoader.cpp:
1121         (WebCore::FrameLoader::defaultObjectContentType):
1122         * loader/FrameLoader.h:
1123         * loader/FrameLoaderClient.h:
1124         * loader/SubframeLoader.cpp:
1125         (WebCore::SubframeLoader::resourceWillUsePlugin):
1126         (WebCore::SubframeLoader::requestObject):
1127         (WebCore::SubframeLoader::shouldUsePlugin):
1128         * loader/SubframeLoader.h:
1129
1130 2011-03-24  Dimitri Glazkov  <dglazkov@chromium.org>
1131
1132         Reviewed by Darin Adler.
1133
1134         Eliminate Node::dispatchGenericEvent.
1135         https://bugs.webkit.org/show_bug.cgi?id=57045
1136
1137         No functional change, covered by existing tests.
1138
1139         * dom/Node.cpp:
1140         (WebCore::Node::dispatchEvent): Combined with the body of dispatchGenericEvent,
1141             removed unnecessary extra refs and a stale comment.
1142         * dom/Node.h:
1143         * page/DOMWindow.cpp:
1144         (WebCore::DOMWindow::dispatchLoadEvent): Changed to use dispatchEvent.
1145         * svg/SVGElement.cpp:
1146         (WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto.
1147         * svg/SVGElementInstance.cpp:
1148         (WebCore::SVGElementInstance::dispatchEvent): Ditto. The code here still
1149             works thanks to SVG-aware retargeting in Node.
1150
1151 2011-03-24  Chris Rogers  <crogers@google.com>
1152
1153         Reviewed by Kenneth Russell.
1154
1155         web audio: Properly sample-rate convert audio assets in chromium port
1156         https://bugs.webkit.org/show_bug.cgi?id=56980
1157
1158         No new tests since audio API is not yet implemented.
1159
1160         * WebCore.gypi:
1161         * platform/audio/AudioBus.cpp:
1162         (WebCore::AudioBus::createBySampleRateConverting):
1163         (WebCore::AudioBus::createByMixingToMono):
1164         * platform/audio/AudioBus.h:
1165         * platform/audio/HRTFKernel.cpp:
1166         (WebCore::extractAverageGroupDelay):
1167         (WebCore::HRTFKernel::HRTFKernel):
1168         * platform/audio/SincResampler.cpp:
1169         * platform/audio/chromium/AudioBusChromium.cpp:
1170         (WebCore::AudioBus::loadPlatformResource):
1171         (WebCore::createBusFromInMemoryAudioFile):
1172
1173 2011-03-24  Rik Cabanier  <cabanier@adobe.com>
1174
1175         Reviewed by David Hyatt.
1176
1177         REGRESSION (r81625): fast/css/percentage-non-integer.html fails on Windows
1178         https://bugs.webkit.org/show_bug.cgi?id=56829
1179
1180         Test: fast/css/percentage-non-integer.html
1181
1182         * platform/Length.h:
1183         (WebCore::Length::calcValue):
1184         (WebCore::Length::calcMinValue):
1185         (WebCore::Length::calcFloatValue):
1186
1187 2011-03-24  Mihai Parparita  <mihaip@chromium.org>
1188
1189         Reviewed by James Robinson.
1190
1191         [Chromium] Vertical Japanese text is not displayed on Snow Leopard
1192         https://bugs.webkit.org/show_bug.cgi?id=56962
1193
1194         Make Snow Leopard check added by r80740 into a runtime check for
1195         Chromium, since it uses the same binary on both Leopard and Snow Leopard.
1196
1197         * platform/graphics/mac/FontMac.mm:
1198         (WebCore::hasBrokenCTFontGetVerticalTranslationsForGlyphs):
1199         (WebCore::showGlyphsWithAdvances):
1200
1201 2011-03-24  Brady Eidson  <beidson@apple.com>
1202
1203         Reviewed by Sam Weinig.
1204
1205         https://bugs.webkit.org/show_bug.cgi?id=57058
1206         Hookup the UIProcess WebIconDatabase to a WebCore::IconDatabase as its implementation
1207
1208         * loader/icon/IconDatabase.cpp:
1209         (WebCore::IconDatabase::synchronousLoadDecisionForIconURL): Only add the DocumentLoader to the set if it's non-zero.
1210         (WebCore::IconDatabase::IconDatabase): Add more logging.
1211         (WebCore::IconDatabase::performURLImport): Dispatch the "didFinishURLImport" client callback using the following 3 methods.
1212         (WebCore::FinishedURLImport::FinishedURLImport):
1213         (WebCore::FinishedURLImport::performWork):
1214         (WebCore::IconDatabase::dispatchDidFinishURLImportOnMainThread):
1215
1216         * loader/icon/IconDatabase.h:
1217         (WebCore::IconDatabase::create): Expose a PassOwnPtr<> creator.
1218
1219         * WebCore.exp.in:
1220
1221 2011-03-23  Jer Noble  <jer.noble@apple.com>
1222
1223         Reviewed by Maciej Stachowiak.
1224
1225         Application Cache should save audio/ and video/ mime types as flat files
1226         https://bugs.webkit.org/show_bug.cgi?id=53784
1227         <rdar://problem/8932473>
1228
1229         No new tests.
1230
1231         ApplicationCacheResource::create() now takes an additional "path" parameter.  To facilitate 
1232         extracting this path information, two functions in ApplicationCacheHost have been made public.
1233
1234         * loader/appcache/ApplicationCacheGroup.cpp:
1235         (WebCore::ApplicationCacheGroup::didReceiveResponse): Pass along new "path" parameter.
1236         (WebCore::ApplicationCacheGroup::didFail): Ditto.
1237         * loader/appcache/ApplicationCacheHost.h:
1238         (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache): Made public.
1239         (WebCore::ApplicationCacheHost::getApplicationCacheFallbackResource): Made public.
1240         * loader/appcache/ApplicationCacheResource.cpp:
1241         (WebCore::ApplicationCacheResource::ApplicationCacheResource): Add new "path" parameter.
1242         * loader/appcache/ApplicationCacheResource.h:
1243         (WebCore::ApplicationCacheResource::create): Ditto.
1244         (WebCore::ApplicationCacheResource::path): New accessor.
1245
1246 2011-03-24  Andy Estes  <aestes@apple.com>
1247
1248         Reviewed by Darin Adler.
1249
1250         REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
1251         https://bugs.webkit.org/show_bug.cgi?id=49016
1252
1253         AC_QuickTime.js uses the common <object>/<embed> paradigm to embed the
1254         QuickTime plug-in in web pages. r70748 removed our mapping of classids
1255         to MIME types, which causes WebKit to fall back from the object to the
1256         embed tag when QuickTime is embedded by this script. The script emits
1257         the following embed tag to embed a QuickTime movie with a poster frame:
1258
1259         <embed src="poster-frame.png" target="quicktimeplayer" href="movie.mov">
1260
1261         The expectation is that a QuickTime plug-in is instantiated to display the
1262         poster frame, since QuickTime registers for many common image MIME
1263         types. This is how Gecko behaves for embed. However, WebKit prefers to
1264         use its native image rendering for image embeds, in which case no movie
1265         is played when the poster frame is clicked.
1266
1267         Fix this by changing embed to check for a plug-in that can handle the
1268         image type before rendering the image natively. This matches Gecko.
1269
1270         Test: fast/images/embed-image-plugins-disabled.html
1271
1272         * html/HTMLObjectElement.cpp:
1273         (WebCore::HTMLObjectElement::parametersForPlugin):
1274         * html/HTMLPlugInImageElement.cpp:
1275         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
1276         (WebCore::HTMLPlugInImageElement::isImageType):
1277         (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
1278         * html/HTMLPlugInImageElement.h:
1279         (WebCore::HTMLPlugInImageElement::preferPluginsForImages):
1280         * loader/EmptyClients.h:
1281         (WebCore::EmptyFrameLoaderClient::objectContentType):
1282         * loader/FrameLoader.cpp:
1283         (WebCore::FrameLoader::defaultObjectContentType):
1284         * loader/FrameLoader.h:
1285         * loader/FrameLoaderClient.h:
1286         * loader/SubframeLoader.cpp:
1287         (WebCore::SubframeLoader::resourceWillUsePlugin):
1288         (WebCore::SubframeLoader::requestPlugin):
1289         (WebCore::SubframeLoader::requestObject):
1290         (WebCore::SubframeLoader::shouldUsePlugin):
1291         * loader/SubframeLoader.h:
1292
1293 2011-03-24  Mike Reed  <reed@google.com>
1294
1295         Reviewed by James Robinson.
1296
1297         Move lifetime management of grContext from a global to being
1298         per-SharedGraphicsContext3D, which correctly is 1:1 with the
1299         underlying opengl context.
1300         https://bugs.webkit.org/show_bug.cgi?id=54330
1301
1302         No new tests. Existing <canvas> tests exercise this:
1303
1304         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1305         (WebCore::DrawingBuffer::DrawingBuffer):
1306         (WebCore::DrawingBuffer::~DrawingBuffer):
1307         (WebCore::DrawingBuffer::publishToPlatformLayer):
1308         (WebCore::DrawingBuffer::setGrContext):
1309         * platform/graphics/gpu/DrawingBuffer.h:
1310         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1311         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
1312         (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
1313         (WebCore::SharedGraphicsContext3D::getGrContext):
1314         * platform/graphics/gpu/SharedGraphicsContext3D.h:
1315         * platform/graphics/skia/PlatformContextSkia.cpp:
1316         (WebCore::PlatformContextSkia::~PlatformContextSkia):
1317         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
1318
1319 2011-03-24  Dimitri Glazkov  <dglazkov@chromium.org>
1320
1321         Reviewed by Darin Adler.
1322
1323         Untangle dependency between event ancestor chain computation and InspectorDOMAgent.
1324         https://bugs.webkit.org/show_bug.cgi?id=57050
1325
1326         Inspector's list of event listeners does not need to invoke Node::getEventListeners,
1327         because it simply wants to collect all ancestors and never uses EventContext bits.
1328
1329         No functional change, covered by existing tests.
1330
1331         * dom/Node.cpp:
1332         (WebCore::getEventAncestors): Converted into a static function.
1333         (WebCore::Node::dispatchGenericEvent): Changed to pass node to getEventAncestors.
1334         * dom/Node.h: Removed decl, moved EventDispatchBehavior enum inside.
1335         * inspector/InspectorDOMAgent.cpp:
1336         (WebCore::InspectorDOMAgent::getEventListenersForNode): Replaced the call
1337             to getEventAncestors with a simple ancestor traversal loop.
1338
1339 2011-03-24  Adam Klein  <adamk@chromium.org>
1340
1341         Reviewed by David Levin.
1342
1343         [fileapi] Make FileError and FileException accessible from WorkerContext
1344         https://bugs.webkit.org/show_bug.cgi?id=57041
1345
1346         * workers/WorkerContext.idl:
1347
1348 2011-03-24  Sam Weinig  <sam@webkit.org>
1349
1350         Reviewed by Anders Carlsson.
1351
1352         Remove legacy version of findPlainText.
1353         https://bugs.webkit.org/show_bug.cgi?id=57056
1354
1355         * editing/TextIterator.cpp:
1356         * editing/TextIterator.h:
1357         Remove legacy overload of findPlainText that doesn't
1358         take an options parameter.
1359
1360 2011-03-24  Geoffrey Garen  <ggaren@apple.com>
1361
1362         Reviewed by Oliver Hunt.
1363
1364         Ensure that all compilation takes place within a dynamic global object scope
1365         https://bugs.webkit.org/show_bug.cgi?id=57054
1366
1367         * bindings/js/JSErrorHandler.cpp:
1368         (WebCore::JSErrorHandler::handleEvent):
1369         * bindings/js/JSEventListener.cpp:
1370         (WebCore::JSEventListener::handleEvent): Updated for signature change.
1371
1372 2011-03-24  John Bauman  <jbauman@chromium.org>
1373
1374         Reviewed by Kenneth Russell.
1375
1376         preserveDrawingBuffer=true is ignored
1377         https://bugs.webkit.org/show_bug.cgi?id=56987
1378
1379         Add code to the V8 and JSC bindings to support grabbing the value of
1380         preserveDrawingBuffer from the input context attributes. Also, in
1381         WebGLRenderingContext use the WebGLContextAttributes that were input
1382         directly, not those from the GraphicsContext3D which could have been
1383         changed.
1384
1385         No new tests, as this can't be tested with DRT. However, this works
1386         when tested manually.
1387
1388         * bindings/js/JSHTMLCanvasElementCustom.cpp:
1389         (WebCore::JSHTMLCanvasElement::getContext):
1390         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1391         (WebCore::V8HTMLCanvasElement::getContextCallback):
1392         * html/canvas/WebGLRenderingContext.cpp:
1393         (WebCore::WebGLRenderingContext::clearIfComposited):
1394         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
1395
1396 2011-03-24  Enrica Casucci  <enrica@apple.com>
1397
1398         Reviewed by Alexey Proskuryakov.
1399
1400         WebKit2:Services menu item to convert selected Simplified/Traditional Chinese Text is not working.
1401         https://bugs.webkit.org/show_bug.cgi?id=56975
1402         <rdar://problem/8915066>
1403         
1404         Adding support in WebCore to implement readSelectionFromPasteboard
1405         to support Mac OS X services from WebKit2.
1406
1407         * WebCore.exp.in:
1408         * editing/Editor.h:
1409         * editing/mac/EditorMac.mm:
1410         (WebCore::Editor::readSelectionFromPasteboard): Added entry point
1411         to call the paste functions with the specified pasteboard.
1412
1413 2011-03-24  Vsevolod Vlasov  <vsevik@chromium.org>
1414
1415         Reviewed by Pavel Feldman.
1416
1417         Web Inspector: Inspector does not show correct transfer size for synchronous requests
1418         https://bugs.webkit.org/show_bug.cgi?id=56951
1419
1420         Fixed transfer size for synchronous load.
1421
1422         Test: http/tests/inspector/network/network-size-sync.html
1423
1424         * loader/FrameLoader.cpp:
1425         (WebCore::FrameLoader::willLoadMediaElementURL):
1426         (WebCore::FrameLoader::commitProvisionalLoad):
1427         (WebCore::FrameLoader::loadResourceSynchronously):
1428         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
1429         * loader/ResourceLoadNotifier.cpp:
1430         (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
1431         * loader/ResourceLoadNotifier.h:
1432
1433 2011-03-24  Brady Eidson  <beidson@apple.com>
1434
1435         Reviewed by Adam Roben.
1436
1437         https://bugs.webkit.org/show_bug.cgi?id=57030
1438         REGRESSION (r81782): http/tests/inspector/extensions-resources-redirect.html sometimes crashes WebKit2's 
1439         web process while handling a WebIconDatabaseProxy::ReceivedIconLoadDecision message
1440
1441         The callback objects had some bogus ASSERTs and missed a relevant null check. If a callback was waiting on
1442         a message back from the UIProcess, but was invalidated from within the WebProcess in the meantime, it's
1443         perfectly valid to attempt to performCallback() after the callback function pointer has been cleared.
1444
1445         * loader/icon/IconDatabaseBase.h:
1446         (WebCore::EnumCallback::performCallback):
1447         (WebCore::EnumCallback::invalidate):
1448         (WebCore::EnumCallback::EnumCallback):
1449         (WebCore::ObjectCallback::performCallback):
1450         (WebCore::ObjectCallback::invalidate):
1451         (WebCore::ObjectCallback::ObjectCallback):
1452
1453 2011-03-24  Sam Weinig  <sam@webkit.org>
1454
1455         Reviewed by Darin Adler.
1456
1457         Dictionary text extraction is not correctly detecting word boundaries on bing.com
1458         <rdar://problem/9078569>
1459         https://bugs.webkit.org/show_bug.cgi?id=56995
1460
1461         * WebCore.exp.in:
1462         Add some editing related exports needed by WebKit2.
1463
1464 2011-03-24  Andy Estes  <aestes@apple.com>
1465
1466         Reviewed by Eric Seidel.
1467
1468         REGRESSION (r80231): Bad cast in HTMLTreeBuilder with closed </form> tags
1469         https://bugs.webkit.org/show_bug.cgi?id=56836
1470
1471         During fragment parsing, HTMLConstructionSite holds a reference to the
1472         fragment context's closest form ancestor. If a misnested form end tag is
1473         then encountered as the first node of the fragment, we will check to see
1474         if a corresponding form start tag is in scope even though no such tag
1475         exists. This led to isScope() walking the HTMLElementStack all the way
1476         to the root DocumentFragment and attempting to cast it to Element*.
1477
1478         Fix this by ensuring that the inScope() family of functions operate in
1479         terms of ContainerNodes to account for the fragment case.
1480
1481         Test: fast/parser/fragment-closest-form-ancestor.html
1482
1483         * html/parser/HTMLElementStack.cpp:
1484         (WebCore::HTMLNames::isRootNode):
1485         (WebCore::HTMLNames::isScopeMarker):
1486         (WebCore::HTMLNames::isTableScopeMarker):
1487         (WebCore::HTMLNames::isTableBodyScopeMarker):
1488         (WebCore::HTMLNames::isTableRowScopeMarker):
1489         (WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope):
1490         (WebCore::HTMLElementStack::inScope):
1491
1492 2011-03-24  Enrica Casucci  <enrica@apple.com>
1493
1494         Reviewed by Darin Adler.
1495
1496         Repeated copy and paste-in-place operation results in increasingly verbose HTML.
1497         <rdar://problem/8690506>
1498         https://bugs.webkit.org/show_bug.cgi?id=56874
1499         
1500         When we calculate the style to apply at the insertion point we compare the initial
1501         style at the insertion point against the style calculated at the span we wrap the
1502         copied markup fragment with. We could end up with a series of unnecessary spans
1503         to remove the initial style that simply grow our markup.
1504         The consists in moving the insertion point outside any inline element that could
1505         affect the fragment being inserted when we are not pasting and matching the style.
1506
1507         Test: editing/pasteboard/paste-text-with-style.html
1508
1509         * editing/ReplaceSelectionCommand.cpp:
1510         (WebCore::isInlineNodeWithStyle): Added.
1511         (WebCore::ReplaceSelectionCommand::doApply): Added logic to change the insertion
1512         point according to the new rules.
1513
1514 2011-03-24  Benjamin Poulain  <benjamin.poulain@nokia.com>
1515
1516         Reviewed by Kenneth Rohde Christiansen.
1517
1518         [Qt] When we render WebGL offscreen, color conversion cost a lot of CPU cycles
1519         https://bugs.webkit.org/show_bug.cgi?id=40884
1520
1521         The software fallback is now only needed for corner cases like a manual rendering
1522         of the page to QImage.
1523
1524         Keeping the image with the last pixel values is no longer needed. Removing it reduce the
1525         performance for real-time rendering on software surface, but this case should no longer be
1526         supported.
1527
1528         The conversion from OpenGL color space and coordinates is done manually for performance. This
1529         also fix the bug of the inverted X axis due to the transformation.
1530
1531         The tests and benchmarks are done through Qt API tests.
1532
1533         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1534         (WebCore::swapBgrToRgb):
1535         (WebCore::GraphicsContext3DInternal::paint):
1536         (WebCore::GraphicsContext3D::reshape):
1537
1538 2011-03-24  Nat Duca  <nduca@chromium.org>
1539
1540         Reviewed by James Robinson.
1541
1542         [chromium] Remove bool that forces compositor HUD to always be enabled
1543         https://bugs.webkit.org/show_bug.cgi?id=57034
1544
1545         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
1546         (WebCore::CCHeadsUpDisplay::enabled):
1547
1548 2011-03-24  Nat Duca  <nduca@chromium.org>
1549
1550         Reviewed by Kenneth Russell.
1551
1552         [chromium] Add traceEvents to compositor
1553         https://bugs.webkit.org/show_bug.cgi?id=56965
1554
1555         * WebCore.gypi:
1556         * platform/chromium/TraceEvent.h: Added.
1557         (WebCore::internal::ScopeTracer::ScopeTracer):
1558         (WebCore::internal::ScopeTracer::~ScopeTracer):
1559         * platform/graphics/chromium/LayerRendererChromium.cpp:
1560         (WebCore::LayerRendererChromium::updateRootLayerContents):
1561         (WebCore::LayerRendererChromium::updateRootLayerScrollbars):
1562         (WebCore::LayerRendererChromium::updateLayers):
1563         (WebCore::LayerRendererChromium::drawLayers):
1564         (WebCore::LayerRendererChromium::finish):
1565         (WebCore::LayerRendererChromium::present):
1566         * platform/graphics/chromium/LayerTilerChromium.cpp:
1567         (WebCore::LayerTilerChromium::update):
1568
1569 2011-03-24  Pavel Feldman  <pfeldman@chromium.org>
1570
1571         Reviewed by Yury Semikhatsky.
1572
1573         Web Inspector: render XHRs matching JSON regex as JSON.
1574         https://bugs.webkit.org/show_bug.cgi?id=57035
1575
1576         * English.lproj/localizedStrings.js:
1577         * WebCore.gypi:
1578         * WebCore.vcproj/WebCore.vcproj:
1579         * inspector/front-end/NetworkItemView.js:
1580         (WebInspector.NetworkItemView):
1581         * inspector/front-end/RemoteObject.js:
1582         (WebInspector.LocalJSONObject.prototype.get description.switch.case):
1583         (WebInspector.LocalJSONObject.prototype.get description):
1584         (WebInspector.LocalJSONObject.prototype._concatenate):
1585         (WebInspector.LocalJSONObject.prototype.getProperties):
1586         (WebInspector.LocalJSONObject.prototype._children):
1587         * inspector/front-end/ResourceJSONView.js: Added.
1588         (WebInspector.ResourceJSONView):
1589         (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.hasContent):
1590         (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.show):
1591         (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype._initialize):
1592         * inspector/front-end/WebKit.qrc:
1593         * inspector/front-end/inspector.css:
1594         (.resource-view.json):
1595         * inspector/front-end/inspector.html:
1596
1597 2011-03-24  Dimitri Glazkov  <dglazkov@chromium.org>
1598
1599         Reviewed by Darin Adler.
1600
1601         Move media controls subtree creation into one method.
1602         https://bugs.webkit.org/show_bug.cgi?id=56969
1603
1604         Mechanical move, no changes in functionality.
1605
1606         The purpose of this patch is to align existing code closer with its
1607         future version, when MediaControls is an element whose tree is created
1608         at the instantiation.
1609
1610         * html/shadow/MediaControls.cpp:
1611         (WebCore::MediaControls::create): Added, consolidating all subtree generation logic into one place.
1612         (WebCore::MediaControls::update): Replaced methods with one call.
1613         * html/shadow/MediaControls.h: Updated decls.
1614         * rendering/MediaControlElements.cpp:
1615         (WebCore::MediaControlTimelineElement::create): Moved setting of attributes here.
1616         (WebCore::MediaControlVolumeSliderElement::create): Ditto.
1617
1618 2011-03-24  Steve Falkenburg  <sfalken@apple.com>
1619
1620         Reviewed by Darin Adler.
1621
1622         Use proper string method to generate webloc string.
1623         https://bugs.webkit.org/show_bug.cgi?id=57028
1624         <rdar://problem/9181955>
1625
1626         * platform/win/ClipboardUtilitiesWin.cpp:
1627         (WebCore::getWebLocData):
1628
1629 2011-03-24  Ben Taylor  <bentaylor.solx86@gmail.com>
1630
1631         Reviewed by Alexey Proskuryakov.
1632
1633         https://bugs.webkit.org/show_bug.cgi?id=32821
1634         Fix conditionals which had an int for one case and a pointer for another.
1635         Fix is similar to https://bugs.webkit.org/show_bug.cgi?id=56198
1636
1637         No new tests. Fix compilation on Solaris 10 with SunStudio 12 C++
1638
1639         * css/CSSComputedStyleDeclaration.cpp:
1640         (WebCore::CSSComputedStyleDeclaration::valueForShadow):
1641
1642 2011-03-24  Pavel Podivilov  <podivilov@chromium.org>
1643
1644         Reviewed by Yury Semikhatsky.
1645
1646         Web Inspector: provide live edit callback to source frame delegate.
1647         https://bugs.webkit.org/show_bug.cgi?id=57003
1648
1649         * inspector/front-end/DebuggerModel.js:
1650         (WebInspector.DebuggerModel.prototype.editScriptSource):
1651         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
1652         * inspector/front-end/DebuggerPresentationModel.js:
1653         (WebInspector.DebuggerPresentationModel):
1654         (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
1655         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
1656         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
1657         (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
1658         (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
1659         * inspector/front-end/ScriptsPanel.js:
1660         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
1661         (WebInspector.SourceFrameDelegateForScriptsPanel):
1662         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource):
1663         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
1664
1665 2011-03-24  Benjamin Poulain  <benjamin.poulain@nokia.com>
1666
1667         Reviewed by Andreas Kling.
1668
1669         Regression: WebKit does not build with Python 3 following 56807
1670         https://bugs.webkit.org/show_bug.cgi?id=56923
1671
1672         The module string does not have the function replace in Python 3. The str.replace function
1673         can do the same operation in this case and works with the versions 2 and 3.
1674
1675         * inspector/generate-inspector-idl:
1676
1677 2011-03-24  Pavel Feldman  <pfeldman@chromium.org>
1678
1679         Reviewed by Yury Semikhatsky.
1680
1681         Web Inspector: brush up Network agent API.
1682         https://bugs.webkit.org/show_bug.cgi?id=57001
1683
1684         * inspector/Inspector.json:
1685         * inspector/InspectorInstrumentation.cpp:
1686         (WebCore::InspectorInstrumentation::willSendRequestImpl):
1687         * inspector/InspectorInstrumentation.h:
1688         (WebCore::InspectorInstrumentation::willSendRequest):
1689         * inspector/InspectorResourceAgent.cpp:
1690         (WebCore::buildObjectForResourceRequest):
1691         (WebCore::buildObjectForResourceResponse):
1692         (WebCore::buildObjectForCachedResource):
1693         (WebCore::InspectorResourceAgent::willSendRequest):
1694         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
1695         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
1696         (WebCore::InspectorResourceAgent::setExtraHeaders):
1697         * inspector/InspectorResourceAgent.h:
1698         * inspector/TimelineRecordFactory.cpp:
1699         (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
1700         * inspector/front-end/NetworkManager.js:
1701         (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest):
1702         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
1703         (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
1704         (WebInspector.NetworkDispatcher.prototype.willSendRequest):
1705         (WebInspector.NetworkDispatcher.prototype.didReceiveWebSocketHandshakeResponse):
1706         (WebInspector.NetworkDispatcher.prototype.didCloseWebSocket):
1707         * inspector/front-end/Resource.js:
1708         * inspector/front-end/TimelinePanel.js:
1709         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1710         * loader/ResourceLoadNotifier.cpp:
1711         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
1712         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
1713         * loader/appcache/ApplicationCacheGroup.cpp:
1714         (WebCore::ApplicationCacheGroup::createResourceHandle):
1715
1716 2011-03-11  Steve Block  <steveblock@google.com>
1717
1718         Reviewed by Jeremy Orlow.
1719
1720         JNIType is not specific to JNI so should be renamed
1721         https://bugs.webkit.org/show_bug.cgi?id=56197
1722
1723         This patch renames JNIType to JavaType, renames the values of
1724         the enum, and moves it out of JNIUtility.h to its own file.
1725         Also renames the corresponding JavaField and JavaMethod getters.
1726
1727         No new tests, refactoring only.
1728
1729         * GNUmakefile.am:
1730         * WebCore.gypi:
1731         * WebCore.xcodeproj/project.pbxproj:
1732         * bridge/jni/JNIUtility.cpp:
1733         (JSC::Bindings::javaTypeFromClassName):
1734         (JSC::Bindings::signatureFromJavaType):
1735         (JSC::Bindings::javaTypeFromPrimitiveType):
1736         (JSC::Bindings::getJNIField):
1737         (JSC::Bindings::callJNIMethod):
1738         * bridge/jni/JNIUtility.h:
1739         * bridge/jni/JavaMethod.cpp:
1740         (JavaMethod::JavaMethod):
1741         (JavaMethod::signature):
1742         * bridge/jni/JavaMethod.h:
1743         (JSC::Bindings::JavaMethod::returnTypeClassName):
1744         (JSC::Bindings::JavaMethod::returnType):
1745         * bridge/jni/JavaType.h: Copied from Source/WebCore/bridge/jni/JavaMethod.h.
1746         * bridge/jni/jni_jsobject.mm:
1747         (JavaJSObject::toString):
1748         * bridge/jni/jni_objc.mm:
1749         (JSC::Bindings::dispatchJNICall):
1750         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
1751         (JSC::Bindings::convertArrayInstanceToJavaArray):
1752         (JSC::Bindings::convertValueToJValue):
1753         * bridge/jni/jsc/JNIUtilityPrivate.h:
1754         * bridge/jni/jsc/JavaArrayJSC.cpp:
1755         (JavaArray::setValueAt):
1756         (JavaArray::valueAt):
1757         * bridge/jni/jsc/JavaClassJSC.cpp:
1758         * bridge/jni/jsc/JavaFieldJSC.cpp:
1759         (JavaField::JavaField):
1760         (JavaField::dispatchValueFromInstance):
1761         (JavaField::valueFromInstance):
1762         (JavaField::dispatchSetValueToInstance):
1763         (JavaField::setValueToInstance):
1764         * bridge/jni/jsc/JavaFieldJSC.h:
1765         (JSC::Bindings::JavaField::typeClassName):
1766         (JSC::Bindings::JavaField::type):
1767         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1768         (JavaInstance::invokeMethod):
1769         * bridge/jni/v8/JNIUtilityPrivate.cpp:
1770         (JSC::Bindings::convertNPVariantToJValue):
1771         (JSC::Bindings::convertJValueToNPVariant):
1772         * bridge/jni/v8/JNIUtilityPrivate.h:
1773         * bridge/jni/v8/JavaFieldV8.cpp:
1774         (JavaField::JavaField):
1775         * bridge/jni/v8/JavaFieldV8.h:
1776         (JSC::Bindings::JavaField::typeClassName):
1777         (JSC::Bindings::JavaField::type):
1778         * bridge/jni/v8/JavaInstanceV8.cpp:
1779         (JavaInstance::invokeMethod):
1780         (JavaInstance::getField):
1781         * bridge/jni/v8/JavaNPObjectV8.cpp:
1782         (JSC::Bindings::JavaNPObjectInvoke):
1783         (JSC::Bindings::JavaNPObjectGetProperty):
1784
1785 2011-03-24  Ojan Vafai  <ojan@chromium.org>
1786
1787         Was being a little braindead when I committed this.
1788         Only simple selectors are allowed, but sibling selectors
1789         are sibling selectors.
1790
1791         * css/CSSStyleSelector.cpp:
1792         (WebCore::collectFeaturesFromList):
1793
1794 2011-03-23  MORITA Hajime  <morrita@google.com>
1795
1796         Reviewed by Kent Tamura.
1797
1798         Spellcheck feature specific symbols should be defined.
1799         https://bugs.webkit.org/show_bug.cgi?id=56818
1800         
1801         * Introduced USE(UNIFIED_TEXT_CHECKING), USE(GRAMMAR_CHECKING) and USE(AUTOMATIC_TEXT_REPLACEMENT)
1802         * Replaced a part of of BUILDING_ON_* conditionals with them.
1803
1804         Note that small amount of code path on Editor.cpp is now compiled under USE(GRAMMAR_CHECKING)
1805         because these code path is already built under non-Mac ports and
1806         Keeping them buildable for such platforms reduces the build breakage risk.
1807         These path is guarded by Settings thus should never get reached.
1808
1809         No new tests. No behavioral change.
1810
1811         * WebCore.gypi:
1812         * WebCore.pro:
1813         * WebCore.vcproj/WebCore.vcproj:
1814         * WebCore.xcodeproj/project.pbxproj:
1815         * editing/Editor.cpp:
1816         (WebCore::Editor::advanceToNextMisspelling):
1817         (WebCore::Editor::isSelectionUngrammatical):
1818         (WebCore::Editor::guessesForUngrammaticalSelection):
1819         (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
1820         (WebCore::Editor::markMisspellingsAfterTypingToWord):
1821         (WebCore::Editor::markMisspellingsOrBadGrammar):
1822         (WebCore::Editor::markBadGrammar):
1823         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1824         (WebCore::Editor::changeBackToReplacedString):
1825         (WebCore::Editor::markMisspellingsAndBadGrammar):
1826         * editing/Editor.h:
1827         * editing/TextCheckingHelper.cpp:
1828         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
1829         (WebCore::TextCheckingHelper::findFirstGrammarDetail):
1830         (WebCore::TextCheckingHelper::findFirstBadGrammar):
1831         (WebCore::TextCheckingHelper::isUngrammatical):
1832         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
1833         (WebCore::TextCheckingHelper::markAllBadGrammar):
1834         * loader/EmptyClients.h:
1835         * platform/text/TextCheckerClient.h:
1836         * platform/text/TextChecking.h: Added.
1837
1838 2011-03-23  Kent Tamura  <tkent@chromium.org>
1839
1840         Reviewed by Dimitri Glazkov.
1841
1842         [Chromium] Force to make validation bubble DIV position:absolute
1843         https://bugs.webkit.org/show_bug.cgi?id=56901
1844
1845         Test: fast/forms/interactive-validation-crash-by-style-override.html
1846
1847         * html/ValidationMessage.cpp:
1848         (WebCore::ValidationMessage::buildBubbleTree): Add position:absolute
1849           because we need to move the validation message to a good position.
1850         * rendering/RenderMenuList.cpp:
1851         (WebCore::RenderMenuList::addChild):
1852
1853 2011-03-23  Mike Lawther  <mikelawther@chromium.org>
1854
1855         Reviewed by Ojan Vafai.
1856
1857         flex/bison tokens and grammar for CSS calc
1858         https://bugs.webkit.org/show_bug.cgi?id=54412
1859
1860         Tests: css3/calc/calc-errors.html
1861                css3/calc/minmax-errors.html
1862                css3/calc/simple-calcs.html
1863                css3/calc/simple-minmax.html
1864
1865         * css/CSSGrammar.y:
1866         * css/CSSParserValues.cpp:
1867         (WebCore::CSSParserValueList::insertValueAt):
1868         (WebCore::CSSParserValueList::extend):
1869         * css/CSSParserValues.h:
1870         * css/tokenizer.flex:
1871
1872 2011-03-23  Adam Klein  <adamk@chromium.org>
1873
1874         Reviewed by David Levin.
1875
1876         Fix resolveLocalFileSystemURL (and sync version) error codes to match the spec
1877         https://bugs.webkit.org/show_bug.cgi?id=56961
1878
1879         See error code listing in the Files & Directories spec:
1880         http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#widl-LocalFileSystemSync-resolveLocalFileSystemSyncURL
1881
1882         Note that the spec currently only specifies errors for the sync
1883         version; I've used the same codes for the async version.
1884
1885         * page/DOMWindow.cpp:
1886         (WebCore::DOMWindow::resolveLocalFileSystemURL):
1887         * workers/WorkerContext.cpp:
1888         (WebCore::WorkerContext::resolveLocalFileSystemURL):
1889         (WebCore::WorkerContext::resolveLocalFileSystemSyncURL):
1890
1891 2011-03-23  Jia Pu  <jpu@apple.com>
1892
1893         Reviewed by Darin Adler.
1894
1895         Hook up new AppKit autocorrection UI with WK2.
1896         https://bugs.webkit.org/show_bug.cgi?id=56055
1897         <rdar://problem/8947463>
1898
1899         This patch is to enable WK2 to utilize autocorrection UI on Mac OS X. It contains following
1900         major changes:
1901
1902         1. All but one autocorrection related message is synchronous. Since dismissing autocorrection
1903         panel can potentially cause editing to occur, a synchronous dismissCorrectionPanelSoon() function
1904         is introduced to ensure all editing commands occur in correct order.
1905
1906         2. Additional condition variable is needed to implement dismissCorrectionPanelSoon().
1907         To improve maintainability, CorrectionPanel class is introduced to manage the
1908         internal state related to correction panel. This change is applied to both WK1 and WK2.
1909
1910         3. EditorClient::isShowingCorrectionPanel() has been removed. The original purpose is to allow
1911         editor to know when to handle ESC key event. Now this is handled internally in AppKit, so
1912         EditorClient::isShowingCorrectionPanel() isn't necessary anymore.
1913
1914         4. The Editor* argument in EditorClient::showCorrectionPanel() has been removed, since we can
1915         access object via WebView or WKView.
1916
1917         * editing/Editor.cpp:
1918         (WebCore::Editor::markMisspellingsAfterTypingToWord):
1919         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1920         (WebCore::Editor::correctionPanelTimerFired):
1921         (WebCore::Editor::dismissCorrectionPanel):
1922         (WebCore::Editor::dismissCorrectionPanelSoon):
1923         (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate):
1924         * editing/Editor.h:
1925         * editing/EditorCommand.cpp:
1926         (WebCore::createCommandMap):
1927         * loader/EmptyClients.h:
1928         (WebCore::EmptyEditorClient::showCorrectionPanel):
1929         (WebCore::EmptyEditorClient::dismissCorrectionPanelSoon):
1930         * manual-tests/autocorrection/close-window-when-correction-is-shown.html: Added.
1931         * page/EditorClient.h:
1932
1933 2011-03-22  Ojan Vafai  <ojan@chromium.org>
1934
1935         Reviewed by Antti Koivisto.
1936
1937         move :not over to using selectorList instead of simpleSelector
1938         https://bugs.webkit.org/show_bug.cgi?id=56894
1939
1940         Saves memory and simplifies code.
1941
1942         No new tests since existing tests cover this code.
1943
1944         * css/CSSGrammar.y:
1945         Also removed extranenous calls to updateLastSelectorLineAndPosition in
1946         simple_selector_list. These happened to work, but are only actually
1947         needed in selector_list.
1948         * css/CSSParserValues.h:
1949         * css/CSSSelector.cpp:
1950         (WebCore::CSSSelector::specificityForOneSelector):
1951         Removed null-check. The parser null-checks, I don't see why we need to here.
1952         (WebCore::CSSSelector::selectorText):
1953         Ditto.
1954         (WebCore::CSSSelector::setArgument):
1955         (WebCore::CSSSelector::isSimple):
1956         * css/CSSSelector.h:
1957         * css/CSSSelectorList.cpp:
1958         (WebCore::forEachTagSelector):
1959         * css/CSSStyleSelector.cpp:
1960         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1961         (WebCore::collectFeaturesFromSelector):
1962         (WebCore::collectFeaturesFromList):
1963
1964 2011-03-23  Carol Szabo  <carol.szabo@nokia.com>
1965
1966         Reviewed by David Hyatt.
1967
1968         Made sure that renderers displaying counters are invalidated upon
1969         counter destruction.
1970
1971         Assertion and incorrect rendering of counters.
1972         https://bugs.webkit.org/show_bug.cgi?id=56896
1973
1974         Test: fast/css/counters/2displays.html
1975
1976         * rendering/CounterNode.cpp:
1977         (WebCore::CounterNode::~CounterNode):
1978         Added to make sure that its display renderers are always reset when
1979         the node is deleted.
1980         (WebCore::CounterNode::resetRenderers):
1981         Fixed bug that would prevent reset of second and subsequent
1982         display renderers.
1983         * rendering/CounterNode.h:
1984         * rendering/RenderCounter.cpp:
1985         (WebCore::destroyCounterNodeWithoutMapRemoval):
1986         removed unnecessary calls to resetRenderers() as the CounterNode
1987         destructor takes care of that now.
1988
1989 2011-03-23  Brian Weinstein  <bweinstein@apple.com>
1990
1991         Reviewed by Maciej Stachowiak.
1992
1993         WebKit2: Need API to manage the Media Cache
1994         https://bugs.webkit.org/show_bug.cgi?id=56878
1995         <rdar://problem/9082503>
1996
1997         Add functions that need to be exported.
1998
1999         * WebCore.exp.in:
2000
2001 2011-03-23  Robert Kroeger  <rjkroege@chromium.org>
2002
2003         Reviewed by James Robinson.
2004
2005         Correct use of ENABLE() Macro
2006
2007         In http://trac.webkit.org/changeset/81618, I mis-used the ENABLE()
2008         macro. This patch corrects.
2009
2010         https://bugs.webkit.org/show_bug.cgi?id=56964
2011
2012         * page/EventHandler.cpp:
2013         (WebCore::EventHandler::EventHandler):
2014         (WebCore::EventHandler::handleTouchEvent):
2015         * page/EventHandler.h:
2016
2017 2011-03-23  Jer Noble  <jer.noble@apple.com>
2018
2019         Reviewed by Simon Fraser.
2020
2021         Scrubbing <video> with HTTP Live Stream resizes element to 0x0
2022         https://bugs.webkit.org/show_bug.cgi?id=55702
2023
2024         QTKit will occasionally set the natural size of a QTMovie to 0x0 while scrubbing
2025         an HTTP Live Stream.  So we will cache the last valid value returned by QTKit
2026         and use that as our naturalSize until a new valid value is returned.
2027
2028         Unfortunately, QTKit will also fail to generate a notification when the natural size
2029         changes, so we are forced to cache the natural size from within naturalSize(), which
2030         is a const function, necessitating a const_cast to set m_cachedNaturalSize.
2031
2032         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Added m_cachedNaturalSize.
2033         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2034         (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit): Initialize m_cachedNaturalSize.
2035         (WebCore::MediaPlayerPrivateQTKit::naturalSize): 
2036
2037 2011-03-23  Alexey Proskuryakov  <ap@apple.com>
2038
2039         Build fix.
2040
2041         * loader/FrameLoader.cpp: (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2042         Removed a stray parenthesis.
2043
2044 2011-03-23  Alexey Proskuryakov  <ap@apple.com>
2045
2046         Reviewed by Maciej Stachowiak.
2047
2048         REGRESSION: Infinite recursion in recursiveCheckLoadComplete()/checkLoadCompleteForThisFrame()/stopLoading()
2049         https://bugs.webkit.org/show_bug.cgi?id=56978
2050         <rdar://problem/9041670>
2051
2052         No new tests, because there is no known way to reproduce.
2053
2054         Removed strange code that was trying to stop a non-loading provisional document loader and
2055         even its subframes (?!). Added assertions to catch it if we can actually be loading here in
2056         some sense.
2057         Rewrote a condition for clarity - starting with r43148, it was acting as an opposite of a
2058         recursion guard (but that didn't cause immediate problems then).
2059
2060         * loader/FrameLoader.cpp: (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2061
2062 2011-03-23  Brady Eidson  <beidson@apple.com>
2063
2064         Attempt to fix the build for platforms that have the icon database 
2065         disabled but still provide settings API for it...?
2066
2067         * loader/icon/IconDatabase.h:
2068         (WebCore::IconDatabase::defaultDatabaseFilename):
2069
2070 2011-03-23  Mark Rowe  <mrowe@apple.com>
2071
2072         Fix the build.
2073
2074         * WebCore.exp.in: Export the new version of IconDatabase::open.
2075
2076 2011-03-23  Brady Eidson  <beidson@apple.com>
2077
2078         Reviewed by Sam Weinig.
2079
2080         Change IconDatabase opening to allow for arbitrary filenames
2081         https://bugs.webkit.org/show_bug.cgi?id=56977
2082
2083         * WebCore.exp.in:
2084         * loader/icon/IconDatabase.cpp:
2085         (WebCore::IconDatabase::open):
2086         * loader/icon/IconDatabase.h:
2087         * loader/icon/IconDatabaseBase.cpp:
2088         (WebCore::IconDatabaseBase::open):
2089         * loader/icon/IconDatabaseBase.h:
2090         * loader/icon/IconDatabaseClient.h:
2091
2092 2011-03-23  Kenneth Russell  <kbr@google.com>
2093
2094         Reviewed by James Robinson.
2095
2096         [chromium] WebGLRenderingContext and other DOMWindow properties should remain if WebGL is disabled
2097         https://bugs.webkit.org/show_bug.cgi?id=56947
2098
2099         Removed the RuntimeEnabledFeatures setting for WebGL and the
2100         EnabledAtRuntime extended attribute from the WebGL-related
2101         properties on the DOMWindow. WebGL support is now controlled
2102         exclusively through the page's Settings.
2103
2104         No new tests; tested manually in Chromium with --disable-webgl
2105         command line argument and blacklist.
2106
2107         * bindings/generic/RuntimeEnabledFeatures.cpp:
2108         * bindings/generic/RuntimeEnabledFeatures.h:
2109         * page/DOMWindow.idl:
2110
2111 2011-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2112
2113         Unreviewed, rolling out r81802.
2114         http://trac.webkit.org/changeset/81802
2115         https://bugs.webkit.org/show_bug.cgi?id=56963
2116
2117         Broke a layout test, and this fix is not trivial. (Requested
2118         by dhyatt on #webkit).
2119
2120         * rendering/RenderBlock.cpp:
2121         (WebCore::RenderBlock::layoutBlock):
2122         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
2123         * rendering/RenderBlock.h:
2124         * rendering/RenderBox.cpp:
2125         (WebCore::RenderBox::styleDidChange):
2126         * rendering/RenderBoxModelObject.cpp:
2127         (WebCore::RenderBoxModelObject::styleWillChange):
2128         * rendering/RenderFlexibleBox.cpp:
2129         (WebCore::RenderFlexibleBox::layoutBlock):
2130         * rendering/RenderObject.cpp:
2131         (WebCore::RenderObject::RenderObject):
2132         (WebCore::RenderObject::adjustStyleDifference):
2133         (WebCore::RenderObject::setStyle):
2134         (WebCore::RenderObject::styleDidChange):
2135         * rendering/RenderObject.h:
2136         (WebCore::RenderObject::needsLayout):
2137         (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
2138         (WebCore::RenderObject::setNeedsLayout):
2139         (WebCore::RenderObject::setChildNeedsLayout):
2140         (WebCore::RenderObject::markContainingBlocksForLayout):
2141         * rendering/RenderTable.cpp:
2142         (WebCore::RenderTable::layout):
2143         * rendering/style/RenderStyle.cpp:
2144         (WebCore::RenderStyle::diff):
2145         * rendering/style/RenderStyleConstants.h:
2146         * rendering/svg/RenderSVGText.cpp:
2147         (WebCore::RenderSVGText::layout):
2148
2149 2011-03-23  Luiz Agostini  <luiz.agostini@openbossa.org>
2150
2151         Reviewed by David Hyatt.
2152
2153         REGRESSION(81035): crash in RenderDetails::removeChild
2154         https://bugs.webkit.org/show_bug.cgi?id=56773
2155
2156         Test: fast/html/details-children-merge-crash.html
2157
2158         Preventing merging of RenderDetails's anonymous children.
2159
2160         * rendering/RenderBlock.cpp:
2161         (WebCore::canMergeContiguousAnonymousBlocks):
2162
2163         Fixing RenderDetails::removeChild and cleaning m_marker in RenderDetails::destroy.
2164
2165         * rendering/RenderDetails.cpp:
2166         (WebCore::RenderDetails::destroy):
2167         (WebCore::RenderDetails::removeChild):
2168
2169 2011-03-23  Xiaomei Ji  <xji@chromium.org>
2170
2171         Reviewed by David Hyatt.
2172
2173         Preserve unicode-bidi:bidi-override in anonymous block.
2174         https://bugs.webkit.org/show_bug.cgi?id=21440
2175
2176         unicode-bidi:bidi-override should be preserved in anonymous block
2177         according to http://www.w3.org/TR/CSS21/visuren.html#propdef-unicode-bidi.
2178
2179         Introduce a helper function RenderStyle()::createAnonymousStyle() which
2180         creates a default RenderStyle, inherits the inherited style from parent,
2181         and inherit unicode-bidi:bidi-override from parent.
2182         And replace the style creation when anonymous block is created.
2183
2184         Note: the TABLE releated anonymous blocks are untouched, including:
2185         TABLE, TABLE_CELL, TABLE_ROW, TABLE_ROW_GROUP anonymous blocks created in
2186         RenderObject, RenderTable, RenderTableRow, and RenderTableSection,
2187         due to the expected behavior is not clear.
2188         Please refer to https://bugs.webkit.org/show_bug.cgi?id=56594.
2189         
2190         Test: fast/css/bidi-override-in-anonymous-block.html
2191
2192         * rendering/RenderBlock.cpp:
2193         (WebCore::RenderBlock::styleDidChange):
2194         (WebCore::RenderBlock::removeChild):
2195         (WebCore::RenderBlock::createAnonymousBlock):
2196         (WebCore::RenderBlock::createAnonymousColumnsBlock):
2197         (WebCore::RenderBlock::createAnonymousColumnSpanBlock):
2198         * rendering/RenderInline.cpp:
2199         (WebCore::RenderInline::addChildIgnoringContinuation):
2200         * rendering/RenderRubyRun.cpp:
2201         (WebCore::RenderRubyRun::createRubyBase):
2202         (WebCore::RenderRubyRun::staticCreateRubyRun):
2203         * rendering/style/RenderStyle.cpp:
2204         (WebCore::RenderStyle::createAnonymousStyle):
2205         * rendering/style/RenderStyle.h:
2206
2207 2011-03-23  David Hyatt  <hyatt@apple.com>
2208
2209         Reviewed by Dan Bernstein.
2210
2211         https://bugs.webkit.org/show_bug.cgi?id=56909
2212         
2213         Add a simplified normal flow layout path optimization for overflow recomputation
2214         and for positioned objects inside relative positioned containers.
2215
2216         Currently there is an optimized code path for positioned objects, but as soon as
2217         we encounter a normal flow object in the containing block chain, we lose the
2218         optimization.
2219
2220         This patch adds a new type of style difference called SimplifiedLayout that is
2221         returned when only overflow needs to be recomputed. Whenever opacity changes or
2222         a transform changes, this is the hint returned now instead of a full layout.
2223         
2224         In addition, when positioned objects need layout and start marking up the
2225         containing block chain, we now propagate the fact that the layout is simplified
2226         all the way up to the root, even when we encounter normal flow containing
2227         blocks.
2228         
2229         The layoutOnlyPositionedObjects function has been renamed to simplifiedLayout()
2230         and is now used for all of these cases (in addition to what it handled before).
2231         
2232         No new tests, since existing tests covered this very well (especially the opacity
2233         and transforms repaint tests in fast/repaint).
2234
2235         * rendering/RenderBlock.cpp:
2236         (WebCore::RenderBlock::layoutBlock):
2237         (WebCore::RenderBlock::simplifiedNormalFlowLayout):
2238         (WebCore::RenderBlock::simplifiedLayout):
2239         * rendering/RenderBlock.h:
2240         * rendering/RenderBox.cpp:
2241         (WebCore::RenderBox::styleDidChange):
2242         * rendering/RenderBoxModelObject.cpp:
2243         (WebCore::RenderBoxModelObject::styleWillChange):
2244         * rendering/RenderFlexibleBox.cpp:
2245         (WebCore::RenderFlexibleBox::layoutBlock):
2246         * rendering/RenderObject.cpp:
2247         (WebCore::RenderObject::RenderObject):
2248         (WebCore::RenderObject::adjustStyleDifference):
2249         (WebCore::RenderObject::setStyle):
2250         (WebCore::RenderObject::styleDidChange):
2251         * rendering/RenderObject.h:
2252         (WebCore::RenderObject::needsLayout):
2253         (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
2254         (WebCore::RenderObject::needsSimplifiedNormalFlowLayout):
2255         (WebCore::RenderObject::setNeedsLayout):
2256         (WebCore::RenderObject::setChildNeedsLayout):
2257         (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
2258         (WebCore::RenderObject::markContainingBlocksForLayout):
2259         * rendering/RenderTable.cpp:
2260         (WebCore::RenderTable::layout):
2261         * rendering/style/RenderStyle.cpp:
2262         (WebCore::RenderStyle::diff):
2263         * rendering/style/RenderStyleConstants.h:
2264         * rendering/svg/RenderSVGText.cpp:
2265         (WebCore::RenderSVGText::layout):
2266
2267 2011-03-23  Tyler Close  <tjclose@chromium.org>
2268
2269         Reviewed by Jeremy Orlow.
2270
2271         Fix ambiguous method call in V8 IDL generated code for DOMStringList callback parameter
2272         https://bugs.webkit.org/show_bug.cgi?id=56950
2273
2274         * bindings/scripts/CodeGeneratorV8.pm:
2275         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
2276         (WebDOMTestCallback::callbackWithStringList):
2277         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
2278         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2279         (webkit_dom_test_callback_callback_with_string_list):
2280         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
2281         * bindings/scripts/test/JS/JSTestCallback.cpp:
2282         (WebCore::JSTestCallback::callbackWithStringList):
2283         * bindings/scripts/test/JS/JSTestCallback.h:
2284         * bindings/scripts/test/ObjC/DOMTestCallback.h:
2285         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2286         (-[DOMTestCallback callbackWithStringList:]):
2287         * bindings/scripts/test/TestCallback.idl:
2288         * bindings/scripts/test/V8/V8TestCallback.cpp:
2289         (WebCore::V8TestCallback::callbackWithStringList):
2290         * bindings/scripts/test/V8/V8TestCallback.h:
2291
2292 2011-03-23  Cris Neckar  <cdn@chromium.org>
2293
2294         Reviewed by Eric Seidel.
2295
2296         Add refptr for widget. Mutations can happen within the event handler.
2297         https://bugs.webkit.org/show_bug.cgi?id=56774
2298
2299         Test: plugins/change-widget-and-click-crash.html
2300
2301         * html/HTMLPlugInElement.cpp:
2302         (WebCore::HTMLPlugInElement::defaultEventHandler):
2303
2304 2011-03-23  Abhishek Arya  <inferno@chromium.org>
2305
2306         Reviewed by Dave Hyatt.
2307
2308         Add combine text cast checks since style property is insufficient
2309         in telling object types.
2310         https://bugs.webkit.org/show_bug.cgi?id=56358
2311
2312         Test: fast/text/input-box-text-fragment-combine-text-crash.html
2313
2314         * rendering/InlineTextBox.cpp:
2315         (WebCore::InlineTextBox::paint):
2316         * rendering/RenderBlock.cpp:
2317         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
2318         * rendering/RenderBlockLineLayout.cpp:
2319         (WebCore::RenderBlock::findNextLineBreak):
2320         * rendering/RenderText.cpp:
2321         (WebCore::RenderText::widthFromCache):
2322
2323 2011-03-23  Andreas Kling  <kling@webkit.org>
2324
2325         Reviewed by Kenneth Rohde Christiansen.
2326
2327         [Qt] "Unwavering" HTML5 game freezes the web page.
2328         https://bugs.webkit.org/show_bug.cgi?id=56944
2329
2330         For canvas's getImageData() API, we don't want to make a deep-copy of
2331         the pixels, which is the case on Qt's "raster" graphics system.
2332
2333         To work around this, we trick QPixmap::toImage() into giving us the
2334         QPixmap's backing QImage by temporarily pointing the paint engine to
2335         a null paint device.
2336
2337         * platform/graphics/qt/ImageBufferData.h:
2338         * platform/graphics/qt/ImageBufferQt.cpp:
2339         (WebCore::ImageBufferData::toQImage): Added, returns the
2340         ImageBufferData as a QImage, avoiding a backend deep-copy if possible.
2341         (WebCore::ImageBuffer::platformTransformColorSpace):
2342         (WebCore::getImageData):
2343
2344 2011-03-23  Viet-Trung Luu  <viettrungluu@chromium.org>
2345
2346         Reviewed by Tony Chang.
2347
2348         [chromium] Add FormatPlainText to WebClipboard::Format enumeration.
2349         https://bugs.webkit.org/show_bug.cgi?id=56868
2350
2351         Chromium's WebClipboard::isFormatAvailable() will be correspondingly
2352         extended.
2353
2354         * platform/chromium/PasteboardPrivate.h: Add corresponding enum entry.
2355             This part of the change is inert and should have no effect.
2356
2357 2011-03-23  Tyler Close  <tjclose@chromium.org>
2358
2359         Reviewed by Jeremy Orlow.
2360
2361         run-bindings-tests reference files are out of sync with CodeGenerator*.pm
2362         https://bugs.webkit.org/show_bug.cgi?id=56934
2363
2364         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2365         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2366         * bindings/scripts/test/JS/JSTestInterface.cpp:
2367         (WebCore::JSTestInterfaceConstructor::createStructure):
2368         (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
2369         (WebCore::JSTestInterface::createPrototype):
2370         * bindings/scripts/test/JS/JSTestInterface.h:
2371         (WebCore::JSTestInterface::createStructure):
2372         (WebCore::JSTestInterfacePrototype::createStructure):
2373         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2374         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
2375         (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
2376         (WebCore::JSTestMediaQueryListListener::createPrototype):
2377         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2378         (WebCore::JSTestMediaQueryListListener::createStructure):
2379         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
2380         * bindings/scripts/test/JS/JSTestObj.cpp:
2381         (WebCore::JSTestObjConstructor::createStructure):
2382         (WebCore::JSTestObjConstructor::JSTestObjConstructor):
2383         (WebCore::JSTestObj::createPrototype):
2384         * bindings/scripts/test/JS/JSTestObj.h:
2385         (WebCore::JSTestObj::createStructure):
2386         (WebCore::JSTestObjPrototype::createStructure):
2387         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2388         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
2389         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor):
2390         (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
2391         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2392         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
2393         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
2394         * bindings/scripts/test/V8/V8TestCallback.cpp:
2395         * bindings/scripts/test/V8/V8TestInterface.cpp:
2396         (WebCore::V8TestInterface::wrapSlow):
2397         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2398         (WebCore::V8TestMediaQueryListListener::wrapSlow):
2399         * bindings/scripts/test/V8/V8TestObj.cpp:
2400         (WebCore::V8TestObj::wrapSlow):
2401         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2402         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
2403
2404 2011-03-23  Daniel Bates  <dbates@rim.com>
2405
2406         Reviewed by Antonio Gomes.
2407
2408         Clean up: Rename HTMLFrameSetElement::{noresize, frameborder, and frameBorderSet}
2409         to conform to the WebKit Code style guidelines
2410         https://bugs.webkit.org/show_bug.cgi?id=56871
2411
2412         No functionality changed. So, no new tests.
2413
2414         * html/HTMLFrameSetElement.cpp:
2415         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
2416         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
2417         (WebCore::HTMLFrameSetElement::attach):
2418         (WebCore::HTMLFrameSetElement::defaultEventHandler):
2419         * html/HTMLFrameSetElement.h:
2420         (WebCore::HTMLFrameSetElement::hasFrameBorder):
2421         (WebCore::HTMLFrameSetElement::noResize):
2422
2423 2011-03-23  Abhishek Arya  <inferno@chromium.org>
2424
2425         Reviewed by Dan Bernstein.
2426
2427         Replace height with logicalHeight when removing items from
2428         gPercentHeightDescendantMap so that it is writing mode aware.
2429         https://bugs.webkit.org/show_bug.cgi?id=56902
2430
2431         Test: fast/block/percent-height-descendant-not-removed-crash.html
2432
2433         * rendering/RenderBox.cpp:
2434         (WebCore::RenderBox::destroy):
2435         (WebCore::RenderBox::styleDidChange):
2436         * rendering/RenderWidget.cpp:
2437         (WebCore::RenderWidget::destroy):
2438
2439 2011-03-23  Anders Carlsson  <andersca@apple.com>
2440
2441         Fix clang build.
2442
2443         * inspector/DOMNodeHighlighter.cpp:
2444         Remove an unused function.
2445
2446 2011-03-22  Brady Eidson  <beidson@apple.com>
2447
2448         Reviewed by Sam Weinig.
2449
2450         Add asynchronous load decision call to WebKit2 IconDatabase
2451         https://bugs.webkit.org/show_bug.cgi?id=56887
2452
2453         Clear the callback when it's made:
2454         * loader/DocumentLoader.cpp:
2455         (WebCore::DocumentLoader::continueIconLoadWithDecision):
2456
2457         Don't load icons when using new-style icon database if in private browsing:
2458         * loader/FrameLoader.cpp:
2459         (WebCore::FrameLoader::continueIconLoadWithDecision):
2460         
2461         Enhance the IconDatabase callbacks to have an ID and inherit from a common base:
2462         * loader/icon/IconDatabaseBase.h:
2463         (WebCore::CallbackBase::~CallbackBase):
2464         (WebCore::CallbackBase::callbackID):
2465         (WebCore::CallbackBase::CallbackBase):
2466         (WebCore::CallbackBase::context):
2467         (WebCore::CallbackBase::generateCallbackID):
2468         (WebCore::EnumCallback::performCallback):
2469         (WebCore::EnumCallback::EnumCallback):
2470         (WebCore::ObjectCallback::performCallback):
2471         (WebCore::ObjectCallback::ObjectCallback):
2472
2473 2011-03-21  Pavel Podivilov  <podivilov@chromium.org>
2474
2475         Reviewed by Yury Semikhatsky.
2476
2477         Web Inspector: move scripts concatenation logic to SourceFile.
2478         https://bugs.webkit.org/show_bug.cgi?id=56756
2479
2480         * inspector/front-end/ScriptsPanel.js:
2481         * inspector/front-end/SourceFile.js:
2482         (WebInspector.SourceFile.prototype._requestContent):
2483         (WebInspector.SourceFile.prototype._loadResourceContent):
2484         (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent):
2485         (WebInspector.SourceFile.prototype._concatenateScriptsContent):
2486
2487 2011-03-23  Leandro Gracia Gil  <leandrogracia@chromium.org>
2488
2489         Reviewed by Steve Block.
2490
2491         Media Stream API: add a flag to RuntimeEnabledFeatures.
2492         https://bugs.webkit.org/show_bug.cgi?id=56921
2493
2494         Add a flag to RuntimeEnabledFeatures to check if the Media Stream API is enabled at runtime.
2495
2496         Tests for the Media Stream API will be provided by the bug 56587.
2497
2498         * bindings/generic/RuntimeEnabledFeatures.cpp:
2499         * bindings/generic/RuntimeEnabledFeatures.h:
2500         (WebCore::RuntimeEnabledFeatures::mediaStreamEnabled):
2501         (WebCore::RuntimeEnabledFeatures::setMediaStreamEnabled):
2502         (WebCore::RuntimeEnabledFeatures::webkitGetUserMediaEnabled):
2503
2504 2011-03-23  Carol Szabo  <carol.szabo@nokia.com>
2505
2506         Reviewed by David Hyatt.
2507
2508         Modified RenderCounter::originalText() to correctly attach
2509         the created counter to the before/after container even when
2510         that is not the RenderCounter's direct parent.
2511
2512         CSS 2.1 failure: various before-after-* tests fail
2513         https://bugs.webkit.org/show_bug.cgi?id=47207
2514
2515         Test: fast/css/counters/complex-before.html
2516
2517         * rendering/RenderCounter.cpp:
2518         (WebCore::RenderCounter::originalText):
2519
2520 2011-03-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2521
2522         Reviewed by Antonio Gomes.
2523
2524         [EFL] Add play / pause button to media control
2525         https://bugs.webkit.org/show_bug.cgi?id=55463
2526
2527         Add play|pause button to media control.
2528
2529         * platform/efl/RenderThemeEfl.cpp:
2530         (WebCore::RenderThemeEfl::edjeGroupFromFormType):
2531         (WebCore::RenderThemeEfl::emitMediaButtonSignal): Added.
2532         (WebCore::RenderThemeEfl::paintMediaPlayButton):
2533         * platform/efl/RenderThemeEfl.h:
2534
2535 2011-03-23  Aparna Nandyal  <aparna.nand@wipro.com>
2536
2537         Reviewed by Andreas Kling.
2538
2539         [Qt] QtWebKit rendering problem when maximizing and doing a back
2540         https://bugs.webkit.org/show_bug.cgi?id=56669
2541
2542         Contents of the page are not re-sized on going back after
2543         maximizing. ContentsResized() is not getting called. Hence old
2544         document width and height are used. Corrected this behaviour by 
2545         calling setBoundsSize() which calls contentsSize(). 
2546
2547         * loader/FrameLoader.cpp:
2548         (WebCore::FrameLoader::open):
2549
2550 2011-03-21  Pavel Podivilov  <podivilov@chromium.org>
2551
2552         Reviewed by Yury Semikhatsky.
2553
2554         Web Inspector: add support for formating source files in debugger presentation model.
2555         https://bugs.webkit.org/show_bug.cgi?id=56558
2556
2557         * inspector/front-end/DebuggerModel.js:
2558         (WebInspector.DebuggerModel.prototype.reset):
2559         (WebInspector.DebuggerModel.prototype.get scripts):
2560         * inspector/front-end/DebuggerPresentationModel.js:
2561         (WebInspector.DebuggerPresentationModel):
2562         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2563         (WebInspector.DebuggerPresentationModel.prototype._refreshBreakpoints):
2564         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
2565         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
2566         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
2567         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
2568         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
2569         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
2570         (WebInspector.DebuggerPresentationModel.prototype._reset):
2571         * inspector/front-end/ScriptFormatter.js:
2572         (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
2573         (WebInspector.ScriptFormatter.prototype.formatContent):
2574         * inspector/front-end/ScriptsPanel.js:
2575         (WebInspector.ScriptsPanel):
2576         (WebInspector.ScriptsPanel.prototype.reset):
2577         (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
2578         * inspector/front-end/Settings.js:
2579         * inspector/front-end/SourceFile.js:
2580         (WebInspector.SourceFile.prototype.scriptLocationToSourceLocation):
2581         (WebInspector.SourceFile.prototype.sourceLocationToScriptLocation):
2582         (WebInspector.FormattedSourceFile):
2583         (WebInspector.FormattedSourceFile.prototype.scriptLocationToSourceLocation):
2584         (WebInspector.FormattedSourceFile.prototype.sourceLocationToScriptLocation):
2585         (WebInspector.FormattedSourceFile.prototype._didRequestContent):
2586
2587 2011-03-23  Yury Semikhatsky  <yurys@chromium.org>
2588
2589         Reviewed by Pavel Feldman.
2590
2591         Web Inspector: use unsigned char instead of char when storing script source
2592         https://bugs.webkit.org/show_bug.cgi?id=56920
2593
2594         * bindings/v8/DebuggerScript.js:
2595         * bindings/v8/ScriptDebugServer.cpp:
2596         (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
2597         * inspector/InjectedScriptManager.cpp:
2598         (WebCore::InjectedScriptManager::injectedScriptSource):
2599         * inspector/InjectedScriptSource.js: whitespace change to trigger compilation
2600         * inspector/xxd.pl:
2601         * xml/XMLViewer.xsl:
2602
2603 2011-03-23  Ilya Tikhonovsky  <loislo@chromium.org>
2604
2605         Reviewed by Yury Semikhatsky.
2606
2607         Web Inspector: move node searching and node highlight related methods from InspectorAgent to InspectorDOMAgent.
2608         https://bugs.webkit.org/show_bug.cgi?id=56912
2609
2610         The next functions were moved:
2611             setSearchingForNode
2612             highlightDOMNode
2613             hideDOMNodeHighlight
2614             highlightFrame
2615             hideFrameHighlight
2616             mouseDidMoveOverElement
2617             handleMousePress
2618
2619         The code which does real highlight in Graphic context was moved to new files DOMNodeHighlighter.*
2620
2621         * CMakeLists.txt:
2622         * GNUmakefile.am:
2623         * WebCore.gypi:
2624         * WebCore.pro:
2625         * WebCore.vcproj/WebCore.vcproj:
2626         * WebCore.xcodeproj/project.pbxproj:
2627         * inspector/DOMNodeHighlighter.cpp: Added.
2628         (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
2629         * inspector/DOMNodeHighlighter.h: Added.
2630         * inspector/Inspector.json:
2631         * inspector/InspectorAgent.cpp:
2632         (WebCore::InspectorAgent::InspectorAgent):
2633         (WebCore::InspectorAgent::~InspectorAgent):
2634         (WebCore::InspectorAgent::inspectedPageDestroyed):
2635         (WebCore::InspectorAgent::disconnectFrontend):
2636         * inspector/InspectorAgent.h:
2637         * inspector/InspectorController.cpp:
2638         (WebCore::InspectorController::drawNodeHighlight):
2639         (WebCore::InspectorController::hideHighlight):
2640         * inspector/InspectorDOMAgent.cpp:
2641         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2642         (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
2643         (WebCore::InspectorDOMAgent::clearFrontend):
2644         (WebCore::InspectorDOMAgent::handleMousePress):
2645         (WebCore::InspectorDOMAgent::mouseDidMoveOverElement):
2646         (WebCore::InspectorDOMAgent::searchingForNodeInPage):
2647         (WebCore::InspectorDOMAgent::setSearchingForNode):
2648         (WebCore::InspectorDOMAgent::highlight):
2649         (WebCore::InspectorDOMAgent::highlightDOMNode):
2650         (WebCore::InspectorDOMAgent::highlightFrame):
2651         (WebCore::InspectorDOMAgent::hideHighlight):
2652         (WebCore::InspectorDOMAgent::drawNodeHighlight):
2653         * inspector/InspectorDOMAgent.h:
2654         (WebCore::InspectorDOMAgent::hideDOMNodeHighlight):
2655         (WebCore::InspectorDOMAgent::hideFrameHighlight):
2656         * inspector/InspectorInstrumentation.cpp:
2657         (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
2658         (WebCore::InspectorInstrumentation::handleMousePressImpl):
2659         * inspector/InstrumentingAgents.h:
2660         (WebCore::InstrumentingAgents::InstrumentingAgents):
2661         (WebCore::InstrumentingAgents::inspectorAgent):
2662         (WebCore::InstrumentingAgents::setInspectorAgent):
2663         * inspector/front-end/ElementsPanel.js:
2664         (WebInspector.ElementsPanel.prototype.setSearchingForNode):
2665         * inspector/front-end/ResourcesPanel.js:
2666         (WebInspector.FrameTreeElement.prototype.onselect):
2667         (WebInspector.FrameTreeElement.prototype.set hovered):
2668         * inspector/front-end/inspector.js:
2669         (WebInspector.highlightDOMNode):
2670
2671 2011-03-23  Yury Semikhatsky  <yurys@chromium.org>
2672
2673         Unreviewed. Rollout r81768 which broke compilation on Win.
2674
2675         * xml/XMLTreeViewer.cpp:
2676         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
2677         * xml/XMLViewer.xsl:
2678
2679 2011-03-23  Yury Semikhatsky  <yurys@chromium.org>
2680
2681         Reviewed by Pavel Feldman.
2682
2683         Web Inspector: remove unnecessary reinterpret_cast in XMLTreeViewer
2684         https://bugs.webkit.org/show_bug.cgi?id=56919
2685
2686         * xml/XMLTreeViewer.cpp:
2687         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
2688         * xml/XMLViewer.xsl: whitespace change to trigger compilation.
2689
2690 2011-03-21  Pavel Podivilov  <podivilov@chromium.org>
2691
2692         Reviewed by Yury Semikhatsky.
2693
2694         Web Inspector: move content loading logic to a new SourceFile class.
2695         https://bugs.webkit.org/show_bug.cgi?id=56748
2696
2697         * WebCore.gypi:
2698         * WebCore.vcproj/WebCore.vcproj:
2699         * inspector/front-end/DebuggerPresentationModel.js:
2700         (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent):
2701         (WebInspector.DebuggerPresentationModel.prototype._addScript.contentChanged):
2702         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2703         (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
2704         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
2705         * inspector/front-end/SourceFile.js: Added.
2706         (WebInspector.SourceFile):
2707         (WebInspector.SourceFile.prototype.addScript):
2708         (WebInspector.SourceFile.prototype.requestContent):
2709         (WebInspector.SourceFile.prototype.forceLoadContent):
2710         (WebInspector.SourceFile.prototype.reload):
2711         (WebInspector.SourceFile.prototype._requestContent):
2712         (WebInspector.SourceFile.prototype._loadResourceContent):
2713         (WebInspector.SourceFile.prototype._loadScriptContent):
2714         (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent):
2715         (WebInspector.SourceFile.prototype._didRequestContent):
2716         (WebInspector.SourceFile.prototype._hasPendingResource):
2717         * inspector/front-end/WebKit.qrc:
2718         * inspector/front-end/inspector.html:
2719
2720 2011-03-23  Pavel Podivilov  <podivilov@chromium.org>
2721
2722         Unreviewed, fix compilation broken by r81758.
2723
2724         * xml/XMLTreeViewer.cpp:
2725         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
2726
2727 2011-03-23  Pavel Feldman  <pfeldman@chromium.org>
2728
2729         Reviewed by Yury Semikhatsky.
2730
2731         Web Inspector: define array types properly in the Inspector.json
2732         https://bugs.webkit.org/show_bug.cgi?id=56915
2733
2734         * inspector/Inspector.json:
2735         * inspector/generate-inspector-idl:
2736
2737 2011-03-23  Yury Semikhatsky  <yurys@chromium.org>
2738
2739         Reviewed by Pavel Feldman.
2740
2741         [V8] Web Inspector: compile DebuggerScript.js into DebuggerScriptSource.h
2742         https://bugs.webkit.org/show_bug.cgi?id=56843
2743
2744         * inspector/front-end/WebKit.qrc:
2745
2746 2011-03-23  Andrey Adaikin  <aandrey@google.com>
2747
2748         Reviewed by Yury Semikhatsky.
2749
2750         Web Inspector: Add a star while editing a source code
2751         https://bugs.webkit.org/show_bug.cgi?id=56743
2752
2753         * inspector/front-end/ScriptsPanel.js:
2754         (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
2755         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited):
2756         * inspector/front-end/SourceFrame.js:
2757         (WebInspector.SourceFrame.prototype._startEditing):
2758         (WebInspector.SourceFrame.prototype._registerShortcuts):
2759         (WebInspector.SourceFrame.prototype._handleSave):
2760         (WebInspector.SourceFrame.prototype._handleRevertEditing):
2761         (WebInspector.SourceFrameDelegate.prototype.setScriptSourceIsBeingEdited):
2762
2763 2011-03-23  Andrey Adaikin  <aandrey@google.com>
2764
2765         Reviewed by Yury Semikhatsky.
2766
2767         Web Inspector: Scrolling and navigation is not smooth on a script with many long lines
2768         https://bugs.webkit.org/show_bug.cgi?id=56559
2769
2770         * inspector/front-end/TextViewer.js:
2771         (WebInspector.TextEditorChunkedPanel.prototype._expandChunks):
2772         (WebInspector.TextEditorMainPanel.prototype._expandChunks):
2773         (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
2774         (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
2775         (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
2776         (WebInspector.TextEditorMainPanel.prototype._restorePaintLinesOperationsCredit):
2777         (WebInspector.TextEditorMainPanel.prototype._paintLines):
2778         (WebInspector.TextEditorMainPanel.prototype._paintLine):
2779         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
2780
2781 2011-03-22  Yury Semikhatsky  <yurys@chromium.org>
2782
2783         Reviewed by Pavel Feldman.
2784
2785         [V8] Web Inspector: compile DebuggerScript.js into DebuggerScriptSource.h
2786         https://bugs.webkit.org/show_bug.cgi?id=56843
2787
2788         DebuggerScript.js is now translated into a char[] array before inspector compilation.
2789
2790         * WebCore.gyp/WebCore.gyp:
2791         * WebCore.gypi:
2792         * bindings/v8/ScriptDebugServer.cpp:
2793         (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
2794         * bindings/v8/ScriptDebugServer.h:
2795         * inspector/InjectedScriptManager.cpp:
2796         (WebCore::InjectedScriptManager::injectedScriptSource):
2797         * inspector/InjectedScriptSource.js: whitespace change to trigger InjectedScriptSource.h generation.
2798         * inspector/xxd.pl:
2799
2800 2011-03-23  Mark Rowe  <mrowe@apple.com>
2801
2802         Fix the 32-bit build.
2803
2804         * html/canvas/WebGLRenderingContext.cpp:
2805         (WebCore::WebGLRenderingContext::initializeNewContext):
2806
2807 2011-03-22  Noel Gordon  <noel.gordon@gmail.com>
2808
2809         Reviewed by Ojan Vafai.
2810
2811         [chromium] skia image encoders should use <wtf/Vector.h>
2812         https://bugs.webkit.org/show_bug.cgi?id=56893
2813
2814         No new tests. Covered by existing canvas.toDataURL tests.
2815
2816         * platform/image-encoders/skia/JPEGImageEncoder.h:
2817         * platform/image-encoders/skia/PNGImageEncoder.h:
2818
2819 2011-03-22  David Hyatt  <hyatt@apple.com>
2820
2821         Reviewed by Beth Dakin.
2822
2823         Move the cellWidthChanged bit out of RenderObject and back down into RenderTableCell in order to
2824         free up a bit for another performance optimization I have planned.
2825
2826         * rendering/RenderObject.cpp:
2827         (WebCore::RenderObject::RenderObject):
2828         * rendering/RenderObject.h:
2829         (WebCore::RenderObject::setHasColumns):
2830         * rendering/RenderTableCell.cpp:
2831         (WebCore::RenderTableCell::RenderTableCell):
2832         * rendering/RenderTableCell.h:
2833         (WebCore::RenderTableCell::cellWidthChanged):
2834         (WebCore::RenderTableCell::setCellWidthChanged):
2835
2836 2011-03-22  David Hyatt  <hyatt@apple.com>
2837
2838         Reviewed by Dan Bernstein.
2839
2840         https://bugs.webkit.org/show_bug.cgi?id=56892
2841         
2842         Adding floats to an empty block is O(n^2). 
2843
2844         If you just add floats back to back to an empty block, the addition is essentially O(n^2)
2845         once the floats move below your current line position.  This is because we repeatedly ask for the
2846         available width for the line from scratch every time we add a float, regardless of whether the
2847         float even vertically intersected our current line position.
2848         
2849         Change positionNewFloatOnLine to update left and right line offsets intelligently and to only
2850         do it based off the single new float that just got added.
2851         
2852         This fix cuts the IE MazeSolver time in half.
2853
2854         * rendering/RenderBlock.cpp:
2855         (WebCore::RenderBlock::positionNewFloatOnLine):
2856         * rendering/RenderBlock.h:
2857         * rendering/RenderBlockLineLayout.cpp:
2858         (WebCore::RenderBlock::skipLeadingWhitespace):
2859         (WebCore::RenderBlock::findNextLineBreak):
2860
2861 2011-03-22  Beth Dakin  <bdakin@apple.com>
2862
2863         Reviewed by Sam Weinig.
2864
2865         Fix for https://bugs.webkit.org/show_bug.cgi?id=56890 It is possible to calculate a 
2866         NaN value for "value" in ScrollbarThemeMac::paint()
2867         -and corresponding-
2868         <rdar://problem/9160621>
2869
2870         * platform/mac/ScrollbarThemeMac.mm:
2871         (WebCore::ScrollbarThemeMac::paint):
2872
2873 2011-03-17  Ojan Vafai  <ojan@chromium.org>
2874
2875         Reviewed by Antti Koivisto.
2876
2877         webkit should implement -moz-any selector (as -webkit-any obviously)
2878         https://bugs.webkit.org/show_bug.cgi?id=38095
2879
2880         For now, match the Mozilla implementation with respect to specificity
2881         and only allowing simple selectors. Both of these are likely to change
2882         pending discussion on www-style@. 
2883
2884         Tests: fast/css/pseudo-any.html
2885                fast/dom/SelectorAPI/unknown-pseudo.html
2886
2887         * css/CSSGrammar.y:
2888         Create simple_selector_list. This is exactly like selector_list
2889         except it only allows simple selectors and creates a new vector
2890         instead of a reusable one since there can be multiple in one rule.
2891         * css/CSSParser.cpp:
2892         (WebCore::CSSParser::~CSSParser):
2893         (WebCore::CSSParser::lex):
2894         (WebCore::CSSParser::createFloatingSelectorVector):
2895         (WebCore::CSSParser::sinkFloatingSelectorVector):
2896         * css/CSSParser.h:
2897         * css/CSSParserValues.cpp:
2898         (WebCore::CSSParserSelector::adoptSelectorVector):
2899         * css/CSSParserValues.h:
2900         * css/CSSSelector.cpp:
2901         (WebCore::CSSSelector::specificityForOneSelector):
2902         (WebCore::CSSSelector::pseudoId):
2903         (WebCore::nameToPseudoTypeMap):
2904         (WebCore::CSSSelector::extractPseudoType):
2905         (WebCore::CSSSelector::selectorText):
2906         (WebCore::CSSSelector::setSelectorList):
2907         (WebCore::CSSSelector::RareData::RareData):
2908         (WebCore::CSSSelector::RareData::~RareData):
2909         These need to be moved into the cpp file so that we can
2910         have an OwnPtr<CSSSelectorList> in CSSSelector::RareData.
2911         * css/CSSSelector.h:
2912         (WebCore::CSSSelector::selectorList):
2913         * css/CSSSelectorList.cpp:
2914         (WebCore::forEachTagSelector):
2915         * css/CSSStyleSelector.cpp:
2916         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2917         (WebCore::collectFeaturesFromSelector):
2918         * css/tokenizer.flex:
2919
2920 2011-03-22  John Bauman  <jbauman@chromium.org>
2921
2922         Reviewed by Kenneth Russell.
2923
2924         Add support for preserveDrawingBuffer context creation attribute
2925         https://bugs.webkit.org/show_bug.cgi?id=56431
2926
2927         For the accelerated compositing case, only prepare the texture if it
2928         has been updated since the last composite. For the non-accelerated case, make sure to
2929         grab a copy of the image buffer and paint from that if the backbuffer
2930         would be cleared.
2931
2932         In both cases, make sure to clear the context's backbuffer before the
2933         first operation that uses it.
2934
2935         No new tests. It seems to be difficult/impossible to trigger an early
2936         compositing operation in DumpRenderTree, making this hard to
2937         test automatically. However, Chromium and Safari (Mac) have been
2938         tested manually on the webgl conformance test for this.
2939
2940         * html/HTMLCanvasElement.cpp:
2941         (WebCore::HTMLCanvasElement::paint):
2942         (WebCore::HTMLCanvasElement::makePresentationCopy):
2943         (WebCore::HTMLCanvasElement::clearPresentationCopy):
2944         * html/HTMLCanvasElement.h:
2945         * html/canvas/WebGLContextAttributes.cpp:
2946         (WebCore::WebGLContextAttributes::preserveDrawingBuffer):
2947         (WebCore::WebGLContextAttributes::setPreserveDrawingBuffer):
2948         * html/canvas/WebGLContextAttributes.h:
2949         * html/canvas/WebGLContextAttributes.idl:
2950         * html/canvas/WebGLRenderingContext.cpp:
2951         (WebCore::WebGLRenderingContext::initializeNewContext):
2952         (WebCore::WebGLRenderingContext::markContextChanged):
2953         (WebCore::WebGLRenderingContext::clearIfComposited):
2954         (WebCore::WebGLRenderingContext::markLayerComposited):
2955         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
2956         (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData):
2957         (WebCore::WebGLRenderingContext::clear):
2958         (WebCore::WebGLRenderingContext::clearColor):
2959         (WebCore::WebGLRenderingContext::clearDepth):
2960         (WebCore::WebGLRenderingContext::clearStencil):
2961         (WebCore::WebGLRenderingContext::colorMask):
2962         (WebCore::WebGLRenderingContext::disable):
2963         (WebCore::WebGLRenderingContext::drawArrays):
2964         (WebCore::WebGLRenderingContext::drawElements):
2965         (WebCore::WebGLRenderingContext::enable):
2966         (WebCore::WebGLRenderingContext::readPixels):
2967         * html/canvas/WebGLRenderingContext.h:
2968         * platform/graphics/GraphicsContext3D.h:
2969         (WebCore::GraphicsContext3D::Attributes::Attributes):
2970         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2971         (WebCore::WebGLLayerChromium::updateContentsIfDirty):
2972         (WebCore::WebGLLayerChromium::textureUpdated):
2973         (WebCore::WebGLLayerChromium::setContext):
2974         * platform/graphics/chromium/WebGLLayerChromium.h:
2975         * platform/graphics/mac/GraphicsContext3DMac.mm
2976         (WebCore::GraphicsContext3D::GraphicsContext3D):
2977         (WebCore::GraphicsContext3D::~GraphicsContext3D):
2978         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2979         (WebCore::GraphicsContext3D::reshape):
2980         (WebCore::GraphicsContext3D::prepareTexture):
2981         (WebCore::GraphicsContext3D::activeTexture):
2982         (WebCore::GraphicsContext3D::bindTexture):
2983         (WebCore::GraphicsContext3D::markContextChanged):
2984         (WebCore::GraphicsContext3D::markLayerComposited):
2985         (WebCore::GraphicsContext3D::layerComposited):
2986         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2987         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
2988         (WebCore::GraphicsContext3D::markLayerComposited):
2989         (WebCore::GraphicsContext3D::markContextChanged):
2990         (WebCore::GraphicsContext3D::layerComposited):
2991
2992 2011-03-22  Sam Weinig  <sam@webkit.org>
2993
2994         Reviewed by Mark Rowe.
2995
2996         Remove USE_WK_SCROLLBAR_PAINTER_AND_CONTROLLER.
2997         <rdar://problem/8944718> 
2998
2999         * DerivedSources.make:
3000         Remove generation of HeaderDetection.h.
3001
3002         * WebCore.xcodeproj/project.pbxproj:
3003         Remove HeaderDetection.h.
3004
3005         * platform/mac/ScrollAnimatorMac.h:
3006         * platform/mac/ScrollAnimatorMac.mm:
3007         * platform/mac/ScrollbarThemeMac.h:
3008         * platform/mac/ScrollbarThemeMac.mm:
3009         Replace use of USE_WK_SCROLLBAR_PAINTER_AND_CONTROLLER with USE(WK_SCROLLBAR_PAINTER).
3010
3011 2011-03-22  Victoria Kirst  <vrk@google.com>
3012
3013         Reviewed by Kenneth Russell.
3014
3015         [chromium] Properly reset VideoLayerChromium textures after lost renderer context
3016         https://bugs.webkit.org/show_bug.cgi?id=56514
3017
3018         The VideoLayerChromium textures were still mapped to the old
3019         renderer's context when LayerRendererChromium was being recreated
3020         i.e. when GPU process is killed. This patch allows VideoLayerChromium
3021         it recreate textures in the new context when the old renderer is lost.
3022         Patch also does a bit of refactoring and code clean-up.
3023
3024         * platform/graphics/chromium/VideoLayerChromium.cpp:
3025         (WebCore::VideoLayerChromium::~VideoLayerChromium):
3026         (WebCore::VideoLayerChromium::cleanupResources):
3027         (WebCore::VideoLayerChromium::updateContentsIfDirty):
3028         (WebCore::VideoLayerChromium::allocateTexturesIfNeeded):
3029         (WebCore::VideoLayerChromium::computeVisibleSize):
3030         (WebCore::VideoLayerChromium::drawYUV):
3031         (WebCore::VideoLayerChromium::drawRGBA):
3032         (WebCore::VideoLayerChromium::resetFrameParameters):
3033         (WebCore::VideoLayerChromium::saveCurrentFrame):
3034         * platform/graphics/chromium/VideoLayerChromium.h:
3035
3036 2011-03-22  Adam Barth  <abarth@webkit.org>
3037
3038         Reviewed by Eric Seidel.
3039
3040         WebCore GYP build should export the headers needed by WebKit
3041         https://bugs.webkit.org/show_bug.cgi?id=56883
3042
3043         * WebCore.gypi:
3044         * gyp/WebCore.gyp:
3045             - Export a couple more headers.
3046             - Remove FIXME comments for things we've already fixed.
3047
3048 2011-03-22  Anton D'Auria  <adauria@apple.com>
3049
3050         Reviewed by Alexey Proskuryakov.
3051
3052         Add +[WebApplicationCache getOriginsWithCache]
3053         https://bugs.webkit.org/show_bug.cgi?id=56722
3054
3055         Added test that exercises WebCore API to get origins with application cache.
3056
3057         Test: http/tests/appcache/origins-with-appcache.html
3058
3059         * loader/appcache/ApplicationCacheStorage.cpp: 
3060         (WebCore::ApplicationCacheStorage::getOriginsWithCache):
3061         * loader/appcache/ApplicationCacheStorage.h:
3062
3063 2011-03-22  Carol Szabo  <carol.szabo@nokia.com>
3064
3065         Reviewed by David Hyatt.
3066
3067         Introduced double linkage between a CounterNode and its display renderer.
3068
3069         use of freed pointer in WebCore::RenderCounter::originalText()
3070         https://bugs.webkit.org/show_bug.cgi?id=56065
3071
3072         No new tests. This bug could only be reproduced manually by
3073         refreshing the page during load at a critical point.
3074         See bug attachment for testing.
3075
3076         * rendering/CounterNode.cpp:
3077         Introduced new member "m_owner" to store the renderer that has the
3078         style directives that produce the CounterNode.
3079         Repurposed m_renderer to reffer to the RenderCounter that shows the
3080         CounterNode.
3081         (WebCore::CounterNode::CounterNode):
3082         Updated member initialization.
3083         (WebCore::CounterNode::create):
3084         (WebCore::CounterNode::addRenderer):
3085         (WebCore::CounterNode::removeRenderer):
3086         Introduced to manage the renderer list associated wit this CounterNode.
3087         (WebCore::CounterNode::resetRenderers):
3088         This is the old resetRenderer. Renamed to take into account that there may be
3089         more than one renderer to a CounterNode.
3090         (WebCore::CounterNode::resetThisAndDescendantsRenderers):
3091         This is the old resetRenderers renamed for clarity.
3092         (WebCore::CounterNode::recount):
3093         (WebCore::CounterNode::insertAfter):
3094         (WebCore::CounterNode::removeChild):
3095         No functional changes.
3096         (WebCore::showTreeAndMark):
3097         Added flushing to ensure that the output is complete.
3098         * rendering/CounterNode.h:
3099         (WebCore::CounterNode::owner):
3100         Renamed from renderer()
3101         * rendering/RenderCounter.cpp:
3102         (WebCore::findPlaceForCounter):
3103         Fixed comments. No functional changes.
3104         (WebCore::RenderCounter::~RenderCounter):
3105         Made sure that the CounterNode that this renderers displays is
3106         detached from this.
3107         (WebCore::RenderCounter::originalText):
3108         (WebCore::RenderCounter::invalidate):
3109         Changed to maintain the bidirectional relationship with the displayed CounterNode.
3110         Also made "invalidate" private as it should be used only by CounterNode.
3111         (WebCore::destroyCounterNodeWithoutMapRemoval):
3112         (WebCore::RenderCounter::destroyCounterNodes):
3113         (WebCore::RenderCounter::destroyCounterNode):
3114         (WebCore::updateCounters):
3115         No change, just kept code in line with the changes above.
3116         (showCounterRendererTree):
3117         Added fflush to ensure complete display.
3118         * rendering/RenderCounter.h:
3119         * rendering/RenderObjectChildList.cpp:
3120         * rendering/RenderObjectChildList.h:
3121         Removed unneeded invalidateCounters related functions.
3122
3123 2011-03-22  Dean Jackson  <dino@apple.com>
3124
3125         Reviewed by Simon Fraser.
3126
3127         https://bugs.webkit.org/show_bug.cgi?id=56242
3128         Interrupted accelerated animations/transitions were causing
3129         subsequent animations to not start (because they were stuck
3130         waiting for a response from the compositing layer). I renamed
3131         the instance variable that indicates whether or not to
3132         notify animations of start time, from m_waitingForStartTimeResponse
3133         to m_waitingForAsyncStartNotification, so that it makes more sense.
3134         The actual bug fix was changing the logic so that the flag is reset
3135         when the list of waiting animations becomes empty. I mistakenly committed
3136         the bad logic in r81613.
3137
3138         * page/animation/AnimationBase.cpp:
3139         (WebCore::AnimationBase::updateStateMachine):
3140         - Always set paused time as we enter the paused state
3141         * page/animation/AnimationController.cpp:
3142         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
3143         (WebCore::AnimationControllerPrivate::endAnimationUpdate):
3144         (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
3145         (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStartTimeResponse):
3146         (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStartTimeResponse):
3147         - reset the waiting flag when the list is empty (rather than not empty)
3148         (WebCore::AnimationControllerPrivate::startTimeResponse):
3149         * page/animation/AnimationControllerPrivate.h:
3150         - rename m_waitingForStartTimeResponse to m_waitingForAsyncStartNotification
3151
3152 2011-03-22  Brady Eidson  <beidson@apple.com>
3153
3154         Reviewed by Sam Weinig.
3155
3156         <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56876
3157         WK2 Icon DB: Expand IconDatabaseClient interface and move it to the main thread
3158
3159         * loader/icon/IconDatabase.cpp:
3160         Add a dummy client implementation for non-Mac, non-Win ports:
3161         (WebCore::DefaultIconDatabaseClient::performImport):
3162         (WebCore::DefaultIconDatabaseClient::didImportIconURLForPageURL):
3163         (WebCore::DefaultIconDatabaseClient::didImportIconDataForPageURL):
3164         (WebCore::DefaultIconDatabaseClient::didChangeIconForPageURL):
3165         (WebCore::DefaultIconDatabaseClient::didRemoveAllIcons):
3166         (WebCore::DefaultIconDatabaseClient::didFinishURLImport):
3167         (WebCore::defaultClient):
3168
3169         Either call the client directly when on the main thread, or use the dispatch functions below
3170         if on the background thread:
3171         (WebCore::IconDatabase::setIconDataForIconURL):
3172         (WebCore::IconDatabase::setIconURLForPageURL):
3173         (WebCore::IconDatabase::performURLImport):
3174         (WebCore::IconDatabase::readFromDatabase):
3175         (WebCore::IconDatabase::removeAllIconsOnThread):
3176
3177         Add a very targeted WorkItem interface for dispatching client calls on the main thread:
3178         (WebCore::ClientWorkItem::ClientWorkItem):
3179         (WebCore::ClientWorkItem::~ClientWorkItem):
3180         (WebCore::ImportedIconURLForPageURLWorkItem::ImportedIconURLForPageURLWorkItem):
3181         (WebCore::ImportedIconURLForPageURLWorkItem::~ImportedIconURLForPageURLWorkItem):
3182         (WebCore::ImportedIconURLForPageURLWorkItem::performWork):
3183         (WebCore::ImportedIconDataForPageURLWorkItem::ImportedIconDataForPageURLWorkItem):
3184         (WebCore::ImportedIconDataForPageURLWorkItem::~ImportedIconDataForPageURLWorkItem):
3185         (WebCore::ImportedIconDataForPageURLWorkItem::performWork):
3186         (WebCore::RemovedAllIconsWorkItem::RemovedAllIconsWorkItem):
3187         (WebCore::RemovedAllIconsWorkItem::performWork):
3188         (WebCore::performWorkItem):
3189
3190         Use the client WorkItem interface to perform these callbacks on the main thread:
3191         (WebCore::IconDatabase::dispatchDidImportIconURLForPageURLOnMainThread):
3192         (WebCore::IconDatabase::dispatchDidImportIconDataForPageURLOnMainThread):
3193         (WebCore::IconDatabase::dispatchDidRemoveAllIconsOnMainThread):
3194         * loader/icon/IconDatabase.h:
3195         * loader/icon/IconDatabaseClient.h:
3196
3197 2011-03-22  David Hyatt  <hyatt@apple.com>
3198
3199         Reviewed by Simon Fraser.
3200
3201         https://bugs.webkit.org/show_bug.cgi?id=56869
3202         
3203         Make horizontal writing mode a bit on RenderObject with a fast inlined method for access. This should be
3204         a little faster than having to access the information from the RenderStyle's sub-structure.
3205
3206         * rendering/RenderBlock.cpp:
3207         (WebCore::RenderBlock::layoutBlock):
3208         (WebCore::RenderBlock::addOverflowFromChildren):
3209         (WebCore::RenderBlock::computeOverflow):
3210         (WebCore::RenderBlock::adjustPositionedBlock):
3211         (WebCore::RenderBlock::setLogicalLeftForChild):
3212         (WebCore::RenderBlock::setLogicalTopForChild):
3213         (WebCore::RenderBlock::layoutPositionedObjects):
3214         (WebCore::RenderBlock::paintColumnRules):
3215         (WebCore::RenderBlock::paintColumnContents):
3216         (WebCore::RenderBlock::flipFloatForWritingMode):
3217         (WebCore::blockDirectionOffset):
3218         (WebCore::inlineDirectionOffset):
3219         (WebCore::RenderBlock::logicalRectToPhysicalRect):
3220         (WebCore::RenderBlock::inlineSelectionGaps):
3221         (WebCore::RenderBlock::addOverhangingFloats):
3222         (WebCore::RenderBlock::addIntrudingFloats):
3223         (WebCore::RenderBlock::hitTestColumns):
3224         (WebCore::positionForPointRespectingEditingBoundaries):
3225         (WebCore::RenderBlock::positionForPointWithInlineChildren):
3226         (WebCore::RenderBlock::positionForPoint):
3227         (WebCore::RenderBlock::columnRectAt):
3228         (WebCore::RenderBlock::adjustPointToColumnContents):
3229         (WebCore::RenderBlock::adjustRectForColumns):
3230         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
3231         (WebCore::RenderBlock::adjustForColumns):
3232         (WebCore::RenderBlock::lastLineBoxBaseline):
3233         (WebCore::RenderBlock::nextPageLogicalTop):
3234         (WebCore::RenderBlock::adjustForUnsplittableChild):
3235         (WebCore::RenderBlock::adjustLinePositionForPagination):
3236         (WebCore::RenderBlock::collapsedMarginBeforeForChild):
3237         (WebCore::RenderBlock::collapsedMarginAfterForChild):
3238         (WebCore::RenderBlock::marginStartForChild):
3239         (WebCore::RenderBlock::marginEndForChild):
3240         (WebCore::RenderBlock::setMarginStartForChild):
3241         (WebCore::RenderBlock::setMarginEndForChild):
3242         (WebCore::RenderBlock::marginValuesForChild):
3243         * rendering/RenderBlock.h:
3244         (WebCore::RenderBlock::logicalWidthForChild):
3245         (WebCore::RenderBlock::logicalHeightForChild):
3246         (WebCore::RenderBlock::logicalTopForChild):
3247         (WebCore::RenderBlock::logicalRightOffsetForContent):
3248         (WebCore::RenderBlock::logicalLeftOffsetForContent):
3249         (WebCore::RenderBlock::logicalTopForFloat):
3250         (WebCore::RenderBlock::logicalBottomForFloat):
3251         (WebCore::RenderBlock::logicalLeftForFloat):
3252         (WebCore::RenderBlock::logicalRightForFloat):
3253         (WebCore::RenderBlock::logicalWidthForFloat):
3254         (WebCore::RenderBlock::setLogicalTopForFloat):
3255         (WebCore::RenderBlock::setLogicalLeftForFloat):
3256         (WebCore::RenderBlock::setLogicalHeightForFloat):
3257         (WebCore::RenderBlock::setLogicalWidthForFloat):
3258         (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
3259         (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
3260         * rendering/RenderBlockLineLayout.cpp:
3261         (WebCore::RenderBlock::createLineBoxes):
3262         (WebCore::RenderBlock::layoutInlineChildren):
3263         (WebCore::RenderBlock::checkFloatsInCleanLine):
3264         (WebCore::setStaticPositions):
3265         (WebCore::RenderBlock::findNextLineBreak):
3266         (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
3267         (WebCore::RenderBlock::afterSideVisualOverflowForLine):
3268         (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
3269         (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
3270         * rendering/RenderBox.cpp:
3271         (WebCore::RenderBox::marginStart):
3272         (WebCore::RenderBox::marginEnd):
3273         (WebCore::RenderBox::setMarginStart):
3274         (WebCore::RenderBox::setMarginEnd):
3275         (WebCore::RenderBox::styleDidChange):
3276         (WebCore::RenderBox::logicalScroll):
3277         (WebCore::RenderBox::computeLogicalWidth):
3278         (WebCore::RenderBox::computeLogicalHeight):
3279         (WebCore::RenderBox::availableLogicalHeightUsing):
3280         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
3281         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
3282         (WebCore::RenderBox::computePositionedLogicalWidth):
3283         (WebCore::computeLogicalLeftPositionedOffset):
3284         (WebCore::RenderBox::computePositionedLogicalHeight):
3285         (WebCore::computeLogicalTopPositionedOffset):
3286         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
3287         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
3288         (WebCore::RenderBox::addLayoutOverflow):
3289         (WebCore::RenderBox::flipForWritingMode):
3290         * rendering/RenderBoxModelObject.cpp:
3291         (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle):
3292         * rendering/RenderObject.cpp:
3293         (WebCore::RenderObject::RenderObject):
3294         (WebCore::RenderObject::styleWillChange):
3295         * rendering/RenderObject.h:
3296         (WebCore::RenderObject::isHorizontalWritingMode):
3297         (WebCore::RenderObject::setHorizontalWritingMode):
3298         * rendering/RenderTableCell.cpp:
3299         (WebCore::RenderTableCell::paddingTop):
3300         (WebCore::RenderTableCell::paddingBottom):
3301         (WebCore::RenderTableCell::paddingLeft):
3302         (WebCore::RenderTableCell::paddingRight):
3303         (WebCore::RenderTableCell::scrollbarsChanged):
3304         * rendering/RootInlineBox.cpp:
3305         (WebCore::RootInlineBox::RootInlineBox):
3306         (WebCore::RootInlineBox::lineSelectionGap):
3307         (WebCore::RootInlineBox::verticalPositionForBox):
3308
3309 2011-03-22  Simon Fraser  <simon.fraser@apple.com>
3310
3311         Reviewed by Beth Dakin.
3312
3313         Incorrect rendering of composited element with negative z-index child
3314         https://bugs.webkit.org/show_bug.cgi?id=56846
3315         
3316         When a composited element has a child with negative z-index, we make
3317         a separate layer for that element's foreground content. This layer
3318         was positioned incorrectly (but the content happened to paint at
3319         the right location), resulting in right/bottom clipping.
3320         
3321         Fix this, remove the little-used graphicsLayerToContentsCoordinates()
3322         contentsToGraphicsLayerCoordinates() methods, and optimize incremental
3323         repaints in the foreground and mask layers.
3324
3325         Tests: compositing/geometry/foreground-layer.html
3326                compositing/geometry/repaint-foreground-layer.html
3327
3328         * platform/graphics/ca/GraphicsLayerCA.cpp:
3329         (WebCore::GraphicsLayerCA::setNeedsDisplayInRect): Cull repaints
3330         which fall outside the layer bounds, so callers don't have to,
3331         and to avoid unnecessary layer commits.
3332
3333         * rendering/RenderLayerBacking.cpp:
3334         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): If
3335         we have a foreground layer inside a clipping layer, the foreground
3336         layer's offset is zero, since the clipping layer is its parent.
3337         
3338         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Use
3339         offsetFromRenderer() directly instead of contentsToGraphicsLayerCoordinates().
3340         Also do incremental repaints of the foreground and mask layers.
3341         
3342         (WebCore::RenderLayerBacking::paintContents): It was incorrect to always
3343         use compositedBounds() to compute the painting offset, since that's
3344         per-RenderLayerBacking, but a single RenderLayerBacking can have different
3345         GraphicsLayers with different offsets (e.g. the foreground layer).
3346         Instead, use offsetFromRenderer(), which gives has the correct offset.
3347
3348         * rendering/RenderLayerBacking.h: Remove unused methods.
3349
3350 2011-03-22  Chris Rogers  <crogers@google.com>
3351
3352         Reviewed by Kenneth Russell.
3353
3354         Use default-output instead of default-input to get hardware sample-rate
3355         https://bugs.webkit.org/show_bug.cgi?id=56858
3356
3357         No new tests since audio API is not yet implemented.
3358
3359         * platform/audio/mac/AudioDestinationMac.cpp:
3360         (WebCore::AudioDestination::hardwareSampleRate):
3361
3362 2011-03-22  Pratik Solanki  <psolanki@apple.com>
3363
3364         Reviewed by David Kilzer.
3365
3366         Implement -connection:didReceiveDataArray: NSURLConnection delegate method
3367         https://bugs.webkit.org/show_bug.cgi?id=56838
3368
3369         Add experimental support for the didReceiveDataArray callback on
3370         NSURLConnection. A RessourceHandleClient indicates its ability to
3371         handle this callback by returning true from supportsDataArray() method.
3372         Currently only SubresourceLoader uses this so we get the benefit for
3373         CSS, JS and image loads. For other clients we call didReceiveData with
3374         the CFData contents as before.
3375
3376         * WebCore.xcodeproj/project.pbxproj:
3377         * loader/ResourceLoader.h:
3378         * loader/SubresourceLoader.h:
3379         (WebCore::SubresourceLoader::supportsDataArray):
3380         * loader/cf/SubresourceLoaderCF.cpp: Added.
3381         (WebCore::SubresourceLoader::didReceiveDataArray):
3382         * loader/mac/ResourceLoaderMac.mm:
3383         (WebCore::ResourceLoader::didReceiveDataArray):
3384         * platform/SharedBuffer.cpp:
3385         (WebCore::SharedBuffer::clear):
3386         (WebCore::SharedBuffer::buffer):
3387         * platform/SharedBuffer.h:
3388         * platform/cf/SharedBufferCF.cpp:
3389         (WebCore::SharedBuffer::append):
3390         (WebCore::SharedBuffer::copyDataArrayAndClear):
3391         * platform/network/ResourceHandleClient.h:
3392         (WebCore::ResourceHandleClient::supportsDataArray):
3393         (WebCore::ResourceHandleClient::didReceiveDataArray):
3394         * platform/network/mac/ResourceHandleMac.mm:
3395         (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):
3396
3397 2011-03-22  Eric Seidel  <eric@webkit.org>
3398
3399         Reviewed by Adam Barth.
3400
3401         Make it possible to build JavaScriptCore and WebCore gyp builds outside of Source
3402         https://bugs.webkit.org/show_bug.cgi?id=56867
3403
3404         This should make it possible to build the gyp-generated WebCore.xcodeproj
3405         from a WebCore directory outside of Source.
3406
3407         * gyp/WebCore.gyp:
3408         * gyp/run-if-exists.sh: Added.
3409         * gyp/update-info-plist.sh: Added.
3410
3411 2011-03-22  Anders Carlsson  <andersca@apple.com>
3412
3413         Fix WebKit2 build.
3414
3415         * WebCore.exp.in:
3416         Export a symbol needed by WebKit2.
3417
3418 2011-03-22  Adam Barth  <abarth@webkit.org>
3419
3420         Reviewed by Eric Seidel.
3421
3422         Add the remaining steps to WebCore GYP build
3423         https://bugs.webkit.org/show_bug.cgi?id=56864
3424
3425         These steps match the normal build.  After this patch, I believe the
3426         WebCore GYP build is complete.
3427
3428         * WebCore.gypi:
3429         * gyp/WebCore.gyp:
3430         * gyp/copy-inspector-resources.sh: Added.
3431
3432 2011-03-22  Beth Dakin  <bdakin@apple.com>
3433
3434         Reviewed by Simon Fraser.
3435
3436         Fix for https://bugs.webkit.org/show_bug.cgi?id=56856 RenderListBox needs to be 
3437         added to Page::scrollableAreaSet()
3438
3439         * rendering/RenderListBox.cpp:
3440         (WebCore::RenderListBox::RenderListBox):
3441         (WebCore::RenderListBox::~RenderListBox):
3442         * rendering/RenderListBox.h:
3443         (WebCore::RenderListBox::disconnectFromPage):
3444
3445 2011-03-22  Chris Rogers  <crogers@google.com>
3446
3447         Reviewed by Kenneth Russell.
3448
3449         Add high-quality band-limited audio resampling algorithm
3450         https://bugs.webkit.org/show_bug.cgi?id=56692
3451
3452         No new tests since audio API is not yet implemented.
3453
3454         * platform/audio/SincResampler.cpp: Added.
3455         (WebCore::SincResampler::SincResampler):
3456         (WebCore::SincResampler::initializeKernel):
3457         (WebCore::SincResampler::consumeSource):
3458         (WebCore::SincResampler::process):
3459         * platform/audio/SincResampler.h: Added.
3460
3461 2011-03-22  Adam Barth  <abarth@webkit.org>
3462
3463         Reviewed by Eric Seidel.
3464
3465         WebCore GYP build should build without help from normal WebCore build
3466         https://bugs.webkit.org/show_bug.cgi?id=56860
3467
3468         Before this patch, the WebCore GYP build wasn't generating the derived
3469         sources quite right because the ENABLE macros were not being
3470         communicated to the "Derived Sources" target.
3471
3472         This patch also adds the "Copy Forwarding and ICU Headers" as well as
3473         the "Streamline Inspector Source" steps, which are present in the
3474         normal build.  Unlike the normal build, these steps occur in a new
3475         target, called "WebCore Support", which is less than aesthetically
3476         beautiful.  Hopefully we'll be able to move them into the WebCore
3477         target proper in the future, but that will likely require some GYP
3478         changes.
3479
3480         This patch probably could have been broken down into a couple smaller
3481         patches, but that doesn't seem necessary.
3482
3483         * WebCore.gypi:
3484             - This file appears to no longer exist.
3485         * gyp/WebCore.gyp:
3486         * gyp/copy-forwarding-and-icu-headers.sh: Added.
3487         * gyp/streamline-inspector-source.sh: Added.
3488
3489 2011-03-22  David Hyatt  <hyatt@apple.com>
3490
3491         Reviewed by Simon Fraser.
3492
3493         https://bugs.webkit.org/show_bug.cgi?id=56859
3494         
3495         Floats in the floating object list occur in the order that they are positioned. This means
3496         that for a given vertical offset, the last left object in the list that intersects that offset
3497         will be the rightmost float. There is no need to check any previous floats, since they have to be
3498         further left than that rightmost float. The same rules hold true for right-aligned floats.
3499         
3500         Change logicalLeft/RightOffsetForLine to iterate backwards instead of forwards and to stop the moment
3501         they encounter a float that intersects the vertical range.
3502         
3503         This cuts the maze solving time for a 20x20 maze in the IE MazeSolver test in half.
3504
3505         * rendering/RenderBlock.cpp:
3506         (WebCore::RenderBlock::logicalLeftOffsetForLine):
3507         (WebCore::RenderBlock::logicalRightOffsetForLine):
3508
3509 2011-03-22  Justin Schuh  <jschuh@chromium.org>
3510
3511         Reviewed by Dirk Schulze.
3512
3513         SVG displacement map should validate channel selections
3514         https://bugs.webkit.org/show_bug.cgi?id=56794
3515
3516         Test: svg/filters/feDisplacementMap-crash-test.xhtml
3517
3518         * svg/SVGFEDisplacementMapElement.cpp:
3519         (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
3520
3521 2011-03-22  Huahui Wu  <mediadependent@gmail.com>
3522
3523         Reviewed by Steve Block.
3524
3525         [Android] Update PlatformTouchEvent for android so it can pass IDs and states around.