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