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