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