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