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