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