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