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