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