f300af92f104047a16d6806e17c9601ee286ae9e
[WebKit.git] / WebCore / ChangeLog
1 2010-09-09  Kinuko Yasuda  <kinuko@chromium.org>
2
3         Reviewed by Dumitru Daniliuc.
4
5         Add Entry.getMetadata for FileSystem API
6         https://bugs.webkit.org/show_bug.cgi?id=45403
7
8         Add getMetadata to Entry.idl (I had missed to include this
9         in my previous Entry.idl patch.)
10
11         Also make some minor cleanups and nits fixes.
12
13         No new tests; layout test is going be added later.
14
15         * fileapi/DOMFileSystem.cpp: Bug fix.
16         * fileapi/MetadataCallback.h: Nits fix.
17         * fileapi/Entry.idl: Added getMetadata.
18         * fileapi/ErrorCallback.h: Nits fix.
19
20 2010-09-09  Ryosuke Niwa  <rniwa@webkit.org>
21
22         Reviewed by Eric Seidel.
23
24         REGRESSION: applying new font size causes font-size outside selection to change
25         https://bugs.webkit.org/show_bug.cgi?id=45026
26
27         The regression was caused by removeImplicitlyStyledElement not converting font size to CSS value properly.
28         Namely, it was treating font size as a pixel value for font-size property.  Fixed this by adding fontSizeToCSSValue
29         which uses HTMLFontElement::cssValueFromFontSizeNumber and deployed it in removeImplicitlyStyledElement
30
31         Also fixed a bug in StyleChange::extractTextStyles that it ignores font-size property when the values were
32         relative terms such as x-small and -webkit-xxx-large. And replaced the logic to convert from pixel font size
33         to legacy font size by CSSStyleSelector::legacyFontSize.
34
35         Test: editing/style/push-down-font-styles.html
36
37         * editing/ApplyStyleCommand.cpp:
38         (WebCore::StyleChange::extractTextStyles): Fixed a bug. See above.
39         (WebCore::stringToCSSValue): Converts string to CSSValue.
40         (WebCore::fontSizeToCSSValue): Converts font size number (String) to CSSPrimitiveValue.
41         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Calls stringToCSSValue and fontSizeToCSSValue.
42         * css/CSSStyleSelector.h: Made fontSizeForKeyword public.
43
44 2010-09-09  Sheriff Bot  <webkit.review.bot@gmail.com>
45
46         Unreviewed, rolling out r67126.
47         http://trac.webkit.org/changeset/67126
48         https://bugs.webkit.org/show_bug.cgi?id=45510
49
50         broke chromium mac compile, it also uses PlatformContextSkia
51         (Requested by jamesr on #webkit).
52
53         * platform/graphics/chromium/ContentLayerChromium.cpp:
54         (WebCore::ContentLayerChromium::updateContents):
55         * platform/graphics/chromium/FontLinux.cpp:
56         (WebCore::adjustTextRenderMode):
57         (WebCore::Font::drawGlyphs):
58         (WebCore::Font::drawComplexText):
59         * platform/graphics/chromium/LayerRendererChromium.cpp:
60         (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
61         * platform/graphics/chromium/VideoLayerChromium.cpp:
62         (WebCore::VideoLayerChromium::updateContents):
63         * platform/graphics/skia/ImageBufferSkia.cpp:
64         (WebCore::ImageBuffer::ImageBuffer):
65         (WebCore::ImageBuffer::clip):
66         * platform/graphics/skia/PlatformContextSkia.cpp:
67         (WebCore::PlatformContextSkia::State::State):
68         (WebCore::PlatformContextSkia::PlatformContextSkia):
69         (WebCore::PlatformContextSkia::save):
70         (WebCore::PlatformContextSkia::restore):
71         * platform/graphics/skia/PlatformContextSkia.h:
72
73 2010-09-09  Simon Fraser  <simon.fraser@apple.com>
74
75         Attempt to fix Qt build.
76
77         * WebCore.pro:
78
79 2010-09-09  Simon Fraser  <simon.fraser@apple.com>
80
81         Reviewed by Darin Adler.
82
83         https://bugs.webkit.org/show_bug.cgi?id=45509
84         <rdar://problem/8142166> REGRESSION: WebView setDrawsBackground:NO no
85         longer works without setBackgroundColor:clearColor
86         
87         r61215 caused RenderView to paint the viewport background when the
88         document element's renderer is known to not fill opaquely paint
89         the entire viewport, i.e. more often than it did before.
90         
91         This exposed a latent, long-standing bug which was introduced
92         in r14638 (the RenderCanvas -> RenderView rename), where a call
93         to view()->isTransparent() was not converted to frameView()->isTransparent(),
94         yet happened to still compile because of RenderObject::isTransparent().
95         
96         This resulted in us painting the viewport background, even when
97         WebView clients explicitly said that they wanted a transparent
98         WebView.
99         
100         Fixed by calling frameView()->isTransparent(), as intended.
101
102         * rendering/RenderView.cpp:
103         (WebCore::RenderView::paintBoxDecorations):
104
105 2010-09-09  Chris Rogers  <crogers@google.com>
106
107         Reviewed by Kenneth Russell.
108
109         audio engine: add Biquad files
110         https://bugs.webkit.org/show_bug.cgi?id=44795
111
112         No new tests since audio API is not yet implemented.
113
114         * platform/audio/Biquad.cpp: Added.
115         (WebCore::Biquad::Biquad):
116         (WebCore::Biquad::process):
117         (WebCore::Biquad::processFast):
118         (WebCore::Biquad::processSliceFast):
119         (WebCore::Biquad::reset):
120         (WebCore::Biquad::setLowpassParams):
121         (WebCore::Biquad::setHighpassParams):
122         (WebCore::Biquad::setLowShelfParams):
123         (WebCore::Biquad::setZeroPolePairs):
124         (WebCore::Biquad::setAllpassPole):
125         * platform/audio/Biquad.h: Added.
126         (WebCore::Biquad::~Biquad):
127
128 2010-09-09  Chris Rogers  <crogers@google.com>
129
130         Reviewed by Kenneth Russell.
131
132         Add AudioBuffer files
133         https://bugs.webkit.org/show_bug.cgi?id=45003
134
135         No new tests since audio API is not yet implemented.
136
137         * webaudio/AudioBuffer.cpp: Added.
138         (WebCore::AudioBuffer::create):
139         (WebCore::AudioBuffer::createFromAudioFileData):
140         (WebCore::AudioBuffer::AudioBuffer):
141         (WebCore::AudioBuffer::releaseMemory):
142         (WebCore::AudioBuffer::getChannelData):
143         (WebCore::AudioBuffer::zero):
144         * webaudio/AudioBuffer.h: Added.
145         (WebCore::AudioBuffer::length):
146         (WebCore::AudioBuffer::duration):
147         (WebCore::AudioBuffer::sampleRate):
148         (WebCore::AudioBuffer::numberOfChannels):
149         (WebCore::AudioBuffer::gain):
150         (WebCore::AudioBuffer::setGain):
151         * webaudio/AudioBuffer.idl: Added.
152
153 2010-09-09  Alexey Marinichev  <amarinichev@chromium.org>
154
155         Reviewed by James Robinson.
156
157         [chromium] Disable subpixel rendering in Linux when GPU compositor is active
158         https://bugs.webkit.org/show_bug.cgi?id=45087
159
160         Covered by all tests that activate the compositor and contain text.
161
162         * platform/graphics/chromium/ContentLayerChromium.cpp:
163         (WebCore::ContentLayerChromium::updateContents):
164         * platform/graphics/chromium/FontLinux.cpp:
165         (WebCore::adjustTextRenderMode): Added a check to see if the compositor is active.
166         (WebCore::Font::drawGlyphs):
167         (WebCore::Font::drawComplexText):
168         * platform/graphics/chromium/LayerRendererChromium.cpp:
169         (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
170         * platform/graphics/chromium/VideoLayerChromium.cpp:
171         (WebCore::VideoLayerChromium::updateContents):
172         * platform/graphics/skia/ImageBufferSkia.cpp:
173         (WebCore::ImageBuffer::ImageBuffer):
174         (WebCore::ImageBuffer::clip):
175         * platform/graphics/skia/PlatformContextSkia.cpp:
176         Made setDrawingToImageBuffer and isDrawingToImageBuffer available to
177         Linux; removed all #if OS(WINDOWS) || OS(LINUX).
178         (WebCore::PlatformContextSkia::State::State):
179         (WebCore::PlatformContextSkia::PlatformContextSkia):
180         (WebCore::PlatformContextSkia::isDrawingToImageBuffer):
181         (WebCore::PlatformContextSkia::save):
182         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
183         (WebCore::PlatformContextSkia::restore):
184         (WebCore::PlatformContextSkia::applyClipFromImage):
185         * platform/graphics/skia/PlatformContextSkia.h:
186
187 2010-09-09  Simon Fraser  <simon.fraser@apple.com>
188
189         Fix windows build by adding missing file.
190
191         * platform/graphics/win/LocalWindowsContext.h: Added.
192         (WebCore::LocalWindowsContext::LocalWindowsContext):
193         (WebCore::LocalWindowsContext::~LocalWindowsContext):
194         (WebCore::LocalWindowsContext::hdc):
195
196 2010-09-09  Simon Fraser  <simon.fraser@apple.com>
197
198         Reviewed by Adam Roben.
199
200         Scrollbars fail to render in composited iframes.
201         https://bugs.webkit.org/show_bug.cgi?id=45335
202
203         Add a stack-based class, LocalWindowsContext, which does a getWindowsContext/
204         releaseWindowsContext automatically.
205
206         Also fix getWindowsContext to create a bitmap context if mayCreateBitmap
207         is true, and if the context's HDC is null. This fixes scrollbar rendering
208         in compositing layers.
209
210         Use LocalWindowsContext in places where we had bare getWindowsContext() calls.
211
212         * platform/graphics/win/LocalWindowsContext.h
213         (WebCore::LocalWindowsContext::LocalWindowsContext):
214         (WebCore::LocalWindowsContext::~LocalWindowsContext):
215         (WebCore::LocalWindowsContext::hdc):
216         * platform/graphics/win/GraphicsContextCGWin.cpp:
217         (WebCore::GraphicsContext::releaseWindowsContext):
218         * platform/graphics/win/GraphicsContextWin.cpp:
219         (WebCore::GraphicsContext::getWindowsContext):
220         * platform/graphics/win/IconWin.cpp:
221         (WebCore::Icon::paint):
222         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
223         (WebCore::MediaPlayerPrivate::paint):
224         * platform/win/ScrollbarThemeWin.cpp:
225         (WebCore::ScrollbarThemeWin::paintTrackPiece):
226         (WebCore::ScrollbarThemeWin::paintButton):
227         * plugins/win/PluginViewWin.cpp:
228         (WebCore::PluginView::paintWindowedPluginIntoContext):
229         (WebCore::PluginView::paint):
230         * rendering/RenderThemeWin.cpp:
231         (WebCore::drawControl):
232
233 2010-09-09  Vincent Scheib  <scheib@chromium.org>
234
235         Reviewed by James Robinson.
236
237         [Chromium] Minimize uploads in canvas 2d mixed mode rendering
238         https://bugs.webkit.org/show_bug.cgi?id=45476
239
240         No new tests - change is for performance, logic fixes only apparent when running hardware acceleration.
241
242         - Enumeration values fixed, "CavasWillDraw" -> "CanvasDidDraw".
243         - markDirtyRect() plumbed through GraphicsContext to PlatformContextSkia.
244         - Texture::updateSubRect() added to allow uploading only a dirty rect.
245         - Logic fix in ImageBuffer::draw(), caused canvas to canvas copies to be incorrect.
246
247         * html/canvas/CanvasRenderingContext2D.cpp:
248         (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
249         (WebCore::CanvasRenderingContext2D::strokeRect):
250         (WebCore::CanvasRenderingContext2D::drawImage):
251         (WebCore::CanvasRenderingContext2D::didDraw):
252           - Logic fix for drawingContext()->markDirtyRect() call.
253         (WebCore::CanvasRenderingContext2D::putImageData):
254         (WebCore::CanvasRenderingContext2D::drawTextInternal):
255           - Logic fix for calls to "didDraw()", use peer method first.
256         * html/canvas/CanvasRenderingContext2D.h:
257         * platform/graphics/GraphicsContext.cpp:
258         (WebCore::GraphicsContext::drawImageBuffer):
259         (WebCore::GraphicsContext::markDirtyRect):
260         * platform/graphics/GraphicsContext.h:
261         * platform/graphics/gpu/Texture.cpp:
262         (WebCore::Texture::create):
263         (WebCore::Texture::load):
264         (WebCore::Texture::updateSubRect):
265         * platform/graphics/gpu/Texture.h:
266         * platform/graphics/gpu/TilingData.h:
267         (WebCore::TilingData::borderTexels):
268         * platform/graphics/skia/GraphicsContextSkia.cpp:
269         (WebCore::GraphicsContext::clipConvexPolygon):
270         (WebCore::GraphicsContext::markDirtyRect):
271         * platform/graphics/skia/ImageBufferSkia.cpp:
272         (WebCore::ImageBuffer::draw):
273         * platform/graphics/skia/PlatformContextSkia.cpp:
274         (WebCore::PlatformContextSkia::State::cloneInheritedProperties):
275         (WebCore::PlatformContextSkia::drawRect):
276         (WebCore::PlatformContextSkia::setFillColor):
277         (WebCore::PlatformContextSkia::setStrokeColor):
278         (WebCore::PlatformContextSkia::markDirtyRect):
279         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
280         * platform/graphics/skia/PlatformContextSkia.h:
281
282 2010-09-08  Darin Adler  <darin@apple.com>
283
284         Reviewed by Adam Barth.
285
286         Move functions from Frame to Editor as planned
287         https://bugs.webkit.org/show_bug.cgi?id=45218
288
289         Just executing the plan that has long been described in Frame.h
290         to move a bunch of functions to Editor.
291
292         * WebCore.exp.in: Updated.
293
294         * editing/Editor.cpp:
295         (WebCore::Editor::fontForSelection):
296         (WebCore::Editor::textDirectionForSelection):
297         (WebCore::Editor::applyStyle):
298         (WebCore::Editor::selectionStartHasStyle):
299         (WebCore::Editor::selectionHasStyle):
300         (WebCore::Editor::selectionStartCSSPropertyValue):
301         (WebCore::Editor::Editor):
302         (WebCore::Editor::cut):
303         (WebCore::Editor::copy):
304         (WebCore::Editor::ignoreSpelling):
305         (WebCore::Editor::learnSpelling):
306         (WebCore::Editor::isSelectionMisspelled):
307         (WebCore::Editor::guessesForMisspelledSelection):
308         (WebCore::Editor::selectedText):
309         (WebCore::Editor::firstRectForRange):
310         (WebCore::Editor::shouldChangeSelection):
311         (WebCore::Editor::computeAndSetTypingStyle):
312         (WebCore::Editor::selectionComputedStyle):
313         (WebCore::Editor::textFieldDidBeginEditing):
314         (WebCore::Editor::textFieldDidEndEditing):
315         (WebCore::Editor::textDidChangeInTextField):
316         (WebCore::Editor::doTextFieldCommandFromEvent):
317         (WebCore::Editor::textWillBeDeletedInTextField):
318         (WebCore::Editor::textDidChangeInTextArea):
319         (WebCore::Editor::applyEditingStyleToBodyElement):
320         (WebCore::Editor::applyEditingStyleToElement):
321         (WebCore::Editor::styleForSelectionStart):
322         (WebCore::Editor::findString):
323         (WebCore::Editor::countMatchesForText):
324         (WebCore::Editor::setMarkedTextMatchesAreHighlighted):
325         (WebCore::Editor::respondToChangedSelection):
326         * editing/Editor.h:
327         * editing/mac/EditorMac.mm:
328         (WebCore::Editor::fontAttributesForSelectionStart):
329         (WebCore::Editor::baseWritingDirectionForSelectionStart):
330         Moved functions here.
331
332         * page/Frame.cpp:
333         (WebCore::Frame::Frame):
334         (WebCore::Frame::shouldChangeSelection):
335         * page/Frame.h:
336         * page/mac/FrameMac.mm:
337         Moved functions out of here.
338
339         * dom/InputElement.cpp:
340         (WebCore::InputElement::dispatchBlurEvent):
341         (WebCore::InputElement::aboutToUnload):
342         * editing/DeleteSelectionCommand.cpp:
343         (WebCore::DeleteSelectionCommand::doApply):
344         * editing/EditorCommand.cpp:
345         (WebCore::executeToggleStyleInList):
346         (WebCore::executeDeleteToMark):
347         (WebCore::executeFindString):
348         (WebCore::executeSelectToMark):
349         (WebCore::executeSetMark):
350         (WebCore::executeSwapWithMark):
351         (WebCore::enabledVisibleSelectionAndMark):
352         * editing/SelectionController.cpp:
353         (WebCore::SelectionController::setSelection):
354         * html/HTMLInputElement.cpp:
355         (WebCore::HTMLInputElement::defaultEventHandler):
356         * page/ContextMenuController.cpp:
357         (WebCore::ContextMenuController::contextMenuItemSelected):
358         * page/DOMWindow.cpp:
359         (WebCore::DOMWindow::find):
360         * page/DragController.cpp:
361         (WebCore::DragController::startDrag):
362         * page/EventHandler.cpp:
363         (WebCore::EventHandler::sendContextMenuEventForKey):
364         * page/Page.cpp:
365         (WebCore::Page::findString):
366         (WebCore::Page::markAllMatchesForText):
367         * rendering/InlineTextBox.cpp:
368         (WebCore::InlineTextBox::paintTextMatchMarker):
369         * rendering/RenderTextControlMultiLine.cpp:
370         (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
371         * rendering/RenderTextControlSingleLine.cpp:
372         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
373         Changed call sites to use editor().
374
375 2010-09-09  Chris Rogers  <crogers@google.com>
376
377         Reviewed by Kenneth Russell.
378
379         Add AudioDSPKernelProcessor files
380         https://bugs.webkit.org/show_bug.cgi?id=45211
381
382         No new tests since audio API is not yet implemented.
383
384         * platform/audio/AudioDSPKernelProcessor.cpp: Added.
385         (WebCore::AudioDSPKernelProcessor::AudioDSPKernelProcessor):
386         (WebCore::AudioDSPKernelProcessor::initialize):
387         (WebCore::AudioDSPKernelProcessor::uninitialize):
388         (WebCore::AudioDSPKernelProcessor::process):
389         (WebCore::AudioDSPKernelProcessor::reset):
390         (WebCore::AudioDSPKernelProcessor::setNumberOfChannels):
391         * platform/audio/AudioDSPKernelProcessor.h: Added.
392         (WebCore::AudioDSPKernelProcessor::numberOfChannels):
393
394 2010-09-09  Chris Rogers  <crogers@google.com>
395
396         Reviewed by Kenneth Russell.
397
398         Add setRange() and zeroRange() methods to TypedArrayBase
399         https://bugs.webkit.org/show_bug.cgi?id=45419
400
401         No new tests since adding new methods which are not yet called anywhere.
402
403         * html/canvas/ArrayBufferView.cpp:
404         (WebCore::ArrayBufferView::setRangeImpl):
405         (WebCore::ArrayBufferView::zeroRangeImpl):
406         * html/canvas/ArrayBufferView.h:
407         * html/canvas/TypedArrayBase.h:
408         (WebCore::TypedArrayBase::setRange):
409         (WebCore::TypedArrayBase::zeroRange):
410
411 2010-09-09  Robert Hogan  <robert@webkit.org>
412
413         Reviewed by Andreas Kling.
414
415         [Qt] always send an Accept header
416
417         Ensure QtWebKit always sends an Accept header. This is required
418         for compatibility with sites that expect the header in requests
419         for subresources.
420
421         See https://bugs.webkit.org/show_bug.cgi?id=33242 for more.
422
423         https://bugs.webkit.org/show_bug.cgi?id=45458
424
425         * platform/network/qt/ResourceRequestQt.cpp:
426         (WebCore::ResourceRequest::toNetworkRequest):
427
428 2010-09-09  Eric Carlson  <eric.carlson@apple.com>
429
430         Reviewed by Chris Marrin.
431
432         Add media element logging
433         https://bugs.webkit.org/show_bug.cgi?id=45469
434
435         Add logging at interesting points in a media element's lifecycle.
436
437         * html/HTMLMediaElement.cpp:
438         (WebCore::urlForLogging):
439         (WebCore::boolString):
440         (WebCore::HTMLMediaElement::scheduleEvent):
441         (WebCore::HTMLMediaElement::asyncEventTimerFired):
442         (WebCore::HTMLMediaElement::canPlayType):
443         (WebCore::HTMLMediaElement::load):
444         (WebCore::HTMLMediaElement::prepareForLoad):
445         (WebCore::HTMLMediaElement::selectMediaResource):
446         (WebCore::HTMLMediaElement::loadResource):
447         (WebCore::HTMLMediaElement::isSafeToLoadURL):
448         (WebCore::HTMLMediaElement::waitForSourceChange):
449         (WebCore::HTMLMediaElement::noneSupported):
450         (WebCore::HTMLMediaElement::mediaEngineError):
451         (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks):
452         (WebCore::HTMLMediaElement::setNetworkState):
453         (WebCore::HTMLMediaElement::setReadyState):
454         (WebCore::HTMLMediaElement::rewind):
455         (WebCore::HTMLMediaElement::returnToRealtime):
456         (WebCore::HTMLMediaElement::addPlayedRange):
457         (WebCore::HTMLMediaElement::seek):
458         (WebCore::HTMLMediaElement::finishSeek):
459         (WebCore::HTMLMediaElement::setPlaybackRate):
460         (WebCore::HTMLMediaElement::setWebkitPreservesPitch):
461         (WebCore::HTMLMediaElement::setAutoplay):
462         (WebCore::HTMLMediaElement::setPreload):
463         (WebCore::HTMLMediaElement::play):
464         (WebCore::HTMLMediaElement::playInternal):
465         (WebCore::HTMLMediaElement::pause):
466         (WebCore::HTMLMediaElement::pauseInternal):
467         (WebCore::HTMLMediaElement::setLoop):
468         (WebCore::HTMLMediaElement::setControls):
469         (WebCore::HTMLMediaElement::setVolume):
470         (WebCore::HTMLMediaElement::setMuted):
471         (WebCore::HTMLMediaElement::togglePlayState):
472         (WebCore::HTMLMediaElement::beginScrubbing):
473         (WebCore::HTMLMediaElement::endScrubbing):
474         (WebCore::HTMLMediaElement::selectNextSourceChild):
475         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
476         (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
477         (WebCore::HTMLMediaElement::mediaPlayerMuteChanged):
478         (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
479         (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
480         (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
481         (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks):
482         (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
483         (WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged):
484         (WebCore::HTMLMediaElement::updatePlayState):
485         (WebCore::HTMLMediaElement::userCancelledLoad):
486         (WebCore::HTMLMediaElement::stop):
487         (WebCore::HTMLMediaElement::suspend):
488         (WebCore::HTMLMediaElement::resume):
489         (WebCore::HTMLMediaElement::hasPendingActivity):
490         (WebCore::HTMLMediaElement::mediaVolumeDidChange):
491         (WebCore::HTMLMediaElement::createMediaPlayerProxy):
492         (WebCore::HTMLMediaElement::enterFullscreen):
493         (WebCore::HTMLMediaElement::exitFullscreen):
494         (WebCore::HTMLMediaElement::setClosedCaptionsVisible):
495         (WebCore::HTMLMediaElement::mediaCanStart):
496         (WebCore::HTMLMediaElement::setShouldDelayLoadEvent):
497
498 2010-09-09  Anton Muhin  <antonm@chromium.org>
499
500         Reviewed by Adam Barth.
501
502         [v8] bypass caches when query memory usage from post GC and in crash handler.
503         https://bugs.webkit.org/show_bug.cgi?id=45036
504
505         Second part of the whole change: now use API introduced in
506         http://trac.webkit.org/changeset/66818 and now backed by Chromium.
507
508         * bindings/v8/V8DOMWindowShell.cpp:
509         (WebCore::reportFatalErrorInV8):
510         * bindings/v8/V8GCController.cpp:
511         (WebCore::V8GCController::gcEpilogue):
512
513 2010-09-09  Kwang Yul Seo  <skyul@company100.net>
514
515         Reviewed by James Robinson.
516
517         Make sure skia is not Chromium specific
518         https://bugs.webkit.org/show_bug.cgi?id=39672
519
520         FontCustomPlatformData is not Chromium-specific. Move it to platform/skia.
521
522         No new tests because this is pure refactoring.
523
524         * WebCore.gyp/WebCore.gyp:
525         * WebCore.gypi:
526         * platform/graphics/chromium/FontCustomPlatformData.cpp: Removed.
527         * platform/graphics/chromium/FontCustomPlatformData.h: Removed.
528         * platform/graphics/skia/FontCustomPlatformData.cpp: Copied from WebCore/platform/graphics/chromium/FontCustomPlatformData.cpp.
529         * platform/graphics/skia/FontCustomPlatformData.h: Copied from WebCore/platform/graphics/chromium/FontCustomPlatformData.h.
530
531 2010-09-09  Chris Rogers  <crogers@google.com>
532
533         Reviewed by Chris Fleizach.
534
535         Add AudioDSPKernel files
536         https://bugs.webkit.org/show_bug.cgi?id=45319
537
538         No new tests since audio API is not yet implemented.
539
540         * platform/audio/AudioDSPKernel.h: Added.
541         (WebCore::AudioDSPKernel::AudioDSPKernel):
542         (WebCore::AudioDSPKernel::~AudioDSPKernel):
543         (WebCore::AudioDSPKernel::sampleRate):
544         (WebCore::AudioDSPKernel::nyquist):
545         (WebCore::AudioDSPKernel::processor):
546
547 2010-09-09  Chris Rogers  <crogers@google.com>
548
549         Reviewed by Chris Fleizach.
550
551         Add AudioProcessor.h
552         https://bugs.webkit.org/show_bug.cgi?id=45206
553
554         No new tests since audio API is not yet implemented.
555
556         * platform/audio/AudioProcessor.h: Added.
557         (WebCore::AudioProcessor::AudioProcessor):
558         (WebCore::AudioProcessor::~AudioProcessor):
559         (WebCore::AudioProcessor::isInitialized):
560         (WebCore::AudioProcessor::sampleRate):
561
562 2010-09-09  Kenneth Russell  <kbr@google.com>
563
564         Reviewed by James Robinson.
565
566         Add cubic texture coordinate computation
567         https://bugs.webkit.org/show_bug.cgi?id=45250
568
569         Adding the texture coordinate computation for cubic curves per the
570         GPU Gems 3 chapter. No tests yet; will be tested in conjunction
571         with later code.
572
573         * platform/graphics/gpu/LoopBlinnConstants.h: Added.
574         * platform/graphics/gpu/LoopBlinnTextureCoords.cpp: Added.
575         (WebCore::LoopBlinnTextureCoords::compute):
576         * platform/graphics/gpu/LoopBlinnTextureCoords.h: Added.
577         (WebCore::LoopBlinnTextureCoords::Result::Result):
578         (WebCore::LoopBlinnTextureCoords::LoopBlinnTextureCoords):
579
580 2010-09-09  Kenneth Russell  <kbr@google.com>
581
582         Reviewed by James Robinson.
583
584         Add cubic curve classifier
585         https://bugs.webkit.org/show_bug.cgi?id=45249
586
587         Adding the cubic curve classification algorithm per the GPU Gems 3
588         chapter. No tests yet; will be tested in conjunction with later code.
589
590         * platform/graphics/gpu/LoopBlinnClassifier.cpp: Added.
591         (WebCore::LoopBlinnClassifier::classify):
592         * platform/graphics/gpu/LoopBlinnClassifier.h: Added.
593         (WebCore::LoopBlinnClassifier::Result::Result):
594         (WebCore::LoopBlinnClassifier::LoopBlinnClassifier):
595
596 2010-09-09  Ryosuke Niwa  <rniwa@webkit.org>
597
598         Reviewed by Darin Adler.
599
600         QueryCommandValue('FontSize') returns pixel values instead of IE font numbers
601         https://bugs.webkit.org/show_bug.cgi?id=21033
602
603         Modified selectionStartCSSPropertyValue to return legacy font size instead of pixel size.
604         To implement the conversion between pixel font size and legacy font size,
605         added legacyFontSize to CSSStyleSelector with a helper static function findNearestLegacyFontSize.
606
607         Fixed a bug in selectionComputedStyle where it obtains the style of the previous editing position
608         even when the selection is a range. This change revealed a crash in executeToggleStyleInList,
609         which was also fixed.
610
611         Test: editing/execCommand/query-font-size.html
612
613         * css/CSSComputedStyleDeclaration.cpp:
614         (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword): Corrected style.
615         (WebCore::CSSComputedStyleDeclaration::useFixedFontDefaultSize): Added.
616         * css/CSSComputedStyleDeclaration.h:
617         * css/CSSStyleSelector.cpp:
618         (WebCore::CSSStyleSelector::fontSizeForKeyword): Renamed fixed/monospace to shouldUseFixedDefaultSize.
619         (WebCore::findNearestLegacyFontSize): Added, a helper for legacyFontSize.
620         (WebCore::CSSStyleSelector::legacyFontSize): Added.
621         * css/CSSStyleSelector.h:
622         * editing/Editor.cpp:
623         (WebCore::Editor::selectionStartCSSPropertyValue): Added a conversion from pixel to legacy font size.
624         * editing/EditorCommand.cpp:
625         (WebCore::executeToggleStyleInList): Crash fix.
626         * page/Frame.cpp:
627         (WebCore::Frame::selectionComputedStyle): See above.
628
629 2010-09-09  Robert Hogan  <robert@webkit.org>
630
631         Reviewed by Adam Barth.
632
633         Give WebKit clients a way to replace window.screen 
634         to foil attempts to track users with it.
635
636         This allows clients to overload the values returned by the
637         Screen object through the JSC manipulation API (such as
638         QWebFrame::addToJavaScriptWindowObject() in Qt). Clients will
639         want to do this when they do not want to reveal too much
640         explicit information about the user's desktop configuration.
641
642         https://bugs.webkit.org/show_bug.cgi?id=41802
643
644         * page/DOMWindow.idl:
645
646 2010-09-09  Kenneth Russell  <kbr@google.com>
647
648         Reviewed by James Robinson.
649
650         Memory leak in red/black tree
651         https://bugs.webkit.org/show_bug.cgi?id=45472
652
653         Fixed memory leak in red/black tree where it was using operator
654         new directly to allocate its internal nodes rather than the arena
655         with which it was configured. Added allocateObject variant to
656         arena supporting single-argument constructors. Added test to
657         red/black tree unit tests to cover this functionality, and
658         refactored TrackedAllocator into helper file to share between
659         arena and red/black tree tests.
660
661         * platform/graphics/gpu/PODArena.h:
662         (WebCore::PODArena::allocateObject):
663         (WebCore::PODArena::allocateBase):
664         * platform/graphics/gpu/PODIntervalTree.h:
665         (WebCore::PODIntervalTree::PODIntervalTree):
666         * platform/graphics/gpu/PODRedBlackTree.h:
667         (WebCore::PODRedBlackTree::add):
668
669 2010-09-09  Dean Jackson  <dino@apple.com>
670
671         Reviewed by Simon Fraser.
672
673         Fill mode is broken with multiple keyframes
674         https://bugs.webkit.org/show_bug.cgi?id=41209
675
676         With a forward fill mode the animation would tick after
677         the end of the animation, causing the fractional
678         duration of the animation to wrap. This meant the last
679         style update would happen using the incorrect keyframes.
680         The solution was to put clamps in for the elapsed time
681         and current iteration count.
682
683         Tests: animations/fill-mode-missing-from-to-keyframes.html
684                animations/fill-mode-multiple-keyframes.html
685
686         * page/animation/KeyframeAnimation.cpp:
687         (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
688
689 2010-09-09  Chris Fleizach  <cfleizach@apple.com>
690
691         Reviewed by David Kilzer.
692
693         AX: Support AccessibilityTextMarkers in DRT
694         https://bugs.webkit.org/show_bug.cgi?id=44778
695
696         Provide support in DRT for accessing and manipulating the text marker system that AX exposes.
697         This will allow future bug fixes in the text marker system to be adequately tested.
698
699         Tests: platform/mac/accessibility/element-for-text-marker.html
700                platform/mac/accessibility/text-marker-length.html
701
702         * accessibility/mac/AccessibilityObjectWrapper.mm:
703         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
704
705 2010-09-09  Simon Fraser  <simon.fraser@apple.com>
706
707         Reviewed by Dan Bernstein.
708
709         REGRESSION(r58875-r59046): Scrollable content drawn in wrong layer with Flash 10.1
710         https://bugs.webkit.org/show_bug.cgi?id=40743
711         
712         We can't do partial compositing layer updates on scrolling if we have to look
713         for overlap, because the overlap map needs to be populated by traversing the
714         compositing layer hierarchy from the root.
715
716         Test: compositing/layer-creation/scroll-partial-update.html
717
718         * rendering/RenderLayerCompositor.cpp:
719         (WebCore::RenderLayerCompositor::updateCompositingLayers):
720
721 2010-09-09  Philippe Normand  <pnormand@igalia.com>
722
723         Reviewed by Martin Robinson.
724
725         [GTK] testmimehandling falsely succeeds testing Ogg mime type
726         https://bugs.webkit.org/show_bug.cgi?id=45349
727
728         Advertize audio/x-vorbis+ogg so MediaDocuments loading local ogg
729         files work as well.
730
731         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
732         (WebCore::mimeTypeCache):
733
734 2010-09-09  Adam Barth  <abarth@webkit.org>
735
736         Move FTPDirectoryDocument, ImageDocument, MediaDocument, and
737         PluginDocument from WebCore/loader to WebCore/html.  These classes are
738         subclasses of HTMLDocument.  They don't belong in the loader.  Further
739         cleanup patches to follow.
740
741         * Android.mk:
742         * CMakeLists.txt:
743         * GNUmakefile.am:
744         * WebCore.gypi:
745         * WebCore.pro:
746         * WebCore.vcproj/WebCore.vcproj:
747         * WebCore.xcodeproj/project.pbxproj:
748         * html/FTPDirectoryDocument.cpp: Copied from WebCore/loader/FTPDirectoryDocument.cpp.
749         * html/FTPDirectoryDocument.h: Copied from WebCore/loader/FTPDirectoryDocument.h.
750         * html/ImageDocument.cpp: Copied from WebCore/loader/ImageDocument.cpp.
751         * html/ImageDocument.h: Copied from WebCore/loader/ImageDocument.h.
752         * html/MediaDocument.cpp: Copied from WebCore/loader/MediaDocument.cpp.
753         * html/MediaDocument.h: Copied from WebCore/loader/MediaDocument.h.
754         * html/PluginDocument.cpp: Copied from WebCore/loader/PluginDocument.cpp.
755         * html/PluginDocument.h: Copied from WebCore/loader/PluginDocument.h.
756         * loader/FTPDirectoryDocument.cpp: Removed.
757         * loader/FTPDirectoryDocument.h: Removed.
758         * loader/ImageDocument.cpp: Removed.
759         * loader/ImageDocument.h: Removed.
760         * loader/MediaDocument.cpp: Removed.
761         * loader/MediaDocument.h: Removed.
762         * loader/PluginDocument.cpp: Removed.
763         * loader/PluginDocument.h: Removed.
764
765 2010-09-09  Andrey Kosyakov  <caseq@chromium.org>
766
767         Reviewed by Yury Semikhatsky.
768
769         Web Inspector: use string representation of resource type in extension API
770         Fixed Resoruce.Type.toString() to handle Resource.Type.Media.
771         https://bugs.webkit.org/show_bug.cgi?id=45286
772
773         Test: inspector/extensions-resources.html
774
775         * English.lproj/localizedStrings.js: Added "media".
776         * inspector/front-end/ExtensionServer.js: Added webInspector.resources.Types. Return resource types as strings.
777         (WebInspector.ExtensionServer.prototype._convertResource):
778         (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
779         * inspector/front-end/Resource.js: Added toUIString(), changed toString() to return locale-independent representation.
780         (WebInspector.Resource.Type.toUIString):
781         (WebInspector.Resource.Type.toString):
782
783 2010-09-09  Kristian Amlie  <kristian.amlie@nokia.com>
784
785         Reviewed by Andreas Kling.
786
787         [Qt] Fixed incorrect Symbian scoping.
788
789         The missing install functionality is only true for mmp based systems.
790
791         https://bugs.webkit.org/show_bug.cgi?id=45268
792
793         * WebCore.pro:
794
795 2010-09-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
796
797         Reviewed by Dirk Schulze.
798
799         [WML] Add a parameter to fix build break.
800         https://bugs.webkit.org/show_bug.cgi?id=45437
801
802         In WMLSelectElement.h, the setSelectedIndexByUser() needs to have one more parameter. 
803         Because, parent class's setSelectedIndexByUser() has one more param.
804
805         * wml/WMLSelectElement.h:
806
807 2010-09-09  Ryuan Choi  <ryuan.choi@samsung.com>
808
809         Unreviewed attempt to fix EFL build after r67001.
810
811         [EFL] Regression (67001) Build break
812         https://bugs.webkit.org/show_bug.cgi?id=45422
813
814         * platform/efl/ScrollbarEfl.cpp:
815         (scrollbarEflEdjeMessage):
816
817 2010-09-08  Ryosuke Niwa  <rniwa@webkit.org>
818
819         Reviewed by Tony Chang.
820
821         MarkupAccumulator should be broken down into two classes
822         https://bugs.webkit.org/show_bug.cgi?id=44854
823
824         Extracted wrapWithNode, wrapWithStyleNode, stringValueForRange, renderedText, removeExteriorStyles,
825         shouldAnnotate, m_shouldAnnotate, and m_reversedPrecedingMarkup from MarkupAccumulator to create
826         StyledMarkupAccumulator in order to isolate annotation related code and prepending of text.
827
828         Isolating MarkupAccumulator as a separate class has two advantages:
829         1. Isolated serialization code is easier to understand and easier to security-review.
830         2. Embedder can use MarkupAccumulator to implement "Save as" feature.
831
832         Also made takeResults, appendText, and appendElement in MarkupAccumulator virtual to override in
833         StyledMarkupAccumulator because prepending text requires overriding takeResults, appendText needs
834         to append only rendered text when shouldAnnotate() is true, and appendElement requires a different
835         behavior when shouldAnnotate() is true or when called inside wrapWithNode with convertBlocksToInlines = true.
836
837         No new tests are added since this is a cleanup.
838
839         * editing/markup.cpp:
840         (WebCore::MarkupAccumulator::MarkupAccumulator): Removed shouldAnnotate from argument.
841         (WebCore::MarkupAccumulator::~MarkupAccumulator): Added.
842         (WebCore::StyledMarkupAccumulator::): Added.
843         (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Added.
844         (WebCore::StyledMarkupAccumulator::appendElement): Added to support annotation.
845         (WebCore::StyledMarkupAccumulator::shouldAnnotate): Moved from MarkupAccumulator.
846         (WebCore::MarkupAccumulator::appendStartTag): No longer takes convertBlocksToInlines and RangeFullySelectsNode.
847         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Moved from MarkupAccumulator.
848         (WebCore::MarkupAccumulator::takeResults): No longer accumulates prepended text, and made virtual.
849         (WebCore::StyledMarkupAccumulator::takeResults): Added to support prepended text.
850         (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute): Takes a reference to Attribute instead of a pointer.
851         (WebCore::MarkupAccumulator::entityMaskForText): Extracted from appendText.
852         (WebCore::MarkupAccumulator::appendText): No longer deals with annotation.
853         (WebCore::StyledMarkupAccumulator::appendText): Added to support annotation.
854         (WebCore::StyledMarkupAccumulator::stringValueForRange): Moved from MarkupAccumulator.
855         (WebCore::StyledMarkupAccumulator::renderedText): Moved from MarkupAccumulator.
856         (WebCore::MarkupAccumulator::appendElement): No longer deals with annotation.
857         (WebCore::StyledMarkupAccumulator::wrapWithNode): Moved from MarkupAccumulator.
858         (WebCore::StyledMarkupAccumulator::removeExteriorStyles): Moved from MarkupAccumulator.
859         (WebCore::MarkupAccumulator::appendOpenTag): Added.
860         (WebCore::MarkupAccumulator::appendCloseTag): Added.
861         (WebCore::MarkupAccumulator::appendAttribute): Added.
862         (WebCore::MarkupAccumulator::appendStartMarkup): No longer takes convertBlocksToInlines and RangeFullySelectsNode.
863         (WebCore::serializeNodes): Takes StyledMarkupAccumulator.
864         (WebCore::createMarkup): Range version uses StyledMarkupAccumulator and node version uses MarkupAccumulator.
865
866 2010-09-08  Peter Kasting  <pkasting@google.com>
867
868         Not reviewed, layout test fix.
869         
870         Fix flaky layout test results caused by not initializing members correctly.
871         https://bugs.webkit.org/show_bug.cgi?id=45411
872
873         * platform/ScrollAnimator.cpp:
874         (WebCore::ScrollAnimator::ScrollAnimator):
875         (WebCore::ScrollAnimator::~ScrollAnimator):
876         * platform/ScrollAnimator.h:
877
878 2010-09-08  MORITA Hajime  <morrita@google.com>
879
880         Reviewed by Tony Chang.
881
882         spelling underline gets lost on backspace
883         https://bugs.webkit.org/show_bug.cgi?id=41423
884
885         moveParagraphs() did make a DOM range by serializing source range
886         and deserializing it back, and markers are gone during the process.
887         This change marks that DOM range again.
888
889         Test: editing/spelling/spelling-backspace-between-lines.html
890
891         * editing/CompositeEditCommand.cpp:
892         (WebCore::CompositeEditCommand::moveParagraphs):
893         * editing/Editor.cpp:
894         (WebCore::Editor::clearMisspellingsAndBadGrammar): Added.
895         (WebCore::Editor::markMisspellingsAndBadGrammar): Added.
896         * editing/Editor.h:
897
898 2010-09-08  Adam Barth  <abarth@webkit.org>
899
900         Reviewed by Eric Seidel.
901
902         text/plain documents that start with \n trigger ASSERT
903         https://bugs.webkit.org/show_bug.cgi?id=45409
904
905         Because the TextDocumentParser uses a <pre> element to show the text,
906         it ran into a requirement from HTML5 to skip any initial \n character
907         tokens inside a <pre> element.  We don't want the behavior for
908         TextDocuments, so I've loosened our ASSERTs and added a comment and a
909         test to document the correct behavior.
910
911         Test: fast/tokenizer/text-plain.html
912
913         * html/parser/HTMLTokenizer.cpp:
914         (WebCore::HTMLTokenizer::nextToken):
915
916 2010-09-08  James Robinson  <jamesr@chromium.org>
917
918         Reviewed by Kenneth Russell.
919
920         [chromium] Always do 2d canvas clearRect() in hardware
921         https://bugs.webkit.org/show_bug.cgi?id=45415
922
923         r67003 forced Canvas 2d's clearRect() to happen in software if a gradient/shadow/etc was
924         active.  This is subtly wrong for mixed mode rendering since it results in only the
925         software backing store being cleared and not the hardware.  This forces clearRect() to
926         happen in hardware.  Since we upload mixed mode results before doing any hardware draw
927         this means we always clear everything.
928
929         * platform/graphics/skia/GraphicsContextSkia.cpp:
930         (WebCore::GraphicsContext::clearRect):
931
932 2010-09-08  Dean Jackson  <dino@apple.com>
933
934         Unreviewed attempt to fix the Mac builds.
935
936         * css/CSSParser.cpp:
937         (WebCore::CSSParser::parseAnimationTimingFunction):
938
939 2010-09-08  Dean Jackson  <dino@apple.com>
940
941         Unreviewed attempt to fix QT build.
942
943         * platform/graphics/qt/GraphicsLayerQt.cpp:
944         (WebCore::solveStepsFunction):
945         (WebCore::applyTimingFunction):
946
947 2010-09-08  Dean Jackson  <dino@apple.com>
948
949         Reviewed by Simon Fraser.
950
951         Implement steps() timing function for animations
952         https://bugs.webkit.org/show_bug.cgi?id=44541
953
954         Tests: animations/timing-functions.html
955                transitions/steps-timing-function.html
956
957         * css/CSSComputedStyleDeclaration.cpp:
958         (WebCore::getTimingFunctionValue):
959             - when creating computed style we now test what
960               type of timing function it being used
961         * css/CSSParser.cpp:
962         (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
963             - rename this method from parseTimingFunctionValue
964         (WebCore::CSSParser::parseAnimationTimingFunction):
965             - support parsing the steps() function
966         * css/CSSParser.h:
967             - method rename
968         * css/CSSStyleSelector.cpp:
969         (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
970             - handle 'step-start' and 'step-end' identifiers. Also
971               now use ::create when constructing objects
972         * css/CSSTimingFunctionValue.cpp:
973         (WebCore::CSSLinearTimingFunctionValue::cssText):
974         (WebCore::CSSCubicBezierTimingFunctionValue::cssText):
975         (WebCore::CSSStepsTimingFunctionValue::cssText):
976             - new text output for computed style. We now produce
977               the text 'linear' when appropriate.
978         * css/CSSTimingFunctionValue.h:
979         (WebCore::CSSTimingFunctionValue::isLinearTimingFunctionValue):
980         (WebCore::CSSTimingFunctionValue::isCubicBezierTimingFunctionValue):
981         (WebCore::CSSTimingFunctionValue::isStepsTimingFunctionValue):
982         (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
983         (WebCore::CSSTimingFunctionValue::isTimingFunctionValue):
984         (WebCore::CSSLinearTimingFunctionValue::create):
985         (WebCore::CSSLinearTimingFunctionValue::isLinearTimingFunctionValue):
986         (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
987         (WebCore::CSSCubicBezierTimingFunctionValue::create):
988         (WebCore::CSSCubicBezierTimingFunctionValue::isCubicBezierTimingFunctionValue):
989         (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
990         (WebCore::CSSStepsTimingFunctionValue::create):
991         (WebCore::CSSStepsTimingFunctionValue::numberOfSteps):
992         (WebCore::CSSStepsTimingFunctionValue::stepAtStart):
993         (WebCore::CSSStepsTimingFunctionValue::isStepsTimingFunctionValue):
994         (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
995             - CSSTimingFunction is now a pure virtual ref-counted base class, with
996               subclasses for each of the three supported timing functions.
997         * css/CSSValueKeywords.in:
998             - new keywords step-start and step-end
999         * page/animation/AnimationBase.cpp:
1000         (WebCore::solveStepsFunction):
1001             - produces the output value from a stepping function
1002         (WebCore::AnimationBase::progress):
1003             - now has to switch based on timing function type
1004         * page/animation/KeyframeAnimation.cpp:
1005         (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
1006             - use ref-counted access
1007         * platform/animation/Animation.cpp:
1008         (WebCore::Animation::animationsMatch):
1009             - change timing function comparison for operator==
1010         * platform/animation/Animation.h:
1011         (WebCore::Animation::timingFunction):
1012         (WebCore::Animation::setTimingFunction):
1013         (WebCore::Animation::initialAnimationTimingFunction):
1014             - move to ref-counted timing function class
1015         * platform/animation/TimingFunction.h:
1016         (WebCore::TimingFunction::~TimingFunction):
1017         (WebCore::TimingFunction::isLinearTimingFunction):
1018         (WebCore::TimingFunction::isCubicBezierTimingFunction):
1019         (WebCore::TimingFunction::isStepsTimingFunction):
1020         (WebCore::TimingFunction::TimingFunction):
1021         (WebCore::LinearTimingFunction::create):
1022         (WebCore::LinearTimingFunction::~LinearTimingFunction):
1023         (WebCore::LinearTimingFunction::operator==):
1024         (WebCore::LinearTimingFunction::LinearTimingFunction):
1025         (WebCore::CubicBezierTimingFunction::create):
1026         (WebCore::CubicBezierTimingFunction::~CubicBezierTimingFunction):
1027         (WebCore::CubicBezierTimingFunction::operator==):
1028         (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction):
1029         (WebCore::StepsTimingFunction::create):
1030         (WebCore::StepsTimingFunction::~StepsTimingFunction):
1031         (WebCore::StepsTimingFunction::operator==):
1032         (WebCore::StepsTimingFunction::numberOfSteps):
1033         (WebCore::StepsTimingFunction::stepAtStart):
1034         (WebCore::StepsTimingFunction::StepsTimingFunction):
1035             - TimingFunction is now a ref-counted pure virtual base class,
1036               with three subclasses representing the types of timing functions
1037               that are supported.
1038         * platform/graphics/GraphicsLayer.h:
1039         (WebCore::AnimationValue::AnimationValue):
1040         (WebCore::FloatAnimationValue::FloatAnimationValue):
1041         (WebCore::TransformAnimationValue::TransformAnimationValue):
1042             - use PassRefPtr in function parameters
1043         * platform/graphics/qt/GraphicsLayerQt.cpp:
1044         (WebCore::solveStepsFunction):
1045         (WebCore::applyTimingFunction):
1046         (WebCore::AnimationQt::AnimationQt):
1047         (WebCore::AnimationQt::updateCurrentTime):
1048             - implement the timing function switch for QT
1049         * platform/graphics/mac/GraphicsLayerCA.mm:
1050         (WebCore::getCAMediaTimingFunction):
1051             - update for new timing function interface
1052         (WebCore::animationHasStepsTimingFunction):
1053             - new method to make sure animations with steps() functions
1054               never try to execute in Core Animation
1055         (WebCore::GraphicsLayerCA::addAnimation):
1056             - test for steps() timing function
1057         (WebCore::GraphicsLayerCA::timingFunctionForAnimationValue):
1058         * rendering/style/RenderStyleConstants.h:
1059             - remove old RenderStyle enum for timing function types
1060
1061 2010-09-08  Csaba Osztrogonác  <ossy@webkit.org>
1062
1063         Unreviewed trivial fix after r66960.
1064
1065         * WebCore.pro: loader/TextDocument.h renamed to html/TextDocument.h
1066
1067 2010-09-08  Adam Barth  <abarth@webkit.org>
1068
1069         Reviewed by Eric Seidel.
1070
1071         move-during-parse-parent.html crashes
1072         https://bugs.webkit.org/show_bug.cgi?id=45210
1073
1074         When inserting elements into the tree, they need to be associated with
1075         their parent's document, not the document for which the parser is
1076         running.  These two are different when the parent has been moved to a
1077         different document during parsing.
1078
1079         Test: fast/parser/move-during-parsing.html
1080
1081         * html/parser/HTMLConstructionSite.cpp:
1082         (WebCore::HTMLConstructionSite::insertComment):
1083         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
1084         (WebCore::HTMLConstructionSite::insertScriptElement):
1085         (WebCore::HTMLConstructionSite::insertTextNode):
1086         (WebCore::HTMLConstructionSite::createElement):
1087         (WebCore::HTMLConstructionSite::createHTMLElement):
1088
1089 2010-09-08  Gabor Loki  <loki@webkit.org>
1090
1091         Reviewed by Andreas Kling.
1092
1093         Fix increases required alignment of target type warning on ARM
1094         https://bugs.webkit.org/show_bug.cgi?id=45301
1095
1096         No new tests needed.
1097
1098         * bindings/js/SerializedScriptValue.cpp:
1099         (WebCore::CloneDeserializer::readLittleEndian):
1100         (WebCore::CloneDeserializer::readString):
1101         * plugins/PluginDatabase.cpp:
1102         (WebCore::readTime):
1103
1104 2010-09-08  Antonio Gomes  <agomes@rim.com>
1105
1106         Reviewed by Daniel Bates.
1107
1108         Make FocusController::focusedOrMainFrame method const
1109         https://bugs.webkit.org/show_bug.cgi?id=45406
1110
1111         No new tests.
1112
1113         * page/FocusController.cpp:
1114         (WebCore::FocusController::focusedOrMainFrame):
1115         * page/FocusController.h:
1116
1117 2010-09-08  Jian Li  <jianli@chromium.org>
1118
1119         Reviewed by Darin Adler.
1120
1121         Fix a problem in createCanonicalUUIDString that causes the last digit
1122         missing on Linux.
1123         https://bugs.webkit.org/show_bug.cgi?id=45412
1124
1125         This is caused by not including the final null character into the count
1126         that is provided to fgets.
1127
1128         This is covered by the existing test: send-form-data-with-sliced-file.html.
1129
1130         * platform/UUID.cpp:
1131         (WebCore::createCanonicalUUIDString):
1132
1133 2010-09-08  Nico Weber  <thakis@chromium.org>
1134
1135         Reviewed by Dimitri Glazkov.
1136
1137         chromium/mac: Fix overrelease in ImageLayerChromium
1138         https://bugs.webkit.org/show_bug.cgi?id=45360
1139
1140         Only release colorSpace if we created it.
1141
1142         * platform/graphics/chromium/ImageLayerChromium.cpp:
1143         (WebCore::ImageLayerChromium::updateContents):
1144
1145 2010-09-08  Robert Hogan  <robert@webkit.org>
1146
1147         Reviewed by Antonio Gomes.
1148
1149         Remove some unnecessary duplicate calls to string functions
1150
1151         https://bugs.webkit.org/show_bug.cgi?id=45314
1152
1153         * platform/network/curl/ResourceHandleManager.cpp:
1154         (WebCore::parseDataUrl):
1155         * websockets/WebSocketChannel.cpp:
1156         (WebCore::WebSocketChannel::send):
1157
1158 2010-09-08  Peter Kasting  <pkasting@google.com>
1159
1160         Not reviewed, fallout from http://trac.webkit.org/changeset/67001
1161
1162         Fix compile failures and add svn:eol-style on two new files.
1163
1164         * platform/ScrollAnimator.h: Added property svn:eol-style.
1165         * platform/ScrollAnimatorWin.cpp: Added property svn:eol-style.
1166         * platform/win/PopupMenuWin.cpp: Fix compile errors.
1167         (WebCore::PopupMenuWin::scrollToRevealSelection):
1168         (WebCore::PopupMenuWin::scrollSize):
1169
1170 2010-09-08  James Robinson  <jamesr@chromium.org>
1171
1172         Reviewed by Kenneth Russell.
1173
1174         [chromium] Force canvas 2d draw calls to happen in software if a gradient, pattern, shadow, or clip are active
1175         https://bugs.webkit.org/show_bug.cgi?id=45405
1176
1177         This forces all draw calls to happen in software instead of hardware if there is a fill pattern, gradient,
1178         shadow, or clip applied; at least until we can handle these in hardware.  Otherwise the pattern/gradient/etc
1179         is completely ignored by the hardware drawing routine and we render incorrectly.
1180
1181         The test is slightly convervative - for example it will force drawImage() calls to happen in software if a
1182         fill gradient is set even though it's irrelevant.  This doesn't seem to be an issue in practice and we
1183         can tighten the checks later if needed.
1184
1185         Tested by fast/canvas/canvas-incremental-repaint.html.
1186
1187         * platform/graphics/skia/GraphicsContextSkia.cpp:
1188         (WebCore::GraphicsContext::canvasClip):
1189         (WebCore::GraphicsContext::fillRect):
1190         * platform/graphics/skia/ImageBufferSkia.cpp:
1191         (WebCore::ImageBuffer::draw):
1192         * platform/graphics/skia/ImageSkia.cpp:
1193         (WebCore::BitmapImage::draw):
1194         (WebCore::BitmapImageSingleFrameSkia::draw):
1195         * platform/graphics/skia/PlatformContextSkia.cpp:
1196         (WebCore::PlatformContextSkia::State::State):
1197         (WebCore::PlatformContextSkia::canvasClipPath):
1198         (WebCore::PlatformContextSkia::canAccelerate):
1199         * platform/graphics/skia/PlatformContextSkia.h:
1200
1201 2010-09-08  Peter Kasting  <pkasting@google.com>
1202
1203         Reviewed by David Hyatt.
1204
1205         Add smooth scrolling framework, and a Windows implementation.
1206         https://bugs.webkit.org/show_bug.cgi?id=32356
1207
1208         * CMakeLists.txt: Add ScrollAnimator.
1209         * GNUmakefile.am: Add ScrollAnimator.
1210         * WebCore.gyp/WebCore.gyp: Add Windows ScrollAnimator.
1211         * WebCore.gypi: Add ScrollAnimator.
1212         * WebCore.pro: Add ScrollAnimator.
1213         * WebCore.vcproj/WebCore.vcproj: Add ScrollAnimator.
1214         * WebCore.xcodeproj/project.pbxproj: Add ScrollAnimator.
1215         * platform/ScrollAnimator.cpp: Added base implementation that does no animation.
1216         (WebCore::ScrollAnimator::create):
1217         (WebCore::ScrollAnimator::scroll):
1218         (WebCore::ScrollAnimator::setScrollPositionAndStopAnimation):
1219         * platform/ScrollAnimator.h: Added base implementation that does no animation.
1220         (WebCore::ScrollAnimator::ScrollAnimator):
1221         (WebCore::ScrollAnimator::~ScrollAnimator):
1222         * platform/ScrollAnimatorWin.cpp: Added Windows subclass that animates scrolls.
1223         (WebCore::ScrollAnimator::create):
1224         (WebCore::ScrollAnimatorWin::PerAxisData::PerAxisData):
1225         (WebCore::ScrollAnimatorWin::ScrollAnimatorWin):
1226         (WebCore::ScrollAnimatorWin::~ScrollAnimatorWin):
1227         (WebCore::ScrollAnimatorWin::scroll):
1228         (WebCore::ScrollAnimatorWin::setScrollPositionAndStopAnimation):
1229         (WebCore::ScrollAnimatorWin::accelerationTime):
1230         (WebCore::ScrollAnimatorWin::animationTimerFired):
1231         (WebCore::ScrollAnimatorWin::stopAnimationTimerIfNeeded):
1232         (WebCore::ScrollAnimatorWin::animateScroll):
1233         * platform/ScrollAnimatorWin.h: Added Windows subclass that animates scrolls.
1234         * platform/ScrollView.cpp: Implement new ScrollbarClient functions.  Allow wheel scrolls to be animated.
1235         (WebCore::ScrollView::scrollSize):
1236         (WebCore::ScrollView::setScrollOffsetFromAnimation):
1237         (WebCore::ScrollView::updateScrollbars):
1238         (WebCore::ScrollView::wheelEvent):
1239         * platform/ScrollView.h: Implement new ScrollbarClient functions.
1240         * platform/Scrollbar.cpp: Allow ScrollAnimator to handle scrolls if present.
1241         (WebCore::Scrollbar::setValue):
1242         (WebCore::Scrollbar::scroll):
1243         (WebCore::Scrollbar::moveThumb):
1244         (WebCore::Scrollbar::setCurrentPos):
1245         (WebCore::Scrollbar::mouseMoved):
1246         * platform/Scrollbar.h:
1247         * platform/ScrollbarClient.cpp: Added to avoid having to make ScrollAnimator.h non-private.
1248         (WebCore::ScrollbarClient::ScrollbarClient):
1249         (WebCore::ScrollbarClient::~ScrollbarClient):
1250         (WebCore::ScrollbarClient::scroll):
1251         (WebCore::ScrollbarClient::setScrollPositionAndStopAnimation):
1252         * platform/ScrollbarClient.h: Add hooks for ScrollAnimator.
1253         (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
1254         (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
1255         * platform/gtk/MainFrameScrollbarGtk.cpp:
1256         (MainFrameScrollbarGtk::gtkValueChanged):
1257         * platform/qt/ScrollbarQt.cpp: Use scroll() in preference to setValue().
1258         (WebCore::Scrollbar::contextMenu):
1259         * platform/win/PopupMenuWin.cpp: Implement new ScrollbarClient functions.
1260         (WebCore::PopupMenuWin::scrollSize):
1261         (WebCore::PopupMenuWin::setScrollOffsetFromAnimation):
1262         * platform/win/PopupMenuWin.h: Implement new ScrollbarClient functions.
1263         * rendering/RenderDataGrid.cpp: Implement new ScrollbarClient functions.
1264         (WebCore::RenderDataGrid::scrollSize):
1265         (WebCore::RenderDataGrid::setScrollOffsetFromAnimation):
1266         * rendering/RenderDataGrid.h: Implement new ScrollbarClient functions.
1267         * rendering/RenderLayer.cpp: Implement new ScrollbarClient functions.
1268         (WebCore::RenderLayer::scrollToOffset):
1269         (WebCore::RenderLayer::scrollSize):
1270         (WebCore::RenderLayer::setScrollOffsetFromAnimation):
1271         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1272         * rendering/RenderLayer.h: Implement new ScrollbarClient functions.
1273         * rendering/RenderListBox.cpp: Implement new ScrollbarClient functions.
1274         (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
1275         (WebCore::RenderListBox::scrollSize):
1276         (WebCore::RenderListBox::setScrollOffsetFromAnimation):
1277         (WebCore::RenderListBox::setScrollTop):
1278         * rendering/RenderListBox.h: Implement new ScrollbarClient functions.
1279
1280 2010-09-08  Ryosuke Niwa  <rniwa@webkit.org>
1281
1282         Reviewed by Tony Chang.
1283
1284         applyInlineStyleToRange needs cleanup
1285         https://bugs.webkit.org/show_bug.cgi?id=45008
1286
1287         Removed rangeIsEmpty and extracted the entire loop into applyInlineStyleToNodeRange.
1288         applyInlineStyleToRange is now a wrapper that fixes range and passes it on to applyInlineStyleToNodeRange.
1289
1290         No new tests are added since this is a cleanup.
1291
1292         * editing/ApplyStyleCommand.cpp:
1293         (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Cleaned up.
1294         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Extracted from applyInlineStyleToRange.
1295         * editing/ApplyStyleCommand.h:
1296
1297 2010-09-08  Andy Estes  <aestes@apple.com>
1298
1299         Rubber-stamped by Darin Adler.
1300
1301         Incorporate additional feedback from
1302         https://bugs.webkit.org/show_bug.cgi?id=45364.
1303
1304         * html/HTMLObjectElement.cpp:
1305         (WebCore::HTMLObjectElement::parametersForPlugin): Rename urlParam to
1306         urlParameter.
1307         * loader/SubframeLoader.h: Add argument names to the definition of
1308         SubframeLoader::resourceWillUsePlugin().
1309
1310 2010-09-07  Oliver Hunt  <oliver@apple.com>
1311
1312         Reviewed by Anders Carlsson.
1313
1314         Support SerializedScriptValue in WebKit2
1315         https://bugs.webkit.org/show_bug.cgi?id=45340
1316
1317         Add a new constructor that allows WebKit2 to create a SerializedScriptValue
1318         directly from serialized data.
1319
1320         * WebCore.exp.in:
1321         * bindings/js/SerializedScriptValue.h:
1322         (WebCore::SerializedScriptValue::adopt):
1323         (WebCore::SerializedScriptValue::data):
1324
1325 2010-09-08  Andy Estes  <aestes@apple.com>
1326
1327         Reviewed by Eric Carlson.
1328
1329         Fallback content should be rendered when an <object> doesn't specify a
1330         data, type or classid attribute.
1331         https://bugs.webkit.org/show_bug.cgi?id=45364
1332         <rdar://problem/8375816>
1333
1334         HTML5 says that if no data or type attribute is specified on an <object>,
1335         fallback content should be rendered. However, WebKit has traditionally
1336         supported specifying a URL and MIME type in <param> elements. 
1337
1338         To more closely match the spec while maintaining compatibility with
1339         content that relied on our old behavior, we will continue to load
1340         a resource specified by <param> elements if we can determine a priori
1341         that it will be handled by a plug-in. 
1342
1343         If we can't make this determination, and the <object> element has no
1344         "data" or "type" attribute, the <param> elements will be ignored and
1345         fallback content will be rendered. Otherwise, there is no change in
1346         behavior.
1347
1348         * html/HTMLObjectElement.cpp:
1349         (WebCore::HTMLObjectElement::parametersForPlugin): If an empty url is
1350         passed to this function and a <param> exists that specifies a url that
1351         references a plug-in resource, set it to url, making it the url that
1352         will be loaded by the <object> element.
1353         (WebCore::HTMLObjectElement::updateWidget): If no type attribute was
1354         specified, but there is a classid attribute, try to map the classid to
1355         a MIME type. This needs to be done before calling
1356         HTMLObjectElement::parametersForPlugin().
1357         * loader/SubframeLoader.cpp:
1358         (WebCore::SubframeLoader::resourceWillUsePlugin): Make a public method
1359         that determines if a resource will load a plug-in based on its url and
1360         MIME type. This is equivalent to calling
1361         SubframeLoader::shouldUsePlugin(), but does not burden the caller with
1362         the details of fallback content.
1363         * loader/SubframeLoader.h:
1364
1365 2010-09-08  Pavel Podivilov  <podivilov@chromium.org>
1366
1367         Reviewed by Yury Semikhatsky.
1368
1369         Web Inspector: add breakpoints to source frame after content is loaded.
1370         https://bugs.webkit.org/show_bug.cgi?id=43056
1371
1372         * inspector/front-end/ScriptsPanel.js:
1373         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
1374         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
1375         * inspector/front-end/SourceView.js:
1376         (WebInspector.SourceView.prototype._contentLoaded):
1377
1378 2010-09-08  Andreas Kling  <andreas.kling@nokia.com>
1379
1380         Reviewed by Kenneth Rohde Christiansen.
1381
1382         Canvas: Remove unnecessary null-check of canvas() in getImageData()
1383         https://bugs.webkit.org/show_bug.cgi?id=45394
1384
1385         canvas() is already dereferenced earlier in the function so there is
1386         no use in checking it for null later.
1387
1388         * html/canvas/CanvasRenderingContext2D.cpp:
1389         (WebCore::CanvasRenderingContext2D::getImageData):
1390
1391 2010-09-08  Philippe Normand  <pnormand@igalia.com>
1392
1393         Reviewed by Eric Carlson.
1394
1395         [GStreamer] cache media duration in READY instead of PLAYING
1396         https://bugs.webkit.org/show_bug.cgi?id=39053
1397
1398         New cacheDuration private method used to in updateStates() and
1399         durationChanged().
1400
1401         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1402         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
1403         (WebCore::MediaPlayerPrivateGStreamer::cacheDuration):
1404         (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
1405         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1406
1407 2010-09-08  Martin Robinson  <mrobinson@igalia.com>
1408
1409         Reviewed by Xan Lopez.
1410
1411         [GTK] Need a WebSocket implementation
1412         https://bugs.webkit.org/show_bug.cgi?id=45197
1413
1414         Add a GIO-based WebSocket implementation. This does not yet support
1415         SSL sockets or proxies, but these should be possible to add as support
1416         arrives in GLib/GIO for them.
1417
1418         * platform/network/soup/SocketStreamHandle.h:
1419         * platform/network/soup/SocketStreamHandleSoup.cpp: Add a GIO-based WebSocket implementation.
1420         (WebCore::isActiveHandle): Added.
1421         (WebCore::deactivateHandle): Added.
1422         (WebCore::SocketStreamHandle::SocketStreamHandle): Filled out stub.
1423         (WebCore::SocketStreamHandle::~SocketStreamHandle): Ditto.
1424         (WebCore::SocketStreamHandle::connected): Added.
1425         (WebCore::SocketStreamHandle::readBytes): Added.
1426         (WebCore::SocketStreamHandle::writeReady): Added.
1427         (WebCore::SocketStreamHandle::platformSend): Filled out stub.
1428         (WebCore::SocketStreamHandle::platformClose): Filled out stub.
1429         (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Added.
1430         (WebCore::SocketStreamHandle::stopWaitingForSocketWritability):
1431         (WebCore::connectedCallback): Added.
1432         (WebCore::readReadyCallback): Added.
1433         (WebCore::writeReadyCallback): Added.
1434
1435 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
1436
1437         Reviewed by Dirk Schulze.
1438
1439         [Cairo] Actually use the antialias parameter of GraphicsContext::clipConvexPolygon
1440         https://bugs.webkit.org/show_bug.cgi?id=45355
1441
1442         r63864 added an additional boolean parameter to GraphicsContext::clipConvexPolygon,
1443         which determines whether or not to render the render the clip with anti-aliasing
1444         or not. The Cairo implementation now uses that parameter to determine the argument
1445         to pass to cairo_set_antialias(...) when clipping.
1446
1447         Test: This is tested by many tests in fast/borders.
1448
1449         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1450         (WebCore::GraphicsContext::clipConvexPolygon): Actually use the boolean antialias parameter.
1451
1452 2010-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1453
1454         Reviewed by Kenneth Rohde Christiansen.
1455
1456         [EFL] Support to enable HTML5's Video based on gstreamer in WebKit-EFL
1457         https://bugs.webkit.org/show_bug.cgi?id=44098
1458
1459         To support video of HTML5 based on gstreamer, add files regarding gstreamer to
1460         CMakeListsEfl.txt.
1461
1462         * CMakeListsEfl.txt:
1463
1464 2010-09-08  Jan E Hanssen  <jhanssen@sencha.com>
1465
1466         Reviewed by Dirk Schulze.
1467
1468         [Qt] PathQt should use the QPainterPath functionality for calculations
1469         https://bugs.webkit.org/show_bug.cgi?id=43837
1470
1471         Change PathQt to use the built-in functionality of QPainterPath for
1472         calculating length(), pointAtLength() and normalAngleAtLength().
1473
1474         * platform/graphics/Path.cpp:
1475         * platform/graphics/qt/PathQt.cpp:
1476         (WebCore::Path::length):
1477         (WebCore::Path::pointAtLength):
1478         (WebCore::Path::normalAngleAtLength):
1479
1480 2010-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1481
1482         Reviewed by Dirk Schulze.
1483
1484         [WML] Remove create() function in WMLTaskElement because of build break.
1485         https://bugs.webkit.org/show_bug.cgi?id=44954
1486
1487         Remove create() function in WMLTaskElement.cpp because of build breaks.
1488
1489         * wml/WMLTaskElement.cpp:
1490         * wml/WMLTaskElement.h:
1491
1492 2010-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1493
1494         Reviewed by Dirk Schulze.
1495
1496         [WML] Add create functions to WML.
1497         https://bugs.webkit.org/show_bug.cgi?id=44950
1498
1499         There are missing definitions of create function in WML area. 
1500         So, there are build breaks when enabling WML. The create functions and the construction 
1501         are added. In addition, a style error and duplicated adoptRef usage are fixed.
1502
1503         * wml/WMLDocument.h:
1504         (WebCore::WMLDocument::create):
1505         * wml/WMLFormControlElement.h:
1506         * wml/WMLIntrinsicEvent.cpp:
1507         (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
1508         * wml/WMLIntrinsicEvent.h:
1509
1510 2010-09-08  Nico Weber  <thakis@chromium.org>
1511
1512         Reviewed by Kenneth Russell.
1513
1514         chromium/mac: Fix crash with compositor due to missing current NSGraphicsContext
1515         https://bugs.webkit.org/show_bug.cgi?id=45354
1516
1517         * platform/graphics/chromium/ContentLayerChromium.cpp:
1518         (WebCore::ContentLayerChromium::updateContents): Set a current local context.
1519
1520 2010-09-08  Justin Schuh  <jschuh@chromium.org>
1521
1522         Reviewed by Nikolas Zimmermann.
1523
1524         NULL deref when use target is reset, then set to display:none
1525         https://bugs.webkit.org/show_bug.cgi?id=45345
1526
1527         Move the NULL check on shadowRoot earlier in SVGUseElement::recalcStyle
1528
1529         Test: svg/custom/use-display-none.svg
1530
1531         * svg/SVGUseElement.cpp:
1532         (WebCore::SVGUseElement::recalcStyle):
1533
1534 2010-08-30  Maciej Stachowiak  <mjs@apple.com>
1535
1536         Reviewed by Darin Adler.
1537
1538         Handle MediaQueryExp memory management exclusively with smart pointers
1539         https://bugs.webkit.org/show_bug.cgi?id=44874
1540
1541         Gace MediaQueryExp a create function, made the constructor private, and followed
1542         the implications. The one tricky bit was using a non-copying sort to sort
1543         the Vector<OwnPtr<MediaQueryExp> > in the MediaQuery constructor.
1544         
1545         * ForwardingHeaders/wtf/NonCopyingSort.h: Added.
1546         * css/CSSGrammar.y:
1547         * css/CSSParser.cpp:
1548         (WebCore::CSSParser::~CSSParser):
1549         (WebCore::CSSParser::createFloatingMediaQueryExp):
1550         (WebCore::CSSParser::createFloatingMediaQueryExpList):
1551         (WebCore::CSSParser::sinkFloatingMediaQueryExpList):
1552         (WebCore::CSSParser::createFloatingMediaQuery):
1553         * css/CSSParser.h:
1554         * css/MediaList.cpp:
1555         * css/MediaQuery.cpp:
1556         (WebCore::expressionCompare):
1557         (WebCore::MediaQuery::MediaQuery):
1558         (WebCore::MediaQuery::~MediaQuery):
1559         * css/MediaQuery.h:
1560         (WebCore::MediaQuery::expressions):
1561         * css/MediaQueryEvaluator.cpp:
1562         (WebCore::MediaQueryEvaluator::eval):
1563         * css/MediaQueryExp.h:
1564         (WebCore::MediaQueryExp::create):
1565
1566 2010-09-08  Adam Barth  <abarth@webkit.org>
1567
1568         Reviewed by Maciej Stachowiak.
1569
1570         Remove unused member variable from DecodedDocumentParser
1571         https://bugs.webkit.org/show_bug.cgi?id=45379
1572
1573         This member variable isn't used because of the recent split of
1574         TextDocumentParser and TextViewSourceParser.
1575
1576         * dom/DecodedDataDocumentParser.cpp:
1577         (WebCore::DecodedDataDocumentParser::DecodedDataDocumentParser):
1578         * dom/DecodedDataDocumentParser.h:
1579         * dom/ScriptableDocumentParser.cpp:
1580         (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
1581         * dom/ScriptableDocumentParser.h:
1582
1583 2010-09-08  Csaba Osztrogonác  <ossy@webkit.org>
1584
1585         Reviewed by Andreas Kling.
1586
1587         Fix warning in rendering/RenderBlock.cpp.
1588         https://bugs.webkit.org/show_bug.cgi?id=45373
1589
1590         * rendering/RenderBlock.cpp:
1591         (WebCore::RenderBlock::hitTestColumns): Suggested parentheses added around && within ||
1592
1593 2010-09-08  Mario Sanchez Prada  <msanchez@igalia.com>
1594
1595         Reviewed by Martin Robinson.
1596
1597         [Gtk] A list item's number/bullet should not be a child of that list item
1598         https://bugs.webkit.org/show_bug.cgi?id=45190
1599
1600         Ignore list markers and prefix them to the text for the item
1601
1602         * accessibility/gtk/AccessibilityObjectAtk.cpp:
1603         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
1604         Make list markers ignore accessibility for the GTK port.
1605         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1606         (webkit_accessible_text_get_text): Prefix the text of a marker
1607         along with the accessible text for its list item's AtkObject
1608
1609 2010-09-08  Adam Barth  <abarth@webkit.org>
1610
1611         Rubber-stamped by Eric Seidel.
1612
1613         Rename DocLoader to CachedResourceLoader because that's what it does.
1614
1615         * Android.mk:
1616         * CMakeLists.txt:
1617         * GNUmakefile.am:
1618         * WebCore.gypi:
1619         * WebCore.pro:
1620         * WebCore.vcproj/WebCore.vcproj:
1621         * WebCore.xcodeproj/project.pbxproj:
1622         * css/CSSCursorImageValue.cpp:
1623         (WebCore::CSSCursorImageValue::cachedImage):
1624         * css/CSSCursorImageValue.h:
1625         * css/CSSFontFaceSource.cpp:
1626         (WebCore::CSSFontFaceSource::getFontData):
1627         * css/CSSFontSelector.cpp:
1628         (WebCore::CSSFontSelector::cachedResourceLoader):
1629         (WebCore::CSSFontSelector::addFontFaceRule):
1630         * css/CSSFontSelector.h:
1631         * css/CSSImageValue.cpp:
1632         (WebCore::CSSImageValue::cachedImage):
1633         * css/CSSImageValue.h:
1634         * css/CSSImportRule.cpp:
1635         (WebCore::CSSImportRule::insertedIntoParent):
1636         * css/CSSStyleSelector.cpp:
1637         (WebCore::CSSStyleSelector::loadPendingImages):
1638         * css/CSSStyleSheet.h:
1639         * dom/Document.cpp:
1640         (WebCore::Document::Document):
1641         (WebCore::Document::~Document):
1642         (WebCore::Document::implicitClose):
1643         * dom/Document.h:
1644         (WebCore::Document::cachedResourceLoader):
1645         * dom/ProcessingInstruction.cpp:
1646         (WebCore::ProcessingInstruction::checkStyleSheet):
1647         * dom/ScriptElement.cpp:
1648         (WebCore::ScriptElementData::requestScript):
1649         * dom/XMLDocumentParser.cpp:
1650         * dom/XMLDocumentParser.h:
1651         * dom/XMLDocumentParserLibxml2.cpp:
1652         (WebCore::matchFunc):
1653         (WebCore::shouldAllowExternalLoad):
1654         (WebCore::openFunc):
1655         (WebCore::XMLDocumentParser::doWrite):
1656         (WebCore::XMLDocumentParser::endElementNs):
1657         (WebCore::XMLDocumentParser::initializeParserContext):
1658         (WebCore::XMLDocumentParser::doEnd):
1659         (WebCore::xmlDocPtrForString):
1660         * dom/XMLDocumentParserQt.cpp:
1661         (WebCore::XMLDocumentParser::parseEndElement):
1662         * dom/XMLDocumentParserScope.cpp:
1663         (WebCore::XMLDocumentParserScope::XMLDocumentParserScope):
1664         (WebCore::XMLDocumentParserScope::~XMLDocumentParserScope):
1665         * dom/XMLDocumentParserScope.h:
1666         * editing/Editor.cpp:
1667         (WebCore::Editor::paste):
1668         * editing/mac/EditorMac.mm:
1669         (WebCore::Editor::paste):
1670         * html/HTMLLinkElement.cpp:
1671         (WebCore::HTMLLinkElement::process):
1672         * html/parser/CSSPreloadScanner.cpp:
1673         (WebCore::CSSPreloadScanner::emitRule):
1674         * html/parser/HTMLPreloadScanner.cpp:
1675         (WebCore::HTMLNames::PreloadTask::preload):
1676         * html/parser/HTMLScriptRunner.cpp:
1677         (WebCore::HTMLScriptRunner::requestPendingScript):
1678         * inspector/InspectorResource.cpp:
1679         (WebCore::InspectorResource::cachedResource):
1680         * loader/Cache.cpp:
1681         (WebCore::Cache::requestResource):
1682         (WebCore::Cache::requestUserCSSStyleSheet):
1683         (WebCore::Cache::revalidateResource):
1684         (WebCore::Cache::addCachedResourceLoader):
1685         (WebCore::Cache::removeCachedResourceLoader):
1686         * loader/Cache.h:
1687         * loader/CachedCSSStyleSheet.h:
1688         * loader/CachedFont.cpp:
1689         (WebCore::CachedFont::load):
1690         (WebCore::CachedFont::beginLoadIfNeeded):
1691         * loader/CachedFont.h:
1692         * loader/CachedImage.cpp:
1693         (WebCore::CachedImage::load):
1694         (WebCore::CachedImage::maximumDecodedImageSize):
1695         * loader/CachedImage.h:
1696         * loader/CachedResource.cpp:
1697         (WebCore::CachedResource::CachedResource):
1698         (WebCore::CachedResource::~CachedResource):
1699         (WebCore::CachedResource::load):
1700         * loader/CachedResource.h:
1701         (WebCore::CachedResource::load):
1702         (WebCore::CachedResource::setCachedResourceLoader):
1703         * loader/CachedResourceLoader.cpp: Copied from WebCore/loader/DocLoader.cpp.
1704         (WebCore::CachedResourceLoader::CachedResourceLoader):
1705         (WebCore::CachedResourceLoader::~CachedResourceLoader):
1706         (WebCore::CachedResourceLoader::frame):
1707         (WebCore::CachedResourceLoader::checkForReload):
1708         (WebCore::CachedResourceLoader::requestImage):
1709         (WebCore::CachedResourceLoader::requestFont):
1710         (WebCore::CachedResourceLoader::requestCSSStyleSheet):
1711         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
1712         (WebCore::CachedResourceLoader::requestScript):
1713         (WebCore::CachedResourceLoader::requestXSLStyleSheet):
1714         (WebCore::CachedResourceLoader::requestLinkPrefetch):
1715         (WebCore::CachedResourceLoader::canRequest):
1716         (WebCore::CachedResourceLoader::requestResource):
1717         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
1718         (WebCore::CachedResourceLoader::setAutoLoadImages):
1719         (WebCore::CachedResourceLoader::cachePolicy):
1720         (WebCore::CachedResourceLoader::removeCachedResource):
1721         (WebCore::CachedResourceLoader::setLoadInProgress):
1722         (WebCore::CachedResourceLoader::checkCacheObjectStatus):
1723         (WebCore::CachedResourceLoader::incrementRequestCount):
1724         (WebCore::CachedResourceLoader::decrementRequestCount):
1725         (WebCore::CachedResourceLoader::requestCount):
1726         (WebCore::CachedResourceLoader::preload):
1727         (WebCore::CachedResourceLoader::checkForPendingPreloads):
1728         (WebCore::CachedResourceLoader::requestPreload):
1729         (WebCore::CachedResourceLoader::clearPreloads):
1730         (WebCore::CachedResourceLoader::clearPendingPreloads):
1731         (WebCore::CachedResourceLoader::printPreloadStats):
1732         * loader/CachedResourceLoader.h: Copied from WebCore/loader/DocLoader.h.
1733         * loader/CachedScript.h:
1734         * loader/CachedXSLStyleSheet.h:
1735         * loader/DocLoader.cpp: Removed.
1736         * loader/DocLoader.h: Removed.
1737         * loader/DocumentLoader.cpp:
1738         (WebCore::DocumentLoader::isLoadingInAPISense):
1739         (WebCore::DocumentLoader::subresource):
1740         (WebCore::DocumentLoader::getSubresources):
1741         * loader/FrameLoader.cpp:
1742         (WebCore::numRequests):
1743         (WebCore::FrameLoader::stopLoading):
1744         (WebCore::FrameLoader::didBeginDocument):
1745         * loader/HistoryController.cpp:
1746         (WebCore::HistoryController::createItem):
1747         * loader/ImageLoader.cpp:
1748         (WebCore::ImageLoader::updateFromElement):
1749         * loader/Request.cpp:
1750         (WebCore::Request::Request):
1751         * loader/Request.h:
1752         (WebCore::Request::cachedResourceLoader):
1753         * loader/loader.cpp:
1754         (WebCore::Loader::load):
1755         (WebCore::Loader::cancelRequests):
1756         (WebCore::Loader::Host::servePendingRequests):
1757         (WebCore::Loader::Host::didFinishLoading):
1758         (WebCore::Loader::Host::didFail):
1759         (WebCore::Loader::Host::didReceiveResponse):
1760         (WebCore::Loader::Host::cancelPendingRequests):
1761         (WebCore::Loader::Host::cancelRequests):
1762         * loader/loader.h:
1763         * page/DragController.cpp:
1764         (WebCore::DragController::concludeEditDrag):
1765         * page/Frame.cpp:
1766         * page/FrameView.cpp:
1767         (WebCore::FrameView::checkStopDelayingDeferredRepaints):
1768         (WebCore::FrameView::updateDeferredRepaintDelay):
1769         * page/Settings.cpp:
1770         (WebCore::setLoadsImagesAutomaticallyInAllFrames):
1771         * platform/android/TemporaryLinkStubs.cpp:
1772         (WebCore::CheckCacheObjectStatus):
1773         * platform/network/android/ResourceHandleAndroid.cpp:
1774         (WebCore::ResourceHandle::start):
1775         * platform/network/cf/ResourceHandleCFNet.cpp:
1776         * platform/network/curl/ResourceHandleCurl.cpp:
1777         * platform/network/mac/ResourceHandleMac.mm:
1778         * platform/network/qt/ResourceHandleQt.cpp:
1779         * platform/network/soup/ResourceHandleSoup.cpp:
1780         * platform/network/win/ResourceHandleWin.cpp:
1781         * svg/SVGFEImageElement.cpp:
1782         (WebCore::SVGFEImageElement::requestImageResource):
1783         * svg/SVGFontFaceUriElement.cpp:
1784         (WebCore::SVGFontFaceUriElement::loadFont):
1785         * workers/Worker.cpp:
1786         * xml/XSLImportRule.cpp:
1787         (WebCore::XSLImportRule::loadSheet):
1788         * xml/XSLStyleSheet.h:
1789         * xml/XSLStyleSheetLibxslt.cpp:
1790         (WebCore::XSLStyleSheet::cachedResourceLoader):
1791         (WebCore::XSLStyleSheet::parseString):
1792         * xml/XSLStyleSheetQt.cpp:
1793         (WebCore::XSLStyleSheet::cachedResourceLoader):
1794         * xml/XSLTProcessor.cpp:
1795         * xml/XSLTProcessorLibxslt.cpp:
1796         (WebCore::docLoaderFunc):
1797         (WebCore::setXSLTLoadCallBack):
1798         (WebCore::xmlDocPtrFromNode):
1799         (WebCore::XSLTProcessor::transformToString):
1800
1801 2010-09-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1802
1803         Reviewed by Eric Carlson.
1804
1805         Add mediaPlayerPlaybackStateChanged to MediaPlayerClient
1806
1807         https://bugs.webkit.org/show_bug.cgi?id=45263
1808
1809         The platform backend may change state, for example as a result
1810         of an external plugin controlling the backend, so we need to
1811         react to this situation by syncing up the WebCore state with the
1812         platform backend.
1813
1814         We call playInternal()/pauseInternal() depending on the backend
1815         state, to trigger the corresponding DOM events to match the state.
1816
1817         updatePlayState() is then refactored to take into account the
1818         situation where the backend is already in the correct state but
1819         WebCore is not, so that we update the playback progress timer
1820         and set m_playing correctly.
1821
1822         updatePlayState() changes Should be covered by existing tests.
1823
1824         * html/HTMLMediaElement.cpp:
1825         (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
1826         (WebCore::HTMLMediaElement::updatePlayState):
1827         * html/HTMLMediaElement.h:
1828         * platform/graphics/MediaPlayer.cpp:
1829         (WebCore::MediaPlayer::playbackStateChanged):
1830         * platform/graphics/MediaPlayer.h:
1831         (WebCore::MediaPlayerClient::mediaPlayerPlaybackStateChanged):
1832
1833 2010-09-08  Adam Barth  <abarth@webkit.org>
1834
1835         Reviewed by Eric Seidel.
1836
1837         TextDocument doesn't belong in WebCore/loader
1838         https://bugs.webkit.org/show_bug.cgi?id=45346
1839
1840         TextDocument has nothing to do with loading.  It turns out that it
1841         should be in WebCore/html because TextDocument is actually a subclass
1842         of HTMLDocument (in quirks mode, no less).
1843
1844         * Android.mk:
1845         * CMakeLists.txt:
1846         * GNUmakefile.am:
1847         * WebCore.gypi:
1848         * WebCore.pro:
1849         * WebCore.vcproj/WebCore.vcproj:
1850         * WebCore.xcodeproj/project.pbxproj:
1851         * html/TextDocument.cpp: Renamed from WebCore/loader/TextDocument.cpp.
1852         (WebCore::TextDocument::TextDocument):
1853         (WebCore::TextDocument::createParser):
1854         * html/TextDocument.h: Renamed from WebCore/loader/TextDocument.h.
1855         (WebCore::TextDocument::create):
1856
1857 2010-09-08  Adam Barth  <abarth@webkit.org>
1858
1859         Reviewed by Eric Seidel.
1860
1861         Create TextViewSourceParser
1862         https://bugs.webkit.org/show_bug.cgi?id=45343
1863
1864         Rather than have the view source document set a flag on
1865         HTMLViewSourceParser to indicate whether we're parsing a text document,
1866         this patch creates a TextViewSourceParser for parsing text documents in
1867         view-source mode.  Like the TextDocumentParser, the
1868         TextViewSourceParser implements this functionality by subclassing its
1869         HTML counterpart.
1870
1871         * Android.mk:
1872         * CMakeLists.txt:
1873         * GNUmakefile.am:
1874         * WebCore.gypi:
1875         * WebCore.pro:
1876         * WebCore.vcproj/WebCore.vcproj:
1877         * WebCore.xcodeproj/project.pbxproj:
1878         * html/HTMLViewSourceDocument.cpp:
1879         (WebCore::HTMLViewSourceDocument::createParser):
1880         * html/parser/HTMLViewSourceParser.cpp:
1881         * html/parser/HTMLViewSourceParser.h:
1882         (WebCore::HTMLViewSourceParser::tokenizer):
1883         * html/parser/TextViewSourceParser.cpp: Added.
1884         (WebCore::TextViewSourceParser::TextViewSourceParser):
1885         (WebCore::TextViewSourceParser::~TextViewSourceParser):
1886         * html/parser/TextViewSourceParser.h: Added.
1887         (WebCore::TextViewSourceParser::create):
1888
1889 2010-09-08  Adam Barth  <abarth@webkit.org>
1890
1891         Reviewed by Darin Adler.
1892
1893         Move HTMLInputStream to WebCore/html/parser
1894         https://bugs.webkit.org/show_bug.cgi?id=45339
1895
1896         I forgot to move this file before.
1897
1898         * GNUmakefile.am:
1899         * WebCore.gypi:
1900         * WebCore.vcproj/WebCore.vcproj:
1901         * WebCore.xcodeproj/project.pbxproj:
1902         * html/parser/HTMLInputStream.h: Renamed from WebCore/html/HTMLInputStream.h.
1903         (WebCore::HTMLInputStream::HTMLInputStream):
1904         (WebCore::HTMLInputStream::appendToEnd):
1905         (WebCore::HTMLInputStream::insertAtCurrentInsertionPoint):
1906         (WebCore::HTMLInputStream::hasInsertionPoint):
1907         (WebCore::HTMLInputStream::markEndOfFile):
1908         (WebCore::HTMLInputStream::haveSeenEndOfFile):
1909         (WebCore::HTMLInputStream::current):
1910         (WebCore::HTMLInputStream::splitInto):
1911         (WebCore::HTMLInputStream::mergeFrom):
1912         (WebCore::InsertionPointRecord::InsertionPointRecord):
1913         (WebCore::InsertionPointRecord::~InsertionPointRecord):
1914
1915 2010-09-08  Adam Barth  <abarth@webkit.org>
1916
1917         Reviewed by Eric Seidel.
1918
1919         TextDocument should come in from the cold
1920         https://bugs.webkit.org/show_bug.cgi?id=45334
1921
1922         Previously, TextDocument reinvented the wheel to parse text.  This
1923         patch replaces TextDocument's hand-rolled parser with a parser built on
1924         the HTML parser infrustructure, which gives us that stuff for free.  I
1925         also disentangled TextDocument from HTMLViewSourceDocument.
1926
1927         In a future patch, I'll move TextDocument out of the "loader" directory.
1928
1929         * Android.mk:
1930         * CMakeLists.txt:
1931         * GNUmakefile.am:
1932         * WebCore.gypi:
1933         * WebCore.pro:
1934         * WebCore.vcproj/WebCore.vcproj:
1935         * WebCore.xcodeproj/project.pbxproj:
1936         * html/HTMLViewSourceDocument.cpp:
1937         (WebCore::HTMLViewSourceDocument::createParser):
1938         * html/HTMLViewSourceDocument.h:
1939         * html/parser/HTMLTreeBuilder.cpp:
1940         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
1941         (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
1942         * html/parser/HTMLTreeBuilder.h:
1943         * html/parser/HTMLViewSourceParser.cpp:
1944         (WebCore::HTMLViewSourceParser::forcePlaintext):
1945         * html/parser/HTMLViewSourceParser.h:
1946         * html/parser/TextDocumentParser.cpp: Added.
1947         (WebCore::TextDocumentParser::TextDocumentParser):
1948         (WebCore::TextDocumentParser::~TextDocumentParser):
1949         (WebCore::TextDocumentParser::insertFakePreElement):
1950         * html/parser/TextDocumentParser.h: Added.
1951         (WebCore::TextDocumentParser::create):
1952         * loader/TextDocument.cpp:
1953         * loader/TextDocument.h:
1954
1955 2010-09-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1956
1957         Reviewed by Andreas Kling.
1958
1959         Implement MediaPlayerPrivate::platformMedia() for the Qt port
1960
1961         https://bugs.webkit.org/show_bug.cgi?id=45264
1962
1963         * platform/graphics/MediaPlayer.h:
1964         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1965         (WebCore::MediaPlayerPrivate::platformMedia):
1966         * platform/graphics/qt/MediaPlayerPrivateQt.h:
1967
1968 2010-09-08  Zoltan Herczeg  <zherczeg@webkit.org>
1969
1970         Reviewed by Dirk Schulze.
1971
1972         An individual renderer should be assigned to each SVGFE*Element class
1973         https://bugs.webkit.org/show_bug.cgi?id=43954
1974
1975         RenderSVGResourceFilterPrimitive renderer is added to
1976         the project, and assigned to each object, which class is
1977         derived from SVGFilterPrimitiveStandardAttributes. The patch
1978         mainly contains build system changes, and it fixes one layout
1979         test in svg/dynamic-updates.
1980
1981         * Android.mk:
1982         * CMakeLists.txt:
1983         * GNUmakefile.am:
1984         * WebCore.gypi:
1985         * WebCore.pro:
1986         * WebCore.vcproj/WebCore.vcproj:
1987         * WebCore.xcodeproj/project.pbxproj:
1988         * rendering/RenderObject.h:
1989         (WebCore::RenderObject::isSVGResourceFilterPrimitive):
1990         * rendering/RenderSVGResourceFilterPrimitive.cpp: Added.
1991         (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
1992         * rendering/RenderSVGResourceFilterPrimitive.h: Added.
1993         (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
1994         * rendering/SVGRenderTreeAsText.cpp:
1995         (WebCore::writeSVGContainer):
1996         * svg/SVGFEDiffuseLightingElement.cpp:
1997         (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
1998         * svg/SVGFELightElement.cpp:
1999         (WebCore::SVGFELightElement::svgAttributeChanged):
2000         (WebCore::SVGFELightElement::childrenChanged):
2001         * svg/SVGFEOffsetElement.cpp:
2002         (WebCore::SVGFEOffsetElement::svgAttributeChanged):
2003         * svg/SVGFilterElement.h:
2004         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2005         (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
2006         (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
2007         (WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer):
2008         * svg/SVGFilterPrimitiveStandardAttributes.h:
2009         (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
2010
2011 2010-09-07  Sam Weinig  <sam@webkit.org>
2012
2013         Reviewed by Dan Bernstein.
2014
2015         DatasetDOMStringMap does not have the right memory model
2016         https://bugs.webkit.org/show_bug.cgi?id=45358
2017
2018         Test: fast/dom/dataset-gc.html
2019
2020         * bindings/js/JSElementCustom.cpp:
2021         (WebCore::JSElement::markChildren):
2022         Mark the dataset if it exists.
2023
2024         * dom/Element.cpp:
2025         (WebCore::Element::optionalDataset):
2026         * dom/Element.h:
2027         Expose a way to get the dataset or null (depending on if anyone thing
2028         has forced its creation yet).
2029
2030 2010-09-07  Jan E Hanssen  <jhanssen@sencha.com>
2031
2032         Reviewed by Andreas Kling.
2033
2034         [Qt] Add a separate Path::closeCanvasSubpath() function for canvas paths
2035         https://bugs.webkit.org/show_bug.cgi?id=45331
2036
2037         This is needed due to an adverse effect of the fix in 44061 that causes
2038         certain paths not to be closed. This is not important for canvas paths
2039         but it is for SVG paths, so splitting up the code in a generic (SVG)
2040         case and one specialized for canvas.
2041
2042         Test: svg/dom/path-totalLength.html
2043
2044         * html/canvas/CanvasRenderingContext2D.cpp:
2045         (WebCore::CanvasRenderingContext2D::closePath):
2046         * platform/graphics/Path.h:
2047         (WebCore::Path::closeCanvasSubpath):
2048         * platform/graphics/qt/PathQt.cpp:
2049         (WebCore::Path::closeSubpath):
2050         (WebCore::Path::closeCanvasSubpath):
2051
2052 2010-09-07  Simon Fraser  <simon.fraser@apple.com>
2053
2054         Reviewed by Chris Marrin.
2055
2056         Transform animations always run in software now
2057         https://bugs.webkit.org/show_bug.cgi?id=45341
2058         
2059         After r66339 we always fell into software animation, because we
2060         failed to detect transform or opacity properties in the keyframes,
2061         so would send an empty list of values to the GraphicsLayer.
2062         
2063         Fixed by using CSSProperty values, rather than GraphicsLayer
2064         values, when detecting the presence of properties in the keyframes.
2065         
2066         Test: manual-tests/transition-accelerated.html
2067
2068         * rendering/RenderLayerBacking.cpp:
2069         (WebCore::RenderLayerBacking::startAnimation):
2070
2071 2010-09-07  Chris Rogers  <crogers@google.com>
2072
2073         Reviewed by Kenneth Russell.
2074
2075         audio engine: add FFTFrame files
2076         https://bugs.webkit.org/show_bug.cgi?id=34827
2077
2078         No new tests since audio API is not yet implemented.
2079
2080         * platform/audio/FFTFrame.cpp: Added.
2081         (WebCore::FFTFrame::doPaddedFFT):
2082         (WebCore::FFTFrame::createInterpolatedFrame):
2083         (WebCore::FFTFrame::interpolateFrequencyComponents):
2084         (WebCore::FFTFrame::extractAverageGroupDelay):
2085         (WebCore::FFTFrame::addConstantGroupDelay):
2086         (WebCore::FFTFrame::print):
2087         * platform/audio/FFTFrame.h: Added.
2088         (WebCore::FFTFrame::fftSize):
2089         (WebCore::FFTFrame::log2FFTSize):
2090         (WebCore::FFTFrame::dspSplitComplex):
2091         * platform/audio/mac/FFTFrameMac.cpp: Added.
2092         (WebCore::FFTFrame::FFTFrame):
2093         (WebCore::FFTFrame::~FFTFrame):
2094         (WebCore::FFTFrame::multiply):
2095         (WebCore::FFTFrame::doFFT):
2096         (WebCore::FFTFrame::doInverseFFT):
2097         (WebCore::FFTFrame::fftSetupForSize):
2098         (WebCore::FFTFrame::cleanup):
2099         (WebCore::FFTFrame::realData):
2100         (WebCore::FFTFrame::imagData):
2101
2102 2010-09-07  Brent Fulgham  <bfulgham@webkit.org>
2103
2104         Build fix, no review.
2105
2106         Provide stubs to allow WebKit.dll to build
2107         for the WinCairo port.
2108
2109         * platform/network/curl/ResourceRequest.h:
2110         (WebCore::ResourceRequest::ResourceRequest):
2111         * platform/network/curl/ResourceResponse.h:
2112         (WebCore::ResourceResponse::cfURLResponse):
2113
2114 2010-09-07  Chris Rogers  <crogers@google.com>
2115
2116         Reviewed by Kenneth Russell.
2117
2118         Add AudioArray.h
2119         https://bugs.webkit.org/show_bug.cgi?id=45204
2120
2121         No new tests since audio API is not yet implemented.
2122
2123         * platform/audio/AudioArray.h: Added.
2124         (WebCore::AudioArray::AudioArray):
2125         (WebCore::AudioArray::zero):
2126         (WebCore::AudioArray::zeroRange):
2127         (WebCore::AudioArray::copyToRange):
2128
2129 2010-09-07  Mihai Parparita  <mihaip@chromium.org>
2130
2131         Reviewed by Oliver Hunt.
2132
2133         pushState and replaceState do not clone RegExp objects correctly
2134         https://bugs.webkit.org/show_bug.cgi?id=44718
2135         
2136         Add RegExp support to the JSC implementation of SerializedScriptValue
2137         (it stores the pattern and flags read from a RegExpObject, and creates
2138         a new one on deserialization).
2139         
2140         Tests: fast/loader/stateobjects/pushstate-object-types.html 
2141
2142         * ForwardingHeaders/runtime/RegExp.h: Added.
2143         * ForwardingHeaders/runtime/RegExpObject.h: Added.
2144         * bindings/js/SerializedScriptValue.cpp:
2145         (WebCore::CloneSerializer::dumpIfTerminal):
2146         (WebCore::CloneDeserializer::readTerminal):
2147
2148 2010-09-07  James Robinson  <jamesr@chromium.org>
2149
2150         Reviewed by Kenneth Russell.
2151
2152         Fix compile errors in DrawingBuffer if USE(ACCELERATED_COMPOSITING) is not set
2153         https://bugs.webkit.org/show_bug.cgi?id=45324
2154
2155         Adds appropriate #if guards around code that has to deal directly with the compositor.
2156         DrawingBuffer can still be used without the compositor as an off-screen rendering
2157         region.
2158
2159         To test, compile without USE(ACCELERATED_COMPOSITING).
2160
2161         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2162         (WebCore::DrawingBuffer::~DrawingBuffer):
2163         (WebCore::DrawingBuffer::reset):
2164         * platform/graphics/gpu/DrawingBuffer.h:
2165
2166 2010-09-03  Joseph Pecoraro  <joepeck@webkit.org>
2167
2168         Reviewed by Darin Adler.
2169
2170         Provide a way to trigger a <select multiple> onchange event on changes
2171         https://bugs.webkit.org/show_bug.cgi?id=45192
2172
2173         Test: LayoutTests/platform/mac/fast/objc/dom-html-select-activate.html
2174
2175         This provides a way for a WebKit client using the Obj-C DOM bindings to
2176         trigger the "change" on a listbox select (<select multiple> or <select>
2177         with size > 1). This is because when a select is rendered as a listbox
2178         "change" events are triggered by mouse down events.
2179
2180         This adds -[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]
2181         to allow for handling multiple selections if the select element is a
2182         multi-select.
2183
2184         * bindings/objc/DOMHTML.mm:
2185         (-[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]):
2186         * bindings/objc/DOMPrivate.h: unified the Category name. Was "FormsAutocomplete" now all are "FormAutocomplete".
2187         * dom/SelectElement.h:
2188         * html/HTMLSelectElement.cpp:
2189         (WebCore::HTMLSelectElement::setSelectedIndexByUser): listboxs need to be treated specially to fire their "change" event.
2190         * html/HTMLSelectElement.h:
2191         * wml/WMLSelectElement.cpp:
2192         (WebCore::WMLSelectElement::setSelectedIndexByUser):
2193
2194 2010-09-07  Simon Fraser  <simon.fraser@apple.com>
2195
2196         Reviewed by Darin Adler.
2197
2198         Minor WKCACFLayerRenderer cleanup
2199         https://bugs.webkit.org/show_bug.cgi?id=45201
2200
2201         Call initD3DGeometry() from createRenderer, rather than duplicating the code.
2202
2203         No behavior changes.
2204
2205         * platform/graphics/win/WKCACFLayerRenderer.cpp:
2206         (WebCore::WKCACFLayerRenderer::createRenderer):
2207
2208 2010-09-07  Vangelis Kokkevis  <vangelis@chromium.org>
2209
2210         Reviewed by Darin Fisher.
2211
2212         [chromium] Reset the owner of PlatformLayer's once the GraphicsLayer they are associated with
2213         gets destroyed.
2214         https://bugs.webkit.org/show_bug.cgi?id=45329
2215
2216         Test: Fixes UI test failures downstream for all the Media tests when run on the buildbots (machines without GPUs).
2217
2218         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2219         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
2220
2221 2010-09-07  Anders Carlsson  <andersca@apple.com>
2222
2223         Reviewed by Darin Adler.
2224
2225         <rdar://problem/8381749> -Wcast-align warning emitted when building with clang
2226
2227         Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
2228
2229         * Configurations/Base.xcconfig:
2230
2231 2010-09-07  Abhishek Arya  <inferno@chromium.org>
2232
2233         Reviewed by Darin Adler.
2234
2235         Remove redundant bounds check in originalText(). Add bounds check
2236         to previousCharacter(). No need of start() > 0 check since m_start
2237         is unsigned and we already do start() null check inside function.
2238         https://bugs.webkit.org/show_bug.cgi?id=45303
2239
2240         Test: fast/text/one-letter-transform-crash.html
2241
2242         * rendering/RenderTextFragment.cpp:
2243         (WebCore::RenderTextFragment::originalText):
2244         (WebCore::RenderTextFragment::previousCharacter):
2245
2246 2010-09-07  Kenneth Russell  <kbr@google.com>
2247
2248         Reviewed by Dimitri Glazkov.
2249
2250         Regression in JPEG texture uploads on Mac OS X
2251         https://bugs.webkit.org/show_bug.cgi?id=45316
2252
2253         Fixed regression introduced in
2254         https://bugs.webkit.org/show_bug.cgi?id=44566 . Added regression
2255         test covering this case to gl-teximage.html in Khronos repository
2256         and synced test with WebKit's version.
2257
2258         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2259         (WebCore::GraphicsContext3D::getImageData):
2260
2261 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
2262
2263         Add rendering/ColumnInfo.h to the sources list.
2264
2265         * GNUmakefile.am:
2266
2267 2010-09-07  David Hyatt  <hyatt@apple.com>
2268
2269         Reviewed by Beth Dakin.
2270
2271         https://bugs.webkit.org/show_bug.cgi?id=45317, encapsulate multi-column rectangle information.
2272
2273         * WebCore.xcodeproj/project.pbxproj:
2274         * rendering/ColumnInfo.h: Added.
2275         (WebCore::ColumnInfo::ColumnInfo):
2276         (WebCore::ColumnInfo::desiredColumnWidth):
2277         (WebCore::ColumnInfo::setDesiredColumnWidth):
2278         (WebCore::ColumnInfo::desiredColumnCount):
2279         (WebCore::ColumnInfo::setDesiredColumnCount):
2280         (WebCore::ColumnInfo::columnCount):
2281         (WebCore::ColumnInfo::columnRectAt):
2282         (WebCore::ColumnInfo::clearColumns):
2283         (WebCore::ColumnInfo::addColumnRect):
2284         * rendering/RenderBlock.cpp:
2285         (WebCore::RenderBlock::paintColumnRules):
2286         (WebCore::RenderBlock::paintColumnContents):
2287         (WebCore::RenderBlock::lowestPosition):
2288         (WebCore::RenderBlock::rightmostPosition):
2289         (WebCore::RenderBlock::leftmostPosition):
2290         (WebCore::RenderBlock::hitTestColumns):
2291         (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
2292         (WebCore::RenderBlock::desiredColumnWidth):
2293         (WebCore::RenderBlock::desiredColumnCount):
2294         (WebCore::RenderBlock::columnInfo):
2295         (WebCore::RenderBlock::layoutColumns):
2296         (WebCore::RenderBlock::adjustPointToColumnContents):
2297         (WebCore::RenderBlock::adjustRectForColumns):
2298         (WebCore::RenderBlock::adjustForColumns):
2299         * rendering/RenderBlock.h:
2300         * rendering/RenderLayer.cpp:
2301         (WebCore::RenderLayer::paintChildLayerIntoColumns):
2302         (WebCore::RenderLayer::hitTestChildLayerColumns):
2303
2304 2010-09-07  Dan Bernstein  <mitz@apple.com>
2305
2306         Reviewed by Dave Hyatt.
2307
2308         <rdar://problem/7794761> Floats inside of multicol fail to hit test
2309         https://bugs.webkit.org/show_bug.cgi?id=44730
2310
2311         Test: fast/multicol/hit-test-float.html
2312
2313         Factored float hit-testing out of nodeAtPoint so that hitTestColumns could
2314         call it with column-adjusted coordinates.
2315
2316         * rendering/RenderBlock.cpp:
2317         (WebCore::RenderBlock::nodeAtPoint):
2318         (WebCore::RenderBlock::hitTestFloats):
2319         (WebCore::RenderBlock::hitTestColumns):
2320         * rendering/RenderBlock.h:
2321
2322 2010-09-07  François Sausset  <sausset@gmail.com>
2323
2324         Reviewed by Beth Dakin.
2325
2326         <math> element should be centered when display attribute set to block.
2327         https://bugs.webkit.org/show_bug.cgi?id=44206
2328
2329         Test: mathml/presentation/attributes.xhtml
2330
2331         * css/mathml.css:
2332         (math[display="block"]):
2333
2334 2010-09-07  Eric Carlson  <eric.carlson@apple.com>
2335
2336         Reviewed by Darin Adler.
2337
2338         Media elements should derive from ActiveDOMObjects
2339         https://bugs.webkit.org/show_bug.cgi?id=45306
2340         <rdar://problem/7929062>
2341
2342         * html/HTMLMediaElement.cpp:
2343         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize ActiveDOMObject
2344         (WebCore::HTMLMediaElement::stop): Call suspend, we want to do the same thing in both cases.
2345         (WebCore::HTMLMediaElement::suspend): Rename from documentWillBecomeInactive.
2346         (WebCore::HTMLMediaElement::resume): Rename from documentDidBecomeActive.
2347         (WebCore::HTMLMediaElement::hasPendingActivity): Return true if the event queue is not empty
2348         so the element can't be collected before they are sent.
2349         * html/HTMLMediaElement.h:
2350         (WebCore::HTMLMediaElement::canSuspend):
2351
2352 2010-09-07  Dimitri Glazkov  <dglazkov@chromium.org>
2353
2354         Unreviewed, rolling out r66886.
2355         http://trac.webkit.org/changeset/66886
2356         https://bugs.webkit.org/show_bug.cgi?id=45112
2357
2358         Made
2359
2360         * platform/chromium/GeolocationServiceChromium.cpp:
2361         * platform/chromium/GeolocationServiceChromium.h:
2362
2363 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
2364
2365         Small build fix. Remove libWebCoreJS from CLEAN_FILES, as it
2366         is no longer built.
2367
2368         * GNUmakefile.am: Remove reference to libWebCoreJS.
2369
2370 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
2371
2372         Reviewed by Xan Lopez.
2373
2374         [GTK] [REGRESSION] r66848 caused a crash in testwebview
2375         https://bugs.webkit.org/show_bug.cgi?id=45298
2376
2377         No new tests as this fixes a test failure.
2378
2379         * platform/gtk/ScrollViewGtk.cpp:
2380         (WebCore::ScrollView::setGtkAdjustments): Don't actually attach the
2381         scrollbar adjustments unless this is a main frame ScrollView. If we do
2382         Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing
2383         a segfault.
2384
2385 2010-09-07  Kristian Monsen  <kristianm@google.com>
2386
2387         Reviewed by Steve Block.
2388
2389         Compile fix for Android.
2390         https://bugs.webkit.org/show_bug.cgi?id=45292
2391         Explicitly add needed header for 
2392         STRING_TO_V8PARAMETER_EXCEPTION_BLOCK as they do not get 
2393         included through other headers on Android.
2394
2395         No new tests, just a compile fix.
2396
2397         * bindings/scripts/CodeGeneratorV8.pm:
2398
2399 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
2400
2401         Reviewed by Xan Lopez.
2402
2403         [GTK] Fix some feature guards
2404         https://bugs.webkit.org/show_bug.cgi?id=45302
2405
2406         No new tests as this is just a build change.
2407
2408         * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Guard with #if ENABLE(VIDEO)
2409         * platform/graphics/gstreamer/DataSourceGStreamer.h: Ditto.
2410         * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Ditto.
2411         * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Ditto.
2412         * platform/graphics/gstreamer/GStreamerGWorld.cpp: Ditto.
2413         * platform/graphics/gstreamer/GStreamerGWorld.h: Ditto.
2414         * platform/graphics/gstreamer/ImageGStreamer.h: Ditto.
2415         * platform/graphics/gstreamer/ImageGStreamerCG.mm: Ditto.
2416         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Ditto.
2417         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Ditto.
2418         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Ditto.
2419         * platform/graphics/gstreamer/PlatformVideoWindow.h: Ditto.
2420         * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Ditto.
2421         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Ditto.
2422         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Ditto.
2423         * platform/graphics/gstreamer/VideoSinkGStreamer.h: Ditto.
2424         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Ditto.
2425         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Ditto.
2426         * platform/gtk/GeolocationServiceGtk.cpp: Guard with ENABLE(GEOLOCATION)
2427         * platform/gtk/GeolocationServiceGtk.h: Ditto.
2428
2429 2010-09-07  Jonathan Dixon  <joth@chromium.org>
2430
2431         Reviewed by Jeremy Orlow.
2432
2433         Access to out-of-scope WebGeolocationServiceBridgeImpl
2434         https://bugs.webkit.org/show_bug.cgi?id=45112
2435
2436         Add missing virtual destructor to the abstract base class.
2437
2438         * platform/chromium/GeolocationServiceChromium.cpp:
2439         (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
2440         * platform/chromium/GeolocationServiceChromium.h:
2441
2442 2010-09-07  Martin Robinson  <mrobinson@igalia.com>
2443
2444         Reviewed by Xan Lopez.
2445
2446         [GTK] [REGRESSION] r66848 caused a crash in testwebview
2447         https://bugs.webkit.org/show_bug.cgi?id=45298
2448
2449         No new tests as this fixes a test failure.
2450
2451         * platform/gtk/ScrollViewGtk.cpp:
2452         (WebCore::ScrollView::setGtkAdjustments): Don't actually attach the
2453         scrollbar adjustments unless this is a main frame ScrollView. If we do
2454         Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing
2455         a segfault.
2456
2457 2010-09-07  Adam Langley  <agl@chromium.org>
2458
2459         Reviewed by Tony Chang.
2460
2461         [chromium] Fix complex text word spacing on Linux.
2462
2463         I broke complex text word spacing with r66689. I misnamed a
2464         variable in the original code |glyphIndex| when it was
2465         actually indexing code points. That meant that I compared it
2466         against the wrong limit when working around Harfbuzz issues
2467         and neatly disabled word spacing.
2468
2469         https://bugs.webkit.org/show_bug.cgi?id=45191
2470
2471         Test: fast/text/atsui-spacing-features.html
2472
2473         * platform/graphics/chromium/FontLinux.cpp:
2474         (WebCore::TextRunWalker::setGlyphXPositions):
2475
2476 2010-09-07  Satish Sampath  <satish@chromium.org>
2477
2478         Reviewed by Steve Block.
2479
2480         Fix speech button's hit test logic for RTL rendering.
2481         https://bugs.webkit.org/show_bug.cgi?id=45288
2482
2483         * rendering/RenderTextControlSingleLine.cpp:
2484         (WebCore::RenderTextControlSingleLine::forwardEvent):
2485
2486 2010-09-07  Satish Sampath  <satish@chromium.org>
2487
2488         Reviewed by Jeremy Orlow.
2489
2490         Ignore programmatic clicks on speech input button for security reasons.
2491         https://bugs.webkit.org/show_bug.cgi?id=45181
2492
2493         Test: fast/speech/speech-button-ignore-generated-events.html
2494
2495         * rendering/TextControlInnerElements.cpp:
2496         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2497
2498 2010-09-07  Kent Hansen  <kent.hansen@nokia.com>
2499
2500         Reviewed by Andreas Kling.
2501
2502         [Qt] tst_QWebFrame::connectAndDisconnect() fails on WebKit trunk because __qt_sender__ is never set
2503         https://bugs.webkit.org/show_bug.cgi?id=44697
2504
2505         When the signal handler is a JS function, __qt_sender__ is stuffed into a temporary
2506         object that's pushed onto the function's scope before the function is invoked, and
2507         popped again afterwards.
2508
2509         We were pushing this new scope object _after_ calling JSFunction::getCallData(),
2510         and relying on JSC::call() to use the fresh scope chain from the function object.
2511         However, this is no longer the case; JSC::call() uses the scope chain passed in
2512         the CallData argument. Hence, we need to set up the scope before the function's
2513         CallData is queried.
2514
2515         * bridge/qt/qt_runtime.cpp:
2516         (JSC::Bindings::QtConnectionObject::execute):
2517
2518 2010-09-07  Kwang Yul Seo  <skyul@company100.net>
2519
2520         Reviewed by Kent Tamura.
2521
2522         Add ENABLE(INSPECTOR) guard in InspectorController::inspectorControllerForNode
2523         https://bugs.webkit.org/show_bug.cgi?id=45272
2524
2525         Build fix.
2526
2527         * inspector/InspectorController.h:
2528         (WebCore::InspectorController::inspectorControllerForNode):
2529
2530 2010-09-07  Joerg Bornemann  <joerg.bornemann@nokia.com>
2531
2532         Reviewed by Ariya Hidayat.
2533
2534         Fix QtWebKit linker error on Windows CE 6.
2535         https://bugs.webkit.org/show_bug.cgi?id=43442
2536
2537         Doesn't affect any tests.
2538
2539         * WebCore.pro:
2540
2541 2010-09-07  James Kozianski  <koz@chromium.org>
2542
2543         Reviewed by Kent Tamura.
2544
2545         Crash rendering <meter/> with percent padding
2546         https://bugs.webkit.org/show_bug.cgi?id=45081
2547
2548         Avoids a crash caused by RenderMeter checking its own dimensions to
2549         determine whether it needs layout. The crash is avoided by removing
2550         the check and always calling setNeedsLayout(true).
2551
2552         Test: fast/dom/HTMLMeterElement/meter-percent-size.html
2553
2554         * rendering/RenderIndicator.cpp:
2555         (WebCore::RenderIndicator::updateFromElement):
2556         * rendering/RenderIndicator.h:
2557
2558 2010-09-06  Adam Barth  <abarth@webkit.org>
2559
2560         Reviewed by Sam Weinig.
2561
2562         OOB read with svg polyline
2563         https://bugs.webkit.org/show_bug.cgi?id=45279
2564
2565         In principle, attributeChanged can do anything.  If we supported more
2566         DOM mutation events, it could even run JavaScript.  That means we need
2567         to be prepared for the attribute map to change when running
2568         attributeChanged.  This patch makes this loop resilient to the
2569         attribute map changing by storing the list of changed attributes on the
2570         stack.
2571
2572         Test: fast/parser/changing-attrbutes-crash.html
2573
2574         * dom/Element.cpp:
2575         (WebCore::Element::setAttributeMap):
2576
2577 2010-09-06  Oliver Hunt  <oliver@apple.com>
2578
2579         Windows build fix
2580
2581         * bindings/js/SerializedScriptValue.cpp:
2582         (WebCore::CloneSerializer::write):
2583
2584 2010-09-06  Oliver Hunt  <oliver@apple.com>
2585
2586         Windows build fix
2587
2588         * bindings/js/SerializedScriptValue.cpp:
2589         (WebCore::CloneSerializer::write):
2590
2591 2010-09-05  Oliver Hunt  <oliver@apple.com>
2592
2593         Reviewed by Sam Weinig.
2594
2595         SerializedScriptValue needs to use a flat storage mechanism
2596         https://bugs.webkit.org/show_bug.cgi?id=45244
2597
2598         Rewrite the old tree to tree serialization logic to use
2599         flat storage.  Unfortunately this basically required a
2600         complete rewrite.
2601
2602         * bindings/js/SerializedScriptValue.cpp:
2603         (WebCore::CloneBase::CloneBase):
2604         (WebCore::CloneBase::shouldTerminate):
2605         (WebCore::CloneBase::ticksUntilNextCheck):
2606         (WebCore::CloneBase::didTimeOut):
2607         (WebCore::CloneBase::throwStackOverflow):
2608         (WebCore::CloneBase::throwInterruptedException):
2609         (WebCore::CloneBase::fail):
2610         (WebCore::CloneSerializer::serialize):
2611         (WebCore::CloneSerializer::CloneSerializer):
2612         (WebCore::CloneSerializer::isArray):
2613         (WebCore::CloneSerializer::startObject):
2614         (WebCore::CloneSerializer::startArray):
2615         (WebCore::CloneSerializer::endObject):
2616         (WebCore::CloneSerializer::getSparseIndex):
2617         (WebCore::CloneSerializer::getProperty):
2618         (WebCore::CloneSerializer::dumpImmediate):
2619         (WebCore::CloneSerializer::dumpString):
2620         (WebCore::CloneSerializer::dumpIfTerminal):
2621         (WebCore::CloneSerializer::write):
2622         (WebCore::CloneSerializer::writeLittleEndian):
2623         (WebCore::CloneSerializer::writeStringIndex):
2624         (WebCore::CloneDeserializer::deserializeString):
2625         (WebCore::CloneDeserializer::deserialize):
2626         (WebCore::CloneDeserializer::CloneDeserializer):
2627         (WebCore::CloneDeserializer::throwValidationError):
2628         (WebCore::CloneDeserializer::isValid):
2629         (WebCore::CloneDeserializer::readLittleEndian):
2630         (WebCore::CloneDeserializer::read):
2631         (WebCore::CloneDeserializer::readStringIndex):
2632         (WebCore::CloneDeserializer::readString):
2633         (WebCore::CloneDeserializer::readStringData):
2634         (WebCore::CloneDeserializer::readTag):
2635         (WebCore::CloneDeserializer::putProperty):
2636         (WebCore::CloneDeserializer::readFile):
2637         (WebCore::CloneDeserializer::readTerminal):
2638         (WebCore::SerializedScriptValue::~SerializedScriptValue):
2639         (WebCore::SerializedScriptValue::SerializedScriptValue):
2640         (WebCore::SerializedScriptValue::create):
2641         (WebCore::SerializedScriptValue::toString):
2642         (WebCore::SerializedScriptValue::deserialize):
2643         (WebCore::SerializedScriptValue::nullValue):
2644         * bindings/js/SerializedScriptValue.h:
2645         * dom/MessagePortChannel.cpp:
2646         (WebCore::MessagePortChannel::EventData::EventData):
2647         * workers/WorkerMessagingProxy.cpp:
2648         (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
2649         (WebCore::MessageWorkerTask::MessageWorkerTask):
2650
2651 2010-09-06  Martin Robinson  <mrobinson@igalia.com>
2652
2653         Reviewed by Gustavo Noronha Silva.
2654
2655         [GTK] ScrollbarThemeGtk should be enabled for interior frame scrollbars
2656         https://bugs.webkit.org/show_bug.cgi?id=45046
2657
2658         Make interior frame scrollbars "fully-fake," which means they do not rely
2659         at all on GTK+ for painting or behavior, but instead are typical WebCore
2660         scrollbars drawn according to the GTK+ theme. Move ScrollbarGtk to
2661         MainFrameScrollbarGtk and remove all logic in that file dealing with interior
2662         frame scrollbars.
2663
2664         No new tests, as this is already covered by pixel tests for scrollbars,
2665         which were added in r66605.
2666
2667         * GNUmakefile.am: Update sources list.
2668         * platform/ScrollView.h: Change the adjustment members to be smart pointers.
2669         * platform/Scrollbar.cpp: Enable THUMB_POSITION_AFFECTS_BUTTONS for GTK+ as well.
2670         * platform/gtk/MainFrameScrollbarGtk.cpp: Added.
2671         (MainFrameScrollbarGtk::create): Create a MainFrameScrollbarGtk instead of ScrollbarGtk.
2672         (MainFrameScrollbarGtk::MainFrameScrollbarGtk):
2673         (MainFrameScrollbarGtk::~MainFrameScrollbarGtk):
2674         (MainFrameScrollbarGtk::attachAdjustment):
2675         (MainFrameScrollbarGtk::detachAdjustment):
2676         (MainFrameScrollbarGtk::updateThumbPosition):
2677         (MainFrameScrollbarGtk::updateThumbProportion):
2678         (MainFrameScrollbarGtk::gtkValueChanged):
2679         (MainFrameScrollbarGtk::paint):
2680         * platform/gtk/MainFrameScrollbarGtk.h: Added.
2681         * platform/gtk/ScrollViewGtk.cpp:
2682         (WebCore::ScrollView::platformInit): Remove unnecessary initialization
2683         because of smart pointer change.
2684         (WebCore::ScrollView::createScrollbar): Instead of creating ScrollbarGtk for
2685         interior frame scrollbars, create a normal WebCore scrollbar.
2686         (WebCore::ScrollView::setGtkAdjustments): Added an extra assert which ensures
2687         that this method is never called with a non-null adjustment on an interior frame
2688         scrollbar.
2689         (WebCore::ScrollView::platformAddChild): Remove logic for interior frame scrollbars.
2690         (WebCore::ScrollView::platformRemoveChild): Remove logic for interior frame scrollbars.
2691         (WebCore::ScrollView::visibleContentRect): Use a more accurate guard for detecting
2692         transitionary states when accessing parent widgets. Explcitly guard against interior
2693         frame ScrollView's trying to determine size based on parent widgets.
2694         (WebCore::ScrollView::setScrollbarModes): This method was out of sync with the one
2695         it copy-and-pasted from. Update it and change the logic to do the right thing for
2696         interior frame scrollbars.
2697         * platform/gtk/ScrollbarGtk.cpp: Removed.
2698         * platform/gtk/ScrollbarGtk.h: Removed.
2699
2700 2010-09-06  Justin Schuh  <jschuh@chromium.org>
2701
2702         Reviewed by Nikolas Zimmermann.
2703
2704         Make SVG PendingResources use RefPtr
2705         https://bugs.webkit.org/show_bug.cgi?id=43587
2706
2707         Convert SVGDocumentExtensions::m_pendingResources to use a RefPtr for 
2708         pending elements instead of a raw pointer so that pending elements can't
2709         be freed prematurely.
2710
2711         Test: svg/custom/use-invalid-pattern.svg
2712
2713         * rendering/RenderSVGResourceContainer.cpp:
2714         (WebCore::RenderSVGResourceContainer::registerResource):
2715         * svg/SVGDocumentExtensions.cpp:
2716         (WebCore::SVGDocumentExtensions::addPendingResource):
2717         (WebCore::SVGDocumentExtensions::removePendingResource):
2718         * svg/SVGDocumentExtensions.h:
2719         * svg/SVGElement.cpp:
2720         (WebCore::SVGElement::insertedIntoDocument):
2721
2722 2010-09-06  Martin Robinson  <mrobinson@igalia.com>
2723
2724         Reviewed by Gustavo Noronha Silva.
2725
2726         [GTK] ScrollbarThemeGtk should support secondary steppers
2727         https://bugs.webkit.org/show_bug.cgi?id=44791
2728
2729         Add support to ScrollbarThemeGtk for drawing alternate steppers. Adjust
2730         the algorithms for calculating forward and back button rects, if they
2731         are active in the theme. Expose this information via GtkScrollbarMetrics.
2732
2733         * platform/gtk/ScrollbarThemeGtk.cpp:
2734         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Access the secondary stepper properties
2735         of GtkScrollbarMetrics when updating the style cache.
2736         (WebCore::ScrollbarThemeGtk::backButtonRect): Account for alternate steppers.
2737         (WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto.
2738         (WebCore::ScrollbarThemeGtk::trackRect): Ditto.
2739         (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
2740         * platform/gtk/ScrollbarThemeGtk.h:
2741         * platform/gtk/gtk2drawing.c: Expose whether or not the style uses alternate steppers
2742         via GtkScrollbarMetrics.
2743         * platform/gtk/gtkdrawing.h: Added fields to GtkScrollbarMetrics.
2744
2745 2010-09-06  Tony Gentilcore  <tonyg@chromium.org>
2746
2747         Reviewed by Adam Barth.
2748
2749         Implement HTML5 definition of document.readyState
2750         https://bugs.webkit.org/show_bug.cgi?id=45119
2751
2752         The legacy behavior was "loading" -> "loaded" -> "complete". The new
2753         HTML5 behavior is "loading" -> "interactive" -> "complete". There is
2754         some potential for this to cause compat problems if for instance a
2755         page expects readyState to be "loaded" during the DOMContentLoaded event.
2756
2757         Test: fast/dom/Document/readystate.html
2758
2759         * dom/Document.cpp:
2760         (WebCore::Document::Document): Initial value is Complete because according to http://www.whatwg.org/specs/web-apps/current-work/#dom-document-readystate,
2761         when a Document is created the initial value is "complete" unless it has a parser associated with it, in which case it is "loading".
2762         So the ctor starts it Complete, and when the parser is created it is flipped to Loading.
2763         (WebCore::Document::readyState):
2764         (WebCore::Document::setReadyState):
2765         (WebCore::Document::implicitOpen):
2766         (WebCore::Document::finishedParsing): Ensure that XML and HTML parser have transition to Stopping state.
2767         * dom/Document.h:
2768         * dom/DocumentParser.cpp:
2769         (WebCore::DocumentParser::prepareToStopParsing): Previously this was being called when parsing had stopped.
2770         It is better to ensure it is only called while parsing.
2771         * dom/XMLDocumentParser.cpp:
2772         (WebCore::XMLDocumentParser::end): Transition to stopping before calling document finishedParsiong().
2773         * html/parser/HTMLDocumentParser.cpp:
2774         (WebCore::HTMLDocumentParser::prepareToStopParsing): Set state to interactive before running deferred scripts.
2775         This method is also called when parsing fragments, so we need to ensure it isn't done in that case.
2776         (WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd): Added. Break out this part s that notifyFinished doesn't go through
2777         the additional steps of pumping tokenizer, setting the state, etc.
2778         (WebCore::HTMLDocumentParser::notifyFinished): Now that prepareToStopParsing is split up, we must protect. It also makes sense to add a couple of ASSERTs.
2779         * loader/FrameLoader.cpp:
2780         (WebCore::FrameLoader::stopLoading): It looks like an aborted load should never transition to "complete" according the HTML5. I've left the legacy behavior for now though.
2781         (WebCore::FrameLoader::checkCompleted): The FrameLoader now sets the state on the Document instead of the Document polling the FrameLoader.
2782
2783 2010-09-06  Anton Muhin  <antonm@chromium.org>
2784
2785         Reviewed by Adam Barth.
2786
2787         [v8] Inline hot methods for V8 to WebCore and back conversions
2788         https://bugs.webkit.org/show_bug.cgi?id=45270
2789
2790         Inline fast paths of hot functions performing conversions from V8 wrappers
2791         to WebCore native objects and back.
2792         That slightly increases the size of binary (within 0.1% for both Ubuntu
2793         and Windows, but those builds are slightly different from official ones),
2794         but gives performance boost (3--5% on Windows, up to 8% on Ubuntu).
2795
2796         * bindings/scripts/CodeGeneratorV8.pm:
2797         * bindings/v8/V8DOMWindowShell.cpp:
2798         (WebCore::V8DOMWindowShell::initContextIfNeeded):
2799         * bindings/v8/V8DOMWindowShell.h:
2800         * bindings/v8/V8DOMWrapper.cpp:
2801         (WebCore::V8DOMWrapper::getWrapperSlow):
2802         * bindings/v8/V8DOMWrapper.h:
2803         (WebCore::V8DOMWrapper::getWrapper):
2804         * bindings/v8/custom/V8NodeCustom.cpp:
2805         (WebCore::toV8Slow):
2806
2807 2010-09-06  Shane Stephens  <shanestephens@google.com>
2808
2809         Reviewed by Dimitri Glazkov.
2810
2811         [Crash] <animateMotion> element directly inside <symbol> element causes crash when referenced by <use>
2812         https://bugs.webkit.org/show_bug.cgi?id=44750
2813
2814         Fixes crash by checking for null transforms and skipping update step
2815         when appropriate.
2816
2817         Test: svg/dom/symbol-embeddedAnimation.svg
2818
2819         * svg/SVGAnimateMotionElement.cpp:
2820         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
2821
2822 2010-09-06  Xan Lopez  <xlopez@igalia.com>
2823
2824         Rubber-stamped by Tor Arne Vestbø.
2825
2826         WebCore already generates a focus-{out,in} events on its setFocus
2827         method, there's no need to duplicate it here. Previously this was
2828         needed because we were not catching all possible names of focus
2829         events in PluginView::handleEvent and were missing the ones
2830         WebCore does, but this has been fixed in r66827.
2831
2832         * plugins/qt/PluginViewQt.cpp:
2833         (WebCore::PluginView::setFocus):
2834
2835 2010-09-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2836
2837         Unreviewed, rolling out r66823.
2838         http://trac.webkit.org/changeset/66823
2839         https://bugs.webkit.org/show_bug.cgi?id=45266
2840
2841         Windows build fails with unknown reason (Requested by zherczeg
2842         on #webkit).
2843
2844         * Android.mk:
2845         * CMakeLists.txt:
2846         * GNUmakefile.am:
2847         * WebCore.gypi:
2848         * WebCore.pro:
2849         * WebCore.vcproj/WebCore.vcproj:
2850         * WebCore.xcodeproj/project.pbxproj:
2851         * rendering/RenderObject.h:
2852         * rendering/RenderSVGResourceFilterPrimitive.cpp: Removed.
2853         * rendering/RenderSVGResourceFilterPrimitive.h: Removed.
2854         * rendering/SVGRenderTreeAsText.cpp:
2855         (WebCore::writeSVGContainer):
2856         * svg/SVGFEDiffuseLightingElement.cpp:
2857         (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
2858         * svg/SVGFELightElement.cpp:
2859         (WebCore::SVGFELightElement::svgAttributeChanged):
2860         (WebCore::SVGFELightElement::childrenChanged):
2861         * svg/SVGFEOffsetElement.cpp:
2862         (WebCore::SVGFEOffsetElement::svgAttributeChanged):
2863         * svg/SVGFilterElement.h:
2864         (WebCore::SVGFilterElement::invalidateFilter):
2865         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2866         (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
2867         (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
2868         * svg/SVGFilterPrimitiveStandardAttributes.h:
2869         (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
2870
2871 2010-09-06  Xan Lopez  <xlopez@igalia.com>
2872
2873         Reviewed by Martin Robinson.
2874
2875         [GTK] Provide Keyboard Events to Windowless plugins
2876         https://bugs.webkit.org/show_bug.cgi?id=44613
2877
2878         Fix keyboard event delivery for windowless plugins.
2879
2880         Based on a patch by Bharathwaaj.
2881
2882         * plugins/PluginView.cpp:
2883         (WebCore::PluginView::handleEvent): also take into account
2884         focused{in,out} events
2885         * plugins/gtk/PluginViewGtk.cpp:
2886         (WebCore::PluginView::handleKeyboardEvent): we want the keyval
2887         here, not the hardware keycode
2888         (WebCore::PluginView::handleMouseEvent): focus the pluginview on mouse events
2889
2890 2010-09-06  Ilya Tikhonovsky  <loislo@chromium.org>
2891
2892         Reviewed by Yury Semikhatsky.
2893
2894         WebInspector: it'd be nice to be able to pass undefined argument as a callback to InspectorBackend functions.
2895
2896         There are some places where callback is passing via some wrapper. In that case sendMessageToBackend
2897         will be called with additional argument for callback but with undefined value.
2898
2899         https://bugs.webkit.org/show_bug.cgi?id=45265
2900
2901         * inspector/CodeGeneratorInspector.pm:
2902
2903 2010-09-06  Zoltan Herczeg  <zherczeg@webkit.org>
2904
2905         Reviewed by Dirk Schulze.
2906
2907         An individual renderer should be assigned to each SVGFE*Element class
2908         https://bugs.webkit.org/show_bug.cgi?id=43954
2909
2910         RenderSVGResourceFilterPrimitive renderer is added to
2911         the project, and assigned to each object, which class is
2912         derived from SVGFilterPrimitiveStandardAttributes. The patch
2913         mainly contains build system changes, and it fixes one layout
2914         test in svg/dynamic-updates.
2915
2916         * Android.mk:
2917         * CMakeLists.txt:
2918         * GNUmakefile.am:
2919         * WebCore.gypi:
2920         * WebCore.pro:
2921         * WebCore.vcproj/WebCore.vcproj:
2922         * WebCore.xcodeproj/project.pbxproj:
2923         * rendering/RenderObject.h:
2924         (WebCore::RenderObject::isSVGResourceFilterPrimitive):
2925         * rendering/RenderSVGResourceFilterPrimitive.cpp: Added.
2926         (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
2927         * rendering/RenderSVGResourceFilterPrimitive.h: Added.
2928         (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
2929         * rendering/SVGRenderTreeAsText.cpp:
2930         (WebCore::writeSVGContainer):
2931         * svg/SVGFEDiffuseLightingElement.cpp:
2932         (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
2933         * svg/SVGFELightElement.cpp:
2934         (WebCore::SVGFELightElement::svgAttributeChanged):
2935         (WebCore::SVGFELightElement::childrenChanged):
2936         * svg/SVGFEOffsetElement.cpp:
2937         (WebCore::SVGFEOffsetElement::svgAttributeChanged):
2938         * svg/SVGFilterElement.h:
2939         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2940         (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
2941         (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
2942         (WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer):
2943         * svg/SVGFilterPrimitiveStandardAttributes.h:
2944         (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
2945
2946 2010-09-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2947
2948         Reviewed by Dirk Schulze.
2949
2950         [WML] Use RenderImageResource in WMLImageElement.cpp
2951         https://bugs.webkit.org/show_bug.cgi?id=44952
2952
2953         The hasImage() and setCachedImage() were moved to RenderImageResource class. 
2954         So, WML also should use the functions from RenderImageResource.
2955
2956         * wml/WMLImageElement.cpp:
2957         (WebCore::WMLImageElement::attach):
2958
2959 2010-08-26  Jeremy Orlow  <jorlow@chromium.org>
2960
2961         Reviewed by Steve Block.
2962
2963         Add index insertion support to IndexedDB.
2964         https://bugs.webkit.org/show_bug.cgi?id=44695
2965
2966         Whenever you insert an item into an ObjectStore, it should use all
2967         indexes' key paths to insert corresponding entries into each index.
2968         Also data should be deleted out of the index when it goes away.
2969
2970         Not much testing yet since there's no way to directly observe indexes.
2971         More will be in next patch.
2972
2973         * storage/IDBDatabaseBackendImpl.cpp:
2974         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
2975         * storage/IDBFactoryBackendImpl.cpp:
2976         (WebCore::createTables):
2977         * storage/IDBIndex.idl:
2978         * storage/IDBIndexBackendImpl.cpp:
2979         (WebCore::whereClause):
2980         (WebCore::bindWhereClause):
2981         (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
2982         * storage/IDBIndexBackendImpl.h:
2983         (WebCore::IDBIndexBackendImpl::id):
2984         * storage/IDBKey.cpp:
2985         (WebCore::IDBKey::whereSyntax):
2986         (WebCore::IDBKey::bind):
2987         (WebCore::IDBKey::bindWithNulls):
2988         * storage/IDBKey.h:
2989         * storage/IDBObjectStore.idl:
2990         * storage/IDBObjectStoreBackendImpl.cpp:
2991         (WebCore::whereClause):
2992         (WebCore::bindWhereClause):
2993         (WebCore::IDBObjectStoreBackendImpl::get):
2994         (WebCore::fetchKeyFromKeyPath):
2995         (WebCore::putObjectStoreData):
2996         (WebCore::putIndexData):
2997         (WebCore::IDBObjectStoreBackendImpl::put):
2998         (WebCore::IDBObjectStoreBackendImpl::remove):
2999         (WebCore::IDBObjectStoreBackendImpl::createIndex):
3000         (WebCore::doDelete):
3001         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
3002         (WebCore::IDBObjectStoreBackendImpl::openCursor):
3003         * storage/IDBObjectStoreBackendImpl.h:
3004
3005 2010-09-06  Anton Muhin  <antonm@chromium.org>
3006
3007         Reviewed by Adam Barth.
3008
3009         [v8] bypass caches when query memory usage from post GC and in crash handler.
3010         https://bugs.webkit.org/show_bug.cgi?id=45036
3011
3012         Add Chromium-specific API to query actual memory usage which bypasses any caches.
3013
3014         * platform/chromium/ChromiumBridge.h:
3015
3016 2010-09-06  Adam Barth  <abarth@webkit.org>
3017
3018         Reviewed by Darin Adler.
3019
3020         Rename SecurityOrigin::canLoad to canDisplay
3021         https://bugs.webkit.org/show_bug.cgi?id=45214
3022
3023         canLoad is a pretty opaque name.  This function is really about whether
3024         you can display the contents of the URL in an iframe, an image, or a
3025         plugin.
3026
3027         * WebCore.exp.in:
3028         * html/HTMLMediaElement.cpp:
3029         (WebCore::HTMLMediaElement::isSafeToLoadURL):
3030         * loader/Cache.cpp:
3031         (WebCore::Cache::requestResource):
3032         * loader/FrameLoader.cpp:
3033         (WebCore::FrameLoader::loadFrameRequest):
3034         * loader/PingLoader.cpp:
3035         (WebCore::PingLoader::loadImage):
3036         * loader/SubframeLoader.cpp:
3037         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
3038         (WebCore::SubframeLoader::createJavaAppletWidget):
3039         (WebCore::SubframeLoader::loadSubframe):
3040         (WebCore::SubframeLoader::loadPlugin):
3041         * loader/SubresourceLoader.cpp:
3042         (WebCore::SubresourceLoader::create):
3043         * page/SecurityOrigin.cpp:
3044         (WebCore::SecurityOrigin::canDisplay):
3045         * page/SecurityOrigin.h:
3046         * plugins/PluginView.cpp:
3047         (WebCore::PluginView::load):
3048
3049 2010-08-31  Yury Semikhatsky  <yurys@chromium.org>
3050
3051         Reviewed by Joseph Pecoraro.
3052
3053         Web Inspector: browser crashes on attempt to evaluate "alert(1)" while staying on a breakpoint
3054         https://bugs.webkit.org/show_bug.cgi?id=44943
3055
3056         Test: inspector/debugger-suspend-active-dom-objects.html
3057
3058         * page/PageGroupLoadDeferrer.cpp:
3059         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
3060
3061 2010-09-05  Kenneth Russell  <kbr@google.com>
3062
3063         Reviewed by Darin Fisher.
3064
3065         Add unit tests for red-black tree and (POD) arena
3066         https://bugs.webkit.org/show_bug.cgi?id=45060
3067
3068         * platform/graphics/gpu/PODArena.h: Made DefaultChunkSize public so unit tests can access it. Fixed copyright header.
3069         * platform/graphics/gpu/PODInterval.h: Fixed copyright header.
3070         * platform/graphics/gpu/PODIntervalTree.h: Fixed copyright header.
3071         * platform/graphics/gpu/PODRedBlackTree.h: Fixed copyright header.
3072
3073 2010-09-05  Jeremy Orlow  <jorlow@chromium.org>
3074
3075         Reviewed by Nate Chapin.
3076
3077         Add the concept of class methods to bindings (for IndexedDB's IDBKeyRange).
3078         https://bugs.webkit.org/show_bug.cgi?id=45044
3079
3080         IndexedDB's IDBKeyRange has what, in other languages, are called class
3081         methods. In javaScript terms, these are methods only accessible from their
3082         constructor and not instances. This change adds such support to V8. There
3083         are already other features required for IndexedDB that JSC doesn't yet
3084         support, so I'll add this to the list of todo items in the master bug
3085         for that.
3086
3087         The bindings tests cover this. My next patch will change WebCore to use
3088         this and it'll have associated layout tests.
3089
3090         * bindings/scripts/CodeGeneratorV8.pm:
3091         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
3092         (WebDOMTestObj::classMethod):
3093         (WebDOMTestObj::classMethodWithOptional):
3094         * bindings/scripts/test/CPP/WebDOMTestObj.h:
3095         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3096         (webkit_dom_test_obj_class_method):
3097         (webkit_dom_test_obj_class_method_with_optional):
3098         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3099         * bindings/scripts/test/JS/JSTestObj.cpp:
3100         (WebCore::jsTestObjPrototypeFunctionStaticMethod):
3101         (WebCore::jsTestObjPrototypeFunctionStaticMethodWithOptional):
3102         * bindings/scripts/test/JS/JSTestObj.h:
3103         * bindings/scripts/test/ObjC/DOMTestObj.h:
3104         * bindings/scripts/test/ObjC/DOMTestObj.mm:
3105         (-[DOMTestObj classMethod]):
3106         (-[DOMTestObj classMethodWithOptional:]):
3107         * bindings/scripts/test/TestObj.idl:
3108         * bindings/scripts/test/V8/V8TestObj.cpp:
3109         (WebCore::TestObjInternal::classMethodCallback):
3110         (WebCore::TestObjInternal::classMethodWithOptionalCallback):
3111         (WebCore::ConfigureV8TestObjTemplate):
3112         * storage/IDBKeyRange.idl:
3113
3114 2010-09-05  Jeremy Orlow  <jorlow@chromium.org>
3115
3116         Reviewed by Steve Block.
3117
3118         Add IndexedDB objects' constructors to window
3119         https://bugs.webkit.org/show_bug.cgi?id=44599
3120
3121         Also add a forgotten constant to IDBTransaction, and
3122         change IDBKeyRange over to using the V8Static attribute
3123         so it actually behaves as it's supposed to.
3124
3125         * bindings/generic/RuntimeEnabledFeatures.h:
3126         (WebCore::RuntimeEnabledFeatures::iDBCursorEnabled):
3127         (WebCore::RuntimeEnabledFeatures::iDBDatabaseEnabled):
3128         (WebCore::RuntimeEnabledFeatures::iDBDatabaseErrorEnabled):
3129         (WebCore::RuntimeEnabledFeatures::iDBDatabaseExceptionEnabled):
3130         (WebCore::RuntimeEnabledFeatures::iDBErrorEventEnabled):
3131         (WebCore::RuntimeEnabledFeatures::iDBEventEnabled):
3132         (WebCore::RuntimeEnabledFeatures::iDBFactoryEnabled):
3133         (WebCore::RuntimeEnabledFeatures::iDBIndexEnabled):
3134         (WebCore::RuntimeEnabledFeatures::iDBKeyRangeEnabled):
3135         (WebCore::RuntimeEnabledFeatures::iDBObjectStoreEnabled):
3136         (WebCore::RuntimeEnabledFeatures::iDBRequestEnabled):
3137         (WebCore::RuntimeEnabledFeatures::iDBSuccessEventEnabled):
3138         (WebCore::RuntimeEnabledFeatures::iDBTransactionEnabled):
3139         * page/DOMWindow.cpp:
3140         (WebCore::DOMWindow::clear):
3141         (WebCore::DOMWindow::indexedDB):
3142         * page/DOMWindow.h:
3143         * page/DOMWindow.idl:
3144         * storage/IDBKeyRange.idl:
3145         * storage/IDBTransaction.h:
3146         * storage/IDBTransaction.idl:
3147
3148 2010-09-04  Justin Schuh  <jschuh@chromium.org>
3149
3150         Reviewed by Nikolas Zimmermann.
3151
3152         Prevent premature deletion of svg use shadow tree
3153         https://bugs.webkit.org/show_bug.cgi?id=43260
3154
3155         Test: svg/custom/use-invalid-style.svg
3156
3157         * svg/SVGUseElement.cpp:
3158         (WebCore::SVGUseElement::insertedIntoDocument):
3159         (WebCore::SVGUseElement::removedFromDocument):
3160         (WebCore::SVGUseElement::detach):
3161
3162 2010-09-03  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
3163
3164         Reviewed by Darin Adler.
3165
3166         Add NetworkingContext to avoid layer violations
3167         https://bugs.webkit.org/show_bug.cgi?id=42292
3168
3169         Create and provide access to NetworkingContext in FrameLoader.
3170
3171         In the WebKit layer we added specific implementations of FrameNetworkingContext
3172         so each port's FrameLoaderClient can add any port specific information to NetworkingContext
3173         The NetworkingContext is, therefore, created by a FrameLoaderClient and stored
3174         in the FrameLoader for each frame created. People must always use it
3175         by calling FrameLoader::networkingContext() and never through their FrameLoaderClient.
3176         The lifetime cycle of NetworkingContext is kept by a RefPtr, so the object is RefCounted.
3177
3178         It is still a preparation to NetworkingContext to be activated and
3179         work for all ports.
3180
3181         * WebCore.exp.in:
3182         * loader/EmptyClients.h:
3183         (WebCore::EmptyFrameLoaderClient::createNetworkingContext):
3184         * loader/FrameLoader.cpp:
3185         (WebCore::FrameLoader::~FrameLoader):
3186         (WebCore::FrameLoader::init):
3187         (WebCore::FrameLoader::networkingContext):
3188         * loader/FrameLoader.h:
3189         * loader/FrameLoaderClient.h:
3190
3191 2010-09-03  Kinuko Yasuda  <kinuko@chromium.org>
3192
3193         Reviewed by Darin Adler.
3194
3195         V8/JS bindings should not perform type checks if the parameter has Callback attribute
3196         https://bugs.webkit.org/show_bug.cgi?id=45143
3197
3198         No new tests, should not affect existing idls.
3199
3200         * bindings/scripts/CodeGeneratorJS.pm:
3201         * bindings/scripts/CodeGeneratorV8.pm:
3202         * bindings/scripts/test/JS/JSTestObj.cpp:
3203         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
3204         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
3205         * bindings/scripts/test/TestObj.idl:
3206         * bindings/scripts/test/V8/V8TestObj.cpp:
3207         (WebCore::TestObjInternal::overloadedMethod5Callback):
3208         (WebCore::TestObjInternal::overloadedMethodCallback):
3209
3210 2010-09-03  Kenneth Russell  <kbr@google.com>
3211
3212         Unreviewed, Chromium build fix. Fix breakage on Windows after
3213         r66787 / https://bugs.webkit.org/show_bug.cgi?id=45223 .
3214
3215         * platform/graphics/chromium/FontChromiumWin.cpp:
3216         (WebCore::Font::drawGlyphs):
3217
3218 2010-09-03  James Robinson  <jamesr@chromium.org>
3219
3220         Reviewed by Kenneth Russell.
3221
3222         [chromium] Text sometimes fails to display in accelerated 2d canvases
3223         https://bugs.webkit.org/show_bug.cgi?id=45223
3224
3225         Calls PlatformContextSkia::prepareForSoftwareDraw() before drawing glyphs
3226         using skia to ensure that the backing store state is consistent.
3227
3228         * platform/graphics/chromium/FontChromiumWin.cpp:
3229         (WebCore::Font::drawGlyphs):
3230         * platform/graphics/chromium/FontLinux.cpp:
3231         (WebCore::Font::drawGlyphs):
3232
3233 2010-09-03  Kenneth Russell  <kbr@google.com>
3234
3235         Reviewed by Darin Fisher.
3236
3237         Add thirdparty directory and incorporate GLU tessellator
3238         https://bugs.webkit.org/show_bug.cgi?id=44707
3239
3240         This directory is intended to contain copies of third-party libraries used
3241         by WebCore, in particular those which may require some modification in
3242         order to incorporate.
3243
3244         No tests at this time; these sources are being added in preparation for
3245         incorporating other code which uses them, at which point the code will be
3246         exercised and testable.
3247
3248         * thirdparty: Added.
3249         * thirdparty/README.txt: Added.
3250         * thirdparty/glu: Added.
3251         * thirdparty/glu/LICENSE.txt: Added.
3252         * thirdparty/glu/README.webkit: Added.
3253         * thirdparty/glu/gluos.h: Added.
3254         * thirdparty/glu/internal_glu.h: Added.
3255         * thirdparty/glu/libtess: Added.
3256         * thirdparty/glu/libtess/GNUmakefile: Added.
3257         * thirdparty/glu/libtess/Imakefile: Added.
3258         * thirdparty/glu/libtess/README: Added.
3259         * thirdparty/glu/libtess/alg-outline: Added.
3260         * thirdparty/glu/libtess/dict-list.h: Added.
3261         * thirdparty/glu/libtess/dict.c: Added.
3262         * thirdparty/glu/libtess/dict.h: Added.
3263         * thirdparty/glu/libtess/geom.c: Added.
3264         * thirdparty/glu/libtess/geom.h: Added.
3265         * thirdparty/glu/libtess/memalloc.c: Added.
3266         * thirdparty/glu/libtess/memalloc.h: Added.
3267         * thirdparty/glu/libtess/mesh.c: Added.
3268         * thirdparty/glu/libtess/mesh.h: Added.
3269         * thirdparty/glu/libtess/normal.c: Added.
3270         * thirdparty/glu/libtess/normal.h: Added.
3271         * thirdparty/glu/libtess/priorityq-heap.c: Added.
3272         * thirdparty/glu/libtess/priorityq-heap.h: Added.
3273         * thirdparty/glu/libtess/priorityq-sort.h: Added.
3274         * thirdparty/glu/libtess/priorityq.c: Added.
3275         * thirdparty/glu/libtess/priorityq.h: Added.
3276         * thirdparty/glu/libtess/render.c: Added.
3277         * thirdparty/glu/libtess/render.h: Added.
3278         * thirdparty/glu/libtess/sweep.c: Added.
3279         * thirdparty/glu/libtess/sweep.h: Added.
3280         * thirdparty/glu/libtess/tess.c: Added.
3281         * thirdparty/glu/libtess/tess.h: Added.
3282         * thirdparty/glu/libtess/tessmono.c: Added.
3283         * thirdparty/glu/libtess/tessmono.h: Added.
3284
3285 2010-09-03  Sheriff Bot  <webkit.review.bot@gmail.com>
3286
3287         Unreviewed, rolling out r66781.
3288         http://trac.webkit.org/changeset/66781
3289         https://bugs.webkit.org/show_bug.cgi?id=45220
3290
3291         Breaks the build. Adds a mac-specific file to
3292         platform/graphics without #if PLATFORM() guards and changes
3293         the GraphicsContext3D interface without updating all
3294         implementations (Requested by jamesr on #webkit).
3295
3296         * WebCore.gypi:
3297         * WebCore.xcodeproj/project.pbxproj:
3298         * html/canvas/WebGLObject.cpp:
3299         (WebCore::WebGLObject::deleteObject):
3300         * platform/graphics/ANGLEWebKitBridge.h:
3301         * platform/graphics/GraphicsContext3D.h:
3302         * platform/graphics/GraphicsContext3DOpenGL.cpp: Removed.
3303         * platform/graphics/mac/GraphicsContext3DMac.mm:
3304         (WebCore::GraphicsContext3D::validateAttributes):
3305         (WebCore::GraphicsContext3D::makeContextCurrent):
3306         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
3307         (WebCore::GraphicsContext3D::reshape):
3308         (WebCore::ensureContext):
3309         (WebCore::GraphicsContext3D::prepareTexture):
3310         (WebCore::GraphicsContext3D::activeTexture):
3311         (WebCore::GraphicsContext3D::attachShader):
3312         (WebCore::GraphicsContext3D::bindAttribLocation):
3313         (WebCore::GraphicsContext3D::bindBuffer):
3314         (WebCore::GraphicsContext3D::bindFramebuffer):
3315         (WebCore::GraphicsContext3D::bindRenderbuffer):
3316         (WebCore::GraphicsContext3D::bindTexture):
3317         (WebCore::GraphicsContext3D::blendColor):
3318         (WebCore::GraphicsContext3D::blendEquation):
3319         (WebCore::GraphicsContext3D::blendEquationSeparate):
3320         (WebCore::GraphicsContext3D::blendFunc):
3321         (WebCore::GraphicsContext3D::blendFuncSeparate):
3322         (WebCore::GraphicsContext3D::bufferData):
3323         (WebCore::GraphicsContext3D::bufferSubData):
3324         (WebCore::GraphicsContext3D::checkFramebufferStatus):
3325         (WebCore::GraphicsContext3D::clearColor):
3326         (WebCore::GraphicsContext3D::clear):
3327         (WebCore::GraphicsContext3D::clearDepth):
3328         (WebCore::GraphicsContext3D::clearStencil):
3329         (WebCore::GraphicsContext3D::colorMask):
3330         (WebCore::GraphicsContext3D::compileShader):
3331         (WebCore::GraphicsContext3D::copyTexImage2D):
3332         (WebCore::GraphicsContext3D::copyTexSubImage2D):
3333         (WebCore::GraphicsContext3D::cullFace):
3334         (WebCore::GraphicsContext3D::depthFunc):
3335         (WebCore::GraphicsContext3D::depthMask):
3336         (WebCore::GraphicsContext3D::depthRange):
3337         (WebCore::GraphicsContext3D::detachShader):
3338         (WebCore::GraphicsContext3D::disable):
3339         (WebCore::GraphicsContext3D::disableVertexAttribArray):
3340         (WebCore::GraphicsContext3D::drawArrays):
3341         (WebCore::GraphicsContext3D::drawElements):
3342         (WebCore::GraphicsContext3D::enable):
3343         (WebCore::GraphicsContext3D::enableVertexAttribArray):
3344         (WebCore::GraphicsContext3D::finish):
3345         (WebCore::GraphicsContext3D::flush):
3346         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
3347         (WebCore::GraphicsContext3D::framebufferTexture2D):
3348         (WebCore::GraphicsContext3D::frontFace):
3349         (WebCore::GraphicsContext3D::generateMipmap):
3350         (WebCore::GraphicsContext3D::getActiveAttrib):
3351         (WebCore::GraphicsContext3D::getActiveUniform):
3352         (WebCore::GraphicsContext3D::getAttachedShaders):
3353         (WebCore::GraphicsContext3D::getAttribLocation):
3354         (WebCore::GraphicsContext3D::getContextAttributes):
3355         (WebCore::GraphicsContext3D::getError):
3356         (WebCore::GraphicsContext3D::getString):
3357         (WebCore::GraphicsContext3D::hint):
3358         (WebCore::GraphicsContext3D::isBuffer):
3359         (WebCore::GraphicsContext3D::isEnabled):
3360         (WebCore::GraphicsContext3D::isFramebuffer):
3361         (WebCore::GraphicsContext3D::isProgram):
3362         (WebCore::GraphicsContext3D::isRenderbuffer):
3363         (WebCore::GraphicsContext3D::isShader):
3364         (WebCore::GraphicsContext3D::isTexture):
3365         (WebCore::GraphicsContext3D::lineWidth):
3366         (WebCore::GraphicsContext3D::linkProgram):
3367         (WebCore::GraphicsContext3D::pixelStorei):
3368         (WebCore::GraphicsContext3D::polygonOffset):
3369         (WebCore::GraphicsContext3D::readPixels):
3370         (WebCore::GraphicsContext3D::releaseShaderCompiler):
3371         (WebCore::GraphicsContext3D::renderbufferStorage):
3372         (WebCore::GraphicsContext3D::sampleCoverage):
3373         (WebCore::GraphicsContext3D::scissor):
3374         (WebCore::GraphicsContext3D::shaderSource):
3375         (WebCore::GraphicsContext3D::stencilFunc):
3376         (WebCore::GraphicsContext3D::stencilFuncSeparate):
3377         (WebCore::GraphicsContext3D::stencilMask):
3378         (WebCore::GraphicsContext3D::stencilMaskSeparate):
3379         (WebCore::GraphicsContext3D::stencilOp):
3380         (WebCore::GraphicsContext3D::stencilOpSeparate):
3381         (WebCore::GraphicsContext3D::texParameterf):
3382         (WebCore::GraphicsContext3D::texParameteri):
3383         (WebCore::GraphicsContext3D::uniform1f):
3384         (WebCore::GraphicsContext3D::uniform1fv):
3385         (WebCore::GraphicsContext3D::uniform2f):
3386         (WebCore::GraphicsContext3D::uniform2fv):
3387         (WebCore::GraphicsContext3D::uniform3f):
3388         (WebCore::GraphicsContext3D::uniform3fv):
3389         (WebCore::GraphicsContext3D::uniform4f):
3390         (WebCore::GraphicsContext3D::uniform4fv):
3391         (WebCore::GraphicsContext3D::uniform1i):
3392         (WebCore::GraphicsContext3D::uniform1iv):
3393         (WebCore::GraphicsContext3D::uniform2i):
3394         (WebCore::GraphicsContext3D::uniform2iv):
3395         (WebCore::GraphicsContext3D::uniform3i):
3396         (WebCore::GraphicsContext3D::uniform3iv):
3397         (WebCore::GraphicsContext3D::uniform4i):
3398         (WebCore::GraphicsContext3D::uniform4iv):
3399         (WebCore::GraphicsContext3D::uniformMatrix2fv):
3400         (WebCore::GraphicsContext3D::uniformMatrix3fv):
3401         (WebCore::GraphicsContext3D::uniformMatrix4fv):
3402         (WebCore::GraphicsContext3D::useProgram):
3403         (WebCore::GraphicsContext3D::validateProgram):
3404         (WebCore::GraphicsContext3D::vertexAttrib1f):
3405         (WebCore::GraphicsContext3D::vertexAttrib1fv):
3406         (WebCore::GraphicsContext3D::vertexAttrib2f):
3407         (WebCore::GraphicsContext3D::vertexAttrib2fv):
3408         (WebCore::GraphicsContext3D::vertexAttrib3f):
3409         (WebCore::GraphicsContext3D::vertexAttrib3fv):
3410         (WebCore::GraphicsContext3D::vertexAttrib4f):
3411         (WebCore::GraphicsContext3D::vertexAttrib4fv):
3412         (WebCore::GraphicsContext3D::vertexAttribPointer):
3413         (WebCore::GraphicsContext3D::viewport):
3414         (WebCore::GraphicsContext3D::getBooleanv):
3415         (WebCore::GraphicsContext3D::getBufferParameteriv):
3416         (WebCore::GraphicsContext3D::getFloatv):
3417         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
3418         (WebCore::GraphicsContext3D::getIntegerv):
3419         (WebCore::GraphicsContext3D::getProgramiv):
3420         (WebCore::GraphicsContext3D::getProgramInfoLog):
3421         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
3422         (WebCore::GraphicsContext3D::getShaderiv):
3423         (WebCore::GraphicsContext3D::getShaderInfoLog):
3424         (WebCore::GraphicsContext3D::getShaderSource):
3425         (WebCore::GraphicsContext3D::getTexParameterfv):
3426         (WebCore::GraphicsContext3D::getTexParameteriv):
3427         (WebCore::GraphicsContext3D::getUniformfv):
3428         (WebCore::GraphicsContext3D::getUniformiv):
3429         (WebCore::GraphicsContext3D::getUniformLocation):
3430         (WebCore::GraphicsContext3D::getVertexAttribfv):
3431         (WebCore::GraphicsContext3D::getVertexAttribiv):
3432         (WebCore::GraphicsContext3D::getVertexAttribOffset):
3433         (WebCore::GraphicsContext3D::texImage2D):
3434         (WebCore::GraphicsContext3D::texSubImage2D):
3435         (WebCore::GraphicsContext3D::createBuffer):
3436         (WebCore::GraphicsContext3D::createFramebuffer):
3437         (WebCore::GraphicsContext3D::createProgram):
3438         (WebCore::GraphicsContext3D::createRenderbuffer):
3439         (WebCore::GraphicsContext3D::createShader):
3440         (WebCore::GraphicsContext3D::createTexture):
3441         (WebCore::GraphicsContext3D::deleteBuffer):
3442         (WebCore::GraphicsContext3D::deleteFramebuffer):
3443         (WebCore::GraphicsContext3D::deleteProgram):
3444         (WebCore::GraphicsContext3D::deleteRenderbuffer):
3445         (WebCore::GraphicsContext3D::deleteShader):
3446         (WebCore::GraphicsContext3D::deleteTexture):
3447         (WebCore::GraphicsContext3D::sizeInBytes):
3448         (WebCore::GraphicsContext3D::synthesizeGLError):
3449
3450 2010-09-03  James Robinson  <jamesr@chromium.org>
3451
3452         Reviewed by Kenneth Russell.
3453
3454         Force 2d canvases to be rendered in software when the composite operation isn't source-over
3455         https://bugs.webkit.org/show_bug.cgi?id=45216
3456
3457         The current accelerated 2d canvas implementation is very slow for composite operations other
3458         than the default.  This patch forces a canvas to be rendered in software if any other operation
3459         is set until we accelerate the rest.
3460
3461         Tested by any of the fast/canvas tests that use a non-default globalCompositeOperation.
3462
3463         * html/canvas/CanvasRenderingContext2D.cpp:
3464         (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
3465         * platform/graphics/skia/PlatformContextSkia.cpp:
3466         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
3467
3468 2010-09-03  Paul Sawaya  <psawaya@apple.com>
3469
3470         Reviewed by Chris Marrin.
3471
3472         Refactored out Mac specific code for platform/graphics/mac/GraphicsContext3D.mm file.
3473         Left general OpenGL code in platform/graphics/GraphicsContext3DOpenGL.cpp.
3474         https://bugs.webkit.org/show_bug.cgi?id=30625
3475
3476         * WebCore.gypi:
3477         * WebCore.xcodeproj/project.pbxproj:
3478         * html/canvas/WebGLObject.cpp:
3479         (WebCore::WebGLObject::deleteObject):
3480         * platform/graphics/ANGLEWebKitBridge.h:
3481         * platform/graphics/GraphicsContext3D.h:
3482         * platform/graphics/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm.
3483         (WebCore::GraphicsContext3D::prepareTexture):
3484         (WebCore::GraphicsContext3D::activeTexture):
3485         (WebCore::GraphicsContext3D::attachShader):
3486         (WebCore::GraphicsContext3D::bindAttribLocation):
3487         (WebCore::GraphicsContext3D::bindBuffer):
3488         (WebCore::GraphicsContext3D::bindFramebuffer):
3489         (WebCore::GraphicsContext3D::bindRenderbuffer):
3490         (WebCore::GraphicsContext3D::bindTexture):
3491         (WebCore::GraphicsContext3D::blendColor):
3492         (WebCore::GraphicsContext3D::blendEquation):
3493         (WebCore::GraphicsContext3D::blendEquationSeparate):
3494         (WebCore::GraphicsContext3D::blendFunc):
3495         (WebCore::GraphicsContext3D::blendFuncSeparate):
3496         (WebCore::GraphicsContext3D::bufferData):
3497         (WebCore::GraphicsContext3D::bufferSubData):
3498         (WebCore::GraphicsContext3D::checkFramebufferStatus):
3499         (WebCore::GraphicsContext3D::clearColor):
3500         (WebCore::GraphicsContext3D::clear):
3501         (WebCore::GraphicsContext3D::clearDepth):
3502         (WebCore::GraphicsContext3D::clearStencil):
3503         (WebCore::GraphicsContext3D::colorMask):
3504         (WebCore::GraphicsContext3D::compileShader):
3505         (WebCore::GraphicsContext3D::copyTexImage2D):
3506         (WebCore::GraphicsContext3D::copyTexSubImage2D):
3507         (WebCore::GraphicsContext3D::cullFace):
3508         (WebCore::GraphicsContext3D::depthFunc):
3509         (WebCore::GraphicsContext3D::depthMask):
3510         (WebCore::GraphicsContext3D::depthRange):
3511         (WebCore::GraphicsContext3D::detachShader):
3512         (WebCore::GraphicsContext3D::disable):
3513         (WebCore::GraphicsContext3D::disableVertexAttribArray):
3514         (WebCore::GraphicsContext3D::drawArrays):
3515         (WebCore::GraphicsContext3D::drawElements):
3516         (WebCore::GraphicsContext3D::enable):
3517         (WebCore::GraphicsContext3D::enableVertexAttribArray):
3518         (WebCore::GraphicsContext3D::finish):
3519         (WebCore::GraphicsContext3D::flush):
3520         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
3521         (WebCore::GraphicsContext3D::framebufferTexture2D):
3522         (WebCore::GraphicsContext3D::frontFace):
3523         (WebCore::GraphicsContext3D::generateMipmap):
3524         (WebCore::GraphicsContext3D::getActiveAttrib):
3525         (WebCore::GraphicsContext3D::getActiveUniform):
3526         (WebCore::GraphicsContext3D::getAttachedShaders):
3527         (WebCore::GraphicsContext3D::getAttribLocation):
3528         (WebCore::GraphicsContext3D::getError):
3529         (WebCore::GraphicsContext3D::getString):
3530         (WebCore::GraphicsContext3D::hint):
3531         (WebCore::GraphicsContext3D::isBuffer):
3532         (WebCore::GraphicsContext3D::isEnabled):
3533         (WebCore::GraphicsContext3D::isFramebuffer):
3534         (WebCore::GraphicsContext3D::isProgram):
3535         (WebCore::GraphicsContext3D::isRenderbuffer):
3536         (WebCore::GraphicsContext3D::isShader):
3537         (WebCore::GraphicsContext3D::isTexture):
3538         (WebCore::GraphicsContext3D::lineWidth):
3539         (WebCore::GraphicsContext3D::linkProgram):
3540         (WebCore::GraphicsContext3D::pixelStorei):
3541         (WebCore::GraphicsContext3D::polygonOffset):
3542         (WebCore::GraphicsContext3D::readPixels):
3543         (WebCore::GraphicsContext3D::releaseShaderCompiler):
3544         (WebCore::GraphicsContext3D::renderbufferStorage):
3545         (WebCore::GraphicsContext3D::sampleCoverage):
3546         (WebCore::GraphicsContext3D::scissor):
3547         (WebCore::GraphicsContext3D::shaderSource):
3548         (WebCore::GraphicsContext3D::stencilFunc):
3549         (WebCore::GraphicsContext3D::stencilFuncSeparate):
3550         (WebCore::GraphicsContext3D::stencilMask):
3551         (WebCore::GraphicsContext3D::stencilMaskSeparate):
3552         (WebCore::GraphicsContext3D::stencilOp):
3553         (WebCore::GraphicsContext3D::stencilOpSeparate):
3554         (WebCore::GraphicsContext3D::texParameterf):
3555         (WebCore::GraphicsContext3D::texParameteri):
3556         (WebCore::GraphicsContext3D::uniform1f):
3557         (WebCore::GraphicsContext3D::uniform1fv):
3558         (WebCore::GraphicsContext3D::uniform2f):
3559         (WebCore::GraphicsContext3D::uniform2fv):
3560         (WebCore::GraphicsContext3D::uniform3f):
3561         (WebCore::GraphicsContext3D::uniform3fv):
3562         (WebCore::GraphicsContext3D::uniform4f):
3563         (WebCore::GraphicsContext3D::uniform4fv):
3564         (WebCore::GraphicsContext3D::uniform1i):
3565         (WebCore::GraphicsContext3D::uniform1iv):
3566         (WebCore::GraphicsContext3D::uniform2i):
3567         (WebCore::GraphicsContext3D::uniform2iv):
3568         (WebCore::GraphicsContext3D::uniform3i):
3569         (WebCore::GraphicsContext3D::uniform3iv):
3570         (WebCore::GraphicsContext3D::uniform4i):
3571         (WebCore::GraphicsContext3D::uniform4iv):
3572         (WebCore::GraphicsContext3D::uniformMatrix2fv):
3573         (WebCore::GraphicsContext3D::uniformMatrix3fv):
3574         (WebCore::GraphicsContext3D::uniformMatrix4fv):
3575         (WebCore::GraphicsContext3D::useProgram):
3576         (WebCore::GraphicsContext3D::validateProgram):
3577         (WebCore::GraphicsContext3D::vertexAttrib1f):
3578         (WebCore::GraphicsContext3D::vertexAttrib1fv):
3579         (WebCore::GraphicsContext3D::vertexAttrib2f):
3580         (WebCore::GraphicsContext3D::vertexAttrib2fv):
3581         (WebCore::GraphicsContext3D::vertexAttrib3f):
3582         (WebCore::GraphicsContext3D::vertexAttrib3fv):
3583         (WebCore::GraphicsContext3D::vertexAttrib4f):
3584         (WebCore::GraphicsContext3D::vertexAttrib4fv):
3585         (WebCore::GraphicsContext3D::vertexAttribPointer):
3586         (WebCore::GraphicsContext3D::viewport):
3587         (WebCore::GraphicsContext3D::getBooleanv):
3588         (WebCore::GraphicsContext3D::getBufferParameteriv):
3589         (WebCore::GraphicsContext3D::getFloatv):
3590         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
3591         (WebCore::GraphicsContext3D::getIntegerv):
3592         (WebCore::GraphicsContext3D::getProgramiv):
3593         (WebCore::GraphicsContext3D::getProgramInfoLog):
3594         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
3595         (WebCore::GraphicsContext3D::getShaderiv):
3596         (WebCore::GraphicsContext3D::getShaderInfoLog):
3597         (WebCore::GraphicsContext3D::getShaderSource):
3598         (WebCore::GraphicsContext3D::getTexParameterfv):
3599         (WebCore::GraphicsContext3D::getTexParameteriv):
3600         (WebCore::GraphicsContext3D::getUniformfv):
3601         (WebCore::GraphicsContext3D::getUniformiv):
3602         (WebCore::GraphicsContext3D::getUniformLocation):
3603         (WebCore::GraphicsContext3D::getVertexAttribfv):
3604         (WebCore::GraphicsContext3D::getVertexAttribiv):
3605         (WebCore::GraphicsContext3D::getVertexAttribOffset):
3606         (WebCore::GraphicsContext3D::texImage2D):
3607         (WebCore::GraphicsContext3D::texSubImage2D):
3608         (WebCore::GraphicsContext3D::createBuffer):
3609         (WebCore::GraphicsContext3D::createFramebuffer):
3610         (WebCore::GraphicsContext3D::createProgram):
3611         (WebCore::GraphicsContext3D::createRenderbuffer):
3612         (WebCore::GraphicsContext3D::createShader):
3613         (WebCore::GraphicsContext3D::createTexture):
3614         (WebCore::GraphicsContext3D::deleteBuffer):
3615         (WebCore::GraphicsContext3D::deleteFramebuffer):
3616         (WebCore::GraphicsContext3D::deleteProgram):
3617         (WebCore::GraphicsContext3D::deleteRenderbuffer):
3618         (WebCore::GraphicsContext3D::deleteShader):
3619         (WebCore::GraphicsContext3D::deleteTexture):
3620         * platform/graphics/mac/GraphicsContext3DMac.mm:
3621         (WebCore::GraphicsContext3D::ensureContext):
3622         (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
3623
3624 2010-09-03  James Robinson  <jamesr@chromium.org>
3625
3626         Reviewed by Darin Fisher.
3627
3628         [chromium] Implement ImageBufferSkia::draw on the GPU when possible
3629         https://bugs.webkit.org/show_bug.cgi?id=45207
3630
3631         When drawing from an ImageBuffer into a GraphicsContext, attempt to do the
3632         draw in hardware when possible.  This is how canvas 2d's drawImage(canvas, ...)
3633         is implemented.  Adds new API to DrawingBuffer to request a texture containing
3634         the DrawingBuffer's current rendering results.
3635
3636         Test: covered fast/canvas/drawImage.html and all other tests that draw from one
3637         2d canvas into another.
3638
3639         * html/canvas/CanvasRenderingContext2D.cpp:
3640         (WebCore::CanvasRenderingContext2D::drawImage):
3641         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3642         (WebCore::DrawingBuffer::getRenderingResultsAsTexture):
3643         * platform/graphics/gpu/DrawingBuffer.h:
3644         * platform/graphics/skia/ImageBufferSkia.cpp:
3645         (WebCore::ImageBuffer::draw):
3646
3647 2010-09-03  James Robinson  <jamesr@chromium.org>
3648
3649         Reviewed by Kenneth Russell.
3650
3651         [chromium] Null out Canvas2DLayerChromium's back reference to DrawingBuffer on destruction
3652         https://bugs.webkit.org/show_bug.cgi?id=45187
3653
3654         Canvas2DLayerChromium keeps a back reference to a DrawingBuffer.  This has to be a raw pointer
3655         because the DrawingBuffer holds a RefPtr to the Canvas2DLayerChromium.  Since the layer can
3656         outlive the buffer, this back reference has to be explicitly cleared when the DrawingBuffer
3657         is destroyed.
3658
3659         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
3660         (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
3661         * platform/graphics/chromium/Canvas2DLayerChromium.h:
3662         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3663         (WebCore::DrawingBuffer::~DrawingBuffer):
3664
3665 2010-09-03  Kenneth Russell  <kbr@google.com>
3666
3667         Reviewed by Darin Fisher.
3668
3669         Add interval tree capable of holding plain old data (POD)
3670         https://bugs.webkit.org/show_bug.cgi?id=45160
3671
3672         Adding an interval tree currently capable of holding types which
3673         do not require their destructors to be called. POD is a slight
3674         misnomer which will be corrected soon, hopefully by removing this
3675         restriction.
3676
3677         This class is based on the augmentable property of the red/black
3678         tree integrated under bug 45059.
3679
3680         Unit tests for the PODIntervalTree will be integrated separately
3681         under bug 45161.
3682
3683         * WebCore.gypi:
3684         * platform/graphics/gpu/PODInterval.h: Added.
3685         (WebCore::PODInterval::PODInterval):
3686         (WebCore::PODInterval::low):
3687         (WebCore::PODInterval::high):
3688         (WebCore::PODInterval::data):
3689         (WebCore::PODInterval::overlaps):
3690         (WebCore::PODInterval::operator<):
3691         (WebCore::PODInterval::operator==):
3692         (WebCore::PODInterval::maxHigh):
3693         (WebCore::PODInterval::setMaxHigh):
3694         (WebCore::PODInterval::toString):
3695         * platform/graphics/gpu/PODIntervalTree.h: Added.
3696         (WebCore::PODIntervalTree::PODIntervalTree):
3697         (WebCore::PODIntervalTree::allOverlaps):
3698         (WebCore::PODIntervalTree::createInterval):
3699         (WebCore::PODIntervalTree::checkInvariants):
3700         (WebCore::PODIntervalTree::init):
3701         (WebCore::PODIntervalTree::searchForOverlapsFrom):
3702         (WebCore::PODIntervalTree::updateNode):
3703         (WebCore::PODIntervalTree::checkInvariantsFromNode):
3704         (WebCore::valueToString):
3705
3706 2010-09-02  Vangelis Kokkevis  <vangelis@chromium.org>
3707
3708         Reviewed by Darin Fisher.
3709
3710         [chromium] Gracefully switch over to software compositing if the accelerated
3711         compositor fails to initialize. LayerRendererChromium::create() will now return 0
3712         if the GLES2Context passed to it is NULL or the LayerRendererChromium failed to initialize
3713         hardware rendering.
3714         https://bugs.webkit.org/show_bug.cgi?id=45124
3715         
3716         Tested by forcing the creation of the gles2 context to fail and loading pages that normally trigger
3717         the compositor.
3718
3719         * platform/graphics/chromium/LayerRendererChromium.cpp:
3720         (WebCore::LayerRendererChromium::create):
3721         (WebCore::LayerRendererChromium::LayerRendererChromium):
3722         (WebCore::LayerRendererChromium::makeContextCurrent):
3723
3724 2010-09-03  Peter Kasting  <pkasting@google.com>
3725
3726         Reviewed by Simon Fraser.
3727
3728         Report correct (unzoomed) image sizes for zoomed images.
3729         https://bugs.webkit.org/show_bug.cgi?id=42089
3730
3731         Test: fast/images/zoomed-img-size.html
3732
3733         * css/CSSPrimitiveValue.cpp: Factor rounding code out to a templatized function so it can be shared.
3734         (WebCore::CSSPrimitiveValue::computeLengthInt):
3735         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
3736         (WebCore::CSSPrimitiveValue::computeLengthShort):
3737         * css/CSSPrimitiveValue.h: Factor rounding code out to a templatized function so it can be shared.
3738         (WebCore::roundForImpreciseConversion):
3739         * html/HTMLImageElement.cpp: Report unzoomed size to script that queries an image's width or height.
3740         (WebCore::HTMLImageElement::width):
3741         (WebCore::HTMLImageElement::height):
3742         * loader/ImageDocument.cpp: Report unzoomed size in the page title when viewing a standalone image.
3743         (WebCore::ImageDocumentParser::finish):
3744         * rendering/RenderObject.h: Use shared rounding code from CSSPrimitiveValue to compensate for inexactness in zoomed sizes.
3745         (WebCore::adjustForAbsoluteZoom):
3746
3747 2010-09-03  Sheriff Bot  <webkit.review.bot@gmail.com>
3748
3749         Unreviewed, rolling out r66770.
3750         http://trac.webkit.org/changeset/66770
3751         https://bugs.webkit.org/show_bug.cgi?id=45200
3752
3753         Broke Windows in a way I can't figure out now to fix
3754         (Requested by abarth on #webkit).
3755
3756         * GNUmakefile.am:
3757         * WebCore.gypi:
3758         * WebCore.pro:
3759         * WebCore.vcproj/WebCore.vcproj:
3760         * WebCore.xcodeproj/project.pbxproj:
3761         * bindings/generic/BindingDOMWindow.h:
3762         (WebCore::::completeURL):
3763         * bindings/generic/BindingFrame.h: Removed.
3764         * bindings/generic/BindingLocation.h: Removed.
3765         * bindings/generic/GenericBinding.h:
3766         * bindings/js/JSBinding.h: Removed.
3767         * bindings/js/JSBindingsAllInOne.cpp:
3768         * bindings/js/JSDOMBinding.cpp:
3769         (WebCore::shouldAllowNavigation):
3770         (WebCore::toLexicalFrame):
3771         (WebCore::toDynamicFrame):
3772         (WebCore::processingUserGesture):
3773         (WebCore::completeURL):
3774         * bindings/js/JSLocationCustom.cpp:
3775         (WebCore::navigateIfAllowed):
3776         (WebCore::JSLocation::replace):
3777         * bindings/js/specialization/JSBindingState.cpp: Removed.
3778         * bindings/js/specialization/JSBindingState.h: Removed.
3779         * bindings/v8/V8Binding.h:
3780         * bindings/v8/V8Utilities.cpp:
3781         (WebCore::completeURL):
3782         (WebCore::navigateIfAllowed):
3783         * bindings/v8/custom/V8LocationCustom.cpp:
3784         (WebCore::V8Location::replaceCallback):
3785         * bindings/v8/specialization/V8BindingState.cpp:
3786         * bindings/v8/specialization/V8BindingState.h:
3787
3788 2010-09-03  Jian Li  <jianli@chromium.org>
3789
3790         Reviewed by Darin Adler.
3791
3792         REGRESSION (r66452): Sending of multipart forms with files is broken.
3793         https://bugs.webkit.org/show_bug.cgi?id=45159
3794
3795         * platform/network/FormData.cpp:
3796         (WebCore::FormData::appendKeyValuePairItems):
3797
3798 2010-09-03  Dominic Cooney  <dominicc@google.com>
3799
3800         Reviewed by Adam Barth.
3801
3802         Moves location.replace bindings logic into bindings/generic and
3803         instantiates it for JSC and V8.
3804
3805         https://bugs.webkit.org/show_bug.cgi?id=44891
3806
3807         Covered by existing location.replace tests.
3808
3809         * GNUmakefile.am:
3810         * WebCore.gypi:
3811         * WebCore.pro:
3812         * WebCore.vcproj/WebCore.vcproj:
3813         * WebCore.xcodeproj/project.pbxproj:
3814         * bindings/generic/BindingDOMWindow.h:
3815         (WebCore::::createWindow):
3816         (WebCore::::open):
3817         * bindings/generic/BindingFrame.h: Added.
3818         (WebCore::::navigateIfAllowed):
3819         * bindings/generic/BindingLocation.h: Added.
3820         (WebCore::::replace):
3821         * bindings/generic/GenericBinding.h:
3822         (WebCore::completeURL):
3823         * bindings/js/JSBinding.h: Added.
3824         * bindings/js/JSBindingsAllInOne.cpp:
3825         * bindings/js/JSDOMBinding.cpp:
3826         (WebCore::shouldAllowNavigation):
3827         (WebCore::toLexicalFrame):
3828         (WebCore::toDynamicFrame):
3829         (WebCore::processingUserGesture):
3830         (WebCore::completeURL):
3831         * bindings/js/JSLocationCustom.cpp:
3832         (WebCore::navigateIfAllowed):
3833         (WebCore::JSLocation::replace):
3834         * bindings/js/specialization/JSBindingState.cpp: Added.
3835         (WebCore::::getActiveFrame):
3836         (WebCore::::getFirstFrame):
3837         (WebCore::::processingUserGesture):
3838         (WebCore::::allowsAccessFromFrame):
3839         * bindings/js/specialization/JSBindingState.h: Added.
3840         * bindings/v8/V8Binding.h:
3841         * bindings/v8/V8Utilities.cpp:
3842         (WebCore::completeURL):
3843         (WebCore::navigateIfAllowed):
3844         * bindings/v8/custom/V8LocationCustom.cpp:
3845         (WebCore::V8Location::replaceCallback):
3846         * bindings/v8/specialization/V8BindingState.cpp:
3847         (WebCore::::allowsAccessFromFrame):
3848         * bindings/v8/specialization/V8BindingState.h:
3849
3850 2010-09-03  Dimitri Glazkov  <dglazkov@chromium.org>
3851
3852         Reviewed by Tony Chang.
3853
3854         [Chromium] Make sure that the width of the menu list is always constant under layout tests.
3855         https://bugs.webkit.org/show_bug.cgi?id=45196
3856
3857         * rendering/RenderThemeChromiumWin.cpp:
3858         (WebCore::menuListButtonWidth): Added.
3859         (WebCore::RenderThemeChromiumWin::paintMenuList): Use menuListButtonWidth instead of always
3860           querying system metrics.
3861
3862 2010-09-03  Sheriff Bot  <webkit.review.bot@gmail.com>
3863
3864         Unreviewed, rolling out r66732.
3865         http://trac.webkit.org/changeset/66732
3866         https://bugs.webkit.org/show_bug.cgi?id=45195
3867
3868         the patch is not matched with general publish/subscribe scheme
3869         implemented in the Inspector API (Requested by loislo on
3870         #webkit).
3871
3872         * inspector/CodeGeneratorInspector.pm:
3873         * inspector/Inspector.idl:
3874         * inspector/InspectorDOMAgent.cpp:
3875         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
3876         (WebCore::InspectorDOMAgent::getChildNodes):
3877         * inspector/InspectorDOMAgent.h:
3878         * inspector/front-end/DOMAgent.js:
3879         (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
3880         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
3881         * inspector/front-end/WorkersSidebarPane.js:
3882         (WebInspector.WorkersSidebarPane.prototype.reset):
3883
3884 2010-09-03  James Robinson  <jamesr@chromium.org>
3885
3886         [chromium] Compile fixes for 66746
3887
3888         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
3889         (WebCore::SharedGraphicsContext3D::texImage2D):
3890         (WebCore::SharedGraphicsContext3D::texSubImage2D):
3891
3892 2010-09-03  Chris Rogers  <crogers@google.com>
3893
3894         Reviewed by Kenneth Russell.
3895
3896         Add AudioParam files
3897         https://bugs.webkit.org/show_bug.cgi?id=44995
3898
3899         No new tests since audio API is not yet implemented.
3900
3901         * webaudio: Added.
3902         * webaudio/AudioParam.h: Added.
3903         (WebCore::AudioParam::create):
3904         (WebCore::AudioParam::AudioParam):
3905         (WebCore::AudioParam::value):
3906         (WebCore::AudioParam::setValue):
3907         (WebCore::AudioParam::name):
3908         (WebCore::AudioParam::minValue):
3909         (WebCore::AudioParam::maxValue):
3910         (WebCore::AudioParam::defaultValue):
3911         (WebCore::AudioParam::units):
3912         (WebCore::AudioParam::smoothedValue):
3913         (WebCore::AudioParam::smooth):
3914         (WebCore::AudioParam::resetSmoothedValue):
3915         (WebCore::AudioParam::setSmoothingConstant):
3916         * webaudio/AudioParam.idl: Added.
3917
3918 2010-09-03  Chris Rogers  <crogers@google.com>
3919
3920         Reviewed by Kenneth Russell.
3921
3922         audio engine: add AudioChannel files
3923         https://bugs.webkit.org/show_bug.cgi?id=44921
3924
3925         No new tests since audio API is not yet implemented.
3926
3927         * platform/audio/AudioChannel.cpp: Added.
3928         (WebCore::AudioChannel::scale):
3929         (WebCore::AudioChannel::copyFrom):
3930         (WebCore::AudioChannel::copyFromRange):
3931         (WebCore::AudioChannel::sumFrom):
3932         (WebCore::AudioChannel::maxAbsValue):
3933         * platform/audio/AudioChannel.h: Added.
3934         (WebCore::AudioChannel::AudioChannel):
3935         (WebCore::AudioChannel::set):
3936         (WebCore::AudioChannel::length):
3937         (WebCore::AudioChannel::data):
3938         (WebCore::AudioChannel::zero):
3939
3940 2010-09-03  Patrick Gansterer  <paroga@paroga.com>
3941
3942         Reviewed by Adam Roben.
3943
3944         [WINCE] Remove usage of ce_textcodecs.h
3945         https://bugs.webkit.org/show_bug.cgi?id=45169
3946
3947         ce_textcodecs.h was a non public header for (not required)
3948         additonal codecs in the original Torch Mobile port.
3949
3950         * platform/text/wince/TextCodecWinCE.cpp:
3951         (WebCore::LanguageManager::LanguageManager):
3952         (WebCore::decode):
3953
3954 2010-09-03  Chris Rogers  <crogers@google.com>
3955
3956         Reviewed by Kenneth Russell.
3957
3958         Initial patch for audio engine: AudioBus and helper classes
3959         https://bugs.webkit.org/show_bug.cgi?id=34452
3960
3961         No new tests since audio API is not yet implemented.
3962
3963         * platform/audio/AudioBus.cpp: Added.
3964         (WebCore::AudioBus::AudioBus):
3965         (WebCore::AudioBus::setChannelMemory):
3966         (WebCore::AudioBus::zero):
3967         (WebCore::AudioBus::channelByType):
3968         (WebCore::AudioBus::topologyMatches):
3969         (WebCore::AudioBus::createBufferFromRange):
3970         (WebCore::AudioBus::maxAbsValue):
3971         (WebCore::AudioBus::normalize):
3972         (WebCore::AudioBus::scale):
3973         (WebCore::AudioBus::copyFrom):
3974         (WebCore::AudioBus::sumFrom):
3975         (WebCore::AudioBus::processWithGainFromMonoStereo):
3976         (WebCore::AudioBus::processWithGainFrom):
3977         (WebCore::AudioBus::copyWithGainFrom):
3978         (WebCore::AudioBus::sumWithGainFrom):
3979         * platform/audio/AudioBus.h: Added.
3980         (WebCore::AudioBus::numberOfChannels):
3981         (WebCore::AudioBus::channel):
3982         (WebCore::AudioBus::length):
3983         (WebCore::AudioBus::sampleRate):
3984         (WebCore::AudioBus::setSampleRate):
3985         (WebCore::AudioBus::setGain):
3986         (WebCore::AudioBus::gain):
3987         (WebCore::AudioBus::reset):
3988         (WebCore::AudioBus::AudioBus):
3989         * platform/audio/AudioSourceProvider.h: Added.
3990         (WebCore::AudioSourceProvider::~AudioSourceProvider):
3991
3992 2010-09-03  Chris Rogers  <crogers@google.com>
3993
3994         Reviewed by Kenneth Russell.
3995
3996         Add Panner files
3997         https://bugs.webkit.org/show_bug.cgi?id=45076
3998
3999         No new tests since audio API is not yet implemented.
4000
4001         * platform/audio/Panner.cpp: Added.
4002         (WebCore::Panner::create):
4003         * platform/audio/Panner.h: Added.
4004         (WebCore::Panner::~Panner):
4005         (WebCore::Panner::panningModel):
4006         (WebCore::Panner::Panner):
4007
4008 2010-09-03  Chris Rogers  <crogers@google.com>
4009
4010         Reviewed by Kenneth Russell.
4011
4012         Add AudioListener files
4013         https://bugs.webkit.org/show_bug.cgi?id=45006
4014
4015         No new tests since audio API is not yet implemented.
4016
4017         * webaudio: Added.
4018         * webaudio/AudioListener.cpp: Added.
4019         (WebCore::AudioListener::AudioListener):
4020         * webaudio/AudioListener.h: Added.
4021         (WebCore::AudioListener::create):
4022         (WebCore::AudioListener::setPosition):
4023         (WebCore::AudioListener::position):
4024         (WebCore::AudioListener::setOrientation):
4025         (WebCore::AudioListener::orientation):
4026         (WebCore::AudioListener::setUpVector):
4027         (WebCore::AudioListener::upVector):
4028         (WebCore::AudioListener::setVelocity):
4029         (WebCore::AudioListener::velocity):
4030         (WebCore::AudioListener::setDopplerFactor):
4031         (WebCore::AudioListener::dopplerFactor):
4032         (WebCore::AudioListener::setSpeedOfSound):
4033         (WebCore::AudioListener::speedOfSound):
4034         * webaudio/AudioListener.idl: Added.
4035
4036 2010-09-03  Chris Rogers  <crogers@google.com>
4037
4038         Unreviewed
4039
4040         Add WebCore/webaudio and WebCore/platform/audio/mac directories in preparation for landing reviewed patches
4041         https://bugs.webkit.org/show_bug.cgi?id=45185
4042
4043         * platform/audio/mac: Added.
4044         * webaudio: Added.
4045
4046 2010-09-03  James Robinson  <jamesr@chromium.org>
4047
4048         Reviewed by Chris Marrin.
4049
4050         Multiple accelerated 2D canvases should be able to use the same GraphicsContext3D
4051         https://bugs.webkit.org/show_bug.cgi?id=44926
4052
4053         This allows many accelerated 2d canvases to render using a single underlying GraphicsContext3D.
4054         It introduces a new class SharedGraphicsContext3D that manages several callers.  This class could
4055         also cache the current state to avoid issuing redundant calls, although in this first cut it doesn't.
4056         The SharedGraphicsContext3D is provided through the ChromeClient so that its lifetime can be tied to that
4057         of the platform-specific compositor infrastructure.
4058
4059         Accelerated 2d canvases maintain a reference to a SharedGraphicsContext3D and have ownership of a CanvasFramebuffer,
4060         which represents the canvas's rendering target.  The compositing layer for an accelerated 2d canvas is
4061         aware only of the canvas's CanvasFramebuffer.  This means that WebGL and 2d canvases are no longer treated
4062         as the same time of layer by the compositor.
4063
4064         Covered by existing canvas tests.
4065
4066         * WebCore.gypi:
4067         * html/canvas/CanvasRenderingContext.cpp:
4068         * html/canvas/CanvasRenderingContext.h:
4069         (WebCore::CanvasRenderingContext::paintsIntoCanvasBuffer):
4070         (WebCore::CanvasRenderingContext::platformLayer):
4071         * html/canvas/CanvasRenderingContext2D.cpp:
4072         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
4073         (WebCore::CanvasRenderingContext2D::paintsIntoCanvasBuffer):
4074         (WebCore::CanvasRenderingContext2D::reset):
4075         (WebCore::CanvasRenderingContext2D::didDraw):
4076         (WebCore::CanvasRenderingContext2D::platformLayer):
4077         * html/canvas/CanvasRenderingContext2D.h:
4078         * html/canvas/WebGLRenderingContext.cpp:
4079         (WebCore::WebGLRenderingContext::paintsIntoCanvasBuffer):
4080         * html/canvas/WebGLRenderingContext.h:
4081         (WebCore::WebGLRenderingContext::graphicsContext3D):
4082         (WebCore::WebGLRenderingContext::platformLayer):
4083         * loader/EmptyClients.h:
4084         (WebCore::EmptyChromeClient::attachRootGraphicsLayer):
4085         (WebCore::EmptyChromeClient::setNeedsOneShotDrawingSynchronization):
4086         (WebCore::EmptyChromeClient::scheduleCompositingLayerSync):
4087         * page/ChromeClient.h:
4088         (WebCore::ChromeClient::getSharedGraphicsContext3D):
4089         * platform/graphics/GraphicsContext.cpp:
4090         (WebCore::GraphicsContext::setSharedGraphicsContext3D):
4091         (WebCore::GraphicsContext::syncSoftwareCanvas):
4092         * platform/graphics/GraphicsContext.h:
4093         * platform/graphics/chromium/Canvas2DLayerChromium.cpp: Added.
4094         (WebCore::Canvas2DLayerChromium::create):
4095         (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
4096         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
4097         (WebCore::Canvas2DLayerChromium::updateContents):
4098         (WebCore::Canvas2DLayerChromium::setTextureChanged):
4099         (WebCore::Canvas2DLayerChromium::textureId):
4100         * platform/graphics/chromium/Canvas2DLayerChromium.h: Added.
4101         (WebCore::Canvas2DLayerChromium::drawsContent):
4102         * platform/graphics/chromium/CanvasLayerChromium.cpp:
4103         (WebCore::CanvasLayerChromium::CanvasLayerChromium):
4104         (WebCore::CanvasLayerChromium::~CanvasLayerChromium):
4105         (WebCore::CanvasLayerChromium::draw):
4106         * platform/graphics/chromium/CanvasLayerChromium.h:
4107         * platform/graphics/chromium/DrawingBufferChromium.cpp: Added.
4108         (WebCore::generateColorTexture):
4109         (WebCore::DrawingBuffer::DrawingBuffer):
4110         (WebCore::DrawingBuffer::~DrawingBuffer):
4111         (WebCore::DrawingBuffer::publishToPlatformLayer):
4112         (WebCore::DrawingBuffer::reset):
4113         (WebCore::DrawingBuffer::platformLayer):
4114         * platform/graphics/chromium/GLES2Canvas.cpp:
4115         (WebCore::GLES2Canvas::GLES2Canvas):
4116         (WebCore::GLES2Canvas::~GLES2Canvas):
4117         (WebCore::GLES2Canvas::bindFramebuffer):
4118         (WebCore::GLES2Canvas::clearRect):
4119         (WebCore::GLES2Canvas::fillRect):
4120         (WebCore::GLES2Canvas::drawTexturedRect):
4121         (WebCore::GLES2Canvas::drawTexturedRectTile):
4122         (WebCore::GLES2Canvas::drawQuad):
4123         (WebCore::GLES2Canvas::createTexture):
4124         (WebCore::GLES2Canvas::getTexture):
4125         * platform/graphics/chromium/GLES2Canvas.h:
4126         (WebCore::GLES2Canvas::context):
4127         (WebCore::GLES2Canvas::drawingBuffer):
4128         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
4129         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
4130         * platform/graphics/chromium/GraphicsLayerChromium.h:
4131         * platform/graphics/chromium/WebGLLayerChromium.cpp: Added.
4132         (WebCore::WebGLLayerChromium::create):
4133         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
4134         (WebCore::WebGLLayerChromium::updateContents):
4135         (WebCore::WebGLLayerChromium::setContext):
4136         * platform/graphics/chromium/WebGLLayerChromium.h: Added.
4137         (WebCore::WebGLLayerChromium::drawsContent):
4138         * platform/graphics/gpu/DrawingBuffer.cpp: Added.
4139         (WebCore::DrawingBuffer::create):
4140         (WebCore::DrawingBuffer::bind):
4141         (WebCore::DrawingBuffer::setWillPublishCallback):
4142         * platform/graphics/gpu/DrawingBuffer.h: Added.
4143         (WebCore::DrawingBuffer::size):
4144         * platform/graphics/gpu/SharedGraphicsContext3D.cpp: Added.
4145         (WebCore::SharedGraphicsContext3D::create):
4146         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
4147         (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
4148         (WebCore::SharedGraphicsContext3D::makeContextCurrent):
4149         (WebCore::SharedGraphicsContext3D::scissor):
4150         (WebCore::SharedGraphicsContext3D::enable):
4151         (WebCore::SharedGraphicsContext3D::disable):
4152         (WebCore::SharedGraphicsContext3D::clearColor):
4153         (WebCore::SharedGraphicsContext3D::clear):
4154         (WebCore::SharedGraphicsContext3D::drawArrays):
4155         (WebCore::SharedGraphicsContext3D::getError):
4156         (WebCore::SharedGraphicsContext3D::getIntegerv):
4157         (WebCore::SharedGraphicsContext3D::createFramebuffer):
4158         (WebCore::SharedGraphicsContext3D::createTexture):
4159         (WebCore::SharedGraphicsContext3D::deleteFramebuffer):
4160         (WebCore::SharedGraphicsContext3D::deleteTexture):
4161         (WebCore::SharedGraphicsContext3D::framebufferTexture2D):
4162         (WebCore::SharedGraphicsContext3D::texParameteri):
4163         (WebCore::SharedGraphicsContext3D::texImage2D):
4164         (WebCore::SharedGraphicsContext3D::texSubImage2D):
4165         (WebCore::SharedGraphicsContext3D::readPixels):
4166         (WebCore::SharedGraphicsContext3D::supportsBGRA):
4167         (WebCore::SharedGraphicsContext3D::getTexture):
4168         (WebCore::SharedGraphicsContext3D::applyCompositeOperator):
4169         (WebCore::SharedGraphicsContext3D::useQuadVertices):
4170         (WebCore::SharedGraphicsContext3D::setActiveTexture):
4171         (WebCore::SharedGraphicsContext3D::bindTexture):
4172         (WebCore::SharedGraphicsContext3D::useFillSolidProgram):
4173         (WebCore::SharedGraphicsContext3D::useTextureProgram):
4174         (WebCore::SharedGraphicsContext3D::bindFramebuffer):
4175         (WebCore::SharedGraphicsContext3D::setViewport):
4176         (WebCore::SharedGraphicsContext3D::paintsIntoCanvasBuffer):
4177         * platform/graphics/gpu/SharedGraphicsContext3D.h: Added.
4178         * platform/graphics/gpu/Texture.cpp:
4179         * platform/graphics/skia/GraphicsContextSkia.cpp:
4180         (WebCore::GraphicsContext::syncSoftwareCanvas):
4181         (WebCore::GraphicsContext::setSharedGraphicsContext3D):
4182         * platform/graphics/skia/ImageSkia.cpp:
4183         * platform/graphics/skia/PlatformContextSkia.cpp:
4184         (WebCore::PlatformContextSkia::~PlatformContextSkia):
4185         (WebCore::WillPublishCallbackImpl::create):
4186         (WebCore::WillPublishCallbackImpl::willPublish):
4187         (WebCore::WillPublishCallbackImpl::WillPublishCallbackImpl):
4188         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
4189         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
4190         (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
4191         * platform/graphics/skia/PlatformContextSkia.h:
4192         * rendering/RenderLayerBacking.cpp:
4193         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
4194
4195 2010-09-03  Chris Rogers  <crogers@google.com>
4196
4197         Reviewed by Kenneth Russell.
4198
4199         Add audio distance effect files
4200         https://bugs.webkit.org/show_bug.cgi?id=44705
4201
4202         No new tests since audio API is not yet implemented.
4203
4204         * platform/audio/Distance.cpp: Added.
4205         (WebCore::DistanceEffect::DistanceEffect):
4206         (WebCore::DistanceEffect::gain):
4207         (WebCore::DistanceEffect::linearGain):
4208         (WebCore::DistanceEffect::inverseGain):
4209         (WebCore::DistanceEffect::exponentialGain):
4210         * platform/audio/Distance.h: Added.
4211         (WebCore::DistanceEffect::model):
4212         (WebCore::DistanceEffect::setModel):
4213         (WebCore::DistanceEffect::setRefDistance):
4214         (WebCore::DistanceEffect::setMaxDistance):
4215         (WebCore::DistanceEffect::setRolloffFactor):
4216         (WebCore::DistanceEffect::refDistance):
4217         (WebCore::DistanceEffect::maxDistance):
4218         (WebCore::DistanceEffect::rolloffFactor):
4219
4220 2010-09-03  Johnny Ding  <jnd@chromium.org>
4221
4222         Reviewed by Adam Barth.
4223
4224         Save the gesture state to track the user gesture state across async form submission.
4225         https://bugs.webkit.org/show_bug.cgi?id=44969
4226
4227         fast/events/popup-blocked-to-post-blank.html can cover the test in WebKit.
4228         A UI test will be added in chromium to address chromium's bug.
4229
4230         * loader/RedirectScheduler.cpp:
4231         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
4232         (WebCore::ScheduledFormSubmission::fire):
4233         (WebCore::RedirectScheduler::scheduleFormSubmission):
4234
4235 2010-09-03  Dan Bernstein  <mitz@apple.com>
4236
4237         Reviewed by Anders Carlsson.
4238
4239         <rdar://problem/8392655> REGRESSION (r57215): Decomposed diacritics render incorrectly when preceded by stacked diacritics
4240         https://bugs.webkit.org/show_bug.cgi?id=45182
4241
4242         Test: fast/text/decomposed-after-stacked-diacritics.html
4243
4244         * platform/graphics/Font.cpp:
4245         (WebCore::Font::codePath): Do not bail out if the run contains stacked diacritics, since
4246         it may also contain characters that require the complex text code path.
4247
4248 2010-09-03  Mikhail Naganov  <mnaganov@chromium.org>
4249
4250         Reviewed by Yury Semikhatsky.
4251
4252         Web Inspector: Cleanup after r66117 - extract heap snapshot
4253         view styles into a dedicated .css
4254
4255         https://bugs.webkit.org/show_bug.cgi?id=45178
4256
4257         * WebCore.gypi:
4258         * WebCore.vcproj/WebCore.vcproj:
4259         * inspector/front-end/WebKit.qrc:
4260         * inspector/front-end/heapProfiler.css: Added.
4261         (.heap-snapshot-sidebar-tree-item .icon):
4262         (.heap-snapshot-sidebar-tree-item.small .icon):
4263         (.heap-snapshot-view):
4264         (.heap-snapshot-view.visible):
4265         (.heap-snapshot-view .data-grid):
4266         (.heap-snapshot-view .data-grid th.count-column):
4267         (.heap-snapshot-view .data-grid td.count-column):
4268         (.heap-snapshot-view .data-grid th.size-column):
4269         (.heap-snapshot-view .data-grid td.size-column):
4270         (.heap-snapshot-view .data-grid th.countDelta-column):
4271         (.heap-snapshot-view .data-grid td.countDelta-column):
4272         (.heap-snapshot-view .data-grid th.sizeDelta-column):
4273         (.heap-snapshot-view .data-grid td.sizeDelta-column):
4274         (#heap-snapshot-summary-container):
4275         (.heap-snapshot-summary):
4276         (.heap-snapshot-summary canvas.summary-graph):
4277         (.heap-snapshot-summary-label):
4278         * inspector/front-end/inspector.css:
4279         * inspector/front-end/inspector.html:
4280
4281 2010-09-03  Zaheer Ahmad <zaheer.mot@gmail.com>
4282
4283         Reviewed by Darin Adler.
4284
4285         [GTK] compilation issue with JSTimeRanges when video turned off
4286         https://bugs.webkit.org/show_bug.cgi?id=44249
4287
4288         Move the JSTimeRanges outside ENABLE_VIDEO in GNUMakefile.am
4289         * WebCore/GNUMakefile.am
4290
4291 2010-09-03  Ilya Tikhonovsky  <loislo@chromium.org>
4292
4293         Reviewed by Yury Semikhatsky.
4294
4295         Web Inspector: cleanup inspector api. getChildNodes should return array of child nodes as an output value.
4296
4297         The current implementation of the inspector api has some unnecessary complexity. 
4298         As example WebInspector is requesting child nodes of a node by getChildNodes
4299         but DOM agent is actually pushing the child nodes via setChildNodes event call and
4300         send back an empty response message.
4301
4302         https://bugs.webkit.org/show_bug.cgi?id=45172
4303
4304         * inspector/CodeGeneratorInspector.pm:
4305         * inspector/Inspector.idl:
4306         * inspector/InspectorDOMAgent.cpp:
4307         (WebCore::InspectorDOMAgent::getChildNodesArray):
4308         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
4309     &